@charset "UTF-8";
/**
 * screen.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (seliger@short-cuts.de)
 * MIT License (MIT)
 */
/* ==========================================================================
   Core functions, variables and mixins
   ========================================================================== */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Reset and dependencies
   ========================================================================== */
/*! normalize.scss v0.1.0 | MIT License | based on git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
/* line 9, bower_components/normalize-scss/normalize.scss */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
/* line 19, bower_components/normalize-scss/normalize.scss */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
/* line 33, bower_components/normalize-scss/normalize.scss */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

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

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

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
/* line 77, bower_components/normalize-scss/normalize.scss */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
/* line 89, bower_components/normalize-scss/normalize.scss */
a {
  background-color: transparent; }

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
/* line 97, bower_components/normalize-scss/normalize.scss */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
/* line 109, bower_components/normalize-scss/normalize.scss */
abbr[title] {
  border-bottom: 1px dotted; }

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

/**
 * Address styling not present in Safari and Chrome.
 */
/* line 126, bower_components/normalize-scss/normalize.scss */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
/* line 135, bower_components/normalize-scss/normalize.scss */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9.
 */
/* line 144, bower_components/normalize-scss/normalize.scss */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
/* line 153, bower_components/normalize-scss/normalize.scss */
small {
  font-size: 80%; }

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

/* line 169, bower_components/normalize-scss/normalize.scss */
sup {
  top: -0.5em; }

/* line 173, bower_components/normalize-scss/normalize.scss */
sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
/* line 184, bower_components/normalize-scss/normalize.scss */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
/* line 192, bower_components/normalize-scss/normalize.scss */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
/* line 203, bower_components/normalize-scss/normalize.scss */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
/* line 211, bower_components/normalize-scss/normalize.scss */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
/* line 221, bower_components/normalize-scss/normalize.scss */
pre {
  overflow: auto; }

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

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
/* line 252, bower_components/normalize-scss/normalize.scss */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
/* line 266, bower_components/normalize-scss/normalize.scss */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
/* line 277, bower_components/normalize-scss/normalize.scss */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
/* line 290, bower_components/normalize-scss/normalize.scss */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
/* line 302, bower_components/normalize-scss/normalize.scss */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
/* line 311, bower_components/normalize-scss/normalize.scss */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

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

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
/* line 334, bower_components/normalize-scss/normalize.scss */
input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
/* line 346, bower_components/normalize-scss/normalize.scss */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
/* line 357, bower_components/normalize-scss/normalize.scss */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box; }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
/* line 370, bower_components/normalize-scss/normalize.scss */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
/* line 379, bower_components/normalize-scss/normalize.scss */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
/* line 390, bower_components/normalize-scss/normalize.scss */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
/* line 399, bower_components/normalize-scss/normalize.scss */
textarea {
  overflow: auto; }

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

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
/* line 419, bower_components/normalize-scss/normalize.scss */
table {
  border-collapse: collapse;
  border-spacing: 0; }

/* line 424, bower_components/normalize-scss/normalize.scss */
td,
th {
  padding: 0; }

/**
 * Foundation for Sites by ZURB
 * Version 6.4.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 40em) {
  /* line 45, bower_components/foundation-sites/scss/components/_reveal.scss */
  .reveal, .reveal.tiny, .reveal.small, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto; } }

/*! 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.
     */
/* line 59, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
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).
     */
/* line 83, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
body {
  margin: 0; }

/**
     * Add the correct display in IE 9-.
     */
/* line 91, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
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.
     */
/* line 105, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
/* line 198, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
figcaption,
figure {
  display: block; }

/**
     * Add the correct margin in IE 8.
     */
/* line 207, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
figure {
  margin: 1em 40px; }

/**
     * 1. Add the correct box sizing in Firefox.
     * 2. Show the overflow in Edge and IE.
     */
/* line 221, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
     * Add the correct display in IE.
     */
/* line 231, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
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.
     */
/* line 251, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
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+.
     */
/* line 266, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
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).
     */
/* line 276, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
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.
     */
/* line 291, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */ }

/**
     * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
     */
/* line 301, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
b,
strong {
  font-weight: inherit; }

/**
     * Add the correct font weight in Chrome, Edge, and Safari.
     */
/* line 310, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
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.
     */
/* line 320, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
     * Add the correct font style in Android 4.3-.
     */
/* line 331, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
dfn {
  font-style: italic; }

/**
     * Add the correct background and color in IE 9-.
     */
/* line 339, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
mark {
  background-color: #ff0;
  color: #000; }

/**
     * Add the correct font size in all browsers.
     */
/* line 348, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
small {
  font-size: 80%; }

/**
     * Prevent `sub` and `sup` elements from affecting the line height in
     * all browsers.
     */
/* line 357, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

/* line 365, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
sub {
  bottom: -0.25em; }

/* line 369, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
sup {
  top: -0.5em; }

/* Embedded content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
/* line 382, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
audio,
video {
  display: inline-block; }

/**
     * Add the correct display in iOS 4-7.
     */
/* line 391, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
     * Remove the border on images inside links in IE 10-.
     */
/* line 400, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
img {
  border-style: none; }

/**
     * Hide the overflow in IE.
     */
/* line 408, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
svg:not(:root) {
  overflow: hidden; }

/* Forms
       ========================================================================== */
/**
     * 1. Change the font styles in all browsers (opinionated).
     * 2. Remove the margin in Firefox and Safari.
     */
/* line 422, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
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.
     */
/* line 442, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
button {
  overflow: visible; }

/**
     * Remove the inheritance of text transform in Edge, Firefox, and IE.
     * 1. Remove the inheritance of text transform in Firefox.
     */
/* line 451, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
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.
     */
/* line 462, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

/* line 469, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  /**
       * Remove the inner border and padding in Firefox.
       */
  /**
       * Restore the focus styles unset by the previous rule.
       */ }
  /* line 478, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0; }
  /* line 487, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText; }

/**
     * Show the overflow in Edge.
     */
/* line 496, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
input {
  overflow: visible; }

/**
     * 1. Add the correct box sizing in IE 10-.
     * 2. Remove the padding in IE 10-.
     */
/* line 505, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
     * Correct the cursor style of increment and decrement buttons in Chrome.
     */
/* line 515, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
[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.
     */
/* line 525, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
  /**
       * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
       */ }
  /* line 533, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
  [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.
     */
/* line 544, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/**
     * Change the border, margin, and padding in all browsers (opinionated).
     */
/* line 553, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
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.
     */
/* line 566, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
legend {
  -webkit-box-sizing: border-box;
          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.
     */
/* line 580, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
     * Remove the default vertical scrollbar in IE.
     */
/* line 589, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
textarea {
  overflow: auto; }

/* Interactive
       ========================================================================== */
/*
     * Add the correct display in Edge, IE, and Firefox.
     */
/* line 602, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
details {
  display: block; }

/*
     * Add the correct display in all browsers.
     */
/* line 610, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
summary {
  display: list-item; }

/*
     * Add the correct display in IE 9-.
     */
/* line 618, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
menu {
  display: block; }

/* Scripting
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
/* line 651, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
canvas {
  display: inline-block; }

/**
     * Add the correct display in IE.
     */
/* line 659, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
template {
  display: none; }

/* Hidden
       ========================================================================== */
/**
     * Add the correct display in IE 10-.
     */
/* line 672, bower_components/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss */
[hidden] {
  display: none; }

/* line 139, bower_components/foundation-sites/scss/_global.scss */
.foundation-mq {
  font-family: "small=0em&medium=40em&large=64em&sm=0em&md=40em&lg=64em&xl=77.5em"; }

/* line 143, bower_components/foundation-sites/scss/_global.scss */
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 100%; }

/* line 149, bower_components/foundation-sites/scss/_global.scss */
*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

/* line 156, bower_components/foundation-sites/scss/_global.scss */
body {
  margin: 0;
  padding: 0;
  background: #fafafa;
  font-family: "Open Sans", Helvetica, Roboto, Arial, sans-serif;
  font-weight: 300;
  line-height: 1.55;
  color: #333333;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* line 173, bower_components/foundation-sites/scss/_global.scss */
img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

/* line 185, bower_components/foundation-sites/scss/_global.scss */
textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0; }

/* line 192, bower_components/foundation-sites/scss/_global.scss */
select {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  border-radius: 0; }

/* line 202, bower_components/foundation-sites/scss/_global.scss */
.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

/* line 210, bower_components/foundation-sites/scss/_global.scss */
button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1;
  cursor: auto; }
  /* line 202, bower_components/foundation-sites/scss/util/_mixins.scss */
  [data-whatinput='mouse'] button {
    outline: 0; }

/* line 222, bower_components/foundation-sites/scss/_global.scss */
pre {
  overflow: auto; }

/* line 227, bower_components/foundation-sites/scss/_global.scss */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; }

/* line 236, bower_components/foundation-sites/scss/_global.scss */
.is-visible {
  display: block !important; }

/* line 240, bower_components/foundation-sites/scss/_global.scss */
.is-hidden {
  display: none !important; }

/* line 127, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.row {
  max-width: 78.75rem;
  margin-right: auto;
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  /* line 131, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .row .row {
    margin-right: -0.4375rem;
    margin-left: -0.4375rem; }
    @media print, screen and (min-width: 40em) {
      /* line 131, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      /* line 131, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media screen and (min-width: 77.5em) {
      /* line 131, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    /* line 134, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .row .row.collapse {
      margin-right: 0;
      margin-left: 0; }
  /* line 141, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .row.expanded {
    max-width: none; }
    /* line 144, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .row.expanded .row {
      margin-right: auto;
      margin-left: auto; }
  /* line 150, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .row:not(.expanded) .row {
    max-width: none; }
  /* line 155, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  /* line 162, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .row.is-collapse-child,
  .row.collapse > .column > .row,
  .row.collapse > .columns > .row {
    margin-right: 0;
    margin-left: 0; }

/* line 170, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.column, .columns {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  padding-right: 0.4375rem;
  padding-left: 0.4375rem;
  min-width: 0; }
  @media print, screen and (min-width: 40em) {
    /* line 170, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .column, .columns {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    /* line 170, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .column, .columns {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

/* line 176, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.column.row.row, .row.row.columns {
  float: none;
  display: block; }

/* line 182, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.row .column.row.row, .row .row.row.columns {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0; }

/* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-1 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 8.33333%;
          flex: 0 0 8.33333%;
  max-width: 8.33333%; }

/* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-offset-0 {
  margin-left: 0%; }

/* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-2 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
  max-width: 16.66667%; }

/* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-offset-1 {
  margin-left: 8.33333%; }

/* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-3 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  max-width: 25%; }

/* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-offset-2 {
  margin-left: 16.66667%; }

/* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-4 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
  max-width: 33.33333%; }

/* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-offset-3 {
  margin-left: 25%; }

/* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-5 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 41.66667%;
          flex: 0 0 41.66667%;
  max-width: 41.66667%; }

/* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-offset-4 {
  margin-left: 33.33333%; }

/* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-6 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%; }

/* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-offset-5 {
  margin-left: 41.66667%; }

/* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-7 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 58.33333%;
          flex: 0 0 58.33333%;
  max-width: 58.33333%; }

/* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-offset-6 {
  margin-left: 50%; }

/* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-8 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 66.66667%;
          flex: 0 0 66.66667%;
  max-width: 66.66667%; }

/* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-offset-7 {
  margin-left: 58.33333%; }

/* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-9 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 75%;
          flex: 0 0 75%;
  max-width: 75%; }

/* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-offset-8 {
  margin-left: 66.66667%; }

/* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-10 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 83.33333%;
          flex: 0 0 83.33333%;
  max-width: 83.33333%; }

/* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-offset-9 {
  margin-left: 75%; }

/* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-11 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 91.66667%;
          flex: 0 0 91.66667%;
  max-width: 91.66667%; }

/* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-offset-10 {
  margin-left: 83.33333%; }

/* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-12 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%; }

/* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-offset-11 {
  margin-left: 91.66667%; }

/* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-up-1 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .sm-up-1 > .column, .sm-up-1 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }

/* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-up-2 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .sm-up-2 > .column, .sm-up-2 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }

/* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-up-3 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .sm-up-3 > .column, .sm-up-3 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }

/* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-up-4 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .sm-up-4 > .column, .sm-up-4 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }

/* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-up-5 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .sm-up-5 > .column, .sm-up-5 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    max-width: 20%; }

/* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-up-6 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .sm-up-6 > .column, .sm-up-6 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }

/* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-up-7 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .sm-up-7 > .column, .sm-up-7 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 14.28571%;
            flex: 0 0 14.28571%;
    max-width: 14.28571%; }

/* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-up-8 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .sm-up-8 > .column, .sm-up-8 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%; }

/* line 215, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-expand {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; }

/* line 223, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.row.sm-unstack > .column, .row.sm-unstack > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; }

/* line 236, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-collapse > .column, .sm-collapse > .columns {
  padding-right: 0;
  padding-left: 0; }

/* line 240, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.sm-uncollapse > .column, .sm-uncollapse > .columns {
  padding-right: 0.4375rem;
  padding-left: 0.4375rem; }

@media print, screen and (min-width: 40em) {
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-offset-0 {
    margin-left: 0%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-offset-1 {
    margin-left: 8.33333%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-offset-2 {
    margin-left: 16.66667%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-offset-3 {
    margin-left: 25%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-offset-4 {
    margin-left: 33.33333%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-offset-5 {
    margin-left: 41.66667%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-offset-6 {
    margin-left: 50%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-offset-7 {
    margin-left: 58.33333%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-offset-8 {
    margin-left: 66.66667%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-offset-9 {
    margin-left: 75%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-offset-10 {
    margin-left: 83.33333%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-offset-11 {
    margin-left: 91.66667%; }
  /* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .md-up-1 > .column, .md-up-1 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  /* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .md-up-2 > .column, .md-up-2 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  /* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .md-up-3 > .column, .md-up-3 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  /* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .md-up-4 > .column, .md-up-4 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  /* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .md-up-5 > .column, .md-up-5 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  /* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .md-up-6 > .column, .md-up-6 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  /* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .md-up-7 > .column, .md-up-7 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  /* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .md-up-8 > .column, .md-up-8 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 40em) and (min-width: 40em) {
  /* line 215, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-expand {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

/* line 223, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.row.md-unstack > .column, .row.md-unstack > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media print, screen and (min-width: 40em) {
    /* line 223, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .row.md-unstack > .column, .row.md-unstack > .columns {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media print, screen and (min-width: 40em) {
  /* line 236, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-collapse > .column, .md-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  /* line 240, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .md-uncollapse > .column, .md-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-offset-0 {
    margin-left: 0%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-offset-1 {
    margin-left: 8.33333%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-offset-2 {
    margin-left: 16.66667%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-offset-3 {
    margin-left: 25%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-offset-4 {
    margin-left: 33.33333%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-offset-5 {
    margin-left: 41.66667%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-offset-6 {
    margin-left: 50%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-offset-7 {
    margin-left: 58.33333%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-offset-8 {
    margin-left: 66.66667%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-offset-9 {
    margin-left: 75%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-offset-10 {
    margin-left: 83.33333%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-offset-11 {
    margin-left: 91.66667%; }
  /* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .lg-up-1 > .column, .lg-up-1 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  /* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .lg-up-2 > .column, .lg-up-2 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  /* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .lg-up-3 > .column, .lg-up-3 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  /* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .lg-up-4 > .column, .lg-up-4 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  /* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .lg-up-5 > .column, .lg-up-5 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  /* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .lg-up-6 > .column, .lg-up-6 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  /* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .lg-up-7 > .column, .lg-up-7 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  /* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .lg-up-8 > .column, .lg-up-8 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 64em) and (min-width: 64em) {
  /* line 215, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-expand {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

/* line 223, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.row.lg-unstack > .column, .row.lg-unstack > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media print, screen and (min-width: 64em) {
    /* line 223, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .row.lg-unstack > .column, .row.lg-unstack > .columns {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media print, screen and (min-width: 64em) {
  /* line 236, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-collapse > .column, .lg-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  /* line 240, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .lg-uncollapse > .column, .lg-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; } }

@media screen and (min-width: 77.5em) {
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-offset-0 {
    margin-left: 0%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-offset-1 {
    margin-left: 8.33333%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-offset-2 {
    margin-left: 16.66667%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-offset-3 {
    margin-left: 25%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-offset-4 {
    margin-left: 33.33333%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-offset-5 {
    margin-left: 41.66667%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-offset-6 {
    margin-left: 50%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-offset-7 {
    margin-left: 58.33333%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-offset-8 {
    margin-left: 66.66667%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-offset-9 {
    margin-left: 75%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-offset-10 {
    margin-left: 83.33333%; }
  /* line 192, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  /* line 200, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-offset-11 {
    margin-left: 91.66667%; }
  /* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .xl-up-1 > .column, .xl-up-1 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  /* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .xl-up-2 > .column, .xl-up-2 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  /* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .xl-up-3 > .column, .xl-up-3 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  /* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .xl-up-4 > .column, .xl-up-4 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  /* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .xl-up-5 > .column, .xl-up-5 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  /* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .xl-up-6 > .column, .xl-up-6 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  /* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .xl-up-7 > .column, .xl-up-7 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  /* line 207, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 103, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .xl-up-8 > .column, .xl-up-8 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 77.5em) and (min-width: 77.5em) {
  /* line 215, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-expand {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

/* line 223, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.row.xl-unstack > .column, .row.xl-unstack > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media screen and (min-width: 77.5em) {
    /* line 223, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .row.xl-unstack > .column, .row.xl-unstack > .columns {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media screen and (min-width: 77.5em) {
  /* line 236, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-collapse > .column, .xl-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  /* line 240, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
  .xl-uncollapse > .column, .xl-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; } }

/* line 245, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.shrink {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  max-width: 100%; }

/* line 251, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
.column-block {
  margin-bottom: 0.875rem; }
  /* line 78, bower_components/foundation-sites/scss/grid/_gutter.scss */
  .column-block > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    /* line 251, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .column-block {
      margin-bottom: 1.875rem; }
      /* line 78, bower_components/foundation-sites/scss/grid/_gutter.scss */
      .column-block > :last-child {
        margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    /* line 251, bower_components/foundation-sites/scss/grid/_flex-grid.scss */
    .column-block {
      margin-bottom: 1.875rem; }
      /* line 78, bower_components/foundation-sites/scss/grid/_gutter.scss */
      .column-block > :last-child {
        margin-bottom: 0; } }

/* line 13, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 78.75rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 40em) {
    /* line 13, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  /* line 16, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-container.fluid {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 100%;
    margin: 0 auto; }
    @media print, screen and (min-width: 40em) {
      /* line 16, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
      .grid-container.fluid {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  /* line 20, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin: 0 auto; }

/* line 26, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-x {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

/* line 30, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.cell {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%; }
  /* line 34, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .cell.auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  /* line 38, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .cell.shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }

/* line 44, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-x > .auto {
  width: auto; }

/* line 48, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-x > .shrink {
  width: auto; }

/* line 64, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-x > .sm-shrink, .grid-x > .sm-full, .grid-x > .sm-1, .grid-x > .sm-2, .grid-x > .sm-3, .grid-x > .sm-4, .grid-x > .sm-5, .grid-x > .sm-6, .grid-x > .sm-7, .grid-x > .sm-8, .grid-x > .sm-9, .grid-x > .sm-10, .grid-x > .sm-11, .grid-x > .sm-12 {
  -ms-flex-preferred-size: auto;
      flex-basis: auto; }

@media print, screen and (min-width: 40em) {
  /* line 64, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .md-shrink, .grid-x > .md-full, .grid-x > .md-1, .grid-x > .md-2, .grid-x > .md-3, .grid-x > .md-4, .grid-x > .md-5, .grid-x > .md-6, .grid-x > .md-7, .grid-x > .md-8, .grid-x > .md-9, .grid-x > .md-10, .grid-x > .md-11, .grid-x > .md-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; } }

@media print, screen and (min-width: 64em) {
  /* line 64, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .lg-shrink, .grid-x > .lg-full, .grid-x > .lg-1, .grid-x > .lg-2, .grid-x > .lg-3, .grid-x > .lg-4, .grid-x > .lg-5, .grid-x > .lg-6, .grid-x > .lg-7, .grid-x > .lg-8, .grid-x > .lg-9, .grid-x > .lg-10, .grid-x > .lg-11, .grid-x > .lg-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; } }

@media screen and (min-width: 77.5em) {
  /* line 64, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .xl-shrink, .grid-x > .xl-full, .grid-x > .xl-1, .grid-x > .xl-2, .grid-x > .xl-3, .grid-x > .xl-4, .grid-x > .xl-5, .grid-x > .xl-6, .grid-x > .xl-7, .grid-x > .xl-8, .grid-x > .xl-9, .grid-x > .xl-10, .grid-x > .xl-11, .grid-x > .xl-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; } }

/* line 72, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-x > .sm-auto {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  width: auto; }

/* line 77, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-x > .sm-shrink {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: auto; }

/* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-x > .sm-1 {
  width: 8.33333%; }

/* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-x > .sm-2 {
  width: 16.66667%; }

/* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-x > .sm-3 {
  width: 25%; }

/* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-x > .sm-4 {
  width: 33.33333%; }

/* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-x > .sm-5 {
  width: 41.66667%; }

/* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-x > .sm-6 {
  width: 50%; }

/* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-x > .sm-7 {
  width: 58.33333%; }

/* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-x > .sm-8 {
  width: 66.66667%; }

/* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-x > .sm-9 {
  width: 75%; }

/* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-x > .sm-10 {
  width: 83.33333%; }

/* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-x > .sm-11 {
  width: 91.66667%; }

/* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-x > .sm-12 {
  width: 100%; }

@media print, screen and (min-width: 40em) {
  /* line 72, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .md-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  /* line 77, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .md-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .md-1 {
    width: 8.33333%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .md-2 {
    width: 16.66667%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .md-3 {
    width: 25%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .md-4 {
    width: 33.33333%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .md-5 {
    width: 41.66667%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .md-6 {
    width: 50%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .md-7 {
    width: 58.33333%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .md-8 {
    width: 66.66667%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .md-9 {
    width: 75%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .md-10 {
    width: 83.33333%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .md-11 {
    width: 91.66667%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .md-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  /* line 72, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .lg-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  /* line 77, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .lg-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .lg-1 {
    width: 8.33333%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .lg-2 {
    width: 16.66667%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .lg-3 {
    width: 25%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .lg-4 {
    width: 33.33333%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .lg-5 {
    width: 41.66667%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .lg-6 {
    width: 50%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .lg-7 {
    width: 58.33333%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .lg-8 {
    width: 66.66667%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .lg-9 {
    width: 75%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .lg-10 {
    width: 83.33333%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .lg-11 {
    width: 91.66667%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .lg-12 {
    width: 100%; } }

@media screen and (min-width: 77.5em) {
  /* line 72, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .xl-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  /* line 77, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .xl-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .xl-1 {
    width: 8.33333%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .xl-2 {
    width: 16.66667%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .xl-3 {
    width: 25%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .xl-4 {
    width: 33.33333%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .xl-5 {
    width: 41.66667%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .xl-6 {
    width: 50%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .xl-7 {
    width: 58.33333%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .xl-8 {
    width: 66.66667%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .xl-9 {
    width: 75%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .xl-10 {
    width: 83.33333%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .xl-11 {
    width: 91.66667%; }
  /* line 85, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-x > .xl-12 {
    width: 100%; } }

/* line 92, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-margin-x:not(.grid-x) > .cell {
  width: auto; }

/* line 97, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-margin-y:not(.grid-y) > .cell {
  height: auto; }

/* line 128, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-margin-x {
  margin-left: -0.625rem;
  margin-right: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    /* line 128, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x {
      margin-left: -0.9375rem;
      margin-right: -0.9375rem; } }
  /* line 132, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .cell {
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem; }
  /* line 104, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .sm-auto {
    width: auto; }
  /* line 108, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .sm-shrink {
    width: auto; }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .sm-1 {
    width: calc(8.33333% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .sm-2 {
    width: calc(16.66667% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .sm-3 {
    width: calc(25% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .sm-4 {
    width: calc(33.33333% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .sm-5 {
    width: calc(41.66667% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .sm-6 {
    width: calc(50% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .sm-7 {
    width: calc(58.33333% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .sm-8 {
    width: calc(66.66667% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .sm-9 {
    width: calc(75% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .sm-10 {
    width: calc(83.33333% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .sm-11 {
    width: calc(91.66667% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .sm-12 {
    width: calc(100% - 1.875rem); }
  @media print, screen and (min-width: 40em) {
    /* line 104, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .md-auto {
      width: auto; }
    /* line 108, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .md-shrink {
      width: auto; }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .md-1 {
      width: calc(8.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .md-2 {
      width: calc(16.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .md-3 {
      width: calc(25% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .md-4 {
      width: calc(33.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .md-5 {
      width: calc(41.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .md-6 {
      width: calc(50% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .md-7 {
      width: calc(58.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .md-8 {
      width: calc(66.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .md-9 {
      width: calc(75% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .md-10 {
      width: calc(83.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .md-11 {
      width: calc(91.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .md-12 {
      width: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    /* line 104, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .lg-auto {
      width: auto; }
    /* line 108, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .lg-shrink {
      width: auto; }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .lg-1 {
      width: calc(8.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .lg-2 {
      width: calc(16.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .lg-3 {
      width: calc(25% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .lg-4 {
      width: calc(33.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .lg-5 {
      width: calc(41.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .lg-6 {
      width: calc(50% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .lg-7 {
      width: calc(58.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .lg-8 {
      width: calc(66.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .lg-9 {
      width: calc(75% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .lg-10 {
      width: calc(83.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .lg-11 {
      width: calc(91.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .lg-12 {
      width: calc(100% - 1.875rem); } }
  @media screen and (min-width: 77.5em) {
    /* line 104, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .xl-auto {
      width: auto; }
    /* line 108, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .xl-shrink {
      width: auto; }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .xl-1 {
      width: calc(8.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .xl-2 {
      width: calc(16.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .xl-3 {
      width: calc(25% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .xl-4 {
      width: calc(33.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .xl-5 {
      width: calc(41.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .xl-6 {
      width: calc(50% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .xl-7 {
      width: calc(58.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .xl-8 {
      width: calc(66.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .xl-9 {
      width: calc(75% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .xl-10 {
      width: calc(83.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .xl-11 {
      width: calc(91.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-x > .xl-12 {
      width: calc(100% - 1.875rem); } }

/* line 167, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-padding-x .grid-padding-x {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    /* line 167, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-padding-x .grid-padding-x {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

/* line 173, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-container:not(.full) > .grid-padding-x {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    /* line 173, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-container:not(.full) > .grid-padding-x {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

/* line 178, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-padding-x > .cell {
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    /* line 178, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-padding-x > .cell {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

/* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
.sm-up-1 > .cell {
  width: 100%; }

/* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
.sm-up-2 > .cell {
  width: 50%; }

/* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
.sm-up-3 > .cell {
  width: 33.33333%; }

/* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
.sm-up-4 > .cell {
  width: 25%; }

/* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
.sm-up-5 > .cell {
  width: 20%; }

/* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
.sm-up-6 > .cell {
  width: 16.66667%; }

/* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
.sm-up-7 > .cell {
  width: 14.28571%; }

/* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
.sm-up-8 > .cell {
  width: 12.5%; }

@media print, screen and (min-width: 40em) {
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .md-up-1 > .cell {
    width: 100%; }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .md-up-2 > .cell {
    width: 50%; }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .md-up-3 > .cell {
    width: 33.33333%; }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .md-up-4 > .cell {
    width: 25%; }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .md-up-5 > .cell {
    width: 20%; }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .md-up-6 > .cell {
    width: 16.66667%; }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .md-up-7 > .cell {
    width: 14.28571%; }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .md-up-8 > .cell {
    width: 12.5%; } }

@media print, screen and (min-width: 64em) {
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .lg-up-1 > .cell {
    width: 100%; }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .lg-up-2 > .cell {
    width: 50%; }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .lg-up-3 > .cell {
    width: 33.33333%; }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .lg-up-4 > .cell {
    width: 25%; }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .lg-up-5 > .cell {
    width: 20%; }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .lg-up-6 > .cell {
    width: 16.66667%; }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .lg-up-7 > .cell {
    width: 14.28571%; }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .lg-up-8 > .cell {
    width: 12.5%; } }

@media screen and (min-width: 77.5em) {
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .xl-up-1 > .cell {
    width: 100%; }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .xl-up-2 > .cell {
    width: 50%; }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .xl-up-3 > .cell {
    width: 33.33333%; }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .xl-up-4 > .cell {
    width: 25%; }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .xl-up-5 > .cell {
    width: 20%; }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .xl-up-6 > .cell {
    width: 16.66667%; }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .xl-up-7 > .cell {
    width: 14.28571%; }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .xl-up-8 > .cell {
    width: 12.5%; } }

/* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
.grid-margin-x.sm-up-1 > .cell {
  width: calc(100% - 1.875rem); }

/* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
.grid-margin-x.sm-up-2 > .cell {
  width: calc(50% - 1.875rem); }

/* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
.grid-margin-x.sm-up-3 > .cell {
  width: calc(33.33333% - 1.875rem); }

/* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
.grid-margin-x.sm-up-4 > .cell {
  width: calc(25% - 1.875rem); }

/* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
.grid-margin-x.sm-up-5 > .cell {
  width: calc(20% - 1.875rem); }

/* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
.grid-margin-x.sm-up-6 > .cell {
  width: calc(16.66667% - 1.875rem); }

/* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
.grid-margin-x.sm-up-7 > .cell {
  width: calc(14.28571% - 1.875rem); }

/* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
.grid-margin-x.sm-up-8 > .cell {
  width: calc(12.5% - 1.875rem); }

@media print, screen and (min-width: 40em) {
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .grid-margin-x.md-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .grid-margin-x.md-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .grid-margin-x.md-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .grid-margin-x.md-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .grid-margin-x.md-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .grid-margin-x.md-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .grid-margin-x.md-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .grid-margin-x.md-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

@media print, screen and (min-width: 64em) {
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .grid-margin-x.lg-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .grid-margin-x.lg-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .grid-margin-x.lg-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .grid-margin-x.lg-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .grid-margin-x.lg-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .grid-margin-x.lg-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .grid-margin-x.lg-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .grid-margin-x.lg-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

@media screen and (min-width: 77.5em) {
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .grid-margin-x.xl-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .grid-margin-x.xl-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .grid-margin-x.xl-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .grid-margin-x.xl-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .grid-margin-x.xl-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .grid-margin-x.xl-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .grid-margin-x.xl-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  /* line 30, bower_components/foundation-sites/scss/xy-grid/_layout.scss */
  .grid-margin-x.xl-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

/* line 224, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.sm-margin-collapse {
  margin-right: 0;
  margin-left: 0; }
  /* line 28, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .sm-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .sm-margin-collapse > .sm-1 {
    width: 8.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .sm-margin-collapse > .sm-2 {
    width: 16.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .sm-margin-collapse > .sm-3 {
    width: 25%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .sm-margin-collapse > .sm-4 {
    width: 33.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .sm-margin-collapse > .sm-5 {
    width: 41.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .sm-margin-collapse > .sm-6 {
    width: 50%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .sm-margin-collapse > .sm-7 {
    width: 58.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .sm-margin-collapse > .sm-8 {
    width: 66.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .sm-margin-collapse > .sm-9 {
    width: 75%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .sm-margin-collapse > .sm-10 {
    width: 83.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .sm-margin-collapse > .sm-11 {
    width: 91.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .sm-margin-collapse > .sm-12 {
    width: 100%; }
  @media print, screen and (min-width: 40em) {
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .md-1 {
      width: 8.33333%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .md-2 {
      width: 16.66667%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .md-3 {
      width: 25%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .md-4 {
      width: 33.33333%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .md-5 {
      width: 41.66667%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .md-6 {
      width: 50%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .md-7 {
      width: 58.33333%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .md-8 {
      width: 66.66667%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .md-9 {
      width: 75%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .md-10 {
      width: 83.33333%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .md-11 {
      width: 91.66667%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .md-12 {
      width: 100%; } }
  @media print, screen and (min-width: 64em) {
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .lg-1 {
      width: 8.33333%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .lg-2 {
      width: 16.66667%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .lg-3 {
      width: 25%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .lg-4 {
      width: 33.33333%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .lg-5 {
      width: 41.66667%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .lg-6 {
      width: 50%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .lg-7 {
      width: 58.33333%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .lg-8 {
      width: 66.66667%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .lg-9 {
      width: 75%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .lg-10 {
      width: 83.33333%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .lg-11 {
      width: 91.66667%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .lg-12 {
      width: 100%; } }
  @media screen and (min-width: 77.5em) {
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .xl-1 {
      width: 8.33333%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .xl-2 {
      width: 16.66667%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .xl-3 {
      width: 25%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .xl-4 {
      width: 33.33333%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .xl-5 {
      width: 41.66667%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .xl-6 {
      width: 50%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .xl-7 {
      width: 58.33333%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .xl-8 {
      width: 66.66667%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .xl-9 {
      width: 75%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .xl-10 {
      width: 83.33333%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .xl-11 {
      width: 91.66667%; }
    /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .sm-margin-collapse > .xl-12 {
      width: 100%; } }

/* line 230, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.sm-padding-collapse {
  margin-right: 0;
  margin-left: 0; }
  /* line 67, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .sm-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0; }

@media print, screen and (min-width: 40em) {
  /* line 224, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .md-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    /* line 28, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .md-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 40em) {
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .sm-1 {
    width: 8.33333%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .sm-2 {
    width: 16.66667%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .sm-3 {
    width: 25%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .sm-4 {
    width: 33.33333%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .sm-5 {
    width: 41.66667%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .sm-6 {
    width: 50%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .sm-7 {
    width: 58.33333%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .sm-8 {
    width: 66.66667%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .sm-9 {
    width: 75%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .sm-10 {
    width: 83.33333%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .sm-11 {
    width: 91.66667%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .sm-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .md-1 {
    width: 8.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .md-2 {
    width: 16.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .md-3 {
    width: 25%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .md-4 {
    width: 33.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .md-5 {
    width: 41.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .md-6 {
    width: 50%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .md-7 {
    width: 58.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .md-8 {
    width: 66.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .md-9 {
    width: 75%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .md-10 {
    width: 83.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .md-11 {
    width: 91.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .md-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .lg-1 {
    width: 8.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .lg-2 {
    width: 16.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .lg-3 {
    width: 25%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .lg-4 {
    width: 33.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .lg-5 {
    width: 41.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .lg-6 {
    width: 50%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .lg-7 {
    width: 58.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .lg-8 {
    width: 66.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .lg-9 {
    width: 75%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .lg-10 {
    width: 83.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .lg-11 {
    width: 91.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .lg-12 {
    width: 100%; } }

@media screen and (min-width: 77.5em) {
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .xl-1 {
    width: 8.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .xl-2 {
    width: 16.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .xl-3 {
    width: 25%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .xl-4 {
    width: 33.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .xl-5 {
    width: 41.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .xl-6 {
    width: 50%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .xl-7 {
    width: 58.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .xl-8 {
    width: 66.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .xl-9 {
    width: 75%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .xl-10 {
    width: 83.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .xl-11 {
    width: 91.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .md-margin-collapse > .xl-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  /* line 230, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .md-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    /* line 67, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .md-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media print, screen and (min-width: 64em) {
  /* line 224, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .lg-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    /* line 28, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .lg-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 64em) {
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .sm-1 {
    width: 8.33333%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .sm-2 {
    width: 16.66667%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .sm-3 {
    width: 25%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .sm-4 {
    width: 33.33333%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .sm-5 {
    width: 41.66667%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .sm-6 {
    width: 50%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .sm-7 {
    width: 58.33333%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .sm-8 {
    width: 66.66667%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .sm-9 {
    width: 75%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .sm-10 {
    width: 83.33333%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .sm-11 {
    width: 91.66667%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .sm-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .md-1 {
    width: 8.33333%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .md-2 {
    width: 16.66667%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .md-3 {
    width: 25%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .md-4 {
    width: 33.33333%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .md-5 {
    width: 41.66667%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .md-6 {
    width: 50%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .md-7 {
    width: 58.33333%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .md-8 {
    width: 66.66667%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .md-9 {
    width: 75%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .md-10 {
    width: 83.33333%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .md-11 {
    width: 91.66667%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .md-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .lg-1 {
    width: 8.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .lg-2 {
    width: 16.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .lg-3 {
    width: 25%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .lg-4 {
    width: 33.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .lg-5 {
    width: 41.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .lg-6 {
    width: 50%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .lg-7 {
    width: 58.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .lg-8 {
    width: 66.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .lg-9 {
    width: 75%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .lg-10 {
    width: 83.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .lg-11 {
    width: 91.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .lg-12 {
    width: 100%; } }

@media screen and (min-width: 77.5em) {
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .xl-1 {
    width: 8.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .xl-2 {
    width: 16.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .xl-3 {
    width: 25%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .xl-4 {
    width: 33.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .xl-5 {
    width: 41.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .xl-6 {
    width: 50%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .xl-7 {
    width: 58.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .xl-8 {
    width: 66.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .xl-9 {
    width: 75%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .xl-10 {
    width: 83.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .xl-11 {
    width: 91.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .lg-margin-collapse > .xl-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  /* line 230, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .lg-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    /* line 67, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .lg-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 77.5em) {
  /* line 224, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .xl-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    /* line 28, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .xl-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media screen and (min-width: 77.5em) {
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .sm-1 {
    width: 8.33333%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .sm-2 {
    width: 16.66667%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .sm-3 {
    width: 25%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .sm-4 {
    width: 33.33333%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .sm-5 {
    width: 41.66667%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .sm-6 {
    width: 50%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .sm-7 {
    width: 58.33333%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .sm-8 {
    width: 66.66667%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .sm-9 {
    width: 75%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .sm-10 {
    width: 83.33333%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .sm-11 {
    width: 91.66667%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .sm-12 {
    width: 100%; } }

@media screen and (min-width: 77.5em) {
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .md-1 {
    width: 8.33333%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .md-2 {
    width: 16.66667%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .md-3 {
    width: 25%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .md-4 {
    width: 33.33333%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .md-5 {
    width: 41.66667%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .md-6 {
    width: 50%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .md-7 {
    width: 58.33333%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .md-8 {
    width: 66.66667%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .md-9 {
    width: 75%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .md-10 {
    width: 83.33333%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .md-11 {
    width: 91.66667%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .md-12 {
    width: 100%; } }

@media screen and (min-width: 77.5em) {
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .lg-1 {
    width: 8.33333%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .lg-2 {
    width: 16.66667%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .lg-3 {
    width: 25%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .lg-4 {
    width: 33.33333%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .lg-5 {
    width: 41.66667%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .lg-6 {
    width: 50%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .lg-7 {
    width: 58.33333%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .lg-8 {
    width: 66.66667%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .lg-9 {
    width: 75%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .lg-10 {
    width: 83.33333%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .lg-11 {
    width: 91.66667%; }
  /* line 43, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .lg-12 {
    width: 100%; } }

@media screen and (min-width: 77.5em) {
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .xl-1 {
    width: 8.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .xl-2 {
    width: 16.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .xl-3 {
    width: 25%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .xl-4 {
    width: 33.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .xl-5 {
    width: 41.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .xl-6 {
    width: 50%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .xl-7 {
    width: 58.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .xl-8 {
    width: 66.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .xl-9 {
    width: 75%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .xl-10 {
    width: 83.33333%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .xl-11 {
    width: 91.66667%; }
  /* line 52, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
  .xl-margin-collapse > .xl-12 {
    width: 100%; } }

@media screen and (min-width: 77.5em) {
  /* line 230, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .xl-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    /* line 67, bower_components/foundation-sites/scss/xy-grid/_collapse.scss */
    .xl-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

/* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.sm-offset-0 {
  margin-left: 0%; }

/* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-margin-x > .sm-offset-0 {
  margin-left: calc(0% + 0.9375rem); }

/* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.sm-offset-1 {
  margin-left: 8.33333%; }

/* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-margin-x > .sm-offset-1 {
  margin-left: calc(8.33333% + 0.9375rem); }

/* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.sm-offset-2 {
  margin-left: 16.66667%; }

/* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-margin-x > .sm-offset-2 {
  margin-left: calc(16.66667% + 0.9375rem); }

/* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.sm-offset-3 {
  margin-left: 25%; }

/* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-margin-x > .sm-offset-3 {
  margin-left: calc(25% + 0.9375rem); }

/* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.sm-offset-4 {
  margin-left: 33.33333%; }

/* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-margin-x > .sm-offset-4 {
  margin-left: calc(33.33333% + 0.9375rem); }

/* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.sm-offset-5 {
  margin-left: 41.66667%; }

/* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-margin-x > .sm-offset-5 {
  margin-left: calc(41.66667% + 0.9375rem); }

/* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.sm-offset-6 {
  margin-left: 50%; }

/* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-margin-x > .sm-offset-6 {
  margin-left: calc(50% + 0.9375rem); }

/* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.sm-offset-7 {
  margin-left: 58.33333%; }

/* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-margin-x > .sm-offset-7 {
  margin-left: calc(58.33333% + 0.9375rem); }

/* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.sm-offset-8 {
  margin-left: 66.66667%; }

/* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-margin-x > .sm-offset-8 {
  margin-left: calc(66.66667% + 0.9375rem); }

/* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.sm-offset-9 {
  margin-left: 75%; }

/* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-margin-x > .sm-offset-9 {
  margin-left: calc(75% + 0.9375rem); }

/* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.sm-offset-10 {
  margin-left: 83.33333%; }

/* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-margin-x > .sm-offset-10 {
  margin-left: calc(83.33333% + 0.9375rem); }

/* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.sm-offset-11 {
  margin-left: 91.66667%; }

/* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-margin-x > .sm-offset-11 {
  margin-left: calc(91.66667% + 0.9375rem); }

@media print, screen and (min-width: 40em) {
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .md-offset-0 {
    margin-left: 0%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .md-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .md-offset-1 {
    margin-left: 8.33333%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .md-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .md-offset-2 {
    margin-left: 16.66667%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .md-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .md-offset-3 {
    margin-left: 25%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .md-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .md-offset-4 {
    margin-left: 33.33333%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .md-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .md-offset-5 {
    margin-left: 41.66667%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .md-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .md-offset-6 {
    margin-left: 50%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .md-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .md-offset-7 {
    margin-left: 58.33333%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .md-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .md-offset-8 {
    margin-left: 66.66667%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .md-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .md-offset-9 {
    margin-left: 75%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .md-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .md-offset-10 {
    margin-left: 83.33333%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .md-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .md-offset-11 {
    margin-left: 91.66667%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .md-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

@media print, screen and (min-width: 64em) {
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .lg-offset-0 {
    margin-left: 0%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .lg-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .lg-offset-1 {
    margin-left: 8.33333%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .lg-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .lg-offset-2 {
    margin-left: 16.66667%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .lg-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .lg-offset-3 {
    margin-left: 25%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .lg-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .lg-offset-4 {
    margin-left: 33.33333%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .lg-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .lg-offset-5 {
    margin-left: 41.66667%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .lg-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .lg-offset-6 {
    margin-left: 50%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .lg-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .lg-offset-7 {
    margin-left: 58.33333%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .lg-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .lg-offset-8 {
    margin-left: 66.66667%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .lg-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .lg-offset-9 {
    margin-left: 75%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .lg-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .lg-offset-10 {
    margin-left: 83.33333%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .lg-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .lg-offset-11 {
    margin-left: 91.66667%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .lg-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

@media screen and (min-width: 77.5em) {
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .xl-offset-0 {
    margin-left: 0%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .xl-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .xl-offset-1 {
    margin-left: 8.33333%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .xl-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .xl-offset-2 {
    margin-left: 16.66667%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .xl-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .xl-offset-3 {
    margin-left: 25%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .xl-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .xl-offset-4 {
    margin-left: 33.33333%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .xl-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .xl-offset-5 {
    margin-left: 41.66667%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .xl-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .xl-offset-6 {
    margin-left: 50%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .xl-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .xl-offset-7 {
    margin-left: 58.33333%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .xl-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .xl-offset-8 {
    margin-left: 66.66667%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .xl-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .xl-offset-9 {
    margin-left: 75%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .xl-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .xl-offset-10 {
    margin-left: 83.33333%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .xl-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  /* line 244, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .xl-offset-11 {
    margin-left: 91.66667%; }
  /* line 248, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-x > .xl-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

/* line 266, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-y {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap; }
  /* line 270, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-y > .cell {
    width: auto; }
  /* line 274, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-y > .auto {
    height: auto; }
  /* line 278, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-y > .shrink {
    height: auto; }
  /* line 292, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-y > .sm-shrink, .grid-y > .sm-full, .grid-y > .sm-1, .grid-y > .sm-2, .grid-y > .sm-3, .grid-y > .sm-4, .grid-y > .sm-5, .grid-y > .sm-6, .grid-y > .sm-7, .grid-y > .sm-8, .grid-y > .sm-9, .grid-y > .sm-10, .grid-y > .sm-11, .grid-y > .sm-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; }
  @media print, screen and (min-width: 40em) {
    /* line 292, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .md-shrink, .grid-y > .md-full, .grid-y > .md-1, .grid-y > .md-2, .grid-y > .md-3, .grid-y > .md-4, .grid-y > .md-5, .grid-y > .md-6, .grid-y > .md-7, .grid-y > .md-8, .grid-y > .md-9, .grid-y > .md-10, .grid-y > .md-11, .grid-y > .md-12 {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; } }
  @media print, screen and (min-width: 64em) {
    /* line 292, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .lg-shrink, .grid-y > .lg-full, .grid-y > .lg-1, .grid-y > .lg-2, .grid-y > .lg-3, .grid-y > .lg-4, .grid-y > .lg-5, .grid-y > .lg-6, .grid-y > .lg-7, .grid-y > .lg-8, .grid-y > .lg-9, .grid-y > .lg-10, .grid-y > .lg-11, .grid-y > .lg-12 {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; } }
  @media screen and (min-width: 77.5em) {
    /* line 292, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .xl-shrink, .grid-y > .xl-full, .grid-y > .xl-1, .grid-y > .xl-2, .grid-y > .xl-3, .grid-y > .xl-4, .grid-y > .xl-5, .grid-y > .xl-6, .grid-y > .xl-7, .grid-y > .xl-8, .grid-y > .xl-9, .grid-y > .xl-10, .grid-y > .xl-11, .grid-y > .xl-12 {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; } }
  /* line 299, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-y > .sm-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    height: auto; }
  /* line 304, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-y > .sm-shrink {
    height: auto; }
  /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-y > .sm-1 {
    height: 8.33333%; }
  /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-y > .sm-2 {
    height: 16.66667%; }
  /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-y > .sm-3 {
    height: 25%; }
  /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-y > .sm-4 {
    height: 33.33333%; }
  /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-y > .sm-5 {
    height: 41.66667%; }
  /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-y > .sm-6 {
    height: 50%; }
  /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-y > .sm-7 {
    height: 58.33333%; }
  /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-y > .sm-8 {
    height: 66.66667%; }
  /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-y > .sm-9 {
    height: 75%; }
  /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-y > .sm-10 {
    height: 83.33333%; }
  /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-y > .sm-11 {
    height: 91.66667%; }
  /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-y > .sm-12 {
    height: 100%; }
  @media print, screen and (min-width: 40em) {
    /* line 299, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .md-auto {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    /* line 304, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .md-shrink {
      height: auto; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .md-1 {
      height: 8.33333%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .md-2 {
      height: 16.66667%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .md-3 {
      height: 25%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .md-4 {
      height: 33.33333%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .md-5 {
      height: 41.66667%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .md-6 {
      height: 50%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .md-7 {
      height: 58.33333%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .md-8 {
      height: 66.66667%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .md-9 {
      height: 75%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .md-10 {
      height: 83.33333%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .md-11 {
      height: 91.66667%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .md-12 {
      height: 100%; } }
  @media print, screen and (min-width: 64em) {
    /* line 299, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .lg-auto {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    /* line 304, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .lg-shrink {
      height: auto; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .lg-1 {
      height: 8.33333%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .lg-2 {
      height: 16.66667%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .lg-3 {
      height: 25%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .lg-4 {
      height: 33.33333%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .lg-5 {
      height: 41.66667%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .lg-6 {
      height: 50%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .lg-7 {
      height: 58.33333%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .lg-8 {
      height: 66.66667%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .lg-9 {
      height: 75%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .lg-10 {
      height: 83.33333%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .lg-11 {
      height: 91.66667%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .lg-12 {
      height: 100%; } }
  @media screen and (min-width: 77.5em) {
    /* line 299, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .xl-auto {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    /* line 304, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .xl-shrink {
      height: auto; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .xl-1 {
      height: 8.33333%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .xl-2 {
      height: 16.66667%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .xl-3 {
      height: 25%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .xl-4 {
      height: 33.33333%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .xl-5 {
      height: 41.66667%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .xl-6 {
      height: 50%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .xl-7 {
      height: 58.33333%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .xl-8 {
      height: 66.66667%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .xl-9 {
      height: 75%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .xl-10 {
      height: 83.33333%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .xl-11 {
      height: 91.66667%; }
    /* line 312, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-y > .xl-12 {
      height: 100%; } }

/* line 323, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-padding-y .grid-padding-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    /* line 323, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-padding-y .grid-padding-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }

/* line 328, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-padding-y > .cell {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    /* line 328, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-padding-y > .cell {
      padding-top: 0.9375rem;
      padding-bottom: 0.9375rem; } }

/* line 128, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    /* line 128, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }
  /* line 132, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .cell {
    height: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; }
  /* line 104, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-auto {
    height: auto; }
  /* line 108, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-shrink {
    height: auto; }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-1 {
    height: calc(8.33333% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-2 {
    height: calc(16.66667% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-3 {
    height: calc(25% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-4 {
    height: calc(33.33333% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-5 {
    height: calc(41.66667% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-6 {
    height: calc(50% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-7 {
    height: calc(58.33333% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-8 {
    height: calc(66.66667% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-9 {
    height: calc(75% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-10 {
    height: calc(83.33333% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-11 {
    height: calc(91.66667% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-12 {
    height: calc(100% - 1.875rem); }
  @media print, screen and (min-width: 40em) {
    /* line 104, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-auto {
      height: auto; }
    /* line 108, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-shrink {
      height: auto; }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-1 {
      height: calc(8.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-2 {
      height: calc(16.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-3 {
      height: calc(25% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-4 {
      height: calc(33.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-5 {
      height: calc(41.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-6 {
      height: calc(50% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-7 {
      height: calc(58.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-8 {
      height: calc(66.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-9 {
      height: calc(75% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-10 {
      height: calc(83.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-11 {
      height: calc(91.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-12 {
      height: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    /* line 104, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-auto {
      height: auto; }
    /* line 108, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-shrink {
      height: auto; }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-1 {
      height: calc(8.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-2 {
      height: calc(16.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-3 {
      height: calc(25% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-4 {
      height: calc(33.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-5 {
      height: calc(41.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-6 {
      height: calc(50% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-7 {
      height: calc(58.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-8 {
      height: calc(66.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-9 {
      height: calc(75% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-10 {
      height: calc(83.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-11 {
      height: calc(91.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-12 {
      height: calc(100% - 1.875rem); } }
  @media screen and (min-width: 77.5em) {
    /* line 104, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-auto {
      height: auto; }
    /* line 108, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-shrink {
      height: auto; }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-1 {
      height: calc(8.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-2 {
      height: calc(16.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-3 {
      height: calc(25% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-4 {
      height: calc(33.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-5 {
      height: calc(41.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-6 {
      height: calc(50% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-7 {
      height: calc(58.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-8 {
      height: calc(66.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-9 {
      height: calc(75% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-10 {
      height: calc(83.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-11 {
      height: calc(91.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-12 {
      height: calc(100% - 1.875rem); } }

/* line 342, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-frame {
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100vw; }

/* line 346, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.cell .grid-frame {
  width: 100%; }

/* line 350, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

/* line 354, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

/* line 359, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.cell-block-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: 100%; }
  /* line 81, bower_components/foundation-sites/scss/xy-grid/_frame.scss */
  .cell-block-container > .grid-x {
    max-height: 100%;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }

/* line 366, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.sm-grid-frame {
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100vw; }

/* line 370, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.cell .sm-grid-frame {
  width: 100%; }

/* line 374, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.sm-cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

/* line 378, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.sm-cell-block-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: 100%; }
  /* line 81, bower_components/foundation-sites/scss/xy-grid/_frame.scss */
  .sm-cell-block-container > .grid-x {
    max-height: 100%;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }

/* line 382, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.sm-cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

@media print, screen and (min-width: 40em) {
  /* line 366, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .md-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  /* line 370, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .cell .md-grid-frame {
    width: 100%; }
  /* line 374, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .md-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  /* line 378, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .md-cell-block-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    /* line 81, bower_components/foundation-sites/scss/xy-grid/_frame.scss */
    .md-cell-block-container > .grid-x {
      max-height: 100%;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  /* line 382, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .md-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media print, screen and (min-width: 64em) {
  /* line 366, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .lg-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  /* line 370, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .cell .lg-grid-frame {
    width: 100%; }
  /* line 374, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .lg-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  /* line 378, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .lg-cell-block-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    /* line 81, bower_components/foundation-sites/scss/xy-grid/_frame.scss */
    .lg-cell-block-container > .grid-x {
      max-height: 100%;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  /* line 382, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .lg-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media screen and (min-width: 77.5em) {
  /* line 366, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .xl-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  /* line 370, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .cell .xl-grid-frame {
    width: 100%; }
  /* line 374, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .xl-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  /* line 378, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .xl-cell-block-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    /* line 81, bower_components/foundation-sites/scss/xy-grid/_frame.scss */
    .xl-cell-block-container > .grid-x {
      max-height: 100%;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  /* line 382, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .xl-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

/* line 389, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-y.grid-frame {
  width: auto;
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  height: 100vh; }

/* line 395, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-y.sm-grid-frame {
  width: auto;
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  height: 100vh; }

@media print, screen and (min-width: 40em) {
  /* line 395, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-y.md-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

@media print, screen and (min-width: 64em) {
  /* line 395, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-y.lg-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

@media screen and (min-width: 77.5em) {
  /* line 395, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-y.xl-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

/* line 403, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.cell .grid-y.grid-frame {
  height: 100%; }

/* line 407, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.cell .grid-y.sm-grid-frame {
  height: 100%; }

@media print, screen and (min-width: 40em) {
  /* line 407, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .cell .grid-y.md-grid-frame {
    height: 100%; } }

@media print, screen and (min-width: 64em) {
  /* line 407, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .cell .grid-y.lg-grid-frame {
    height: 100%; } }

@media screen and (min-width: 77.5em) {
  /* line 407, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .cell .grid-y.xl-grid-frame {
    height: 100%; } }

/* line 128, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    /* line 128, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }
  /* line 132, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .cell {
    height: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; }
  /* line 104, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-auto {
    height: auto; }
  /* line 108, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-shrink {
    height: auto; }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-1 {
    height: calc(8.33333% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-2 {
    height: calc(16.66667% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-3 {
    height: calc(25% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-4 {
    height: calc(33.33333% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-5 {
    height: calc(41.66667% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-6 {
    height: calc(50% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-7 {
    height: calc(58.33333% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-8 {
    height: calc(66.66667% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-9 {
    height: calc(75% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-10 {
    height: calc(83.33333% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-11 {
    height: calc(91.66667% - 1.875rem); }
  /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y > .sm-12 {
    height: calc(100% - 1.875rem); }
  @media print, screen and (min-width: 40em) {
    /* line 104, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-auto {
      height: auto; }
    /* line 108, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-shrink {
      height: auto; }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-1 {
      height: calc(8.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-2 {
      height: calc(16.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-3 {
      height: calc(25% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-4 {
      height: calc(33.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-5 {
      height: calc(41.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-6 {
      height: calc(50% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-7 {
      height: calc(58.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-8 {
      height: calc(66.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-9 {
      height: calc(75% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-10 {
      height: calc(83.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-11 {
      height: calc(91.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .md-12 {
      height: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    /* line 104, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-auto {
      height: auto; }
    /* line 108, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-shrink {
      height: auto; }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-1 {
      height: calc(8.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-2 {
      height: calc(16.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-3 {
      height: calc(25% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-4 {
      height: calc(33.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-5 {
      height: calc(41.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-6 {
      height: calc(50% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-7 {
      height: calc(58.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-8 {
      height: calc(66.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-9 {
      height: calc(75% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-10 {
      height: calc(83.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-11 {
      height: calc(91.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .lg-12 {
      height: calc(100% - 1.875rem); } }
  @media screen and (min-width: 77.5em) {
    /* line 104, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-auto {
      height: auto; }
    /* line 108, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-shrink {
      height: auto; }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-1 {
      height: calc(8.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-2 {
      height: calc(16.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-3 {
      height: calc(25% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-4 {
      height: calc(33.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-5 {
      height: calc(41.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-6 {
      height: calc(50% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-7 {
      height: calc(58.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-8 {
      height: calc(66.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-9 {
      height: calc(75% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-10 {
      height: calc(83.33333% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-11 {
      height: calc(91.66667% - 1.875rem); }
    /* line 116, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-margin-y > .xl-12 {
      height: calc(100% - 1.875rem); } }

/* line 415, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-frame.grid-margin-y {
  height: calc(100vh + 1.875rem); }
  @media print, screen and (min-width: 40em) {
    /* line 415, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    /* line 415, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.875rem); } }
  @media screen and (min-width: 77.5em) {
    /* line 415, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.875rem); } }

/* line 419, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
.grid-margin-y.sm-grid-frame {
  height: calc(100vh + 1.875rem); }

@media print, screen and (min-width: 40em) {
  /* line 419, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y.md-grid-frame {
    height: calc(100vh + 1.875rem); } }

@media print, screen and (min-width: 64em) {
  /* line 419, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y.lg-grid-frame {
    height: calc(100vh + 1.875rem); } }

@media screen and (min-width: 77.5em) {
  /* line 419, bower_components/foundation-sites/scss/xy-grid/_classes.scss */
  .grid-margin-y.xl-grid-frame {
    height: calc(100vh + 1.875rem); } }

/* line 256, bower_components/foundation-sites/scss/typography/_base.scss */
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

/* line 280, bower_components/foundation-sites/scss/typography/_base.scss */
p {
  margin-bottom: 1rem;
  font-size: inherit;
  line-height: 1.6;
  text-rendering: optimizeLegibility; }

/* line 289, bower_components/foundation-sites/scss/typography/_base.scss */
em,
i {
  font-style: italic;
  line-height: inherit; }

/* line 296, bower_components/foundation-sites/scss/typography/_base.scss */
strong,
b {
  font-weight: 700;
  line-height: inherit; }

/* line 303, bower_components/foundation-sites/scss/typography/_base.scss */
small {
  font-size: 80%;
  line-height: inherit; }

/* line 309, bower_components/foundation-sites/scss/typography/_base.scss */
h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "Open Sans", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: 300;
  color: inherit;
  text-rendering: optimizeLegibility; }
  /* line 321, bower_components/foundation-sites/scss/typography/_base.scss */
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    line-height: 0;
    color: #cacaca; }

/* line 332, bower_components/foundation-sites/scss/typography/_base.scss */
h1, .h1 {
  font-size: 1.5rem; }

/* line 332, bower_components/foundation-sites/scss/typography/_base.scss */
h2, .h2 {
  font-size: 1.25rem; }

/* line 332, bower_components/foundation-sites/scss/typography/_base.scss */
h3, .h3 {
  font-size: 1.1875rem; }

/* line 332, bower_components/foundation-sites/scss/typography/_base.scss */
h4, .h4 {
  font-size: 1.125rem; }

/* line 332, bower_components/foundation-sites/scss/typography/_base.scss */
h5, .h5 {
  font-size: 1.0625rem; }

/* line 332, bower_components/foundation-sites/scss/typography/_base.scss */
h6, .h6 {
  font-size: 1rem; }

@media print, screen and (min-width: 40em) {
  /* line 332, bower_components/foundation-sites/scss/typography/_base.scss */
  h1, .h1 {
    font-size: 3rem;
    margin-bottom: 1.875rem; }
  /* line 332, bower_components/foundation-sites/scss/typography/_base.scss */
  h2, .h2 {
    font-size: 2.5rem; }
  /* line 332, bower_components/foundation-sites/scss/typography/_base.scss */
  h3, .h3 {
    font-size: 1.9375rem; }
  /* line 332, bower_components/foundation-sites/scss/typography/_base.scss */
  h4, .h4 {
    font-size: 1.5625rem; }
  /* line 332, bower_components/foundation-sites/scss/typography/_base.scss */
  h5, .h5 {
    font-size: 1.25rem; }
  /* line 332, bower_components/foundation-sites/scss/typography/_base.scss */
  h6, .h6 {
    font-size: 1rem; } }

/* line 371, bower_components/foundation-sites/scss/typography/_base.scss */
a {
  line-height: inherit;
  color: #f7941d;
  text-decoration: none;
  cursor: pointer; }
  /* line 378, bower_components/foundation-sites/scss/typography/_base.scss */
  a:hover, a:focus {
    color: #e58108; }
  /* line 386, bower_components/foundation-sites/scss/typography/_base.scss */
  a img {
    border: 0; }

/* line 392, bower_components/foundation-sites/scss/typography/_base.scss */
hr {
  clear: both;
  max-width: 78.75rem;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #cacaca;
  border-left: 0; }

/* line 406, bower_components/foundation-sites/scss/typography/_base.scss */
ul,
ol,
dl {
  margin-bottom: 1rem;
  list-style-position: outside;
  line-height: 1.6; }

/* line 415, bower_components/foundation-sites/scss/typography/_base.scss */
li {
  font-size: inherit; }

/* line 420, bower_components/foundation-sites/scss/typography/_base.scss */
ul {
  margin-left: 1.25rem;
  list-style-type: disc; }

/* line 426, bower_components/foundation-sites/scss/typography/_base.scss */
ol {
  margin-left: 1.25rem; }

/* line 432, bower_components/foundation-sites/scss/typography/_base.scss */
ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

/* line 439, bower_components/foundation-sites/scss/typography/_base.scss */
dl {
  margin-bottom: 1rem; }
  /* line 442, bower_components/foundation-sites/scss/typography/_base.scss */
  dl dt {
    margin-bottom: 0.3rem;
    font-weight: 700; }

/* line 449, bower_components/foundation-sites/scss/typography/_base.scss */
blockquote {
  margin: 0 0 1rem;
  padding: 1.875rem;
  border-left: none; }
  /* line 454, bower_components/foundation-sites/scss/typography/_base.scss */
  blockquote, blockquote p {
    line-height: 1.6;
    color: #58595b; }

/* line 461, bower_components/foundation-sites/scss/typography/_base.scss */
cite {
  display: block;
  font-size: 0.8125rem;
  color: #8a8a8a; }
  /* line 466, bower_components/foundation-sites/scss/typography/_base.scss */
  cite:before {
    content: "— "; }

/* line 472, bower_components/foundation-sites/scss/typography/_base.scss */
abbr, abbr[title] {
  border-bottom: 1px dotted #0a0a0a;
  cursor: help;
  text-decoration: none; }

/* line 479, bower_components/foundation-sites/scss/typography/_base.scss */
figure {
  margin: 0; }

/* line 484, bower_components/foundation-sites/scss/typography/_base.scss */
code {
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #cacaca;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: 300;
  color: #0a0a0a; }

/* line 496, bower_components/foundation-sites/scss/typography/_base.scss */
kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #0a0a0a; }

/* line 48, bower_components/foundation-sites/scss/typography/_helpers.scss */
.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: 300;
  line-height: 1.4;
  color: #8a8a8a; }

/* line 58, bower_components/foundation-sites/scss/typography/_helpers.scss */
.lead {
  font-size: 1.5rem;
  line-height: 1.6; }

/* line 64, bower_components/foundation-sites/scss/typography/_helpers.scss */
.stat {
  font-size: 2.5rem;
  line-height: 1; }
  /* line 68, bower_components/foundation-sites/scss/typography/_helpers.scss */
  p + .stat {
    margin-top: -1rem; }

/* line 75, bower_components/foundation-sites/scss/typography/_helpers.scss */
ul.no-bullet, ol.no-bullet {
  margin-left: 0;
  list-style: none; }

/* line 10, bower_components/foundation-sites/scss/typography/_alignment.scss */
.sm-text-left {
  text-align: left; }

/* line 10, bower_components/foundation-sites/scss/typography/_alignment.scss */
.sm-text-right {
  text-align: right; }

/* line 10, bower_components/foundation-sites/scss/typography/_alignment.scss */
.sm-text-center {
  text-align: center; }

/* line 10, bower_components/foundation-sites/scss/typography/_alignment.scss */
.sm-text-justify {
  text-align: justify; }

@media print, screen and (min-width: 40em) {
  /* line 10, bower_components/foundation-sites/scss/typography/_alignment.scss */
  .md-text-left {
    text-align: left; }
  /* line 10, bower_components/foundation-sites/scss/typography/_alignment.scss */
  .md-text-right {
    text-align: right; }
  /* line 10, bower_components/foundation-sites/scss/typography/_alignment.scss */
  .md-text-center {
    text-align: center; }
  /* line 10, bower_components/foundation-sites/scss/typography/_alignment.scss */
  .md-text-justify {
    text-align: justify; } }

@media print, screen and (min-width: 64em) {
  /* line 10, bower_components/foundation-sites/scss/typography/_alignment.scss */
  .lg-text-left {
    text-align: left; }
  /* line 10, bower_components/foundation-sites/scss/typography/_alignment.scss */
  .lg-text-right {
    text-align: right; }
  /* line 10, bower_components/foundation-sites/scss/typography/_alignment.scss */
  .lg-text-center {
    text-align: center; }
  /* line 10, bower_components/foundation-sites/scss/typography/_alignment.scss */
  .lg-text-justify {
    text-align: justify; } }

@media screen and (min-width: 77.5em) {
  /* line 10, bower_components/foundation-sites/scss/typography/_alignment.scss */
  .xl-text-left {
    text-align: left; }
  /* line 10, bower_components/foundation-sites/scss/typography/_alignment.scss */
  .xl-text-right {
    text-align: right; }
  /* line 10, bower_components/foundation-sites/scss/typography/_alignment.scss */
  .xl-text-center {
    text-align: center; }
  /* line 10, bower_components/foundation-sites/scss/typography/_alignment.scss */
  .xl-text-justify {
    text-align: justify; } }

/* line 125, bower_components/foundation-sites/scss/forms/_text.scss */
[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 3.0625rem;
  margin: 0 0 1.25rem;
  padding: 0.625rem 0.625rem 0;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 300;
  line-height: 2.5rem;
  color: #0a0a0a;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  -o-transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  /* line 111, bower_components/foundation-sites/scss/forms/_text.scss */
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #f7941d;
    background-color: #fefefe;
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    -o-transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }

/* line 132, bower_components/foundation-sites/scss/forms/_text.scss */
textarea {
  max-width: 100%; }
  /* line 135, bower_components/foundation-sites/scss/forms/_text.scss */
  textarea[rows] {
    height: auto; }

/* line 143, bower_components/foundation-sites/scss/forms/_text.scss */
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #999; }
input::-moz-placeholder,
textarea::-moz-placeholder {
  color: #999; }
input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
  color: #999; }
input::placeholder,
textarea::placeholder {
  color: #999; }

/* line 148, bower_components/foundation-sites/scss/forms/_text.scss */
input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e6e6e6;
  cursor: not-allowed; }

/* line 156, bower_components/foundation-sites/scss/forms/_text.scss */
[type='submit'],
[type='button'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0; }

/* line 163, bower_components/foundation-sites/scss/forms/_text.scss */
input[type="search"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

/* line 10, bower_components/foundation-sites/scss/forms/_checkbox.scss */
[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1.25rem; }

/* line 17, bower_components/foundation-sites/scss/forms/_checkbox.scss */
[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.625rem;
  margin-right: 1.25rem;
  margin-bottom: 0;
  line-height: 1.3; }
  /* line 28, bower_components/foundation-sites/scss/forms/_checkbox.scss */
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

/* line 34, bower_components/foundation-sites/scss/forms/_checkbox.scss */
label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.625rem; }

/* line 40, bower_components/foundation-sites/scss/forms/_checkbox.scss */
[type='file'] {
  width: 100%; }

/* line 43, bower_components/foundation-sites/scss/forms/_label.scss */
label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.8;
  color: #0a0a0a; }
  /* line 46, bower_components/foundation-sites/scss/forms/_label.scss */
  label.middle {
    margin: 0 0 1.25rem;
    padding: 0.6875rem 0; }

/* line 22, bower_components/foundation-sites/scss/forms/_help-text.scss */
.help-text {
  margin-top: -0.625rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #0a0a0a; }

/* line 27, bower_components/foundation-sites/scss/forms/_input-group.scss */
.input-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1.25rem;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  /* line 36, bower_components/foundation-sites/scss/forms/_input-group.scss */
  .input-group > :first-child {
    border-radius: 0 0 0 0; }
  /* line 41, bower_components/foundation-sites/scss/forms/_input-group.scss */
  .input-group > :last-child > * {
    border-radius: 0 0 0 0; }

/* line 47, bower_components/foundation-sites/scss/forms/_input-group.scss */
.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap; }

/* line 57, bower_components/foundation-sites/scss/forms/_input-group.scss */
.input-group-label {
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #e6e6e6;
  color: #0a0a0a;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  /* line 78, bower_components/foundation-sites/scss/forms/_input-group.scss */
  .input-group-label:first-child {
    border-right: 0; }
  /* line 82, bower_components/foundation-sites/scss/forms/_input-group.scss */
  .input-group-label:last-child {
    border-left: 0; }

/* line 88, bower_components/foundation-sites/scss/forms/_input-group.scss */
.input-group-field {
  border-radius: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  height: auto;
  min-width: 0; }

/* line 102, bower_components/foundation-sites/scss/forms/_input-group.scss */
.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }
  /* line 117, bower_components/foundation-sites/scss/forms/_input-group.scss */
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    height: auto;
    -ms-flex-item-align: stretch;
        align-self: stretch;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem; }

/* line 39, bower_components/foundation-sites/scss/forms/_fieldset.scss */
fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

/* line 45, bower_components/foundation-sites/scss/forms/_fieldset.scss */
legend {
  max-width: 100%;
  margin-bottom: 0.625rem; }

/* line 50, bower_components/foundation-sites/scss/forms/_fieldset.scss */
.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #cacaca; }
  /* line 30, bower_components/foundation-sites/scss/forms/_fieldset.scss */
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

/* line 83, bower_components/foundation-sites/scss/forms/_select.scss */
select {
  height: 3.0625rem;
  margin: 0 0 1.25rem;
  padding: 0.625rem 0.625rem 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 300;
  line-height: 2.5rem;
  color: #0a0a0a;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1.25rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.875rem;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  -o-transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }
  @media screen and (min-width: 0\0) {
    /* line 83, bower_components/foundation-sites/scss/forms/_select.scss */
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  /* line 54, bower_components/foundation-sites/scss/forms/_select.scss */
  select:focus {
    outline: none;
    border: 1px solid #f7941d;
    background-color: #fefefe;
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    -o-transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }
  /* line 66, bower_components/foundation-sites/scss/forms/_select.scss */
  select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  /* line 72, bower_components/foundation-sites/scss/forms/_select.scss */
  select::-ms-expand {
    display: none; }
  /* line 76, bower_components/foundation-sites/scss/forms/_select.scss */
  select[multiple] {
    height: auto;
    background-image: none; }

/* line 45, bower_components/foundation-sites/scss/forms/_error.scss */
.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: #f9ecea; }
  /* line 48, bower_components/foundation-sites/scss/forms/_error.scss */
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::-moz-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::-ms-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #cc4b37; }

/* line 75, bower_components/foundation-sites/scss/forms/_error.scss */
.is-invalid-label {
  color: #cc4b37; }

/* line 81, bower_components/foundation-sites/scss/forms/_error.scss */
.form-error {
  display: none;
  margin-top: -0.625rem;
  margin-bottom: 1.25rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #cc4b37; }
  /* line 84, bower_components/foundation-sites/scss/forms/_error.scss */
  .form-error.is-visible {
    display: block; }

/* line 262, bower_components/foundation-sites/scss/components/_button.scss */
.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: "Open Sans", Helvetica, Roboto, Arial, sans-serif;
  padding: 0.75rem 1.25rem;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  -o-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 1.25rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #f7941d;
  color: #fefefe; }
  /* line 202, bower_components/foundation-sites/scss/util/_mixins.scss */
  [data-whatinput='mouse'] .button {
    outline: 0; }
  /* line 150, bower_components/foundation-sites/scss/components/_button.scss */
  .button:hover, .button:focus {
    background-color: #e37f08;
    color: #fefefe; }
  /* line 267, bower_components/foundation-sites/scss/components/_button.scss */
  .button.tiny {
    font-size: 0.625rem; }
  /* line 267, bower_components/foundation-sites/scss/components/_button.scss */
  .button.large {
    font-size: 1.875rem; }
  /* line 272, bower_components/foundation-sites/scss/components/_button.scss */
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  /* line 277, bower_components/foundation-sites/scss/components/_button.scss */
  .button.primary {
    background-color: #f7941d;
    color: #0a0a0a; }
    /* line 150, bower_components/foundation-sites/scss/components/_button.scss */
    .button.primary:hover, .button.primary:focus {
      background-color: #d57808;
      color: #0a0a0a; }
  /* line 277, bower_components/foundation-sites/scss/components/_button.scss */
  .button.secondary {
    background-color: #58595b;
    color: #fefefe; }
    /* line 150, bower_components/foundation-sites/scss/components/_button.scss */
    .button.secondary:hover, .button.secondary:focus {
      background-color: #464749;
      color: #fefefe; }
  /* line 277, bower_components/foundation-sites/scss/components/_button.scss */
  .button.tertiary {
    background-color: #c2c2c2;
    color: #0a0a0a; }
    /* line 150, bower_components/foundation-sites/scss/components/_button.scss */
    .button.tertiary:hover, .button.tertiary:focus {
      background-color: #9b9b9b;
      color: #0a0a0a; }
  /* line 277, bower_components/foundation-sites/scss/components/_button.scss */
  .button.success {
    background-color: #3adb76;
    color: #0a0a0a; }
    /* line 150, bower_components/foundation-sites/scss/components/_button.scss */
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  /* line 277, bower_components/foundation-sites/scss/components/_button.scss */
  .button.warning {
    background-color: #ffae00;
    color: #0a0a0a; }
    /* line 150, bower_components/foundation-sites/scss/components/_button.scss */
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  /* line 277, bower_components/foundation-sites/scss/components/_button.scss */
  .button.alert {
    background-color: #cc4b37;
    color: #fefefe; }
    /* line 150, bower_components/foundation-sites/scss/components/_button.scss */
    .button.alert:hover, .button.alert:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  /* line 293, bower_components/foundation-sites/scss/components/_button.scss */
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    /* line 207, bower_components/foundation-sites/scss/components/_button.scss */
    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
      background-color: #f7941d;
      color: #fefefe; }
    /* line 298, bower_components/foundation-sites/scss/components/_button.scss */
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      /* line 207, bower_components/foundation-sites/scss/components/_button.scss */
      .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #f7941d;
        color: #0a0a0a; }
    /* line 298, bower_components/foundation-sites/scss/components/_button.scss */
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      /* line 207, bower_components/foundation-sites/scss/components/_button.scss */
      .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #58595b;
        color: #fefefe; }
    /* line 298, bower_components/foundation-sites/scss/components/_button.scss */
    .button.disabled.tertiary, .button[disabled].tertiary {
      opacity: 0.25;
      cursor: not-allowed; }
      /* line 207, bower_components/foundation-sites/scss/components/_button.scss */
      .button.disabled.tertiary, .button.disabled.tertiary:hover, .button.disabled.tertiary:focus, .button[disabled].tertiary, .button[disabled].tertiary:hover, .button[disabled].tertiary:focus {
        background-color: #c2c2c2;
        color: #0a0a0a; }
    /* line 298, bower_components/foundation-sites/scss/components/_button.scss */
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      /* line 207, bower_components/foundation-sites/scss/components/_button.scss */
      .button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #3adb76;
        color: #0a0a0a; }
    /* line 298, bower_components/foundation-sites/scss/components/_button.scss */
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      /* line 207, bower_components/foundation-sites/scss/components/_button.scss */
      .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #0a0a0a; }
    /* line 298, bower_components/foundation-sites/scss/components/_button.scss */
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      /* line 207, bower_components/foundation-sites/scss/components/_button.scss */
      .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #cc4b37;
        color: #fefefe; }
  /* line 306, bower_components/foundation-sites/scss/components/_button.scss */
  .button.hollow {
    border: 1px solid #f7941d;
    color: #f7941d; }
    /* line 158, bower_components/foundation-sites/scss/components/_button.scss */
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    /* line 165, bower_components/foundation-sites/scss/components/_button.scss */
    .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
      background-color: transparent; }
    /* line 182, bower_components/foundation-sites/scss/components/_button.scss */
    .button.hollow:hover, .button.hollow:focus {
      border-color: #854b05;
      color: #854b05; }
      /* line 185, bower_components/foundation-sites/scss/components/_button.scss */
      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
        border: 1px solid #f7941d;
        color: #f7941d; }
    /* line 311, bower_components/foundation-sites/scss/components/_button.scss */
    .button.hollow.primary {
      border: 1px solid #f7941d;
      color: #f7941d; }
      /* line 182, bower_components/foundation-sites/scss/components/_button.scss */
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #854b05;
        color: #854b05; }
        /* line 185, bower_components/foundation-sites/scss/components/_button.scss */
        .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
          border: 1px solid #f7941d;
          color: #f7941d; }
    /* line 311, bower_components/foundation-sites/scss/components/_button.scss */
    .button.hollow.secondary {
      border: 1px solid #58595b;
      color: #58595b; }
      /* line 182, bower_components/foundation-sites/scss/components/_button.scss */
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #2c2d2e;
        color: #2c2d2e; }
        /* line 185, bower_components/foundation-sites/scss/components/_button.scss */
        .button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
          border: 1px solid #58595b;
          color: #58595b; }
    /* line 311, bower_components/foundation-sites/scss/components/_button.scss */
    .button.hollow.tertiary {
      border: 1px solid #c2c2c2;
      color: #c2c2c2; }
      /* line 182, bower_components/foundation-sites/scss/components/_button.scss */
      .button.hollow.tertiary:hover, .button.hollow.tertiary:focus {
        border-color: #616161;
        color: #616161; }
        /* line 185, bower_components/foundation-sites/scss/components/_button.scss */
        .button.hollow.tertiary:hover.disabled, .button.hollow.tertiary:hover[disabled], .button.hollow.tertiary:focus.disabled, .button.hollow.tertiary:focus[disabled] {
          border: 1px solid #c2c2c2;
          color: #c2c2c2; }
    /* line 311, bower_components/foundation-sites/scss/components/_button.scss */
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      /* line 182, bower_components/foundation-sites/scss/components/_button.scss */
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
        /* line 185, bower_components/foundation-sites/scss/components/_button.scss */
        .button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
    /* line 311, bower_components/foundation-sites/scss/components/_button.scss */
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      /* line 182, bower_components/foundation-sites/scss/components/_button.scss */
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
        /* line 185, bower_components/foundation-sites/scss/components/_button.scss */
        .button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
    /* line 311, bower_components/foundation-sites/scss/components/_button.scss */
    .button.hollow.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      /* line 182, bower_components/foundation-sites/scss/components/_button.scss */
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #67251a;
        color: #67251a; }
        /* line 185, bower_components/foundation-sites/scss/components/_button.scss */
        .button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
  /* line 320, bower_components/foundation-sites/scss/components/_button.scss */
  .button.clear {
    border: 1px solid #f7941d;
    color: #f7941d; }
    /* line 158, bower_components/foundation-sites/scss/components/_button.scss */
    .button.clear, .button.clear:hover, .button.clear:focus {
      background-color: transparent; }
    /* line 165, bower_components/foundation-sites/scss/components/_button.scss */
    .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
      background-color: transparent; }
    /* line 182, bower_components/foundation-sites/scss/components/_button.scss */
    .button.clear:hover, .button.clear:focus {
      border-color: #854b05;
      color: #854b05; }
      /* line 185, bower_components/foundation-sites/scss/components/_button.scss */
      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
        border: 1px solid #f7941d;
        color: #f7941d; }
    /* line 325, bower_components/foundation-sites/scss/components/_button.scss */
    .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {
      border-color: transparent; }
    /* line 331, bower_components/foundation-sites/scss/components/_button.scss */
    .button.clear.primary {
      border: 1px solid #f7941d;
      color: #f7941d; }
      /* line 182, bower_components/foundation-sites/scss/components/_button.scss */
      .button.clear.primary:hover, .button.clear.primary:focus {
        border-color: #854b05;
        color: #854b05; }
        /* line 185, bower_components/foundation-sites/scss/components/_button.scss */
        .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
          border: 1px solid #f7941d;
          color: #f7941d; }
      /* line 336, bower_components/foundation-sites/scss/components/_button.scss */
      .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
        border-color: transparent; }
    /* line 331, bower_components/foundation-sites/scss/components/_button.scss */
    .button.clear.secondary {
      border: 1px solid #58595b;
      color: #58595b; }
      /* line 182, bower_components/foundation-sites/scss/components/_button.scss */
      .button.clear.secondary:hover, .button.clear.secondary:focus {
        border-color: #2c2d2e;
        color: #2c2d2e; }
        /* line 185, bower_components/foundation-sites/scss/components/_button.scss */
        .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
          border: 1px solid #58595b;
          color: #58595b; }
      /* line 336, bower_components/foundation-sites/scss/components/_button.scss */
      .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
        border-color: transparent; }
    /* line 331, bower_components/foundation-sites/scss/components/_button.scss */
    .button.clear.tertiary {
      border: 1px solid #c2c2c2;
      color: #c2c2c2; }
      /* line 182, bower_components/foundation-sites/scss/components/_button.scss */
      .button.clear.tertiary:hover, .button.clear.tertiary:focus {
        border-color: #616161;
        color: #616161; }
        /* line 185, bower_components/foundation-sites/scss/components/_button.scss */
        .button.clear.tertiary:hover.disabled, .button.clear.tertiary:hover[disabled], .button.clear.tertiary:focus.disabled, .button.clear.tertiary:focus[disabled] {
          border: 1px solid #c2c2c2;
          color: #c2c2c2; }
      /* line 336, bower_components/foundation-sites/scss/components/_button.scss */
      .button.clear.tertiary, .button.clear.tertiary.disabled, .button.clear.tertiary[disabled], .button.clear.tertiary:hover, .button.clear.tertiary:hover.disabled, .button.clear.tertiary:hover[disabled], .button.clear.tertiary:focus, .button.clear.tertiary:focus.disabled, .button.clear.tertiary:focus[disabled] {
        border-color: transparent; }
    /* line 331, bower_components/foundation-sites/scss/components/_button.scss */
    .button.clear.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      /* line 182, bower_components/foundation-sites/scss/components/_button.scss */
      .button.clear.success:hover, .button.clear.success:focus {
        border-color: #157539;
        color: #157539; }
        /* line 185, bower_components/foundation-sites/scss/components/_button.scss */
        .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
      /* line 336, bower_components/foundation-sites/scss/components/_button.scss */
      .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
        border-color: transparent; }
    /* line 331, bower_components/foundation-sites/scss/components/_button.scss */
    .button.clear.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      /* line 182, bower_components/foundation-sites/scss/components/_button.scss */
      .button.clear.warning:hover, .button.clear.warning:focus {
        border-color: #805700;
        color: #805700; }
        /* line 185, bower_components/foundation-sites/scss/components/_button.scss */
        .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
      /* line 336, bower_components/foundation-sites/scss/components/_button.scss */
      .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
        border-color: transparent; }
    /* line 331, bower_components/foundation-sites/scss/components/_button.scss */
    .button.clear.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      /* line 182, bower_components/foundation-sites/scss/components/_button.scss */
      .button.clear.alert:hover, .button.clear.alert:focus {
        border-color: #67251a;
        color: #67251a; }
        /* line 185, bower_components/foundation-sites/scss/components/_button.scss */
        .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
      /* line 336, bower_components/foundation-sites/scss/components/_button.scss */
      .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
        border-color: transparent; }
  /* line 222, bower_components/foundation-sites/scss/components/_button.scss */
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1.25rem; }
  /* line 358, bower_components/foundation-sites/scss/components/_button.scss */
  .button.dropdown.hollow::after {
    border-top-color: #f7941d; }
  /* line 364, bower_components/foundation-sites/scss/components/_button.scss */
  .button.dropdown.hollow.primary::after {
    border-top-color: #f7941d; }
  /* line 364, bower_components/foundation-sites/scss/components/_button.scss */
  .button.dropdown.hollow.secondary::after {
    border-top-color: #58595b; }
  /* line 364, bower_components/foundation-sites/scss/components/_button.scss */
  .button.dropdown.hollow.tertiary::after {
    border-top-color: #c2c2c2; }
  /* line 364, bower_components/foundation-sites/scss/components/_button.scss */
  .button.dropdown.hollow.success::after {
    border-top-color: #3adb76; }
  /* line 364, bower_components/foundation-sites/scss/components/_button.scss */
  .button.dropdown.hollow.warning::after {
    border-top-color: #ffae00; }
  /* line 364, bower_components/foundation-sites/scss/components/_button.scss */
  .button.dropdown.hollow.alert::after {
    border-top-color: #cc4b37; }
  /* line 373, bower_components/foundation-sites/scss/components/_button.scss */
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

/* line 380, bower_components/foundation-sites/scss/components/_button.scss */
a.button:hover, a.button:focus {
  text-decoration: none; }

/* line 81, bower_components/foundation-sites/scss/components/_accordion-menu.scss */
.accordion-menu li {
  width: 100%; }

/* line 90, bower_components/foundation-sites/scss/components/_accordion-menu.scss */
.accordion-menu a {
  padding: 0.7rem 1rem; }

/* line 97, bower_components/foundation-sites/scss/components/_accordion-menu.scss */
.accordion-menu .is-accordion-submenu a {
  padding: 0.7rem 1rem; }

/* line 101, bower_components/foundation-sites/scss/components/_accordion-menu.scss */
.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem; }

/* line 106, bower_components/foundation-sites/scss/components/_accordion-menu.scss */
.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0; }

/* line 54, bower_components/foundation-sites/scss/components/_accordion-menu.scss */
.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
  position: relative; }
  /* line 57, bower_components/foundation-sites/scss/components/_accordion-menu.scss */
  .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #f7941d transparent transparent;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 1rem; }

/* line 65, bower_components/foundation-sites/scss/components/_accordion-menu.scss */
.accordion-menu.align-left .is-accordion-submenu-parent > a::after {
  left: auto;
  right: 1rem; }

/* line 69, bower_components/foundation-sites/scss/components/_accordion-menu.scss */
.accordion-menu.align-right .is-accordion-submenu-parent > a::after {
  right: auto;
  left: 1rem; }

/* line 114, bower_components/foundation-sites/scss/components/_accordion-menu.scss */
.accordion-menu .is-accordion-submenu-parent[aria-expanded='true'] > a::after {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transform-origin: 50% 50%;
      -ms-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

/* line 128, bower_components/foundation-sites/scss/components/_accordion-menu.scss */
.is-accordion-submenu-parent {
  position: relative; }

/* line 132, bower_components/foundation-sites/scss/components/_accordion-menu.scss */
.has-submenu-toggle > a {
  margin-right: 40px; }

/* line 137, bower_components/foundation-sites/scss/components/_accordion-menu.scss */
.submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  width: 40px;
  height: 40px; }
  /* line 153, bower_components/foundation-sites/scss/components/_accordion-menu.scss */
  .submenu-toggle::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #f7941d transparent transparent;
    top: 0;
    bottom: 0;
    margin: auto; }

/* line 163, bower_components/foundation-sites/scss/components/_accordion-menu.scss */
.submenu-toggle[aria-expanded='true']::after {
  -webkit-transform: scaleY(-1);
      -ms-transform: scaleY(-1);
          transform: scaleY(-1);
  -webkit-transform-origin: 50% 50%;
      -ms-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

/* line 168, bower_components/foundation-sites/scss/components/_accordion-menu.scss */
.submenu-toggle-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0; }

/* line 89, bower_components/foundation-sites/scss/components/_callout.scss */
.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 0;
  background-color: white;
  color: #333333; }
  /* line 55, bower_components/foundation-sites/scss/components/_callout.scss */
  .callout > :first-child {
    margin-top: 0; }
  /* line 59, bower_components/foundation-sites/scss/components/_callout.scss */
  .callout > :last-child {
    margin-bottom: 0; }
  /* line 93, bower_components/foundation-sites/scss/components/_callout.scss */
  .callout.primary {
    background-color: #feefdd;
    color: #333333; }
  /* line 93, bower_components/foundation-sites/scss/components/_callout.scss */
  .callout.secondary {
    background-color: #e6e6e7;
    color: #333333; }
  /* line 93, bower_components/foundation-sites/scss/components/_callout.scss */
  .callout.tertiary {
    background-color: #f6f6f6;
    color: #333333; }
  /* line 93, bower_components/foundation-sites/scss/components/_callout.scss */
  .callout.success {
    background-color: #e1faea;
    color: #333333; }
  /* line 93, bower_components/foundation-sites/scss/components/_callout.scss */
  .callout.warning {
    background-color: #fff3d9;
    color: #333333; }
  /* line 93, bower_components/foundation-sites/scss/components/_callout.scss */
  .callout.alert {
    background-color: #f7e4e1;
    color: #333333; }
  /* line 98, bower_components/foundation-sites/scss/components/_callout.scss */
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  /* line 102, bower_components/foundation-sites/scss/components/_callout.scss */
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

/* line 96, bower_components/foundation-sites/scss/components/_close-button.scss */
.close-button {
  position: absolute;
  color: #8a8a8a;
  cursor: pointer; }
  /* line 202, bower_components/foundation-sites/scss/util/_mixins.scss */
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  /* line 89, bower_components/foundation-sites/scss/components/_close-button.scss */
  .close-button:hover, .close-button:focus {
    color: #0a0a0a; }
  /* line 99, bower_components/foundation-sites/scss/components/_close-button.scss */
  .close-button.small {
    right: 0.66rem;
    top: 0.33em;
    font-size: 1.5em;
    line-height: 1; }
  /* line 100, bower_components/foundation-sites/scss/components/_close-button.scss */
  .close-button, .close-button.medium {
    right: 1rem;
    top: 0.5rem;
    font-size: 2em;
    line-height: 1; }

/* line 361, bower_components/foundation-sites/scss/components/_menu.scss */
.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  /* line 202, bower_components/foundation-sites/scss/util/_mixins.scss */
  [data-whatinput='mouse'] .menu li {
    outline: 0; }
  /* line 72, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu a,
  .menu .button {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 0.7rem 1rem; }
  /* line 81, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  /* line 88, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu input {
    display: inline-block; }
  /* line 365, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu, .menu.horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  /* line 370, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu.vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  /* line 96, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu.expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  /* line 380, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu.simple {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    /* line 214, bower_components/foundation-sites/scss/components/_menu.scss */
    .menu.simple li + li {
      margin-left: 1rem; }
    /* line 218, bower_components/foundation-sites/scss/components/_menu.scss */
    .menu.simple a {
      padding: 0; }
  /* line 386, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu.sm-horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  /* line 390, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu.sm-vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  /* line 96, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu.sm-expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  /* line 96, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu.sm-simple li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  @media print, screen and (min-width: 40em) {
    /* line 386, bower_components/foundation-sites/scss/components/_menu.scss */
    .menu.md-horizontal {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; }
    /* line 390, bower_components/foundation-sites/scss/components/_menu.scss */
    .menu.md-vertical {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
    /* line 96, bower_components/foundation-sites/scss/components/_menu.scss */
    .menu.md-expanded li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    /* line 96, bower_components/foundation-sites/scss/components/_menu.scss */
    .menu.md-simple li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media print, screen and (min-width: 64em) {
    /* line 386, bower_components/foundation-sites/scss/components/_menu.scss */
    .menu.lg-horizontal {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; }
    /* line 390, bower_components/foundation-sites/scss/components/_menu.scss */
    .menu.lg-vertical {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
    /* line 96, bower_components/foundation-sites/scss/components/_menu.scss */
    .menu.lg-expanded li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    /* line 96, bower_components/foundation-sites/scss/components/_menu.scss */
    .menu.lg-simple li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media screen and (min-width: 77.5em) {
    /* line 386, bower_components/foundation-sites/scss/components/_menu.scss */
    .menu.xl-horizontal {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; }
    /* line 390, bower_components/foundation-sites/scss/components/_menu.scss */
    .menu.xl-vertical {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
    /* line 96, bower_components/foundation-sites/scss/components/_menu.scss */
    .menu.xl-expanded li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    /* line 96, bower_components/foundation-sites/scss/components/_menu.scss */
    .menu.xl-simple li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  /* line 404, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  /* line 244, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu.icons a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  /* line 244, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  /* line 264, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu.icon-left li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    /* line 269, bower_components/foundation-sites/scss/components/_menu.scss */
    .menu.icon-left li a img,
    .menu.icon-left li a i,
    .menu.icon-left li a svg {
      margin-right: 0.25rem; }
  /* line 281, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu.icon-right li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    /* line 286, bower_components/foundation-sites/scss/components/_menu.scss */
    .menu.icon-right li a img,
    .menu.icon-right li a i,
    .menu.icon-right li a svg {
      margin-left: 0.25rem; }
  /* line 298, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu.icon-top li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    /* line 306, bower_components/foundation-sites/scss/components/_menu.scss */
    .menu.icon-top li a img,
    .menu.icon-top li a i,
    .menu.icon-top li a svg {
      -ms-flex-item-align: stretch;
          align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  /* line 322, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu.icon-bottom li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    /* line 330, bower_components/foundation-sites/scss/components/_menu.scss */
    .menu.icon-bottom li a img,
    .menu.icon-bottom li a i,
    .menu.icon-bottom li a svg {
      -ms-flex-item-align: stretch;
          align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  /* line 444, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu .is-active > a {
    background: #f7941d;
    color: #fefefe; }
  /* line 450, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu .active > a {
    background: #f7941d;
    color: #fefefe; }
  /* line 456, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu.align-left {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  /* line 123, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu.align-right li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    /* line 127, bower_components/foundation-sites/scss/components/_menu.scss */
    .menu.align-right li .submenu li {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  /* line 132, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu.align-right.vertical li {
    display: block;
    text-align: right; }
    /* line 136, bower_components/foundation-sites/scss/components/_menu.scss */
    .menu.align-right.vertical li .submenu li {
      text-align: right; }
  /* line 464, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu.align-right .nested {
    margin-right: 1rem;
    margin-left: 0; }
  /* line 157, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu.align-center li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    /* line 161, bower_components/foundation-sites/scss/components/_menu.scss */
    .menu.align-center li .submenu li {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  /* line 474, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu .menu-text {
    padding: 0.7rem 1rem;
    font-weight: bold;
    line-height: 1;
    color: inherit; }

/* line 481, bower_components/foundation-sites/scss/components/_menu.scss */
.menu-centered > .menu {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  /* line 157, bower_components/foundation-sites/scss/components/_menu.scss */
  .menu-centered > .menu li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    /* line 161, bower_components/foundation-sites/scss/components/_menu.scss */
    .menu-centered > .menu li .submenu li {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }

/* line 492, bower_components/foundation-sites/scss/components/_menu.scss */
.no-js [data-responsive-menu] ul {
  display: none; }

/* line 73, bower_components/foundation-sites/scss/components/_drilldown.scss */
.is-drilldown {
  position: relative;
  overflow: hidden; }
  /* line 77, bower_components/foundation-sites/scss/components/_drilldown.scss */
  .is-drilldown li {
    display: block; }
  /* line 81, bower_components/foundation-sites/scss/components/_drilldown.scss */
  .is-drilldown.animate-height {
    -webkit-transition: height 0.5s;
    -o-transition: height 0.5s;
    transition: height 0.5s; }

/* line 88, bower_components/foundation-sites/scss/components/_drilldown.scss */
.drilldown a {
  padding: 1.0625rem;
  background: #58595b; }

/* line 94, bower_components/foundation-sites/scss/components/_drilldown.scss */
.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #58595b;
  -webkit-transition: -webkit-transform 0.15s linear;
  transition: -webkit-transform 0.15s linear;
  -o-transition: transform 0.15s linear;
  transition: transform 0.15s linear;
  transition: transform 0.15s linear, -webkit-transform 0.15s linear; }
  /* line 104, bower_components/foundation-sites/scss/components/_drilldown.scss */
  .drilldown .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%); }
  /* line 110, bower_components/foundation-sites/scss/components/_drilldown.scss */
  .drilldown .is-drilldown-submenu.is-closing {
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%); }
  /* line 115, bower_components/foundation-sites/scss/components/_drilldown.scss */
  .drilldown .is-drilldown-submenu a {
    padding: 1.0625rem; }

/* line 120, bower_components/foundation-sites/scss/components/_drilldown.scss */
.drilldown .nested.is-drilldown-submenu {
  margin-right: 0;
  margin-left: 0; }

/* line 124, bower_components/foundation-sites/scss/components/_drilldown.scss */
.drilldown .drilldown-submenu-cover-previous {
  min-height: 100%; }

/* line 46, bower_components/foundation-sites/scss/components/_drilldown.scss */
.drilldown .is-drilldown-submenu-parent > a {
  position: relative; }
  /* line 48, bower_components/foundation-sites/scss/components/_drilldown.scss */
  .drilldown .is-drilldown-submenu-parent > a::after {
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 1rem;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent white; }

/* line 57, bower_components/foundation-sites/scss/components/_drilldown.scss */
.drilldown.align-left .is-drilldown-submenu-parent > a::after {
  left: auto;
  right: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #f7941d; }

/* line 63, bower_components/foundation-sites/scss/components/_drilldown.scss */
.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  right: auto;
  left: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #f7941d transparent transparent; }

/* line 131, bower_components/foundation-sites/scss/components/_drilldown.scss */
.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent white transparent transparent;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
  border-left-width: 0; }

/* line 48, bower_components/foundation-sites/scss/components/_responsive-embed.scss */
.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 0;
  padding-bottom: 50%;
  overflow: hidden; }
  /* line 35, bower_components/foundation-sites/scss/components/_responsive-embed.scss */
  .responsive-embed iframe,
  .responsive-embed object,
  .responsive-embed embed,
  .responsive-embed video,
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  /* line 55, bower_components/foundation-sites/scss/components/_responsive-embed.scss */
  .responsive-embed.nice,
  .flex-video.nice {
    padding-bottom: 75%; }
  /* line 55, bower_components/foundation-sites/scss/components/_responsive-embed.scss */
  .responsive-embed.vertical,
  .flex-video.vertical {
    padding-bottom: 177.77778%; }
  /* line 55, bower_components/foundation-sites/scss/components/_responsive-embed.scss */
  .responsive-embed.panorama,
  .flex-video.panorama {
    padding-bottom: 31.64062%; }
  /* line 55, bower_components/foundation-sites/scss/components/_responsive-embed.scss */
  .responsive-embed.square,
  .flex-video.square {
    padding-bottom: 100%; }

/* line 51, bower_components/foundation-sites/scss/components/_label.scss */
.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #f7941d;
  color: #fefefe; }
  /* line 58, bower_components/foundation-sites/scss/components/_label.scss */
  .label.primary {
    background: #f7941d;
    color: #0a0a0a; }
  /* line 58, bower_components/foundation-sites/scss/components/_label.scss */
  .label.secondary {
    background: #58595b;
    color: #fefefe; }
  /* line 58, bower_components/foundation-sites/scss/components/_label.scss */
  .label.tertiary {
    background: #c2c2c2;
    color: #0a0a0a; }
  /* line 58, bower_components/foundation-sites/scss/components/_label.scss */
  .label.success {
    background: #3adb76;
    color: #0a0a0a; }
  /* line 58, bower_components/foundation-sites/scss/components/_label.scss */
  .label.warning {
    background: #ffae00;
    color: #0a0a0a; }
  /* line 58, bower_components/foundation-sites/scss/components/_label.scss */
  .label.alert {
    background: #cc4b37;
    color: #fefefe; }

/* line 92, bower_components/foundation-sites/scss/components/_off-canvas.scss */
.is-off-canvas-open {
  overflow: hidden; }

/* line 97, bower_components/foundation-sites/scss/components/_off-canvas.scss */
.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  -o-transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  background: rgba(254, 254, 254, 0.25);
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }
  /* line 115, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible; }
  /* line 120, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .js-off-canvas-overlay.is-closable {
    cursor: pointer; }
  /* line 124, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .js-off-canvas-overlay.is-overlay-absolute {
    position: absolute; }
  /* line 128, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .js-off-canvas-overlay.is-overlay-fixed {
    position: fixed; }

/* line 442, bower_components/foundation-sites/scss/components/_off-canvas.scss */
.off-canvas-wrapper {
  position: relative;
  overflow: hidden; }

/* line 447, bower_components/foundation-sites/scss/components/_off-canvas.scss */
.off-canvas {
  position: fixed;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  -o-transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #333; }
  /* line 202, bower_components/foundation-sites/scss/util/_mixins.scss */
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  /* line 159, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas.is-transition-push {
    z-index: 12; }
  /* line 174, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas.is-transition-overlap {
    z-index: 13; }
    /* line 177, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas.is-transition-overlap.is-open {
      -webkit-box-shadow: none;
              box-shadow: none; }
  /* line 183, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

/* line 458, bower_components/foundation-sites/scss/components/_off-canvas.scss */
.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  -o-transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #333; }
  /* line 202, bower_components/foundation-sites/scss/util/_mixins.scss */
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  /* line 159, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas-absolute.is-transition-push {
    z-index: 12; }
  /* line 174, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas-absolute.is-transition-overlap {
    z-index: 13; }
    /* line 177, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-absolute.is-transition-overlap.is-open {
      -webkit-box-shadow: none;
              box-shadow: none; }
  /* line 183, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas-absolute.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

/* line 463, bower_components/foundation-sites/scss/components/_off-canvas.scss */
.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  width: 285px;
  -webkit-transform: translateX(-285px);
      -ms-transform: translateX(-285px);
          transform: translateX(-285px); }
  /* line 208, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas-content .off-canvas.position-left {
    -webkit-transform: translateX(-285px);
        -ms-transform: translateX(-285px);
            transform: translateX(-285px); }
    /* line 215, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  /* line 222, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas-content.is-open-left.has-transition-push {
    -webkit-transform: translateX(285px);
        -ms-transform: translateX(285px);
            transform: translateX(285px); }
  /* line 344, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .position-left.is-transition-push {
    -webkit-box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25);
            box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25); }

/* line 464, bower_components/foundation-sites/scss/components/_off-canvas.scss */
.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 285px;
  -webkit-transform: translateX(285px);
      -ms-transform: translateX(285px);
          transform: translateX(285px); }
  /* line 245, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas-content .off-canvas.position-right {
    -webkit-transform: translateX(285px);
        -ms-transform: translateX(285px);
            transform: translateX(285px); }
    /* line 252, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  /* line 259, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas-content.is-open-right.has-transition-push {
    -webkit-transform: translateX(-285px);
        -ms-transform: translateX(-285px);
            transform: translateX(-285px); }
  /* line 344, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .position-right.is-transition-push {
    -webkit-box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25);
            box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25); }

/* line 465, bower_components/foundation-sites/scss/components/_off-canvas.scss */
.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 100%;
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%); }
  @media print, screen and (min-width: 40em) {
    /* line 465, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-top {
      height: 100%;
      -webkit-transform: translateY(-100%);
          -ms-transform: translateY(-100%);
              transform: translateY(-100%); } }
  /* line 282, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas-content .off-canvas.position-top {
    -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
            transform: translateY(-100%); }
    @media print, screen and (min-width: 40em) {
      /* line 282, bower_components/foundation-sites/scss/components/_off-canvas.scss */
      .off-canvas-content .off-canvas.position-top {
        -webkit-transform: translateY(-100%);
            -ms-transform: translateY(-100%);
                transform: translateY(-100%); } }
    /* line 288, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  /* line 295, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas-content.is-open-top.has-transition-push {
    -webkit-transform: translateY(100%);
        -ms-transform: translateY(100%);
            transform: translateY(100%); }
    @media print, screen and (min-width: 40em) {
      /* line 295, bower_components/foundation-sites/scss/components/_off-canvas.scss */
      .off-canvas-content.is-open-top.has-transition-push {
        -webkit-transform: translateY(100%);
            -ms-transform: translateY(100%);
                transform: translateY(100%); } }
  /* line 344, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .position-top.is-transition-push {
    -webkit-box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25);
            box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25); }

/* line 466, bower_components/foundation-sites/scss/components/_off-canvas.scss */
.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 100%;
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%); }
  @media print, screen and (min-width: 40em) {
    /* line 466, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-bottom {
      height: 100%;
      -webkit-transform: translateY(100%);
          -ms-transform: translateY(100%);
              transform: translateY(100%); } }
  /* line 318, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas-content .off-canvas.position-bottom {
    -webkit-transform: translateY(100%);
        -ms-transform: translateY(100%);
            transform: translateY(100%); }
    @media print, screen and (min-width: 40em) {
      /* line 318, bower_components/foundation-sites/scss/components/_off-canvas.scss */
      .off-canvas-content .off-canvas.position-bottom {
        -webkit-transform: translateY(100%);
            -ms-transform: translateY(100%);
                transform: translateY(100%); } }
    /* line 324, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  /* line 331, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas-content.is-open-bottom.has-transition-push {
    -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
            transform: translateY(-100%); }
    @media print, screen and (min-width: 40em) {
      /* line 331, bower_components/foundation-sites/scss/components/_off-canvas.scss */
      .off-canvas-content.is-open-bottom.has-transition-push {
        -webkit-transform: translateY(-100%);
            -ms-transform: translateY(-100%);
                transform: translateY(-100%); } }
  /* line 344, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .position-bottom.is-transition-push {
    -webkit-box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25);
            box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25); }

/* line 468, bower_components/foundation-sites/scss/components/_off-canvas.scss */
.off-canvas-content {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  -o-transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
  /* line 369, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas-content.has-transition-push {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }
  /* line 374, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas-content .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

/* line 476, bower_components/foundation-sites/scss/components/_off-canvas.scss */
.position-left.reveal-for-sm {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  z-index: 12;
  -webkit-transition: none;
  -o-transition: none;
  transition: none;
  visibility: visible; }
  /* line 395, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .position-left.reveal-for-sm .close-button {
    display: none; }
  /* line 400, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas-content .position-left.reveal-for-sm {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none; }
  /* line 404, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas-content.has-reveal-left {
    margin-left: 285px; }
  /* line 409, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .position-left.reveal-for-sm ~ .off-canvas-content {
    margin-left: 285px; }

/* line 480, bower_components/foundation-sites/scss/components/_off-canvas.scss */
.position-right.reveal-for-sm {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  z-index: 12;
  -webkit-transition: none;
  -o-transition: none;
  transition: none;
  visibility: visible; }
  /* line 395, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .position-right.reveal-for-sm .close-button {
    display: none; }
  /* line 400, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas-content .position-right.reveal-for-sm {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none; }
  /* line 404, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas-content.has-reveal-right {
    margin-right: 285px; }
  /* line 409, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .position-right.reveal-for-sm ~ .off-canvas-content {
    margin-right: 285px; }

/* line 484, bower_components/foundation-sites/scss/components/_off-canvas.scss */
.position-top.reveal-for-sm {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  z-index: 12;
  -webkit-transition: none;
  -o-transition: none;
  transition: none;
  visibility: visible; }
  /* line 395, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .position-top.reveal-for-sm .close-button {
    display: none; }
  /* line 400, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas-content .position-top.reveal-for-sm {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none; }
  /* line 404, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas-content.has-reveal-top {
    margin-top: 285px; }
  /* line 409, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .position-top.reveal-for-sm ~ .off-canvas-content {
    margin-top: 285px; }

/* line 488, bower_components/foundation-sites/scss/components/_off-canvas.scss */
.position-bottom.reveal-for-sm {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  z-index: 12;
  -webkit-transition: none;
  -o-transition: none;
  transition: none;
  visibility: visible; }
  /* line 395, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .position-bottom.reveal-for-sm .close-button {
    display: none; }
  /* line 400, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas-content .position-bottom.reveal-for-sm {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none; }
  /* line 404, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 285px; }
  /* line 409, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .position-bottom.reveal-for-sm ~ .off-canvas-content {
    margin-bottom: 285px; }

@media print, screen and (min-width: 40em) {
  /* line 476, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .position-left.reveal-for-md {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    visibility: visible; }
    /* line 395, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-left.reveal-for-md .close-button {
      display: none; }
    /* line 400, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content .position-left.reveal-for-md {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    /* line 404, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content.has-reveal-left {
      margin-left: 285px; }
    /* line 409, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-left.reveal-for-md ~ .off-canvas-content {
      margin-left: 285px; }
  /* line 480, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .position-right.reveal-for-md {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    visibility: visible; }
    /* line 395, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-right.reveal-for-md .close-button {
      display: none; }
    /* line 400, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content .position-right.reveal-for-md {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    /* line 404, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content.has-reveal-right {
      margin-right: 285px; }
    /* line 409, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-right.reveal-for-md ~ .off-canvas-content {
      margin-right: 285px; }
  /* line 484, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .position-top.reveal-for-md {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    visibility: visible; }
    /* line 395, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-top.reveal-for-md .close-button {
      display: none; }
    /* line 400, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content .position-top.reveal-for-md {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    /* line 404, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content.has-reveal-top {
      margin-top: 285px; }
    /* line 409, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-top.reveal-for-md ~ .off-canvas-content {
      margin-top: 285px; }
  /* line 488, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .position-bottom.reveal-for-md {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    visibility: visible; }
    /* line 395, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-bottom.reveal-for-md .close-button {
      display: none; }
    /* line 400, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content .position-bottom.reveal-for-md {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    /* line 404, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 285px; }
    /* line 409, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-bottom.reveal-for-md ~ .off-canvas-content {
      margin-bottom: 285px; } }

@media print, screen and (min-width: 64em) {
  /* line 476, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .position-left.reveal-for-lg {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    visibility: visible; }
    /* line 395, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-left.reveal-for-lg .close-button {
      display: none; }
    /* line 400, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content .position-left.reveal-for-lg {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    /* line 404, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content.has-reveal-left {
      margin-left: 285px; }
    /* line 409, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-left.reveal-for-lg ~ .off-canvas-content {
      margin-left: 285px; }
  /* line 480, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .position-right.reveal-for-lg {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    visibility: visible; }
    /* line 395, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-right.reveal-for-lg .close-button {
      display: none; }
    /* line 400, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content .position-right.reveal-for-lg {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    /* line 404, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content.has-reveal-right {
      margin-right: 285px; }
    /* line 409, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-right.reveal-for-lg ~ .off-canvas-content {
      margin-right: 285px; }
  /* line 484, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .position-top.reveal-for-lg {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    visibility: visible; }
    /* line 395, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-top.reveal-for-lg .close-button {
      display: none; }
    /* line 400, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content .position-top.reveal-for-lg {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    /* line 404, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content.has-reveal-top {
      margin-top: 285px; }
    /* line 409, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-top.reveal-for-lg ~ .off-canvas-content {
      margin-top: 285px; }
  /* line 488, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .position-bottom.reveal-for-lg {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    visibility: visible; }
    /* line 395, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-bottom.reveal-for-lg .close-button {
      display: none; }
    /* line 400, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content .position-bottom.reveal-for-lg {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    /* line 404, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 285px; }
    /* line 409, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-bottom.reveal-for-lg ~ .off-canvas-content {
      margin-bottom: 285px; } }

@media screen and (min-width: 77.5em) {
  /* line 476, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .position-left.reveal-for-xl {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    visibility: visible; }
    /* line 395, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-left.reveal-for-xl .close-button {
      display: none; }
    /* line 400, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content .position-left.reveal-for-xl {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    /* line 404, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content.has-reveal-left {
      margin-left: 285px; }
    /* line 409, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-left.reveal-for-xl ~ .off-canvas-content {
      margin-left: 285px; }
  /* line 480, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .position-right.reveal-for-xl {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    visibility: visible; }
    /* line 395, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-right.reveal-for-xl .close-button {
      display: none; }
    /* line 400, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content .position-right.reveal-for-xl {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    /* line 404, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content.has-reveal-right {
      margin-right: 285px; }
    /* line 409, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-right.reveal-for-xl ~ .off-canvas-content {
      margin-right: 285px; }
  /* line 484, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .position-top.reveal-for-xl {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    visibility: visible; }
    /* line 395, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-top.reveal-for-xl .close-button {
      display: none; }
    /* line 400, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content .position-top.reveal-for-xl {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    /* line 404, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content.has-reveal-top {
      margin-top: 285px; }
    /* line 409, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-top.reveal-for-xl ~ .off-canvas-content {
      margin-top: 285px; }
  /* line 488, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .position-bottom.reveal-for-xl {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    visibility: visible; }
    /* line 395, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-bottom.reveal-for-xl .close-button {
      display: none; }
    /* line 400, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content .position-bottom.reveal-for-xl {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    /* line 404, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 285px; }
    /* line 409, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-bottom.reveal-for-xl ~ .off-canvas-content {
      margin-bottom: 285px; } }

/* line 499, bower_components/foundation-sites/scss/components/_off-canvas.scss */
.off-canvas.in-canvas-for-sm {
  visibility: visible;
  height: auto;
  position: static;
  background: inherit;
  width: inherit;
  overflow: inherit;
  -webkit-transition: inherit;
  -o-transition: inherit;
  transition: inherit; }
  /* line 425, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas.in-canvas-for-sm.position-left, .off-canvas.in-canvas-for-sm.position-right, .off-canvas.in-canvas-for-sm.position-top, .off-canvas.in-canvas-for-sm.position-bottom {
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none; }
  /* line 433, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas.in-canvas-for-sm .close-button {
    display: none; }

@media print, screen and (min-width: 40em) {
  /* line 499, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas.in-canvas-for-md {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    -webkit-transition: inherit;
    -o-transition: inherit;
    transition: inherit; }
    /* line 425, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas.in-canvas-for-md.position-left, .off-canvas.in-canvas-for-md.position-right, .off-canvas.in-canvas-for-md.position-top, .off-canvas.in-canvas-for-md.position-bottom {
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    /* line 433, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas.in-canvas-for-md .close-button {
      display: none; } }

@media print, screen and (min-width: 64em) {
  /* line 499, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas.in-canvas-for-lg {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    -webkit-transition: inherit;
    -o-transition: inherit;
    transition: inherit; }
    /* line 425, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas.in-canvas-for-lg.position-left, .off-canvas.in-canvas-for-lg.position-right, .off-canvas.in-canvas-for-lg.position-top, .off-canvas.in-canvas-for-lg.position-bottom {
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    /* line 433, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas.in-canvas-for-lg .close-button {
      display: none; } }

@media screen and (min-width: 77.5em) {
  /* line 499, bower_components/foundation-sites/scss/components/_off-canvas.scss */
  .off-canvas.in-canvas-for-xl {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    -webkit-transition: inherit;
    -o-transition: inherit;
    transition: inherit; }
    /* line 425, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas.in-canvas-for-xl.position-left, .off-canvas.in-canvas-for-xl.position-right, .off-canvas.in-canvas-for-xl.position-top, .off-canvas.in-canvas-for-xl.position-bottom {
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    /* line 433, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .off-canvas.in-canvas-for-xl .close-button {
      display: none; } }

/* line 162, bower_components/foundation-sites/scss/components/_pagination.scss */
.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  /* line 170, bower_components/foundation-sites/scss/util/_mixins.scss */
  .pagination::before, .pagination::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  /* line 181, bower_components/foundation-sites/scss/util/_mixins.scss */
  .pagination::after {
    clear: both; }
  /* line 83, bower_components/foundation-sites/scss/components/_pagination.scss */
  .pagination li {
    margin-right: 0.0625rem;
    border-radius: 0;
    font-size: 0.875rem;
    display: none; }
    /* line 94, bower_components/foundation-sites/scss/components/_pagination.scss */
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 40em) {
      /* line 83, bower_components/foundation-sites/scss/components/_pagination.scss */
      .pagination li {
        display: inline-block; } }
  /* line 112, bower_components/foundation-sites/scss/components/_pagination.scss */
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0;
    color: #0a0a0a; }
    /* line 119, bower_components/foundation-sites/scss/components/_pagination.scss */
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  /* line 165, bower_components/foundation-sites/scss/components/_pagination.scss */
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #f7941d;
    color: #fefefe;
    cursor: default; }
  /* line 169, bower_components/foundation-sites/scss/components/_pagination.scss */
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #cacaca;
    cursor: not-allowed; }
    /* line 146, bower_components/foundation-sites/scss/components/_pagination.scss */
    .pagination .disabled:hover {
      background: transparent; }
  /* line 173, bower_components/foundation-sites/scss/components/_pagination.scss */
  .pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #0a0a0a; }

/* line 179, bower_components/foundation-sites/scss/components/_pagination.scss */
.pagination-previous a::before,
.pagination-previous.disabled::before {
  display: inline-block;
  margin-right: 0.5rem;
  content: '\00ab'; }

/* line 186, bower_components/foundation-sites/scss/components/_pagination.scss */
.pagination-next a::after,
.pagination-next.disabled::after {
  display: inline-block;
  margin-left: 0.5rem;
  content: '\00bb'; }

/* line 129, bower_components/foundation-sites/scss/components/_reveal.scss */
body.is-reveal-open {
  overflow: hidden; }

/* line 134, bower_components/foundation-sites/scss/components/_reveal.scss */
html.is-reveal-open,
html.is-reveal-open body {
  min-height: 100%;
  overflow: hidden;
  position: fixed;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

/* line 143, bower_components/foundation-sites/scss/components/_reveal.scss */
.reveal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1005;
  display: none;
  background-color: rgba(0, 0, 0, 0.5);
  overflow-y: scroll; }

/* line 148, bower_components/foundation-sites/scss/components/_reveal.scss */
.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 0;
  border: none;
  border-radius: 0;
  background-color: #f7941d;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto; }
  /* line 202, bower_components/foundation-sites/scss/util/_mixins.scss */
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 40em) {
    /* line 148, bower_components/foundation-sites/scss/components/_reveal.scss */
    .reveal {
      min-height: 0; } }
  /* line 87, bower_components/foundation-sites/scss/components/_reveal.scss */
  .reveal .column, .reveal .columns {
    min-width: 0; }
  /* line 92, bower_components/foundation-sites/scss/components/_reveal.scss */
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    /* line 148, bower_components/foundation-sites/scss/components/_reveal.scss */
    .reveal {
      width: 98%;
      max-width: 51.25rem; } }
  /* line 158, bower_components/foundation-sites/scss/components/_reveal.scss */
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    /* line 163, bower_components/foundation-sites/scss/components/_reveal.scss */
    .reveal.tiny {
      width: 30%;
      max-width: 51.25rem; } }
  @media print, screen and (min-width: 40em) {
    /* line 164, bower_components/foundation-sites/scss/components/_reveal.scss */
    .reveal.small {
      width: 50%;
      max-width: 51.25rem; } }
  @media print, screen and (min-width: 40em) {
    /* line 165, bower_components/foundation-sites/scss/components/_reveal.scss */
    .reveal.large {
      width: 90%;
      max-width: 51.25rem; } }
  /* line 168, bower_components/foundation-sites/scss/components/_reveal.scss */
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media screen and (max-width: 39.9375em) {
    /* line 148, bower_components/foundation-sites/scss/components/_reveal.scss */
    .reveal {
      top: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      height: 100vh;
      min-height: 100vh;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  /* line 176, bower_components/foundation-sites/scss/components/_reveal.scss */
  .reveal.without-overlay {
    position: fixed; }

/* line 305, bower_components/foundation-sites/scss/components/_table.scss */
table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  /* line 111, bower_components/foundation-sites/scss/components/_table.scss */
  thead,
  tbody,
  tfoot {
    border: solid #c2c2c2;
    background-color: #fafafa; }
  /* line 119, bower_components/foundation-sites/scss/components/_table.scss */
  caption {
    padding: 0.3125rem 1.25rem 0.375rem;
    font-weight: 700; }
  /* line 125, bower_components/foundation-sites/scss/components/_table.scss */
  thead {
    background: #f4f4f4;
    color: #333333; }
  /* line 131, bower_components/foundation-sites/scss/components/_table.scss */
  tfoot {
    background: #eeeeee;
    color: #333333; }
  /* line 140, bower_components/foundation-sites/scss/components/_table.scss */
  thead tr,
  tfoot tr {
    background: transparent; }
  /* line 145, bower_components/foundation-sites/scss/components/_table.scss */
  thead th,
  thead td,
  tfoot th,
  tfoot td {
    padding: 0.3125rem 1.25rem 0.375rem;
    font-weight: 700;
    text-align: left; }
  /* line 155, bower_components/foundation-sites/scss/components/_table.scss */
  tbody th,
  tbody td {
    padding: 0.3125rem 1.25rem 0.375rem; }
  /* line 103, bower_components/foundation-sites/scss/components/_table.scss */
  tbody tr {
    border-bottom: 0;
    border-bottom: solid #c2c2c2;
    background-color: #fafafa; }
  /* line 87, bower_components/foundation-sites/scss/components/_table.scss */
  table.striped tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #eeeeee; }

@media screen and (max-width: 63.9375em) {
  /* line 284, bower_components/foundation-sites/scss/components/_table.scss */
  table.stack thead {
    display: none; }
  /* line 289, bower_components/foundation-sites/scss/components/_table.scss */
  table.stack tfoot {
    display: none; }
  /* line 293, bower_components/foundation-sites/scss/components/_table.scss */
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block; }
  /* line 299, bower_components/foundation-sites/scss/components/_table.scss */
  table.stack td {
    border-top: 0; } }

/* line 315, bower_components/foundation-sites/scss/components/_table.scss */
table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto; }

/* line 221, bower_components/foundation-sites/scss/components/_table.scss */
table.hover thead tr:hover {
  background-color: #efefef; }

/* line 228, bower_components/foundation-sites/scss/components/_table.scss */
table.hover tfoot tr:hover {
  background-color: #e8e8e8; }

/* line 235, bower_components/foundation-sites/scss/components/_table.scss */
table.hover tbody tr:hover {
  background-color: whitesmoke; }

/* line 259, bower_components/foundation-sites/scss/components/_table.scss */
table.hover.striped tr:nth-of-type(even):hover {
  background-color: #e8e8e8; }

/* line 323, bower_components/foundation-sites/scss/components/_table.scss */
.table-scroll {
  overflow-x: auto; }
  /* line 326, bower_components/foundation-sites/scss/components/_table.scss */
  .table-scroll table {
    width: auto; }

/* line 153, bower_components/foundation-sites/scss/components/_tooltip.scss */
.has-tip {
  position: relative;
  display: inline-block;
  border-bottom: none;
  font-weight: 700;
  cursor: help; }

/* line 157, bower_components/foundation-sites/scss/components/_tooltip.scss */
.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 0;
  background-color: #58595b;
  font-size: 80%;
  color: #fefefe; }
  /* line 75, bower_components/foundation-sites/scss/components/_tooltip.scss */
  .tooltip::before {
    position: absolute; }
  /* line 80, bower_components/foundation-sites/scss/components/_tooltip.scss */
  .tooltip.bottom::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent #58595b;
    bottom: 100%; }
  /* line 85, bower_components/foundation-sites/scss/components/_tooltip.scss */
  .tooltip.bottom.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  /* line 92, bower_components/foundation-sites/scss/components/_tooltip.scss */
  .tooltip.top::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #58595b transparent transparent;
    top: 100%;
    bottom: auto; }
  /* line 98, bower_components/foundation-sites/scss/components/_tooltip.scss */
  .tooltip.top.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  /* line 105, bower_components/foundation-sites/scss/components/_tooltip.scss */
  .tooltip.left::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #58595b;
    left: 100%; }
  /* line 110, bower_components/foundation-sites/scss/components/_tooltip.scss */
  .tooltip.left.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  /* line 118, bower_components/foundation-sites/scss/components/_tooltip.scss */
  .tooltip.right::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #58595b transparent transparent;
    right: 100%;
    left: auto; }
  /* line 124, bower_components/foundation-sites/scss/components/_tooltip.scss */
  .tooltip.right.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  /* line 131, bower_components/foundation-sites/scss/components/_tooltip.scss */
  .tooltip.align-top::before {
    bottom: auto;
    top: 10%; }
  /* line 136, bower_components/foundation-sites/scss/components/_tooltip.scss */
  .tooltip.align-bottom::before {
    bottom: 10%;
    top: auto; }
  /* line 141, bower_components/foundation-sites/scss/components/_tooltip.scss */
  .tooltip.align-left::before {
    left: 10%;
    right: auto; }
  /* line 146, bower_components/foundation-sites/scss/components/_tooltip.scss */
  .tooltip.align-right::before {
    left: auto;
    right: 10%; }

/* line 48, bower_components/foundation-sites/scss/prototype/_text-utilities.scss */
.text-hide {
  font: 0/0 a !important;
  color: transparent !important;
  text-shadow: none !important;
  background-color: transparent !important;
  border: 0 !important; }

/* line 52, bower_components/foundation-sites/scss/prototype/_text-utilities.scss */
.text-truncate {
  max-width: 100% !important;
  overflow: hidden !important;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  white-space: nowrap !important; }

/* line 56, bower_components/foundation-sites/scss/prototype/_text-utilities.scss */
.text-nowrap {
  white-space: nowrap !important; }

/* line 60, bower_components/foundation-sites/scss/prototype/_text-utilities.scss */
.text-wrap {
  word-wrap: break-word !important; }

/* line 29, bower_components/foundation-sites/scss/prototype/_text-transformation.scss */
.text-lowercase {
  text-transform: lowercase !important; }

/* line 29, bower_components/foundation-sites/scss/prototype/_text-transformation.scss */
.text-uppercase {
  text-transform: uppercase !important; }

/* line 29, bower_components/foundation-sites/scss/prototype/_text-transformation.scss */
.text-capitalize {
  text-transform: capitalize !important; }

/* line 29, bower_components/foundation-sites/scss/prototype/_text-decoration.scss */
.text-overline {
  text-decoration: overline !important; }

/* line 29, bower_components/foundation-sites/scss/prototype/_text-decoration.scss */
.text-underline {
  text-decoration: underline !important; }

/* line 29, bower_components/foundation-sites/scss/prototype/_text-decoration.scss */
.text-line-through {
  text-decoration: line-through !important; }

/* line 55, bower_components/foundation-sites/scss/prototype/_font-styling.scss */
.font-wide {
  letter-spacing: 0.25rem; }

/* line 59, bower_components/foundation-sites/scss/prototype/_font-styling.scss */
.font-normal {
  font-weight: 300; }

/* line 63, bower_components/foundation-sites/scss/prototype/_font-styling.scss */
.font-bold {
  font-weight: 700; }

/* line 67, bower_components/foundation-sites/scss/prototype/_font-styling.scss */
.font-italic {
  font-style: italic !important; }

/* line 48, bower_components/foundation-sites/scss/prototype/_list-style-type.scss */
ul.list-disc {
  list-style-type: disc !important; }

/* line 48, bower_components/foundation-sites/scss/prototype/_list-style-type.scss */
ul.list-circle {
  list-style-type: circle !important; }

/* line 48, bower_components/foundation-sites/scss/prototype/_list-style-type.scss */
ul.list-square {
  list-style-type: square !important; }

/* line 71, bower_components/foundation-sites/scss/prototype/_list-style-type.scss */
ol.list-decimal {
  list-style-type: decimal !important; }

/* line 71, bower_components/foundation-sites/scss/prototype/_list-style-type.scss */
ol.list-lower-alpha {
  list-style-type: lower-alpha !important; }

/* line 71, bower_components/foundation-sites/scss/prototype/_list-style-type.scss */
ol.list-lower-latin {
  list-style-type: lower-latin !important; }

/* line 71, bower_components/foundation-sites/scss/prototype/_list-style-type.scss */
ol.list-lower-roman {
  list-style-type: lower-roman !important; }

/* line 71, bower_components/foundation-sites/scss/prototype/_list-style-type.scss */
ol.list-upper-alpha {
  list-style-type: upper-alpha !important; }

/* line 71, bower_components/foundation-sites/scss/prototype/_list-style-type.scss */
ol.list-upper-latin {
  list-style-type: upper-latin !important; }

/* line 71, bower_components/foundation-sites/scss/prototype/_list-style-type.scss */
ol.list-upper-roman {
  list-style-type: upper-roman !important; }

/* line 31, bower_components/foundation-sites/scss/prototype/_rounded.scss */
.rounded {
  border-radius: 5000px !important; }

/* line 35, bower_components/foundation-sites/scss/prototype/_rounded.scss */
.radius {
  border-radius: 0.1875rem; }

/* line 38, bower_components/foundation-sites/scss/prototype/_bordered.scss */
.bordered {
  border: 0.0625rem solid #cacaca; }

/* line 27, bower_components/foundation-sites/scss/prototype/_shadow.scss */
.shadow {
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); }

/* line 28, bower_components/foundation-sites/scss/prototype/_arrow.scss */
.arrow-down {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #0a0a0a transparent transparent; }

/* line 28, bower_components/foundation-sites/scss/prototype/_arrow.scss */
.arrow-up {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: '';
  border-top-width: 0;
  border-bottom-style: solid;
  border-color: transparent transparent #0a0a0a; }

/* line 28, bower_components/foundation-sites/scss/prototype/_arrow.scss */
.arrow-right {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #0a0a0a; }

/* line 28, bower_components/foundation-sites/scss/prototype/_arrow.scss */
.arrow-left {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #0a0a0a transparent transparent; }

/* line 66, bower_components/foundation-sites/scss/prototype/_separator.scss */
.separator-center {
  text-align: center !important; }
  /* line 170, bower_components/foundation-sites/scss/util/_mixins.scss */
  .separator-center::before, .separator-center::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  /* line 181, bower_components/foundation-sites/scss/util/_mixins.scss */
  .separator-center::after {
    clear: both; }
  /* line 49, bower_components/foundation-sites/scss/prototype/_separator.scss */
  .separator-center::after {
    position: relative !important;
    width: 3rem;
    border-bottom: 0.125rem solid #f7941d;
    margin: 1rem auto 0; }

/* line 70, bower_components/foundation-sites/scss/prototype/_separator.scss */
.separator-left {
  text-align: left !important; }
  /* line 170, bower_components/foundation-sites/scss/util/_mixins.scss */
  .separator-left::before, .separator-left::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  /* line 181, bower_components/foundation-sites/scss/util/_mixins.scss */
  .separator-left::after {
    clear: both; }
  /* line 49, bower_components/foundation-sites/scss/prototype/_separator.scss */
  .separator-left::after {
    position: relative !important;
    width: 3rem;
    border-bottom: 0.125rem solid #f7941d;
    margin: 1rem auto 0;
    margin-left: 0 !important; }

/* line 74, bower_components/foundation-sites/scss/prototype/_separator.scss */
.separator-right {
  text-align: right !important; }
  /* line 170, bower_components/foundation-sites/scss/util/_mixins.scss */
  .separator-right::before, .separator-right::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  /* line 181, bower_components/foundation-sites/scss/util/_mixins.scss */
  .separator-right::after {
    clear: both; }
  /* line 49, bower_components/foundation-sites/scss/prototype/_separator.scss */
  .separator-right::after {
    position: relative !important;
    width: 3rem;
    border-bottom: 0.125rem solid #f7941d;
    margin: 1rem auto 0;
    margin-right: 0 !important; }

/* line 41, bower_components/foundation-sites/scss/prototype/_overflow.scss */
.overflow-visible {
  overflow: visible !important; }

/* line 44, bower_components/foundation-sites/scss/prototype/_overflow.scss */
.overflow-x-visible {
  overflow-x: visible !important; }

/* line 47, bower_components/foundation-sites/scss/prototype/_overflow.scss */
.overflow-y-visible {
  overflow-y: visible !important; }

/* line 41, bower_components/foundation-sites/scss/prototype/_overflow.scss */
.overflow-hidden {
  overflow: hidden !important; }

/* line 44, bower_components/foundation-sites/scss/prototype/_overflow.scss */
.overflow-x-hidden {
  overflow-x: hidden !important; }

/* line 47, bower_components/foundation-sites/scss/prototype/_overflow.scss */
.overflow-y-hidden {
  overflow-y: hidden !important; }

/* line 41, bower_components/foundation-sites/scss/prototype/_overflow.scss */
.overflow-scroll {
  overflow: scroll !important; }

/* line 44, bower_components/foundation-sites/scss/prototype/_overflow.scss */
.overflow-x-scroll {
  overflow-x: scroll !important; }

/* line 47, bower_components/foundation-sites/scss/prototype/_overflow.scss */
.overflow-y-scroll {
  overflow-y: scroll !important; }

/* line 31, bower_components/foundation-sites/scss/prototype/_display.scss */
.display-inline {
  display: inline !important; }

/* line 31, bower_components/foundation-sites/scss/prototype/_display.scss */
.display-inline-block {
  display: inline-block !important; }

/* line 31, bower_components/foundation-sites/scss/prototype/_display.scss */
.display-block {
  display: block !important; }

/* line 31, bower_components/foundation-sites/scss/prototype/_display.scss */
.display-table {
  display: table !important; }

/* line 31, bower_components/foundation-sites/scss/prototype/_display.scss */
.display-table-cell {
  display: table-cell !important; }

/* line 75, bower_components/foundation-sites/scss/prototype/_position.scss */
.position-static {
  position: static !important; }

/* line 75, bower_components/foundation-sites/scss/prototype/_position.scss */
.position-relative {
  position: relative !important; }

/* line 75, bower_components/foundation-sites/scss/prototype/_position.scss */
.position-absolute {
  position: absolute !important; }

/* line 75, bower_components/foundation-sites/scss/prototype/_position.scss */
.position-fixed {
  position: fixed !important; }

/* line 81, bower_components/foundation-sites/scss/prototype/_position.scss */
.position-fixed-top {
  position: fixed !important;
  top: 0rem !important;
  right: 0rem !important;
  left: 0rem !important;
  z-index: 975; }

/* line 84, bower_components/foundation-sites/scss/prototype/_position.scss */
.position-fixed-bottom {
  position: fixed !important;
  right: 0rem !important;
  bottom: 0rem !important;
  left: 0rem !important;
  z-index: 975; }

/* line 19, bower_components/foundation-sites/scss/prototype/_border-box.scss */
.border-box {
  -webkit-box-sizing: border-box !important;
          box-sizing: border-box !important; }

/* line 19, bower_components/foundation-sites/scss/prototype/_border-none.scss */
.border-none {
  border: none !important; }

/* line 43, bower_components/foundation-sites/scss/prototype/_sizing.scss */
.width-25 {
  width: 25% !important; }

/* line 43, bower_components/foundation-sites/scss/prototype/_sizing.scss */
.width-50 {
  width: 50% !important; }

/* line 43, bower_components/foundation-sites/scss/prototype/_sizing.scss */
.width-75 {
  width: 75% !important; }

/* line 43, bower_components/foundation-sites/scss/prototype/_sizing.scss */
.width-100 {
  width: 100% !important; }

/* line 43, bower_components/foundation-sites/scss/prototype/_sizing.scss */
.height-25 {
  height: 25% !important; }

/* line 43, bower_components/foundation-sites/scss/prototype/_sizing.scss */
.height-50 {
  height: 50% !important; }

/* line 43, bower_components/foundation-sites/scss/prototype/_sizing.scss */
.height-75 {
  height: 75% !important; }

/* line 43, bower_components/foundation-sites/scss/prototype/_sizing.scss */
.height-100 {
  height: 100% !important; }

/* line 50, bower_components/foundation-sites/scss/prototype/_sizing.scss */
.max-width-100 {
  max-width: 100% !important; }

/* line 53, bower_components/foundation-sites/scss/prototype/_sizing.scss */
.max-height-100 {
  max-height: 100% !important; }

/* line 70, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-0 {
  margin-top: 0rem !important;
  margin-right: 0rem !important;
  margin-bottom: 0rem !important;
  margin-left: 0rem !important; }

/* line 74, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-0 {
  padding-top: 0rem !important;
  padding-right: 0rem !important;
  padding-bottom: 0rem !important;
  padding-left: 0rem !important; }

/* line 79, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-top-0 {
  margin-top: 0rem !important; }

/* line 83, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-top-0 {
  padding-top: 0rem !important; }

/* line 88, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-right-0 {
  margin-right: 0rem !important; }

/* line 92, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-right-0 {
  padding-right: 0rem !important; }

/* line 97, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-bottom-0 {
  margin-bottom: 0rem !important; }

/* line 101, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-bottom-0 {
  padding-bottom: 0rem !important; }

/* line 106, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-left-0 {
  margin-left: 0rem !important; }

/* line 110, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-left-0 {
  padding-left: 0rem !important; }

/* line 115, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-horizontal-0 {
  margin-right: 0rem !important;
  margin-left: 0rem !important; }

/* line 119, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-horizontal-0 {
  padding-right: 0rem !important;
  padding-left: 0rem !important; }

/* line 124, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-vertical-0 {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important; }

/* line 128, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-vertical-0 {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important; }

/* line 70, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-1 {
  margin-top: 1rem !important;
  margin-right: 1rem !important;
  margin-bottom: 1rem !important;
  margin-left: 1rem !important; }

/* line 74, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-1 {
  padding-top: 1rem !important;
  padding-right: 1rem !important;
  padding-bottom: 1rem !important;
  padding-left: 1rem !important; }

/* line 79, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-top-1 {
  margin-top: 1rem !important; }

/* line 83, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-top-1 {
  padding-top: 1rem !important; }

/* line 88, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-right-1 {
  margin-right: 1rem !important; }

/* line 92, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-right-1 {
  padding-right: 1rem !important; }

/* line 97, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-bottom-1 {
  margin-bottom: 1rem !important; }

/* line 101, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-bottom-1 {
  padding-bottom: 1rem !important; }

/* line 106, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-left-1 {
  margin-left: 1rem !important; }

/* line 110, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-left-1 {
  padding-left: 1rem !important; }

/* line 115, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-horizontal-1 {
  margin-right: 1rem !important;
  margin-left: 1rem !important; }

/* line 119, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-horizontal-1 {
  padding-right: 1rem !important;
  padding-left: 1rem !important; }

/* line 124, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-vertical-1 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important; }

/* line 128, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-vertical-1 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important; }

/* line 70, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-2 {
  margin-top: 2rem !important;
  margin-right: 2rem !important;
  margin-bottom: 2rem !important;
  margin-left: 2rem !important; }

/* line 74, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-2 {
  padding-top: 2rem !important;
  padding-right: 2rem !important;
  padding-bottom: 2rem !important;
  padding-left: 2rem !important; }

/* line 79, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-top-2 {
  margin-top: 2rem !important; }

/* line 83, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-top-2 {
  padding-top: 2rem !important; }

/* line 88, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-right-2 {
  margin-right: 2rem !important; }

/* line 92, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-right-2 {
  padding-right: 2rem !important; }

/* line 97, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-bottom-2 {
  margin-bottom: 2rem !important; }

/* line 101, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-bottom-2 {
  padding-bottom: 2rem !important; }

/* line 106, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-left-2 {
  margin-left: 2rem !important; }

/* line 110, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-left-2 {
  padding-left: 2rem !important; }

/* line 115, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-horizontal-2 {
  margin-right: 2rem !important;
  margin-left: 2rem !important; }

/* line 119, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-horizontal-2 {
  padding-right: 2rem !important;
  padding-left: 2rem !important; }

/* line 124, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-vertical-2 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important; }

/* line 128, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-vertical-2 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important; }

/* line 70, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-3 {
  margin-top: 3rem !important;
  margin-right: 3rem !important;
  margin-bottom: 3rem !important;
  margin-left: 3rem !important; }

/* line 74, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-3 {
  padding-top: 3rem !important;
  padding-right: 3rem !important;
  padding-bottom: 3rem !important;
  padding-left: 3rem !important; }

/* line 79, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-top-3 {
  margin-top: 3rem !important; }

/* line 83, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-top-3 {
  padding-top: 3rem !important; }

/* line 88, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-right-3 {
  margin-right: 3rem !important; }

/* line 92, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-right-3 {
  padding-right: 3rem !important; }

/* line 97, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-bottom-3 {
  margin-bottom: 3rem !important; }

/* line 101, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-bottom-3 {
  padding-bottom: 3rem !important; }

/* line 106, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-left-3 {
  margin-left: 3rem !important; }

/* line 110, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-left-3 {
  padding-left: 3rem !important; }

/* line 115, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-horizontal-3 {
  margin-right: 3rem !important;
  margin-left: 3rem !important; }

/* line 119, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-horizontal-3 {
  padding-right: 3rem !important;
  padding-left: 3rem !important; }

/* line 124, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.margin-vertical-3 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important; }

/* line 128, bower_components/foundation-sites/scss/prototype/_spacing.scss */
.padding-vertical-3 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important; }

/* line 75, bower_components/foundation-sites/scss/components/_flex.scss */
.align-right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

/* line 75, bower_components/foundation-sites/scss/components/_flex.scss */
.align-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

/* line 75, bower_components/foundation-sites/scss/components/_flex.scss */
.align-justify {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

/* line 75, bower_components/foundation-sites/scss/components/_flex.scss */
.align-spaced {
  -ms-flex-pack: distribute;
      justify-content: space-around; }

/* line 83, bower_components/foundation-sites/scss/components/_flex.scss */
.align-right.vertical.menu > li > a {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

/* line 83, bower_components/foundation-sites/scss/components/_flex.scss */
.align-center.vertical.menu > li > a {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

/* line 91, bower_components/foundation-sites/scss/components/_flex.scss */
.align-top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }

/* line 95, bower_components/foundation-sites/scss/components/_flex.scss */
.align-self-top {
  -ms-flex-item-align: start;
      align-self: flex-start; }

/* line 91, bower_components/foundation-sites/scss/components/_flex.scss */
.align-bottom {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }

/* line 95, bower_components/foundation-sites/scss/components/_flex.scss */
.align-self-bottom {
  -ms-flex-item-align: end;
      align-self: flex-end; }

/* line 91, bower_components/foundation-sites/scss/components/_flex.scss */
.align-middle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

/* line 95, bower_components/foundation-sites/scss/components/_flex.scss */
.align-self-middle {
  -ms-flex-item-align: center;
      align-self: center; }

/* line 91, bower_components/foundation-sites/scss/components/_flex.scss */
.align-stretch {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

/* line 95, bower_components/foundation-sites/scss/components/_flex.scss */
.align-self-stretch {
  -ms-flex-item-align: stretch;
      align-self: stretch; }

/* line 101, bower_components/foundation-sites/scss/components/_flex.scss */
.align-center-middle {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center; }

/* line 109, bower_components/foundation-sites/scss/components/_flex.scss */
.sm-order-1 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

/* line 109, bower_components/foundation-sites/scss/components/_flex.scss */
.sm-order-2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }

/* line 109, bower_components/foundation-sites/scss/components/_flex.scss */
.sm-order-3 {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3; }

/* line 109, bower_components/foundation-sites/scss/components/_flex.scss */
.sm-order-4 {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4; }

/* line 109, bower_components/foundation-sites/scss/components/_flex.scss */
.sm-order-5 {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5; }

/* line 109, bower_components/foundation-sites/scss/components/_flex.scss */
.sm-order-6 {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6; }

@media print, screen and (min-width: 40em) {
  /* line 109, bower_components/foundation-sites/scss/components/_flex.scss */
  .md-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  /* line 109, bower_components/foundation-sites/scss/components/_flex.scss */
  .md-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  /* line 109, bower_components/foundation-sites/scss/components/_flex.scss */
  .md-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  /* line 109, bower_components/foundation-sites/scss/components/_flex.scss */
  .md-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  /* line 109, bower_components/foundation-sites/scss/components/_flex.scss */
  .md-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  /* line 109, bower_components/foundation-sites/scss/components/_flex.scss */
  .md-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; } }

@media print, screen and (min-width: 64em) {
  /* line 109, bower_components/foundation-sites/scss/components/_flex.scss */
  .lg-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  /* line 109, bower_components/foundation-sites/scss/components/_flex.scss */
  .lg-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  /* line 109, bower_components/foundation-sites/scss/components/_flex.scss */
  .lg-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  /* line 109, bower_components/foundation-sites/scss/components/_flex.scss */
  .lg-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  /* line 109, bower_components/foundation-sites/scss/components/_flex.scss */
  .lg-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  /* line 109, bower_components/foundation-sites/scss/components/_flex.scss */
  .lg-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 77.5em) {
  /* line 109, bower_components/foundation-sites/scss/components/_flex.scss */
  .xl-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  /* line 109, bower_components/foundation-sites/scss/components/_flex.scss */
  .xl-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  /* line 109, bower_components/foundation-sites/scss/components/_flex.scss */
  .xl-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  /* line 109, bower_components/foundation-sites/scss/components/_flex.scss */
  .xl-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  /* line 109, bower_components/foundation-sites/scss/components/_flex.scss */
  .xl-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  /* line 109, bower_components/foundation-sites/scss/components/_flex.scss */
  .xl-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; } }

/* line 18, bower_components/foundation-sites/scss/components/_flex.scss */
.flex-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

/* line 22, bower_components/foundation-sites/scss/components/_flex.scss */
.flex-child-auto {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

/* line 26, bower_components/foundation-sites/scss/components/_flex.scss */
.flex-child-grow {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }

/* line 30, bower_components/foundation-sites/scss/components/_flex.scss */
.flex-child-shrink {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }

/* line 35, bower_components/foundation-sites/scss/components/_flex.scss */
.flex-dir-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }

/* line 35, bower_components/foundation-sites/scss/components/_flex.scss */
.flex-dir-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

/* line 35, bower_components/foundation-sites/scss/components/_flex.scss */
.flex-dir-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

/* line 35, bower_components/foundation-sites/scss/components/_flex.scss */
.flex-dir-column-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }

/* line 45, bower_components/foundation-sites/scss/components/_flex.scss */
.sm-flex-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

/* line 49, bower_components/foundation-sites/scss/components/_flex.scss */
.sm-flex-child-auto {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

/* line 53, bower_components/foundation-sites/scss/components/_flex.scss */
.sm-flex-child-grow {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }

/* line 57, bower_components/foundation-sites/scss/components/_flex.scss */
.sm-flex-child-shrink {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }

/* line 62, bower_components/foundation-sites/scss/components/_flex.scss */
.sm-flex-dir-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }

/* line 62, bower_components/foundation-sites/scss/components/_flex.scss */
.sm-flex-dir-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

/* line 62, bower_components/foundation-sites/scss/components/_flex.scss */
.sm-flex-dir-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

/* line 62, bower_components/foundation-sites/scss/components/_flex.scss */
.sm-flex-dir-column-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }

@media print, screen and (min-width: 40em) {
  /* line 45, bower_components/foundation-sites/scss/components/_flex.scss */
  .md-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  /* line 49, bower_components/foundation-sites/scss/components/_flex.scss */
  .md-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  /* line 53, bower_components/foundation-sites/scss/components/_flex.scss */
  .md-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  /* line 57, bower_components/foundation-sites/scss/components/_flex.scss */
  .md-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  /* line 62, bower_components/foundation-sites/scss/components/_flex.scss */
  .md-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  /* line 62, bower_components/foundation-sites/scss/components/_flex.scss */
  .md-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  /* line 62, bower_components/foundation-sites/scss/components/_flex.scss */
  .md-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  /* line 62, bower_components/foundation-sites/scss/components/_flex.scss */
  .md-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media print, screen and (min-width: 64em) {
  /* line 45, bower_components/foundation-sites/scss/components/_flex.scss */
  .lg-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  /* line 49, bower_components/foundation-sites/scss/components/_flex.scss */
  .lg-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  /* line 53, bower_components/foundation-sites/scss/components/_flex.scss */
  .lg-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  /* line 57, bower_components/foundation-sites/scss/components/_flex.scss */
  .lg-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  /* line 62, bower_components/foundation-sites/scss/components/_flex.scss */
  .lg-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  /* line 62, bower_components/foundation-sites/scss/components/_flex.scss */
  .lg-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  /* line 62, bower_components/foundation-sites/scss/components/_flex.scss */
  .lg-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  /* line 62, bower_components/foundation-sites/scss/components/_flex.scss */
  .lg-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media screen and (min-width: 77.5em) {
  /* line 45, bower_components/foundation-sites/scss/components/_flex.scss */
  .xl-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  /* line 49, bower_components/foundation-sites/scss/components/_flex.scss */
  .xl-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  /* line 53, bower_components/foundation-sites/scss/components/_flex.scss */
  .xl-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  /* line 57, bower_components/foundation-sites/scss/components/_flex.scss */
  .xl-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  /* line 62, bower_components/foundation-sites/scss/components/_flex.scss */
  .xl-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  /* line 62, bower_components/foundation-sites/scss/components/_flex.scss */
  .xl-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  /* line 62, bower_components/foundation-sites/scss/components/_flex.scss */
  .xl-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  /* line 62, bower_components/foundation-sites/scss/components/_flex.scss */
  .xl-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

/* line 75, bower_components/foundation-sites/scss/prototype/_position.scss */
.position-static {
  position: static !important; }

/* line 75, bower_components/foundation-sites/scss/prototype/_position.scss */
.position-relative {
  position: relative !important; }

/* line 75, bower_components/foundation-sites/scss/prototype/_position.scss */
.position-absolute {
  position: absolute !important; }

/* line 75, bower_components/foundation-sites/scss/prototype/_position.scss */
.position-fixed {
  position: fixed !important; }

/* line 81, bower_components/foundation-sites/scss/prototype/_position.scss */
.position-fixed-top {
  position: fixed !important;
  top: 0rem !important;
  right: 0rem !important;
  left: 0rem !important;
  z-index: 975; }

/* line 84, bower_components/foundation-sites/scss/prototype/_position.scss */
.position-fixed-bottom {
  position: fixed !important;
  right: 0rem !important;
  bottom: 0rem !important;
  left: 0rem !important;
  z-index: 975; }

/* line 62, bower_components/foundation-sites/scss/components/_visibility.scss */
.hide {
  display: none !important; }

/* line 66, bower_components/foundation-sites/scss/components/_visibility.scss */
.invisible {
  visibility: hidden; }

/* line 73, bower_components/foundation-sites/scss/components/_visibility.scss */
.hide-for-sm {
  display: none !important; }

/* line 77, bower_components/foundation-sites/scss/components/_visibility.scss */
.show-for-sm {
  display: none !important; }

@media screen and (max-width: 39.9375em) {
  /* line 82, bower_components/foundation-sites/scss/components/_visibility.scss */
  .hide-for-sm-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 40em) {
  /* line 86, bower_components/foundation-sites/scss/components/_visibility.scss */
  .show-for-sm-only {
    display: none !important; } }

@media print, screen and (min-width: 40em) {
  /* line 73, bower_components/foundation-sites/scss/components/_visibility.scss */
  .hide-for-md {
    display: none !important; } }

@media screen and (max-width: 39.9375em) {
  /* line 77, bower_components/foundation-sites/scss/components/_visibility.scss */
  .show-for-md {
    display: none !important; } }

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  /* line 82, bower_components/foundation-sites/scss/components/_visibility.scss */
  .hide-for-md-only {
    display: none !important; } }

@media screen and (max-width: 39.9375em), screen and (min-width: 64em) {
  /* line 86, bower_components/foundation-sites/scss/components/_visibility.scss */
  .show-for-md-only {
    display: none !important; } }

@media print, screen and (min-width: 64em) {
  /* line 73, bower_components/foundation-sites/scss/components/_visibility.scss */
  .hide-for-lg {
    display: none !important; } }

@media screen and (max-width: 63.9375em) {
  /* line 77, bower_components/foundation-sites/scss/components/_visibility.scss */
  .show-for-lg {
    display: none !important; } }

@media screen and (min-width: 64em) and (max-width: 77.4375em) {
  /* line 82, bower_components/foundation-sites/scss/components/_visibility.scss */
  .hide-for-lg-only {
    display: none !important; } }

@media screen and (max-width: 63.9375em), screen and (min-width: 77.5em) {
  /* line 86, bower_components/foundation-sites/scss/components/_visibility.scss */
  .show-for-lg-only {
    display: none !important; } }

@media screen and (min-width: 77.5em) {
  /* line 73, bower_components/foundation-sites/scss/components/_visibility.scss */
  .hide-for-xl {
    display: none !important; } }

@media screen and (max-width: 77.4375em) {
  /* line 77, bower_components/foundation-sites/scss/components/_visibility.scss */
  .show-for-xl {
    display: none !important; } }

@media screen and (min-width: 77.5em) {
  /* line 82, bower_components/foundation-sites/scss/components/_visibility.scss */
  .hide-for-xl-only {
    display: none !important; } }

@media screen and (max-width: 77.4375em) {
  /* line 86, bower_components/foundation-sites/scss/components/_visibility.scss */
  .show-for-xl-only {
    display: none !important; } }

/* line 93, bower_components/foundation-sites/scss/components/_visibility.scss */
.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0; }

/* line 100, bower_components/foundation-sites/scss/components/_visibility.scss */
.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
  -webkit-clip-path: none;
          clip-path: none; }

/* line 107, bower_components/foundation-sites/scss/components/_visibility.scss */
.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    /* line 107, bower_components/foundation-sites/scss/components/_visibility.scss */
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    /* line 107, bower_components/foundation-sites/scss/components/_visibility.scss */
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

/* line 120, bower_components/foundation-sites/scss/components/_visibility.scss */
.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    /* line 120, bower_components/foundation-sites/scss/components/_visibility.scss */
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    /* line 120, bower_components/foundation-sites/scss/components/_visibility.scss */
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

/* line 10, bower_components/foundation-sites/scss/components/_float.scss */
.float-left {
  float: left !important; }

/* line 14, bower_components/foundation-sites/scss/components/_float.scss */
.float-right {
  float: right !important; }

/* line 18, bower_components/foundation-sites/scss/components/_float.scss */
.float-center {
  display: block;
  margin-right: auto;
  margin-left: auto; }

/* line 170, bower_components/foundation-sites/scss/util/_mixins.scss */
.clearfix::before, .clearfix::after {
  display: table;
  content: ' ';
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

/* line 181, bower_components/foundation-sites/scss/util/_mixins.scss */
.clearfix::after {
  clear: both; }

/* ==========================================================================
   Default layout partials
   ========================================================================== */
/**
 * layout.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 16, Resources/Private/Frontend/sass/partials/_layout.scss */
body.is-reveal-open {
  overflow: hidden; }

/* line 32, Resources/Private/Frontend/sass/partials/_layout.scss */
.off-canvas {
  -webkit-overflow-scrolling: touch; }

/* line 37, Resources/Private/Frontend/sass/partials/_layout.scss */
.off-canvas-content {
  background: #fafafa;
  z-index: 1;
  position: relative; }
  /* line 41, Resources/Private/Frontend/sass/partials/_layout.scss */
  .off-canvas-content.is-open-top {
    -webkit-filter: blur(5px);
            filter: blur(5px); }

/* line 46, Resources/Private/Frontend/sass/partials/_layout.scss */
.main {
  padding-bottom: 3.4375rem; }
  /* line 52, Resources/Private/Frontend/sass/partials/_layout.scss */
  .ci-blue .main h1 {
    color: #25aae2; }
  /* line 55, Resources/Private/Frontend/sass/partials/_layout.scss */
  .ci-green .main h1 {
    color: #74b74a; }
  /* line 58, Resources/Private/Frontend/sass/partials/_layout.scss */
  .ci-grey .main h1 {
    color: #58595b; }
  /* line 63, Resources/Private/Frontend/sass/partials/_layout.scss */
  .main__content {
    margin-bottom: 0.9375rem; }
    /* line 67, Resources/Private/Frontend/sass/partials/_layout.scss */
    .main__content-wrap {
      margin-top: 1.875rem;
      color: #333333; }
    /* line 73, Resources/Private/Frontend/sass/partials/_layout.scss */
    .main__content .news-img-wrap {
      margin-bottom: 1.875rem; }
  /* line 79, Resources/Private/Frontend/sass/partials/_layout.scss */
  .main__header + .main__content-wrap {
    margin-top: 0; }

/* line 85, Resources/Private/Frontend/sass/partials/_layout.scss */
.button, button {
  font-weight: 700; }

/* line 96, Resources/Private/Frontend/sass/partials/_layout.scss */
.contact-cols td + td {
  padding-left: 0.625rem; }

/* line 111, Resources/Private/Frontend/sass/partials/_layout.scss */
.row--blog + .row {
  margin-top: 1.875rem; }

/* line 117, Resources/Private/Frontend/sass/partials/_layout.scss */
.column, .columns {
  position: relative; }
  /* line 120, Resources/Private/Frontend/sass/partials/_layout.scss */
  .column.article, .article.columns {
    margin-bottom: 1.875rem; }

/* line 126, Resources/Private/Frontend/sass/partials/_layout.scss */
.nav-filter {
  list-style: none;
  margin: 0 0 1.25rem; }
  /* line 88, Resources/Private/Frontend/sass/partials/_mixins.scss */
  .nav-filter li {
    list-style-image: none;
    list-style-type: none;
    margin-left: 0; }
  /* line 130, Resources/Private/Frontend/sass/partials/_layout.scss */
  .nav-filter,
  .nav-filter li {
    display: block; }
  @media print, screen and (min-width: 40em) {
    /* line 126, Resources/Private/Frontend/sass/partials/_layout.scss */
    .nav-filter {
      display: inline-block; }
      /* line 138, Resources/Private/Frontend/sass/partials/_layout.scss */
      .nav-filter li {
        display: inline-block; } }

/* line 146, Resources/Private/Frontend/sass/partials/_layout.scss */
.search-filter__list {
  list-style: none; }

/* line 149, Resources/Private/Frontend/sass/partials/_layout.scss */
.search-filter__item {
  white-space: nowrap; }
  /* line 151, Resources/Private/Frontend/sass/partials/_layout.scss */
  .search-filter__item:before {
    display: none; }

/* line 155, Resources/Private/Frontend/sass/partials/_layout.scss */
.search-filter__label {
  color: #333333; }

/* line 162, Resources/Private/Frontend/sass/partials/_layout.scss */
.hit,
.searchphrase {
  color: #f7941d;
  font-weight: 700; }

/* line 168, Resources/Private/Frontend/sass/partials/_layout.scss */
.search-top {
  opacity: 0;
  visibility: hidden;
  margin-top: 0.8125rem; }
  /* line 174, Resources/Private/Frontend/sass/partials/_layout.scss */
  .search-top input,
  .search-top button {
    font-size: 0.875rem; }
  /* line 179, Resources/Private/Frontend/sass/partials/_layout.scss */
  .search-top input {
    max-width: 23rem;
    min-width: 17.8125rem;
    margin: 0;
    padding: 0 0.4375rem;
    height: 2.1875rem;
    line-height: 2.1875rem; }
  /* line 188, Resources/Private/Frontend/sass/partials/_layout.scss */
  .search-top button {
    background-color: #d7d7d8 !important;
    color: #58595b !important; }
  /* line 192, Resources/Private/Frontend/sass/partials/_layout.scss */
  .search-top--active .search-top {
    opacity: 1;
    visibility: visible; }

/* line 198, Resources/Private/Frontend/sass/partials/_layout.scss */
.icon--search,
.search-top {
  -webkit-transition: opacity 0.3s ease-in-out;
  -o-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out; }

/* line 204, Resources/Private/Frontend/sass/partials/_layout.scss */
.search-top--active .icon--search {
  opacity: 0;
  visibility: hidden; }

/* line 210, Resources/Private/Frontend/sass/partials/_layout.scss */
.icon--burger {
  margin-left: 0.375rem; }

/* line 214, Resources/Private/Frontend/sass/partials/_layout.scss */
.cookie-disclaimer {
  background: #f0f0f0;
  z-index: 10;
  padding: 1.25rem;
  line-height: 1.1; }
  /* line 222, Resources/Private/Frontend/sass/partials/_layout.scss */
  .cookie-disclaimer p {
    margin: 0;
    font-size: 0.9rem; }
  /* line 227, Resources/Private/Frontend/sass/partials/_layout.scss */
  .cookie-disclaimer .button {
    margin: -0.5625rem 0 0; }
    @media screen and (max-width: 39.9375em) {
      /* line 227, Resources/Private/Frontend/sass/partials/_layout.scss */
      .cookie-disclaimer .button {
        margin-top: 0.0625rem; } }

/* line 236, Resources/Private/Frontend/sass/partials/_layout.scss */
.content-sub-header__headline,
.nav-main .active a,
.nav-main .active span,
span.colored {
  color: #f7941d; }
  /* line 242, Resources/Private/Frontend/sass/partials/_layout.scss */
  .ci-blue .content-sub-header__headline, .ci-blue
  .nav-main .active a, .ci-blue
  .nav-main .active span, .ci-blue
  span.colored {
    color: #25aae2 !important; }
  /* line 245, Resources/Private/Frontend/sass/partials/_layout.scss */
  .ci-green .content-sub-header__headline, .ci-green
  .nav-main .active a, .ci-green
  .nav-main .active span, .ci-green
  span.colored {
    color: #74b74a !important; }
  /* line 248, Resources/Private/Frontend/sass/partials/_layout.scss */
  .ci-grey .content-sub-header__headline, .ci-grey
  .nav-main .active a, .ci-grey
  .nav-main .active span, .ci-grey
  span.colored {
    color: #58595b !important; }

/* line 254, Resources/Private/Frontend/sass/partials/_layout.scss */
.ci-blue .content-header__headline .headline {
  background-color: #25aae2 !important; }

/* line 257, Resources/Private/Frontend/sass/partials/_layout.scss */
.ci-green .content-header__headline .headline {
  background-color: #74b74a !important; }

/* line 260, Resources/Private/Frontend/sass/partials/_layout.scss */
.ci-grey .content-header__headline .headline {
  background-color: #58595b !important; }

/* line 268, Resources/Private/Frontend/sass/partials/_layout.scss */
.ci-blue .main a .box__headline:after, .ci-blue
.main a:not(.box):not(.button) {
  color: #25aae2; }

/* line 271, Resources/Private/Frontend/sass/partials/_layout.scss */
.ci-green .main a .box__headline:after, .ci-green
.main a:not(.box):not(.button) {
  color: #74b74a; }

/* line 274, Resources/Private/Frontend/sass/partials/_layout.scss */
.ci-grey .main a .box__headline:after, .ci-grey
.main a:not(.box):not(.button) {
  color: #58595b; }

/* line 279, Resources/Private/Frontend/sass/partials/_layout.scss */
.ci-blue .button:not(.cta) {
  background: #25aae2; }

/* line 282, Resources/Private/Frontend/sass/partials/_layout.scss */
.ci-green .button:not(.cta) {
  background: #74b74a; }

/* line 285, Resources/Private/Frontend/sass/partials/_layout.scss */
.ci-grey .button:not(.cta) {
  background: #58595b; }

/* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
.filter-grid > .module {
  float: left;
  width: 100%;
  padding-right: 0.4375rem;
  padding-left: 0.4375rem; }
  @media print, screen and (min-width: 40em) {
    /* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
    .filter-grid > .module {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    /* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
    .filter-grid > .module {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  /* line 46, bower_components/foundation-sites/scss/grid/_layout.scss */
  .filter-grid > .module:nth-of-type(1n) {
    clear: none; }
  /* line 50, bower_components/foundation-sites/scss/grid/_layout.scss */
  .filter-grid > .module:nth-of-type(1n+1) {
    clear: both; }
  /* line 54, bower_components/foundation-sites/scss/grid/_layout.scss */
  .filter-grid > .module:last-child {
    float: left; }

/* line 292, Resources/Private/Frontend/sass/partials/_layout.scss */
.filter-grid > .module {
  margin-bottom: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    /* line 292, Resources/Private/Frontend/sass/partials/_layout.scss */
    .filter-grid > .module {
      margin-bottom: 1.875rem; } }

/* line 301, Resources/Private/Frontend/sass/partials/_layout.scss */
.grid > .column, .grid > .columns {
  margin-bottom: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    /* line 301, Resources/Private/Frontend/sass/partials/_layout.scss */
    .grid > .column, .grid > .columns {
      margin-bottom: 1.875rem; } }

/* line 310, Resources/Private/Frontend/sass/partials/_layout.scss */
.aside > div {
  margin-bottom: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    /* line 310, Resources/Private/Frontend/sass/partials/_layout.scss */
    .aside > div {
      margin-bottom: 1.875rem; } }

/* line 318, Resources/Private/Frontend/sass/partials/_layout.scss */
tbody {
  border-width: 0; }

/* line 322, Resources/Private/Frontend/sass/partials/_layout.scss */
tfoot, thead, tbody tr {
  border-width: 1px 0; }

/* line 326, Resources/Private/Frontend/sass/partials/_layout.scss */
thead {
  border-top: 2px solid #f7941d; }
  /* line 329, Resources/Private/Frontend/sass/partials/_layout.scss */
  thead th {
    text-align: center; }

/* line 335, Resources/Private/Frontend/sass/partials/_layout.scss */
tbody tr:last-child {
  border-width: 0; }

/* line 340, Resources/Private/Frontend/sass/partials/_layout.scss */
.flex-column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

/* line 345, Resources/Private/Frontend/sass/partials/_layout.scss */
.news-single {
  margin-top: -1.875rem; }

/* line 349, Resources/Private/Frontend/sass/partials/_layout.scss */
.result-url {
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap; }

@media print, screen and (min-width: 40em) {
  /* line 363, Resources/Private/Frontend/sass/partials/_layout.scss */
  .main {
    font-size: 1.125rem; }
    /* line 366, Resources/Private/Frontend/sass/partials/_layout.scss */
    .main__content {
      margin-bottom: 1.875rem; }
  /* line 372, Resources/Private/Frontend/sass/partials/_layout.scss */
  .filter-grid > .module {
    width: 50%; }
  /* line 377, Resources/Private/Frontend/sass/partials/_layout.scss */
  :target:before {
    content: "";
    display: block;
    height: 4.6875rem;
    margin: -4.6875rem 0 0; } }

@media print, screen and (min-width: 64em) {
  /* line 387, Resources/Private/Frontend/sass/partials/_layout.scss */
  .filter-grid > .module {
    width: 33.33333%; } }

@media screen and (min-width: 77.5em) {
  /* line 393, Resources/Private/Frontend/sass/partials/_layout.scss */
  .filter-grid > .module {
    width: 25%; } }

/**
 * typo.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Webfonts
   ========================================================================== */
/* ==========================================================================
   Global Typo Styles
   ========================================================================== */
/* line 54, Resources/Private/Frontend/sass/partials/_typo.scss */
h1, .h1 {
  line-height: 1.2;
  color: #f7941d;
  font-size: 1.75rem; }
  @media print, screen and (min-width: 64em) {
    /* line 54, Resources/Private/Frontend/sass/partials/_typo.scss */
    h1, .h1 {
      font-size: 3rem; } }

/* line 73, Resources/Private/Frontend/sass/partials/_typo.scss */
h2, .h2 {
  font-size: 1.25rem;
  margin-bottom: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    /* line 73, Resources/Private/Frontend/sass/partials/_typo.scss */
    h2, .h2 {
      font-size: 2rem; } }
  @media print, screen and (min-width: 64em) {
    /* line 73, Resources/Private/Frontend/sass/partials/_typo.scss */
    h2, .h2 {
      font-size: 2.25rem; } }

/* line 87, Resources/Private/Frontend/sass/partials/_typo.scss */
h3, .h3 {
  font-size: 1.25rem;
  margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    /* line 87, Resources/Private/Frontend/sass/partials/_typo.scss */
    h3, .h3 {
      font-size: 1.375rem; } }
  @media print, screen and (min-width: 64em) {
    /* line 87, Resources/Private/Frontend/sass/partials/_typo.scss */
    h3, .h3 {
      font-size: 1.5rem; } }

/* line 101, Resources/Private/Frontend/sass/partials/_typo.scss */
h4, .h4 {
  font-size: 1.125rem;
  margin-bottom: 0.3125rem; }
  @media print, screen and (min-width: 40em) {
    /* line 101, Resources/Private/Frontend/sass/partials/_typo.scss */
    h4, .h4 {
      font-size: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    /* line 101, Resources/Private/Frontend/sass/partials/_typo.scss */
    h4, .h4 {
      font-size: 1.375rem; } }

/* line 114, Resources/Private/Frontend/sass/partials/_typo.scss */
h5, .h5 {
  font-size: 1rem;
  margin-bottom: 0.3125rem;
  font-weight: 700; }
  @media print, screen and (min-width: 40em) {
    /* line 114, Resources/Private/Frontend/sass/partials/_typo.scss */
    h5, .h5 {
      font-size: 1.125rem; } }
  @media print, screen and (min-width: 64em) {
    /* line 114, Resources/Private/Frontend/sass/partials/_typo.scss */
    h5, .h5 {
      font-size: 1.25rem; } }

/* line 129, Resources/Private/Frontend/sass/partials/_typo.scss */
.lead {
  margin-top: 0.625rem;
  font-weight: 700;
  margin-bottom: 1.875rem;
  font-size: 1rem; }
  @media print, screen and (min-width: 64em) {
    /* line 129, Resources/Private/Frontend/sass/partials/_typo.scss */
    .lead {
      font-size: 1.5rem; } }

/* line 147, Resources/Private/Frontend/sass/partials/_typo.scss */
.reveal ul,
.main__content-wrap ul {
  list-style-type: none;
  margin-left: 0; }
  /* line 151, Resources/Private/Frontend/sass/partials/_typo.scss */
  .reveal ul li,
  .main__content-wrap ul li {
    padding-left: 15px;
    position: relative; }
    /* line 155, Resources/Private/Frontend/sass/partials/_typo.scss */
    .reveal ul li:before,
    .main__content-wrap ul li:before {
      content: '»';
      font-weight: 500;
      vertical-align: 0.0625rem;
      position: absolute;
      left: 0;
      top: -1px; }

/* line 170, Resources/Private/Frontend/sass/partials/_typo.scss */
.reveal .filter-wrap ul li:before,
.main__content-wrap .filter-wrap ul li:before {
  content: none; }

/* line 182, Resources/Private/Frontend/sass/partials/_typo.scss */
.reveal ul.pagination li, .reveal ul.nav-filter li, .reveal ul[class*="theme-"] li, .reveal ul.menu li,
.main__content-wrap ul.pagination li,
.main__content-wrap ul.nav-filter li,
.main__content-wrap ul[class*="theme-"] li,
.main__content-wrap ul.menu li {
  padding-left: 0; }
  /* line 184, Resources/Private/Frontend/sass/partials/_typo.scss */
  .reveal ul.pagination li:before, .reveal ul.nav-filter li:before, .reveal ul[class*="theme-"] li:before, .reveal ul.menu li:before,
  .main__content-wrap ul.pagination li:before,
  .main__content-wrap ul.nav-filter li:before,
  .main__content-wrap ul[class*="theme-"] li:before,
  .main__content-wrap ul.menu li:before {
    content: none; }

/* line 192, Resources/Private/Frontend/sass/partials/_typo.scss */
.text-black {
  color: black; }

/* line 196, Resources/Private/Frontend/sass/partials/_typo.scss */
iframe {
  border: 0; }

/**
 * icon-font.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Icon Font settings
   ========================================================================== */
@font-face {
  font-family: "icons";
  src: url("../fonts/iconfont/finetech.eot");
  src: url("../fonts/iconfont/finetech.eot?#iefix") format("embedded-opentype"), url("../fonts/iconfont/finetech.woff") format("woff"), url("../fonts/iconfont/finetech.ttf") format("truetype"), url("../fonts/iconfont/finetech.svg#shorty") format("svg");
  font-weight: normal;
  font-style: normal; }

/* line 31, Resources/Private/Frontend/sass/partials/_icon-font.scss */
[class^="icon--"]:before,
[class*=" icon--"]:before, .icon--locked[class^="icon--"]:after,
.icon--locked[class*=" icon--"]:after, .util-icon--before:before, .nav-main__mobile-trigger:before, .nav-mega__link--342:before, .nav-mega__link--343:before, .nav-mega__link--348:before, .nav-mega__link--347:before,
.util-icon--after:after {
  font-family: "icons" !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  vertical-align: -0.0625rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* line 50, Resources/Private/Frontend/sass/partials/_icon-font.scss */
[class^="icon--"].icon--locked,
[class*=" icon--"].icon--locked {
  position: relative; }
  /* line 52, Resources/Private/Frontend/sass/partials/_icon-font.scss */
  [class^="icon--"].icon--locked:after,
  [class*=" icon--"].icon--locked:after {
    content: "i";
    position: absolute;
    font-size: 65%;
    left: -0.1875rem;
    bottom: -0.125rem; }

/* line 64, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--burger:before {
  content: "a";
  vertical-align: -0.1875rem; }

/* line 64, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--mail:before {
  content: "b"; }

/* line 64, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--linkedin:before {
  content: "c"; }

/* line 64, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--youtube:before {
  content: "d"; }

/* line 64, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--facebook:before {
  content: "e"; }

/* line 64, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--twitter:before {
  content: "f"; }

/* line 64, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--close:before {
  content: "g"; }

/* line 64, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--search:before {
  content: "h"; }

/* line 64, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--lock:before {
  content: "i"; }

/* line 64, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--calendar:before {
  content: "j"; }

/* line 64, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--globe:before {
  content: "k"; }

/* line 64, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--phone:before {
  content: "l"; }

/* line 64, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--fax:before {
  content: "m"; }

/* line 64, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--skype:before {
  content: "n"; }

/* line 64, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--info:before {
  content: "o"; }

/* line 64, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--arrow-right:before {
  content: "p"; }

/* line 64, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--pdf:before {
  content: "q"; }

/* line 64, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--word:before {
  content: "r"; }

/* line 64, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--archive:before {
  content: "s"; }

/* line 64, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--excel:before {
  content: "t"; }

/* line 64, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--doc:before {
  content: "u"; }

/* line 64, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--spinner:before {
  content: "v"; }

/* line 64, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--video:before {
  content: "w"; }

/* line 64, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--rss:before {
  content: "x"; }

/* line 78, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.util-icon--before.util-icon--burger:before, .nav-main__mobile-trigger:before, .util-icon--burger.nav-mega__link--342:before, .util-icon--burger.nav-mega__link--343:before, .util-icon--burger.nav-mega__link--348:before, .util-icon--burger.nav-mega__link--347:before,
.util-icon--after.util-icon--burger:after {
  content: "a"; }

/* line 78, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.util-icon--before.util-icon--mail:before, .util-icon--mail.nav-main__mobile-trigger:before, .util-icon--mail.nav-mega__link--342:before, .util-icon--mail.nav-mega__link--343:before, .util-icon--mail.nav-mega__link--348:before, .util-icon--mail.nav-mega__link--347:before,
.util-icon--after.util-icon--mail:after {
  content: "b"; }

/* line 78, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.util-icon--before.util-icon--linkedin:before, .util-icon--linkedin.nav-main__mobile-trigger:before, .nav-mega__link--342:before, .util-icon--linkedin.nav-mega__link--343:before, .util-icon--linkedin.nav-mega__link--348:before, .util-icon--linkedin.nav-mega__link--347:before,
.util-icon--after.util-icon--linkedin:after {
  content: "c"; }

/* line 78, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.util-icon--before.util-icon--youtube:before, .util-icon--youtube.nav-main__mobile-trigger:before, .util-icon--youtube.nav-mega__link--342:before, .nav-mega__link--343:before, .util-icon--youtube.nav-mega__link--348:before, .util-icon--youtube.nav-mega__link--347:before,
.util-icon--after.util-icon--youtube:after {
  content: "d"; }

/* line 78, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.util-icon--before.util-icon--facebook:before, .util-icon--facebook.nav-main__mobile-trigger:before, .util-icon--facebook.nav-mega__link--342:before, .util-icon--facebook.nav-mega__link--343:before, .nav-mega__link--348:before, .util-icon--facebook.nav-mega__link--347:before,
.util-icon--after.util-icon--facebook:after {
  content: "e"; }

/* line 78, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.util-icon--before.util-icon--twitter:before, .util-icon--twitter.nav-main__mobile-trigger:before, .util-icon--twitter.nav-mega__link--342:before, .util-icon--twitter.nav-mega__link--343:before, .util-icon--twitter.nav-mega__link--348:before, .nav-mega__link--347:before,
.util-icon--after.util-icon--twitter:after {
  content: "f"; }

/* line 78, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.util-icon--before.util-icon--close:before, .util-icon--close.nav-main__mobile-trigger:before, .off-canvas--show .nav-main__mobile-trigger:before, .util-icon--close.nav-mega__link--342:before, .util-icon--close.nav-mega__link--343:before, .util-icon--close.nav-mega__link--348:before, .util-icon--close.nav-mega__link--347:before,
.util-icon--after.util-icon--close:after {
  content: "g"; }

/* line 78, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.util-icon--before.util-icon--search:before, .util-icon--search.nav-main__mobile-trigger:before, .util-icon--search.nav-mega__link--342:before, .util-icon--search.nav-mega__link--343:before, .util-icon--search.nav-mega__link--348:before, .util-icon--search.nav-mega__link--347:before,
.util-icon--after.util-icon--search:after {
  content: "h"; }

/* line 78, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.util-icon--before.util-icon--lock:before, .util-icon--lock.nav-main__mobile-trigger:before, .util-icon--lock.nav-mega__link--342:before, .util-icon--lock.nav-mega__link--343:before, .util-icon--lock.nav-mega__link--348:before, .util-icon--lock.nav-mega__link--347:before,
.util-icon--after.util-icon--lock:after {
  content: "i"; }

/* line 78, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.util-icon--before.util-icon--calendar:before, .util-icon--calendar.nav-main__mobile-trigger:before, .util-icon--calendar.nav-mega__link--342:before, .util-icon--calendar.nav-mega__link--343:before, .util-icon--calendar.nav-mega__link--348:before, .util-icon--calendar.nav-mega__link--347:before,
.util-icon--after.util-icon--calendar:after {
  content: "j"; }

/* line 78, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.util-icon--before.util-icon--globe:before, .util-icon--globe.nav-main__mobile-trigger:before, .util-icon--globe.nav-mega__link--342:before, .util-icon--globe.nav-mega__link--343:before, .util-icon--globe.nav-mega__link--348:before, .util-icon--globe.nav-mega__link--347:before,
.util-icon--after.util-icon--globe:after {
  content: "k"; }

/* line 78, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.util-icon--before.util-icon--phone:before, .util-icon--phone.nav-main__mobile-trigger:before, .util-icon--phone.nav-mega__link--342:before, .util-icon--phone.nav-mega__link--343:before, .util-icon--phone.nav-mega__link--348:before, .util-icon--phone.nav-mega__link--347:before,
.util-icon--after.util-icon--phone:after {
  content: "l"; }

/* line 78, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.util-icon--before.util-icon--fax:before, .util-icon--fax.nav-main__mobile-trigger:before, .util-icon--fax.nav-mega__link--342:before, .util-icon--fax.nav-mega__link--343:before, .util-icon--fax.nav-mega__link--348:before, .util-icon--fax.nav-mega__link--347:before,
.util-icon--after.util-icon--fax:after {
  content: "m"; }

/* line 78, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.util-icon--before.util-icon--skype:before, .util-icon--skype.nav-main__mobile-trigger:before, .util-icon--skype.nav-mega__link--342:before, .util-icon--skype.nav-mega__link--343:before, .util-icon--skype.nav-mega__link--348:before, .util-icon--skype.nav-mega__link--347:before,
.util-icon--after.util-icon--skype:after {
  content: "n"; }

/* line 78, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.util-icon--before.util-icon--info:before, .util-icon--info.nav-main__mobile-trigger:before, .util-icon--info.nav-mega__link--342:before, .util-icon--info.nav-mega__link--343:before, .util-icon--info.nav-mega__link--348:before, .util-icon--info.nav-mega__link--347:before,
.util-icon--after.util-icon--info:after {
  content: "o"; }

/* line 78, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.util-icon--before.util-icon--arrow-right:before, .util-icon--arrow-right.nav-main__mobile-trigger:before, .util-icon--arrow-right.nav-mega__link--342:before, .util-icon--arrow-right.nav-mega__link--343:before, .util-icon--arrow-right.nav-mega__link--348:before, .util-icon--arrow-right.nav-mega__link--347:before,
.util-icon--after.util-icon--arrow-right:after {
  content: "p"; }

/* line 78, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.util-icon--before.util-icon--pdf:before, .util-icon--pdf.nav-main__mobile-trigger:before, .util-icon--pdf.nav-mega__link--342:before, .util-icon--pdf.nav-mega__link--343:before, .util-icon--pdf.nav-mega__link--348:before, .util-icon--pdf.nav-mega__link--347:before,
.util-icon--after.util-icon--pdf:after {
  content: "q"; }

/* line 78, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.util-icon--before.util-icon--word:before, .util-icon--word.nav-main__mobile-trigger:before, .util-icon--word.nav-mega__link--342:before, .util-icon--word.nav-mega__link--343:before, .util-icon--word.nav-mega__link--348:before, .util-icon--word.nav-mega__link--347:before,
.util-icon--after.util-icon--word:after {
  content: "r"; }

/* line 78, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.util-icon--before.util-icon--archive:before, .util-icon--archive.nav-main__mobile-trigger:before, .util-icon--archive.nav-mega__link--342:before, .util-icon--archive.nav-mega__link--343:before, .util-icon--archive.nav-mega__link--348:before, .util-icon--archive.nav-mega__link--347:before,
.util-icon--after.util-icon--archive:after {
  content: "s"; }

/* line 78, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.util-icon--before.util-icon--excel:before, .util-icon--excel.nav-main__mobile-trigger:before, .util-icon--excel.nav-mega__link--342:before, .util-icon--excel.nav-mega__link--343:before, .util-icon--excel.nav-mega__link--348:before, .util-icon--excel.nav-mega__link--347:before,
.util-icon--after.util-icon--excel:after {
  content: "t"; }

/* line 78, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.util-icon--before.util-icon--doc:before, .util-icon--doc.nav-main__mobile-trigger:before, .util-icon--doc.nav-mega__link--342:before, .util-icon--doc.nav-mega__link--343:before, .util-icon--doc.nav-mega__link--348:before, .util-icon--doc.nav-mega__link--347:before,
.util-icon--after.util-icon--doc:after {
  content: "u"; }

/* line 78, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.util-icon--before.util-icon--spinner:before, .util-icon--spinner.nav-main__mobile-trigger:before, .util-icon--spinner.nav-mega__link--342:before, .util-icon--spinner.nav-mega__link--343:before, .util-icon--spinner.nav-mega__link--348:before, .util-icon--spinner.nav-mega__link--347:before,
.util-icon--after.util-icon--spinner:after {
  content: "v"; }

/* line 78, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.util-icon--before.util-icon--video:before, .util-icon--video.nav-main__mobile-trigger:before, .util-icon--video.nav-mega__link--342:before, .util-icon--video.nav-mega__link--343:before, .util-icon--video.nav-mega__link--348:before, .util-icon--video.nav-mega__link--347:before,
.util-icon--after.util-icon--video:after {
  content: "w"; }

/* line 78, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.util-icon--before.util-icon--rss:before, .util-icon--rss.nav-main__mobile-trigger:before, .util-icon--rss.nav-mega__link--342:before, .util-icon--rss.nav-mega__link--343:before, .util-icon--rss.nav-mega__link--348:before, .util-icon--rss.nav-mega__link--347:before,
.util-icon--after.util-icon--rss:after {
  content: "x"; }

/* line 84, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--white {
  color: white; }

/* line 88, Resources/Private/Frontend/sass/partials/_icon-font.scss */
.icon--close {
  outline: none; }

/* line 111, Resources/Private/Frontend/sass/partials/_burger.scss */
.c-burger {
  position: relative;
  height: 3rem;
  width: 3rem;
  text-align: center;
  display: inline-block;
  z-index: 52;
  cursor: pointer; }
  /* line 121, Resources/Private/Frontend/sass/partials/_burger.scss */
  .c-burger__icon {
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 0.5rem; }
    /* line 22, Resources/Private/Frontend/sass/partials/_burger.scss */
    .c-burger__icon {
      display: inline-block; }
    /* line 26, Resources/Private/Frontend/sass/partials/_burger.scss */
    .c-burger__icon, .c-burger__icon:before, .c-burger__icon:after {
      width: 32px;
      height: 3px;
      background-color: #f7941d;
      -webkit-transition-property: width, background-color, -webkit-transform;
      transition-property: width, background-color, -webkit-transform;
      -o-transition-property: width, background-color, transform;
      transition-property: width, background-color, transform;
      transition-property: width, background-color, transform, -webkit-transform;
      -webkit-transition-duration: 0.3s;
           -o-transition-duration: 0.3s;
              transition-duration: 0.3s; }
    /* line 47, Resources/Private/Frontend/sass/partials/_burger.scss */
    .c-burger__icon:before, .c-burger__icon:after {
      display: block;
      position: absolute;
      content: ""; }
    /* line 54, Resources/Private/Frontend/sass/partials/_burger.scss */
    .c-burger__icon:before {
      top: -6px; }
    /* line 58, Resources/Private/Frontend/sass/partials/_burger.scss */
    .c-burger__icon:after {
      top: 6px; }

/* line 93, Resources/Private/Frontend/sass/partials/_burger.scss */
.is-open-right .c-burger__icon {
  background-color: transparent; }

/* line 96, Resources/Private/Frontend/sass/partials/_burger.scss */
.is-open-right .c-burger__icon:before {
  -webkit-transform: translateY(6px) rotate(45deg);
      -ms-transform: translateY(6px) rotate(45deg);
          transform: translateY(6px) rotate(45deg); }

/* line 102, Resources/Private/Frontend/sass/partials/_burger.scss */
.is-open-right .c-burger__icon:after {
  width: 100%;
  -webkit-transform: translateY(-6px) rotate(-45deg);
      -ms-transform: translateY(-6px) rotate(-45deg);
          transform: translateY(-6px) rotate(-45deg); }

/* line 136, Resources/Private/Frontend/sass/partials/_burger.scss */
.is-open-right.init .c-burger__icon {
  display: none; }

/* line 1, Resources/Private/Frontend/sass/partials/_animations.scss */
.slide-and-fade {
  -webkit-animation-name: custom-1;
          animation-name: custom-1; }

@-webkit-keyframes custom-1 {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; } }

@keyframes custom-1 {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; } }

/* line 3, Resources/Private/Frontend/sass/partials/_fluid_styled_content.scss */
.ce-textpic.ce-right .ce-column {
  text-align: right; }

/* line 7, Resources/Private/Frontend/sass/partials/_fluid_styled_content.scss */
.ce-textpic.ce-center .ce-column {
  text-align: center; }

/* ==========================================================================
   Components
   ========================================================================== */
/**
 * header.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2017-07-04
 * Author: mariodrengner (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 20, Resources/Private/Frontend/component/header/header.scss */
.header {
  font-size: 0.875rem; }
  @media screen and (max-width: 39.9375em) {
    /* line 20, Resources/Private/Frontend/component/header/header.scss */
    .header {
      height: 3rem; } }
  /* line 31, Resources/Private/Frontend/component/header/header.scss */
  .header--clone {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: white;
    z-index: 1;
    -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.2);
            box-shadow: 0 3px 7px rgba(0, 0, 0, 0.2);
    border-bottom: 0;
    -webkit-transform: translateY(-6.25rem);
        -ms-transform: translateY(-6.25rem);
            transform: translateY(-6.25rem);
    -webkit-transition: -webkit-transform 300ms ease-in-out;
    transition: -webkit-transform 300ms ease-in-out;
    -o-transition: transform 300ms ease-in-out;
    transition: transform 300ms ease-in-out;
    transition: transform 300ms ease-in-out, -webkit-transform 300ms ease-in-out;
    height: auto; }
    /* line 44, Resources/Private/Frontend/component/header/header.scss */
    .sticky--show .header--clone {
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0); }
    /* line 48, Resources/Private/Frontend/component/header/header.scss */
    .sticky--show.off-canvas--show .header--clone {
      -webkit-transform: translate(-285px, 0);
          -ms-transform: translate(-285px, 0);
              transform: translate(-285px, 0); }
  /* line 53, Resources/Private/Frontend/component/header/header.scss */
  .header__branding {
    background: url(../img/logo-finetech.png) no-repeat center center;
    background-size: cover;
    display: block;
    font-size: 0;
    color: transparent;
    width: 111px;
    height: 30px;
    margin: 0.5625rem 0; }
    @media print, screen and (min-width: 40em) {
      /* line 53, Resources/Private/Frontend/component/header/header.scss */
      .header__branding {
        width: 170px;
        height: 46px;
        margin: 1.0625rem 0; } }
    /* line 69, Resources/Private/Frontend/component/header/header.scss */
    .sticky--show .header__branding {
      background-image: url(../img/logo-finetech-signet.png);
      width: 15px;
      height: 15px;
      margin: 1.0625rem 0 1rem; }
      @media print, screen and (min-width: 40em) {
        /* line 69, Resources/Private/Frontend/component/header/header.scss */
        .sticky--show .header__branding {
          width: 21px;
          height: 21px;
          margin: 0.875rem 0 0.8125rem; } }
  /* line 84, Resources/Private/Frontend/component/header/header.scss */
  .header > .row {
    position: relative; }
    /* line 87, Resources/Private/Frontend/component/header/header.scss */
    .header > .row:before {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      content: '';
      border-bottom: 1px solid #e7e7e7; }

/* line 102, Resources/Private/Frontend/component/header/header.scss */
.nav-top a {
  color: #58595b;
  font-size: 0.75rem;
  font-weight: 700; }
  /* line 24, Resources/Private/Frontend/sass/partials/_mixins.scss */
  .nav-top a:focus {
    color: #58595b; }
  /* line 33, Resources/Private/Frontend/sass/partials/_mixins.scss */
  .nav-top a:visited {
    color: #58595b; }
  /* line 42, Resources/Private/Frontend/sass/partials/_mixins.scss */
  .nav-top a:active {
    color: #58595b; }
  /* line 51, Resources/Private/Frontend/sass/partials/_mixins.scss */
  .nav-top a:hover {
    color: #58595b; }
  /* line 105, Resources/Private/Frontend/component/header/header.scss */
  .nav-top a:not(.button) {
    line-height: 5rem; }
    /* line 107, Resources/Private/Frontend/component/header/header.scss */
    .header--clone .nav-top a:not(.button) {
      line-height: 3.125rem; }

/* line 116, Resources/Private/Frontend/component/header/header.scss */
.nav-top .button {
  color: #fff;
  margin-bottom: 0;
  margin-left: 20px;
  margin-right: 0.625rem;
  padding: 0 1.25rem;
  line-height: 2.1875rem;
  border: none; }
  /* line 24, Resources/Private/Frontend/sass/partials/_mixins.scss */
  .nav-top .button:focus {
    color: #fff; }
  /* line 33, Resources/Private/Frontend/sass/partials/_mixins.scss */
  .nav-top .button:visited {
    color: #fff; }
  /* line 42, Resources/Private/Frontend/sass/partials/_mixins.scss */
  .nav-top .button:active {
    color: #fff; }
  /* line 51, Resources/Private/Frontend/sass/partials/_mixins.scss */
  .nav-top .button:hover {
    color: #fff; }

/* line 126, Resources/Private/Frontend/component/header/header.scss */
.nav-top__lang {
  height: 3rem;
  margin: 0;
  font-size: 0.75rem;
  display: inline-block;
  padding: 0;
  float: right; }
  @media print, screen and (min-width: 64em) {
    /* line 126, Resources/Private/Frontend/component/header/header.scss */
    .nav-top__lang {
      border-left: 1px solid #e7e7e7;
      padding: 0 1.25rem;
      height: 5rem;
      float: none; } }
  /* line 141, Resources/Private/Frontend/component/header/header.scss */
  .header--clone .nav-top__lang {
    height: 3.125rem; }
  /* line 149, Resources/Private/Frontend/component/header/header.scss */
  .nav-top__lang li {
    display: inline-block; }
    /* line 152, Resources/Private/Frontend/component/header/header.scss */
    .nav-top__lang li span {
      color: #a7a8a9;
      line-height: 3rem;
      font-weight: 700; }
      @media print, screen and (min-width: 64em) {
        /* line 152, Resources/Private/Frontend/component/header/header.scss */
        .nav-top__lang li span {
          line-height: 5rem; } }
      /* line 162, Resources/Private/Frontend/component/header/header.scss */
      .header--clone .nav-top__lang li span {
        line-height: 3.125rem; }
    /* line 171, Resources/Private/Frontend/component/header/header.scss */
    .nav-top__lang li.active span {
      color: #f7941d; }
  /* line 177, Resources/Private/Frontend/component/header/header.scss */
  .nav-top__lang span,
  .nav-top__lang a {
    padding: 0 0.3125rem; }
    @media print, screen and (min-width: 64em) {
      /* line 177, Resources/Private/Frontend/component/header/header.scss */
      .nav-top__lang span,
      .nav-top__lang a {
        padding: 0 0.625rem; } }
  /* line 186, Resources/Private/Frontend/component/header/header.scss */
  .header--landing .nav-top__lang {
    border: none; }

/* line 191, Resources/Private/Frontend/component/header/header.scss */
.nav-top__member {
  padding-left: 1.6875rem;
  padding-right: 1.875rem;
  display: inline-block;
  text-align: right;
  border-left: 1px solid #e7e7e7;
  border-right: 1px solid #e7e7e7; }

/* line 200, Resources/Private/Frontend/component/header/header.scss */
.nav-top__burger {
  padding-left: 1.6875rem;
  text-align: right; }
  /* line 202, Resources/Private/Frontend/component/header/header.scss */
  .nav-top__burger a {
    display: block;
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 5rem;
    padding: 0;
    margin-right: 0;
    color: #f7941d; }
    /* line 24, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .nav-top__burger a:focus {
      color: #f7941d; }
    /* line 33, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .nav-top__burger a:visited {
      color: #f7941d; }
    /* line 42, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .nav-top__burger a:active {
      color: #f7941d; }
    /* line 51, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .nav-top__burger a:hover {
      color: #f7941d; }

/* line 216, Resources/Private/Frontend/component/header/header.scss */
.search-top {
  margin-top: 1.4375rem; }
  /* line 218, Resources/Private/Frontend/component/header/header.scss */
  .header--clone .search-top {
    margin-top: 0.5rem; }

/* line 223, Resources/Private/Frontend/component/header/header.scss */
.icon--search {
  position: absolute;
  right: 1.25rem;
  top: 0;
  opacity: 1;
  visibility: visible; }

/* line 233, Resources/Private/Frontend/component/header/header.scss */
.sticky--show .logo__text {
  display: none; }

@media screen and (max-width: 39.9375em) {
  /* line 240, Resources/Private/Frontend/component/header/header.scss */
  .logo {
    display: block; }
    /* line 242, Resources/Private/Frontend/component/header/header.scss */
    .logo__wrap {
      display: block;
      width: 8.5rem;
      margin: 0.375rem 0; }
      /* line 248, Resources/Private/Frontend/component/header/header.scss */
      .sticky--show .logo__wrap {
        margin-top: 1rem; } }

@media print, screen and (min-width: 40em) {
  /* line 256, Resources/Private/Frontend/component/header/header.scss */
  .logo {
    margin: 0;
    width: 10.625rem;
    height: 5rem;
    display: block; }
    /* line 261, Resources/Private/Frontend/component/header/header.scss */
    .logo__wrap {
      width: 10.625rem;
      height: 5rem; }
  /* line 268, Resources/Private/Frontend/component/header/header.scss */
  .sticky--show .logo {
    position: relative;
    height: 3.125rem;
    margin: 0;
    top: 0.8125rem; }
    /* line 273, Resources/Private/Frontend/component/header/header.scss */
    .sticky--show .logo__wrap {
      height: 3.125rem; }
  /* line 282, Resources/Private/Frontend/component/header/header.scss */
  .header--clone {
    overflow: hidden; }
  /* line 288, Resources/Private/Frontend/component/header/header.scss */
  .header > .row:before {
    left: 0.9375rem;
    right: 0.9375rem; } }

/**
 * footer.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2017-07-04
 * Author: mariodrengner (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 22, Resources/Private/Frontend/component/footer/footer.scss */
.footer__cookie-revoke {
  color: #fff;
  font-size: 0.875rem;
  font-weight: 500;
  display: block;
  position: relative;
  margin-left: 1.25rem; }
  /* line 30, Resources/Private/Frontend/component/footer/footer.scss */
  .footer__cookie-revoke::before {
    content: '';
    width: 0.0625rem;
    height: 100%;
    background: rgba(255, 255, 255, 0.2);
    position: absolute;
    left: -1.25rem; }
  /* line 39, Resources/Private/Frontend/component/footer/footer.scss */
  .footer__cookie-revoke:hover {
    color: #fff;
    text-decoration: underline; }

/* line 45, Resources/Private/Frontend/component/footer/footer.scss */
.footer-bottom {
  background: #a7a8a9;
  font-weight: 500;
  font-size: 0.625rem; }
  /* line 50, Resources/Private/Frontend/component/footer/footer.scss */
  .footer-bottom p {
    margin: 0.75rem 0;
    color: #58595b; }
  @media print, screen and (min-width: 40em) {
    /* line 45, Resources/Private/Frontend/component/footer/footer.scss */
    .footer-bottom {
      font-size: 0.875rem; } }

@media screen {
  /* line 63, Resources/Private/Frontend/component/footer/footer.scss */
  .footer-wrap {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 0; } }

/**
 * nav-main.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2017-07-04
 * Author: mariodrengner (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 20, Resources/Private/Frontend/component/nav-main/nav-main.scss */
.nav-main {
  border-top: 1px solid #e7e7e7; }
  /* line 22, Resources/Private/Frontend/component/nav-main/nav-main.scss */
  .nav-main ul {
    margin: 0;
    display: table;
    width: 100%; }
  /* line 28, Resources/Private/Frontend/component/nav-main/nav-main.scss */
  .nav-main a {
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.25rem;
    display: block;
    padding: 0.9375rem 1.5625rem; }
  /* line 36, Resources/Private/Frontend/component/nav-main/nav-main.scss */
  .nav-main li {
    display: table-cell; }
    /* line 39, Resources/Private/Frontend/component/nav-main/nav-main.scss */
    .nav-main li a {
      color: #58595b; }
      /* line 24, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .nav-main li a:focus {
        color: #58595b; }
      /* line 33, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .nav-main li a:visited {
        color: #58595b; }
      /* line 42, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .nav-main li a:active {
        color: #58595b; }
      /* line 51, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .nav-main li a:hover {
        color: #58595b; }
  /* line 46, Resources/Private/Frontend/component/nav-main/nav-main.scss */
  .nav-main .active a {
    color: #f7941d; }
    /* line 24, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .nav-main .active a:focus {
      color: #f7941d; }
    /* line 33, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .nav-main .active a:visited {
      color: #f7941d; }
    /* line 42, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .nav-main .active a:active {
      color: #f7941d; }
    /* line 51, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .nav-main .active a:hover {
      color: #f7941d; }
  /* line 52, Resources/Private/Frontend/component/nav-main/nav-main.scss */
  .nav-main__mobile-trigger {
    position: relative;
    height: 3rem;
    width: 2.375rem;
    line-height: 3rem;
    text-align: right;
    display: inline-block;
    z-index: 52;
    cursor: pointer;
    font-size: 1.3125rem;
    float: right; }

/**
 * nav-mega.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2017-07-04
 * Author: mariodrengner (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 20, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
.nav-mega {
  background: #58595b; }
  /* line 24, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
  .nav-mega strong {
    font-size: 1rem;
    color: #a7a8a9; }
  /* line 29, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
  .nav-mega ul {
    list-style: none;
    padding: 0;
    margin: 0; }
    /* line 88, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .nav-mega ul li {
      list-style-image: none;
      list-style-type: none;
      margin-left: 0; }
    /* line 33, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
    .nav-mega ul a {
      font-weight: 500;
      font-size: 0.875rem;
      color: white; }
      /* line 24, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .nav-mega ul a:focus {
        color: white; }
      /* line 33, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .nav-mega ul a:visited {
        color: white; }
      /* line 42, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .nav-mega ul a:active {
        color: white; }
      /* line 47, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .nav-mega ul a:hover {
        color: #a7a8a9; }
  /* line 39, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
  .nav-mega__top {
    position: relative; }
  /* line 43, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
  .nav-mega__cols {
    border-top: 1px solid #676769;
    border-bottom: 1px solid #676769; }
    /* line 48, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
    .nav-mega__cols ul {
      list-style: none;
      padding: 0;
      margin: 0; }
      /* line 88, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .nav-mega__cols ul li {
        list-style-image: none;
        list-style-type: none;
        margin-left: 0; }
      /* line 53, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
      .nav-mega__cols ul li {
        margin: 0.3125rem 0;
        padding: 0.0625rem 0; }
      /* line 57, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
      .nav-mega__cols ul a {
        line-height: 1.25;
        display: block; }
      /* line 62, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
      .nav-mega__cols ul ul {
        margin-left: 0.875rem; }
        /* line 64, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
        .nav-mega__cols ul ul a {
          position: relative; }
          /* line 66, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
          .nav-mega__cols ul ul a:before {
            position: absolute;
            left: -0.8125rem;
            content: "»";
            /* Insert content that looks like bullets */
            padding-right: 8px;
            color: white; }
    /* line 77, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
    .nav-mega__cols .column, .nav-mega__cols .columns {
      padding-top: 0.9375rem;
      padding-bottom: 0.9375rem; }
      /* line 80, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
      .nav-mega__cols .column + .column, .nav-mega__cols .columns + .column, .nav-mega__cols .column + .columns, .nav-mega__cols .columns + .columns {
        border-left: 1px solid #676769; }
  /* line 88, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
  .nav-mega__box--social ul {
    list-style: none; }
    /* line 88, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .nav-mega__box--social ul li {
      list-style-image: none;
      list-style-type: none;
      margin-left: 0; }
    /* line 91, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
    .nav-mega__box--social ul a:before {
      content: '';
      padding: 0; }
  /* line 98, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
  .nav-mega__box + .nav-mega__box {
    margin-top: 0.9375rem; }
  /* line 102, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
  .nav-footer .nav-mega__box {
    margin-top: 1.5625rem; }
  /* line 108, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
  .nav-mega__bottom {
    margin-top: 0.625rem;
    text-align: center; }
    @media print, screen and (min-width: 40em) {
      /* line 108, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
      .nav-mega__bottom {
        text-align: left; } }
    /* line 116, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
    .nav-mega__bottom strong,
    .nav-mega__bottom ul,
    .nav-mega__bottom li {
      display: inline-block; }
    /* line 122, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
    .nav-mega__bottom ul {
      display: block; }
      @media print, screen and (min-width: 40em) {
        /* line 122, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
        .nav-mega__bottom ul {
          display: inline-block; } }
    /* line 130, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
    .nav-mega__bottom li {
      padding: 0 0.625rem; }
      @media print, screen and (min-width: 40em) {
        /* line 130, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
        .nav-mega__bottom li {
          padding: 0 0 0 1.25rem; } }
    /* line 138, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
    .nav-mega .nav-mega__bottom {
      padding-bottom: 0.625rem; }
  /* line 144, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
  .nav-mega__link--342, .nav-mega__link--343, .nav-mega__link--348, .nav-mega__link--347 {
    position: relative;
    padding-left: 1.25rem; }
    /* line 151, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
    .nav-mega__link--342:before, .nav-mega__link--343:before, .nav-mega__link--348:before, .nav-mega__link--347:before {
      position: absolute;
      left: 0;
      top: 2px; }
  /* line 187, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
  .nav-mega__cookie {
    color: #fff;
    font-size: 0.875rem;
    font-weight: 500;
    display: block;
    position: relative;
    margin-left: 1.25rem; }
    /* line 195, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
    .nav-mega__cookie::before {
      content: '';
      width: 0.0625rem;
      height: 100%;
      background: rgba(255, 255, 255, 0.2);
      position: absolute;
      left: -1.25rem; }
    /* line 204, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
    .nav-mega__cookie:hover {
      color: #fff; }

/* line 212, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
.icon--close {
  position: absolute;
  right: 1.5625rem;
  top: 0;
  line-height: 5rem;
  font-size: 1.125rem;
  color: white; }
  /* line 24, Resources/Private/Frontend/sass/partials/_mixins.scss */
  .icon--close:focus {
    color: white; }
  /* line 33, Resources/Private/Frontend/sass/partials/_mixins.scss */
  .icon--close:visited {
    color: white; }
  /* line 42, Resources/Private/Frontend/sass/partials/_mixins.scss */
  .icon--close:active {
    color: white; }
  /* line 51, Resources/Private/Frontend/sass/partials/_mixins.scss */
  .icon--close:hover {
    color: white; }
  /* line 220, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
  .sticky--show .icon--close {
    line-height: 3.125rem; }

@media print, screen and (min-width: 64em) {
  /* line 227, Resources/Private/Frontend/component/nav-mega/nav-mega.scss */
  #offCanvasTop {
    height: auto; } }

/**
 * nav-footer.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2017-07-05
 * Author: mariodrengner (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 20, Resources/Private/Frontend/component/nav-footer/nav-footer.scss */
.nav-footer {
  background: url("../img/bg_footer.png");
  background-size: cover;
  background-repeat: no-repeat; }
  /* line 26, Resources/Private/Frontend/component/nav-footer/nav-footer.scss */
  .nav-footer strong {
    font-size: 1rem;
    color: #a7a8a9; }
  /* line 31, Resources/Private/Frontend/component/nav-footer/nav-footer.scss */
  .nav-footer ul {
    list-style: none;
    padding: 0;
    margin: 0; }
    /* line 88, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .nav-footer ul li {
      list-style-image: none;
      list-style-type: none;
      margin-left: 0; }
    /* line 35, Resources/Private/Frontend/component/nav-footer/nav-footer.scss */
    .nav-footer ul a {
      font-size: 0.875rem;
      font-weight: 500;
      color: white; }
      /* line 24, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .nav-footer ul a:focus {
        color: white; }
      /* line 33, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .nav-footer ul a:visited {
        color: white; }
      /* line 42, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .nav-footer ul a:active {
        color: white; }
      /* line 47, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .nav-footer ul a:hover {
        color: #a7a8a9; }
  /* line 42, Resources/Private/Frontend/component/nav-footer/nav-footer.scss */
  .nav-footer .nav-mega__bottom {
    margin-bottom: 0.9375rem; }

/**
 * nav-breadcrumb.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2017-07-05
 * Author: mariodrengner (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 20, Resources/Private/Frontend/component/nav-breadcrumb/nav-breadcrumb.scss */
.nav-breadcrumb {
  border-bottom: 1px solid #e7e7e7;
  font-size: 0.75rem;
  font-weight: 500; }
  /* line 25, Resources/Private/Frontend/component/nav-breadcrumb/nav-breadcrumb.scss */
  .nav-breadcrumb ul {
    list-style: none;
    margin: 0;
    color: #58595b; }
    /* line 88, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .nav-breadcrumb ul li {
      list-style-image: none;
      list-style-type: none;
      margin-left: 0; }
    /* line 29, Resources/Private/Frontend/component/nav-breadcrumb/nav-breadcrumb.scss */
    .nav-breadcrumb ul li {
      display: inline-block; }
      /* line 32, Resources/Private/Frontend/component/nav-breadcrumb/nav-breadcrumb.scss */
      .nav-breadcrumb ul li + li:before {
        margin-right: 0.4375rem;
        margin-left: 0.4375rem;
        content: '»';
        vertical-align: 0.0625rem;
        line-height: 1.875rem; }
      /* line 40, Resources/Private/Frontend/component/nav-breadcrumb/nav-breadcrumb.scss */
      .nav-breadcrumb ul li:first-child {
        font-weight: 700; }
  /* line 45, Resources/Private/Frontend/component/nav-breadcrumb/nav-breadcrumb.scss */
  .nav-breadcrumb a {
    color: #58595b; }
    /* line 24, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .nav-breadcrumb a:focus {
      color: #58595b; }
    /* line 33, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .nav-breadcrumb a:visited {
      color: #58595b; }
    /* line 42, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .nav-breadcrumb a:active {
      color: #58595b; }
    /* line 51, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .nav-breadcrumb a:hover {
      color: #58595b; }
  /* line 48, Resources/Private/Frontend/component/nav-breadcrumb/nav-breadcrumb.scss */
  .nav-breadcrumb span {
    color: #f7941d; }
    /* line 51, Resources/Private/Frontend/component/nav-breadcrumb/nav-breadcrumb.scss */
    .ci-blue .nav-breadcrumb span {
      color: #25aae2; }
    /* line 55, Resources/Private/Frontend/component/nav-breadcrumb/nav-breadcrumb.scss */
    .ci-green .nav-breadcrumb span {
      color: #74b74a; }
    /* line 59, Resources/Private/Frontend/component/nav-breadcrumb/nav-breadcrumb.scss */
    .ci-grey .nav-breadcrumb span {
      color: #58595b; }

/**
 * box.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2017-07-05
 * Author: mariodrengner (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 24, Resources/Private/Frontend/component/box/box.scss */
.module.flip-me .card {
  -webkit-transition: 0.6s;
  -o-transition: 0.6s;
  transition: 0.6s;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d; }

/* line 28, Resources/Private/Frontend/component/box/box.scss */
.module.flip-me:hover .card {
  -webkit-transform: rotateY(180deg);
          transform: rotateY(180deg); }

/* line 32, Resources/Private/Frontend/component/box/box.scss */
.module.flip-me .front,
.module.flip-me .back {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-perspective: 0;
          perspective: 0;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

/* line 41, Resources/Private/Frontend/component/box/box.scss */
.module.flip-me.hide-image .back {
  opacity: 0; }

/* line 46, Resources/Private/Frontend/component/box/box.scss */
.module.flip-me .front {
  z-index: 2; }
  /* line 48, Resources/Private/Frontend/component/box/box.scss */
  .module.flip-me .front .icon--lock {
    font-size: 25px; }

/* line 52, Resources/Private/Frontend/component/box/box.scss */
.module.flip-me .back {
  -webkit-box-shadow: 0 6px 37.24px 0.76px rgba(0, 0, 0, 0.2);
          box-shadow: 0 6px 37.24px 0.76px rgba(0, 0, 0, 0.2);
  z-index: 1;
  -webkit-transform: rotateY(180deg);
          transform: rotateY(180deg);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center; }
  /* line 65, Resources/Private/Frontend/component/box/box.scss */
  .module.flip-me .back .download-text {
    font-size: 14px;
    color: #444;
    font-weight: 600;
    border: 2px solid #444;
    width: 120px;
    text-align: center;
    position: absolute;
    bottom: 10px;
    right: 10px;
    padding: 5px;
    border-radius: 4px;
    -webkit-transition: all .4s ease-in;
    -o-transition: all .4s ease-in;
    transition: all .4s ease-in; }
    /* line 78, Resources/Private/Frontend/component/box/box.scss */
    .module.flip-me .back .download-text:hover {
      background-color: #ffffff8a; }

/* line 86, Resources/Private/Frontend/component/box/box.scss */
.box {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: white;
  height: 100%;
  font-size: 0.875rem;
  color: inherit;
  -webkit-box-shadow: 0 0.0625rem 0.625rem rgba(0, 0, 0, 0.2);
          box-shadow: 0 0.0625rem 0.625rem rgba(0, 0, 0, 0.2); }
  /* line 24, Resources/Private/Frontend/sass/partials/_mixins.scss */
  .box:focus {
    color: inherit; }
  /* line 33, Resources/Private/Frontend/sass/partials/_mixins.scss */
  .box:visited {
    color: inherit; }
  /* line 42, Resources/Private/Frontend/sass/partials/_mixins.scss */
  .box:active {
    color: inherit; }
  /* line 51, Resources/Private/Frontend/sass/partials/_mixins.scss */
  .box:hover {
    color: inherit; }
  /* line 103, Resources/Private/Frontend/component/box/box.scss */
  .module .box {
    display: block; }
  /* line 107, Resources/Private/Frontend/component/box/box.scss */
  .box--contact {
    font-size: 1rem; }
    /* line 110, Resources/Private/Frontend/component/box/box.scss */
    .box--contact a {
      font-weight: bold; }
      /* line 113, Resources/Private/Frontend/component/box/box.scss */
      .ci-blue .main .box--contact a,
      .ci-green .main .box--contact a,
      .ci-grey .main .box--contact a {
        color: #f7941d !important; }
  /* line 121, Resources/Private/Frontend/component/box/box.scss */
  .box img {
    -ms-flex-negative: 0;
        flex-shrink: 0; }
  /* line 125, Resources/Private/Frontend/component/box/box.scss */
  .box__img {
    position: relative;
    width: 100%; }
    /* line 130, Resources/Private/Frontend/component/box/box.scss */
    .row--blog .box__img {
      -o-object-fit: cover;
         object-fit: cover;
      height: 100%; }
    /* line 136, Resources/Private/Frontend/component/box/box.scss */
    .box__img--video:before, .box__img--video:after {
      position: absolute;
      z-index: 1;
      content: '';
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
    /* line 146, Resources/Private/Frontend/component/box/box.scss */
    .box__img--video:before {
      width: 3.75rem;
      height: 3.75rem;
      border: 1px solid white;
      background-color: rgba(0, 0, 0, 0.5);
      border-radius: 0.9375rem; }
    /* line 153, Resources/Private/Frontend/component/box/box.scss */
    .box__img--video:after {
      border: 0.78125rem solid transparent;
      border-left: 1.5625rem solid white;
      border-right: 0;
      height: 0;
      width: 0;
      display: block;
      margin-left: 0.125rem; }
  /* line 166, Resources/Private/Frontend/component/box/box.scss */
  .box__inner {
    padding: 1.25rem;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    /* line 170, Resources/Private/Frontend/component/box/box.scss */
    .module .box__inner {
      padding: 1.25rem 1.875rem 1.25rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      height: 100%; }
      /* line 175, Resources/Private/Frontend/component/box/box.scss */
      .module .box__inner p {
        -webkit-box-flex: 1;
            -ms-flex: 1 0 auto;
                flex: 1 0 auto; }
      /* line 179, Resources/Private/Frontend/component/box/box.scss */
      .module .box__inner .button {
        -webkit-box-flex: 0;
            -ms-flex: 0;
                flex: 0;
        text-align: center; }
    /* line 185, Resources/Private/Frontend/component/box/box.scss */
    .box__inner p {
      text-align: left; }
      /* line 187, Resources/Private/Frontend/component/box/box.scss */
      .box__inner p:last-child {
        margin-bottom: 0; }
    /* line 192, Resources/Private/Frontend/component/box/box.scss */
    .box__inner .icon {
      margin-right: 0.3125rem; }
  /* line 201, Resources/Private/Frontend/component/box/box.scss */
  .box__headline, .box__name {
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.3;
    margin-bottom: 0.625rem; }
  /* line 209, Resources/Private/Frontend/component/box/box.scss */
  .box__location {
    font-size: 0.875rem;
    display: block;
    margin-top: -0.625rem;
    margin-bottom: 0.625rem; }
  /* line 217, Resources/Private/Frontend/component/box/box.scss */
  .box__contact-data {
    margin-top: 0.625rem; }
  /* line 223, Resources/Private/Frontend/component/box/box.scss */
  .box__headline .icon {
    margin-right: 0.3125rem; }
    /* line 226, Resources/Private/Frontend/component/box/box.scss */
    .box__headline .icon--globe:before {
      vertical-align: -0.1875rem; }
  /* line 233, Resources/Private/Frontend/component/box/box.scss */
  a .box__headline:after {
    content: '›';
    color: #f7941d;
    margin-left: 0.3125rem;
    vertical-align: 0.0625rem; }
  /* line 242, Resources/Private/Frontend/component/box/box.scss */
  .box__headline--sub, .box__headline--big {
    content: none; }
  /* line 246, Resources/Private/Frontend/component/box/box.scss */
  .box__headline--big {
    font-size: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      /* line 246, Resources/Private/Frontend/component/box/box.scss */
      .box__headline--big {
        font-size: 1.5rem; } }
    @media print, screen and (min-width: 64em) {
      /* line 253, Resources/Private/Frontend/component/box/box.scss */
      .box--highlight .box__headline--big {
        font-size: 2.375rem;
        font-weight: 400; } }
  /* line 260, Resources/Private/Frontend/component/box/box.scss */
  .box__headline--medium {
    font-size: 1.125rem;
    color: #f7941d;
    display: block; }
  /* line 265, Resources/Private/Frontend/component/box/box.scss */
  .box__headline--sub {
    font-size: 1rem;
    color: #f7941d;
    margin-bottom: 0.625rem; }
  /* line 272, Resources/Private/Frontend/component/box/box.scss */
  .box__footer {
    padding: 0.625rem 1.25rem;
    border-top: 1px solid #e7e7e7;
    color: #58595b;
    font-size: 0.75rem; }
    /* line 278, Resources/Private/Frontend/component/box/box.scss */
    .box__footer strong {
      color: #a7a8a9; }
      /* line 280, Resources/Private/Frontend/component/box/box.scss */
      .box__footer strong a {
        color: inherit; }
        /* line 24, Resources/Private/Frontend/sass/partials/_mixins.scss */
        .box__footer strong a:focus {
          color: inherit; }
        /* line 33, Resources/Private/Frontend/sass/partials/_mixins.scss */
        .box__footer strong a:visited {
          color: inherit; }
        /* line 42, Resources/Private/Frontend/sass/partials/_mixins.scss */
        .box__footer strong a:active {
          color: inherit; }
        /* line 51, Resources/Private/Frontend/sass/partials/_mixins.scss */
        .box__footer strong a:hover {
          color: inherit; }
  /* line 286, Resources/Private/Frontend/component/box/box.scss */
  .box__badge {
    position: absolute;
    top: -0.9375rem;
    right: -0.9375rem;
    width: 6.25rem;
    height: auto; }
  /* line 300, Resources/Private/Frontend/component/box/box.scss */
  .box__dates {
    list-style: none;
    margin: 1.25rem 0 0;
    font-size: 1.125rem; }
    /* line 88, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .box__dates li {
      list-style-image: none;
      list-style-type: none;
      margin-left: 0; }
    /* line 304, Resources/Private/Frontend/component/box/box.scss */
    .box__dates strong {
      margin-right: 0.3125rem;
      color: #f7941d;
      display: inline-block;
      width: 7.1875rem;
      font-size: 1rem; }
      /* line 312, Resources/Private/Frontend/component/box/box.scss */
      .box--events .box__dates strong {
        width: 12.1875rem; }
      @media print, screen and (min-width: 40em) {
        /* line 304, Resources/Private/Frontend/component/box/box.scss */
        .box__dates strong {
          font-size: 1.0625rem; } }
    /* line 321, Resources/Private/Frontend/component/box/box.scss */
    .box__dates small {
      font-size: 0.75rem; }
    /* line 325, Resources/Private/Frontend/component/box/box.scss */
    .box__dates span {
      display: block;
      vertical-align: -0.0625rem;
      margin-left: 0.1875rem; }
    /* line 331, Resources/Private/Frontend/component/box/box.scss */
    .box__dates .article {
      margin-top: 0.625rem;
      padding-bottom: 0.625rem;
      border-bottom: 1px solid #e7e7e7; }
  /* line 338, Resources/Private/Frontend/component/box/box.scss */
  .box__date {
    color: #f7941d;
    margin-bottom: 0.3125rem; }
  /* line 343, Resources/Private/Frontend/component/box/box.scss */
  .box__filter {
    font-weight: normal;
    height: 0.3125rem; }
    /* line 95, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .box__filter--green-1 {
      background-color: #74b74a; }
    /* line 95, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .box__filter--green-2 {
      background-color: #abe08a; }
    /* line 95, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .box__filter--green-3 {
      background-color: #3b9115; }
    /* line 95, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .box__filter--green-4 {
      background-color: #1d5803; }
    /* line 95, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .box__filter--blue-1 {
      background-color: #25aae2; }
    /* line 95, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .box__filter--blue-2 {
      background-color: #82d9fe; }
    /* line 95, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .box__filter--blue-3 {
      background-color: #49829a; }
    /* line 95, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .box__filter--blue-4 {
      background-color: #01354b; }
    /* line 95, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .box__filter--orange-1 {
      background-color: #f7941d; }
    /* line 95, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .box__filter--orange-2 {
      background-color: #fac27e; }
    /* line 95, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .box__filter--orange-3 {
      background-color: #a5610e; }
    /* line 95, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .box__filter--orange-4 {
      background-color: #633d00; }
  /* line 377, Resources/Private/Frontend/component/box/box.scss */
  .box__cta {
    font-size: 1rem;
    border-bottom: 2px solid #f7941d;
    padding-bottom: -0.0625rem; }
  /* line 387, Resources/Private/Frontend/component/box/box.scss */
  .box .icon--lock {
    position: absolute;
    right: 0.4375rem;
    bottom: 0.1875rem; }
  /* line 395, Resources/Private/Frontend/component/box/box.scss */
  .box--news a {
    color: inherit; }
  /* line 401, Resources/Private/Frontend/component/box/box.scss */
  .box--highlight {
    -webkit-box-shadow: none;
            box-shadow: none;
    height: auto;
    background: transparent;
    margin-bottom: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      /* line 401, Resources/Private/Frontend/component/box/box.scss */
      .box--highlight {
        margin-bottom: 1.875rem; } }
    /* line 412, Resources/Private/Frontend/component/box/box.scss */
    .box--highlight .box__inner {
      font-size: 1.125rem; }
    /* line 416, Resources/Private/Frontend/component/box/box.scss */
    .box--highlight .box__footer {
      font-size: 0.875rem;
      margin: auto 1.875rem;
      padding: 0.9375rem 0; }
    /* line 422, Resources/Private/Frontend/component/box/box.scss */
    .box--highlight-white, .box--highlight-border {
      border: 1px solid #c2c2c2;
      border-radius: 0.1875rem; }
    /* line 428, Resources/Private/Frontend/component/box/box.scss */
    .box--highlight-white {
      background: white; }
  /* line 433, Resources/Private/Frontend/component/box/box.scss */
  .box hr {
    margin: -0.25rem auto 0.8125rem; }
  /* line 437, Resources/Private/Frontend/component/box/box.scss */
  .box .md-5 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  /* line 440, Resources/Private/Frontend/component/box/box.scss */
  .box .md-7 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  @media print, screen and (min-width: 64em) {
    /* line 445, Resources/Private/Frontend/component/box/box.scss */
    .box__inner {
      padding: 1.875rem; }
    /* line 449, Resources/Private/Frontend/component/box/box.scss */
    .box__footer {
      padding: 0.625rem 1.875rem; }
    /* line 453, Resources/Private/Frontend/component/box/box.scss */
    .box .md-5 {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; }
    /* line 456, Resources/Private/Frontend/component/box/box.scss */
    .box .md-7 {
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; } }

/* line 462, Resources/Private/Frontend/component/box/box.scss */
a.box {
  -webkit-transition: -webkit-box-shadow 0.3s ease-in-out;
  transition: -webkit-box-shadow 0.3s ease-in-out;
  -o-transition: box-shadow 0.3s ease-in-out;
  transition: box-shadow 0.3s ease-in-out;
  transition: box-shadow 0.3s ease-in-out, -webkit-box-shadow 0.3s ease-in-out; }
  /* line 464, Resources/Private/Frontend/component/box/box.scss */
  a.box:hover, a.box:focus {
    -webkit-box-shadow: 0 6px 37.24px 0.76px rgba(0, 0, 0, 0.2);
            box-shadow: 0 6px 37.24px 0.76px rgba(0, 0, 0, 0.2); }

/* line 471, Resources/Private/Frontend/component/box/box.scss */
a .show-link-icon:after {
  content: '›';
  color: #f7941d;
  margin-left: 0.3125rem; }

/**
 * buttons.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2017-07-10
 * Author: mariodrengner (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 19, Resources/Private/Frontend/component/buttons/buttons.scss */
.btn {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: "Open Sans", Helvetica, Roboto, Arial, sans-serif;
  padding: 0.75rem 1.25rem;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  -o-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 1.25rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: 700; }
  /* line 202, bower_components/foundation-sites/scss/util/_mixins.scss */
  [data-whatinput='mouse'] .btn {
    outline: 0; }
  /* line 25, Resources/Private/Frontend/component/buttons/buttons.scss */
  .btn__filter {
    border: 1px solid #d7d7d8;
    border-radius: 0.25rem;
    text-align: left;
    position: relative;
    padding: 0.5rem 1.875rem 0.5rem 0.9375rem;
    color: #f7941d;
    display: block;
    width: 100%;
    font-size: 1.25rem; }
    /* line 24, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .btn__filter:focus {
      color: #f7941d; }
    /* line 33, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .btn__filter:visited {
      color: #f7941d; }
    /* line 42, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .btn__filter:active {
      color: #f7941d; }
    /* line 51, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .btn__filter:hover {
      color: #f7941d; }
    @media print, screen and (min-width: 40em) {
      /* line 25, Resources/Private/Frontend/component/buttons/buttons.scss */
      .btn__filter {
        display: inline-block; } }
    /* line 41, Resources/Private/Frontend/component/buttons/buttons.scss */
    .btn__filter:before {
      display: block;
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      opacity: 0;
      z-index: -1; }
    /* line 53, Resources/Private/Frontend/component/buttons/buttons.scss */
    .btn__filter:after {
      content: '+';
      position: absolute;
      font-weight: 700;
      display: inline-block;
      margin-top: 0.0625rem;
      right: 0.625rem;
      -webkit-transition: -webkit-transform 0.3s ease-in-out;
      transition: -webkit-transform 0.3s ease-in-out;
      -o-transition: transform 0.3s ease-in-out;
      transition: transform 0.3s ease-in-out;
      transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
      -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
              transform: rotate(180deg); }
    /* line 97, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .btn__filter--green-1:before {
      background-color: #74b74a; }
    /* line 97, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .btn__filter--green-2:before {
      background-color: #abe08a; }
    /* line 97, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .btn__filter--green-3:before {
      background-color: #3b9115; }
    /* line 97, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .btn__filter--green-4:before {
      background-color: #1d5803; }
    /* line 97, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .btn__filter--blue-1:before {
      background-color: #25aae2; }
    /* line 97, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .btn__filter--blue-2:before {
      background-color: #82d9fe; }
    /* line 97, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .btn__filter--blue-3:before {
      background-color: #49829a; }
    /* line 97, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .btn__filter--blue-4:before {
      background-color: #01354b; }
    /* line 97, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .btn__filter--orange-1:before {
      background-color: #f7941d; }
    /* line 97, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .btn__filter--orange-2:before {
      background-color: #fac27e; }
    /* line 97, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .btn__filter--orange-3:before {
      background-color: #a5610e; }
    /* line 97, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .btn__filter--orange-4:before {
      background-color: #633d00; }
    /* line 71, Resources/Private/Frontend/component/buttons/buttons.scss */
    .btn__filter--active {
      border-color: white;
      color: white; }
      /* line 24, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .btn__filter--active:focus {
        color: white; }
      /* line 33, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .btn__filter--active:visited {
        color: white; }
      /* line 42, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .btn__filter--active:active {
        color: white; }
      /* line 51, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .btn__filter--active:hover {
        color: white; }
      /* line 75, Resources/Private/Frontend/component/buttons/buttons.scss */
      .btn__filter--active:before {
        opacity: 1; }
      /* line 79, Resources/Private/Frontend/component/buttons/buttons.scss */
      .btn__filter--active:after {
        -webkit-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
                transform: rotate(45deg); }
  /* line 86, Resources/Private/Frontend/component/buttons/buttons.scss */
  .form--loading .btn__title {
    display: none; }
  /* line 91, Resources/Private/Frontend/component/buttons/buttons.scss */
  .btn__loading {
    display: none; }
    /* line 93, Resources/Private/Frontend/component/buttons/buttons.scss */
    .form--loading .btn__loading {
      display: inline; }
  @media print, screen and (min-width: 64em) {
    /* line 19, Resources/Private/Frontend/component/buttons/buttons.scss */
    .btn {
      font-size: 1.25rem; } }

/* line 103, Resources/Private/Frontend/component/buttons/buttons.scss */
.button {
  position: relative; }
  /* line 106, Resources/Private/Frontend/component/buttons/buttons.scss */
  .button span {
    color: white; }
    /* line 108, Resources/Private/Frontend/component/buttons/buttons.scss */
    .button span[class^=icon] {
      float: left; }
  /* line 113, Resources/Private/Frontend/component/buttons/buttons.scss */
  .button, .button.primary {
    color: white; }
    /* line 24, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .button:focus, .button.primary:focus {
      color: white; }
    /* line 33, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .button:visited, .button.primary:visited {
      color: white; }
    /* line 42, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .button:active, .button.primary:active {
      color: white; }
    /* line 51, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .button:hover, .button.primary:hover {
      color: white; }
  /* line 117, Resources/Private/Frontend/component/buttons/buttons.scss */
  .button.hollow, .button.hollow.primary {
    color: #f7941d; }
    /* line 24, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .button.hollow:focus, .button.hollow.primary:focus {
      color: #f7941d; }
    /* line 33, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .button.hollow:visited, .button.hollow.primary:visited {
      color: #f7941d; }
    /* line 42, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .button.hollow:active, .button.hollow.primary:active {
      color: #f7941d; }
    /* line 51, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .button.hollow:hover, .button.hollow.primary:hover {
      color: #f7941d; }
  /* line 124, Resources/Private/Frontend/component/buttons/buttons.scss */
  .button.hollow span {
    color: black; }
  /* line 130, Resources/Private/Frontend/component/buttons/buttons.scss */
  .button.hollow--white {
    border-color: white !important;
    color: white !important; }
  /* line 139, Resources/Private/Frontend/component/buttons/buttons.scss */
  .button.cta {
    display: inline-block; }
    /* line 142, Resources/Private/Frontend/component/buttons/buttons.scss */
    .cta-w .button.cta {
      display: block; }
    @media print, screen and (min-width: 40em) {
      /* line 139, Resources/Private/Frontend/component/buttons/buttons.scss */
      .button.cta {
        width: 100%;
        max-width: 18.4375rem; } }
    /* line 162, Resources/Private/Frontend/component/buttons/buttons.scss */
    .aside .button.cta {
      text-align: left;
      margin-bottom: 0;
      font-weight: 500; }
  /* line 168, Resources/Private/Frontend/component/buttons/buttons.scss */
  .button span {
    margin-right: 0.9375rem; }
  /* line 172, Resources/Private/Frontend/component/buttons/buttons.scss */
  .button.icon span {
    vertical-align: -0.125rem; }
  /* line 177, Resources/Private/Frontend/component/buttons/buttons.scss */
  .reveal .button {
    width: 100%; }
    /* line 179, Resources/Private/Frontend/component/buttons/buttons.scss */
    .reveal .button:not(.expanded) {
      max-width: 18.4375rem; }
  /* line 184, Resources/Private/Frontend/component/buttons/buttons.scss */
  .button:not(.hollow).secondary {
    color: white; }
  /* line 188, Resources/Private/Frontend/component/buttons/buttons.scss */
  .button.blue {
    background-color: #25aae2; }
    /* line 191, Resources/Private/Frontend/component/buttons/buttons.scss */
    .button.blue:hover {
      background-color: #198bbb; }
    /* line 195, Resources/Private/Frontend/component/buttons/buttons.scss */
    .button.blue.hollow {
      background: transparent;
      border-color: #25aae2;
      color: #25aae2; }
      /* line 24, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .button.blue.hollow:focus {
        color: #25aae2; }
      /* line 33, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .button.blue.hollow:visited {
        color: #25aae2; }
      /* line 42, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .button.blue.hollow:active {
        color: #25aae2; }
      /* line 51, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .button.blue.hollow:hover {
        color: #25aae2; }
      /* line 200, Resources/Private/Frontend/component/buttons/buttons.scss */
      .button.blue.hollow:hover {
        background: transparent;
        border-color: #167aa5;
        color: #167aa5; }
  /* line 208, Resources/Private/Frontend/component/buttons/buttons.scss */
  .button.green {
    background-color: #74b74a; }
    /* line 211, Resources/Private/Frontend/component/buttons/buttons.scss */
    .button.green:hover {
      background-color: #5d933b; }
    /* line 215, Resources/Private/Frontend/component/buttons/buttons.scss */
    .button.green.hollow {
      background: transparent;
      border-color: #74b74a;
      color: #74b74a; }
      /* line 24, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .button.green.hollow:focus {
        color: #74b74a; }
      /* line 33, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .button.green.hollow:visited {
        color: #74b74a; }
      /* line 42, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .button.green.hollow:active {
        color: #74b74a; }
      /* line 51, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .button.green.hollow:hover {
        color: #74b74a; }
      /* line 220, Resources/Private/Frontend/component/buttons/buttons.scss */
      .button.green.hollow:hover {
        border-color: #518133;
        color: #518133; }
  /* line 227, Resources/Private/Frontend/component/buttons/buttons.scss */
  .button.grey {
    background-color: #58595b; }
    /* line 230, Resources/Private/Frontend/component/buttons/buttons.scss */
    .button.grey:hover {
      background-color: #3f4041; }
    /* line 234, Resources/Private/Frontend/component/buttons/buttons.scss */
    .button.grey.hollow {
      background: transparent;
      border-color: #58595b;
      color: #58595b; }
      /* line 24, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .button.grey.hollow:focus {
        color: #58595b; }
      /* line 33, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .button.grey.hollow:visited {
        color: #58595b; }
      /* line 42, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .button.grey.hollow:active {
        color: #58595b; }
      /* line 51, Resources/Private/Frontend/sass/partials/_mixins.scss */
      .button.grey.hollow:hover {
        color: #58595b; }
      /* line 239, Resources/Private/Frontend/component/buttons/buttons.scss */
      .button.grey.hollow:hover {
        border-color: #323334;
        color: #323334; }

/* line 250, Resources/Private/Frontend/component/buttons/buttons.scss */
 .button:hover {
  background-color: #f7941d; }

/* line 254, Resources/Private/Frontend/component/buttons/buttons.scss */
 .button.blue:hover {
  background-color: #25aae2; }

/* line 259, Resources/Private/Frontend/component/buttons/buttons.scss */
 .button.blue.hollow:hover {
  background: transparent;
  border-color: #167aa5;
  color: #167aa5; }

/* line 268, Resources/Private/Frontend/component/buttons/buttons.scss */
 .button.green:hover {
  background-color: #74b74a; }

/* line 273, Resources/Private/Frontend/component/buttons/buttons.scss */
 .button.green.hollow:hover {
  background: transparent;
  border-color: #518133;
  color: #518133; }

/* line 282, Resources/Private/Frontend/component/buttons/buttons.scss */
 .button.grey:hover {
  background-color: #58595b; }

/* line 287, Resources/Private/Frontend/component/buttons/buttons.scss */
 .button.grey.hollow:hover {
  background: transparent;
  border-color: #323334;
  color: #323334; }

/* line 299, Resources/Private/Frontend/component/buttons/buttons.scss */
.cta-w + .cta-w {
  margin-top: -0.9375rem; }

@media print, screen and (min-width: 40em) {
  /* line 303, Resources/Private/Frontend/component/buttons/buttons.scss */
  .cta-w .button.cta {
    display: inline-block; } }

/* line 311, Resources/Private/Frontend/component/buttons/buttons.scss */
button.icon--close {
  cursor: pointer; }

/**
 * reveal.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2017-07-11
 * Author: mariodrengner (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 20, Resources/Private/Frontend/component/reveal/reveal.scss */
.reveal {
  outline: none;
  color: white;
  font-size: 1rem; }
  /* line 26, Resources/Private/Frontend/component/reveal/reveal.scss */
  .reveal--full {
    max-width: none; }
  /* line 31, Resources/Private/Frontend/component/reveal/reveal.scss */
  .reveal .close-button {
    color: #0a0a0a; }
    /* line 24, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .reveal .close-button:focus {
      color: #0a0a0a; }
    /* line 33, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .reveal .close-button:visited {
      color: #0a0a0a; }
    /* line 42, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .reveal .close-button:active {
      color: #0a0a0a; }
    /* line 51, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .reveal .close-button:hover {
      color: #0a0a0a; }
  /* line 35, Resources/Private/Frontend/component/reveal/reveal.scss */
  .reveal hr {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
  /* line 39, Resources/Private/Frontend/component/reveal/reveal.scss */
  .reveal > .row {
    padding: 0.625rem 1.25rem; }
  /* line 43, Resources/Private/Frontend/component/reveal/reveal.scss */
  .reveal .column, .reveal .columns {
    position: relative; }
  /* line 47, Resources/Private/Frontend/component/reveal/reveal.scss */
  .reveal__header {
    text-transform: uppercase;
    line-height: 1.3;
    margin: 0;
    color: #58595b; }
    /* line 54, Resources/Private/Frontend/component/reveal/reveal.scss */
    .full .reveal__header {
      font-size: 3rem;
      text-transform: none;
      height: 6.25rem;
      margin: 0;
      padding-top: 0.9375rem; }
  /* line 63, Resources/Private/Frontend/component/reveal/reveal.scss */
  .reveal__content {
    background: #fafafa;
    padding: 1.25rem 0;
    -webkit-transform: translate3d(0, 0, 0);
    -webkit-perspective: 1000px; }
    /* line 69, Resources/Private/Frontend/component/reveal/reveal.scss */
    .reveal__content--form {
      background: url("../img/bg_form.jpg") 50% 50%/cover no-repeat; }
      /* line 72, Resources/Private/Frontend/component/reveal/reveal.scss */
      .full .reveal__content--form {
        padding: 1.875rem 0; }
  /* line 78, Resources/Private/Frontend/component/reveal/reveal.scss */
  .reveal.full {
    height: auto;
    min-height: 0;
    top: 50% !important;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  /* line 85, Resources/Private/Frontend/component/reveal/reveal.scss */
  .reveal-overlay {
    -webkit-overflow-scrolling: touch; }
  @media screen and (max-width: 39.9375em) {
    /* line 20, Resources/Private/Frontend/component/reveal/reveal.scss */
    .reveal {
      height: 100%;
      min-height: 0; } }
  /* line 94, Resources/Private/Frontend/component/reveal/reveal.scss */
  .reveal .main__content {
    max-width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
  /* line 98, Resources/Private/Frontend/component/reveal/reveal.scss */
  .reveal .aside {
    display: none !important; }

/* line 104, Resources/Private/Frontend/component/reveal/reveal.scss */
.is-reveal-open .off-canvas-wrapper {
  -webkit-filter: blur(5px);
          filter: blur(5px); }

/**
 * jumbotron.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2017-07-11
 * Author: mariodrengner (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 20, Resources/Private/Frontend/component/jumbotron/jumbotron.scss */
.jumbotron {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  margin-bottom: 1.875rem;
  position: relative;
  text-align: center;
  color: white;
  padding: 0;
  font-size: 1.5rem; }
  @media print, screen and (min-width: 40em) {
    /* line 20, Resources/Private/Frontend/component/jumbotron/jumbotron.scss */
    .jumbotron {
      font-size: 1.75rem; } }
  /* line 35, Resources/Private/Frontend/component/jumbotron/jumbotron.scss */
  .jumbotron img {
    display: none; }
    @media print, screen and (min-width: 64em) {
      /* line 35, Resources/Private/Frontend/component/jumbotron/jumbotron.scss */
      .jumbotron img {
        display: block; } }
  /* line 43, Resources/Private/Frontend/component/jumbotron/jumbotron.scss */
  .jumbotron__header {
    line-height: 1.2;
    margin-bottom: 1.25rem;
    font-size: 1.75rem;
    font-size: 2.0625rem; }
    @media print, screen and (min-width: 40em) {
      /* line 43, Resources/Private/Frontend/component/jumbotron/jumbotron.scss */
      .jumbotron__header {
        font-size: 2.375rem; } }
    @media print, screen and (min-width: 64em) {
      /* line 43, Resources/Private/Frontend/component/jumbotron/jumbotron.scss */
      .jumbotron__header {
        font-size: 3rem; } }
  /* line 61, Resources/Private/Frontend/component/jumbotron/jumbotron.scss */
  .jumbotron__overlay {
    background: -webkit-repeating-linear-gradient(top, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.7) 50%, rgba(0, 0, 0, 0.7));
    background: -o-repeating-linear-gradient(top, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.7) 50%, rgba(0, 0, 0, 0.7));
    background: repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.7) 50%, rgba(0, 0, 0, 0.7));
    background-size: 100% 0.125rem;
    padding: 2.5rem 0; }
    @media print, screen and (min-width: 64em) {
      /* line 61, Resources/Private/Frontend/component/jumbotron/jumbotron.scss */
      .jumbotron__overlay {
        padding: 0;
        position: absolute;
        top: 0;
        left: 0.9375rem;
        right: 0.9375rem;
        height: 100%; } }
    /* line 81, Resources/Private/Frontend/component/jumbotron/jumbotron.scss */
    .jumbotron__overlay > .row {
      height: 100%; }
  /* line 86, Resources/Private/Frontend/component/jumbotron/jumbotron.scss */
  .jumbotron__cta {
    margin-top: 1.875rem; }
    /* line 89, Resources/Private/Frontend/component/jumbotron/jumbotron.scss */
    .jumbotron__cta .button {
      margin: 0.625rem 0.9375rem; }

/**
 * content-header.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2017-07-12
 * Author: mariodrengner (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 20, Resources/Private/Frontend/component/content-header/content-header.scss */
.content-header {
  position: relative;
  z-index: 1;
  margin-bottom: 1.875rem; }
  /* line 25, Resources/Private/Frontend/component/content-header/content-header.scss */
  .content-header img {
    width: 100%; }
  /* line 31, Resources/Private/Frontend/component/content-header/content-header.scss */
  .content-header .content-video video::-webkit-media-controls-start-playback-button,
  .content-header .content-video video::-webkit-media-controls-timeline,
  .content-header .content-video video::-webkit-media-controls-fullscreen-button,
  .content-header .content-video video::-webkit-media-controls-mute-button,
  .content-header .content-video video::-webkit-media-controls-return-to-realtime-button,
  .content-header .content-video video::-webkit-media-controls-panel {
    display: none; }
  /* line 39, Resources/Private/Frontend/component/content-header/content-header.scss */
  .content-header .content-video video {
    width: 100%; }
  /* line 42, Resources/Private/Frontend/component/content-header/content-header.scss */
  .content-header .content-video img {
    display: none; }
  /* line 47, Resources/Private/Frontend/component/content-header/content-header.scss */
  .content-header__headline {
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25; }
    /* line 54, Resources/Private/Frontend/component/content-header/content-header.scss */
    .content-header__headline .headline {
      display: block;
      padding: 0.625rem 0.4375rem;
      background-color: #f7941d;
      -webkit-box-decoration-break: clone;
              box-decoration-break: clone;
      font-weight: 700;
      color: white; }
      /* line 64, Resources/Private/Frontend/component/content-header/content-header.scss */
      .content-header__headline .headline:not(:first-child) {
        padding: 0 0.9375rem 0.625rem; }
      /* line 68, Resources/Private/Frontend/component/content-header/content-header.scss */
      .color--blue .content-header__headline .headline {
        background-color: #25aae2; }
      /* line 72, Resources/Private/Frontend/component/content-header/content-header.scss */
      .color--green .content-header__headline .headline {
        background-color: #74b74a; }
    @media print, screen and (min-width: 40em) {
      /* line 47, Resources/Private/Frontend/component/content-header/content-header.scss */
      .content-header__headline {
        font-size: 1.5rem; }
        /* line 79, Resources/Private/Frontend/component/content-header/content-header.scss */
        .content-header__headline .headline {
          display: inline-block;
          padding: 0.625rem 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      /* line 47, Resources/Private/Frontend/component/content-header/content-header.scss */
      .content-header__headline {
        font-size: 1.75rem; } }
  /* line 90, Resources/Private/Frontend/component/content-header/content-header.scss */
  .content-header__subline {
    font-size: 1rem;
    font-weight: 400;
    color: white; }
    /* line 95, Resources/Private/Frontend/component/content-header/content-header.scss */
    .content-header__subline span {
      display: inline-block;
      background: #58595b;
      padding: 0.4375rem 0.9375rem 0.625rem;
      -webkit-box-decoration-break: clone;
              box-decoration-break: clone; }
  @media print, screen and (min-width: 40em) {
    /* line 105, Resources/Private/Frontend/component/content-header/content-header.scss */
    .content-header__overlay {
      position: absolute;
      top: 1.875rem;
      bottom: 1.875rem;
      left: 0.9375rem;
      right: 1.875rem;
      pointer-events: none; }
      /* line 113, Resources/Private/Frontend/component/content-header/content-header.scss */
      .content-header__overlay > .row {
        height: 100%; } }

/**
 * content-header.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2017-07-12
 * Author: mariodrengner (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 20, Resources/Private/Frontend/component/content-video/content-video.scss */
.content-video {
  position: relative; }
  /* line 27, Resources/Private/Frontend/component/content-video/content-video.scss */
  .content-video video {
    width: 100%; }
  /* line 32, Resources/Private/Frontend/component/content-video/content-video.scss */
  .content-video--button:before, .content-video--button:after {
    position: absolute;
    content: '';
    z-index: 1;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    opacity: 1;
    margin-top: -0.625rem;
    pointer-events: none; }
  /* line 45, Resources/Private/Frontend/component/content-video/content-video.scss */
  .content-video--button:before {
    width: 6.25rem;
    height: 6.25rem;
    border: 3px solid white;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.5); }
  /* line 53, Resources/Private/Frontend/component/content-video/content-video.scss */
  .content-video--button:after {
    -webkit-transition: opacity 0.3s ease-in-out;
    -o-transition: opacity 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out;
    border: 1.40625rem solid transparent;
    border-left: 2.4357rem solid white;
    border-right: 0;
    height: 0;
    width: 0;
    display: block;
    margin-left: 0.4375rem; }
  /* line 68, Resources/Private/Frontend/component/content-video/content-video.scss */
  .content-video--play.content-video--button:before, .content-video--play.content-video--button:after {
    opacity: 0; }

/**
 * form.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2017-07-13
 * Author: mariodrengner (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* Change autocomplete styles in WebKit */
/* line 21, Resources/Private/Frontend/component/form/form.scss */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  border: 1px solid #cacaca;
  -webkit-text-fill-color: #000;
  -webkit-box-shadow: 0 0 0 1000px #fefefe inset;
  -webkit-transition: background-color 5000s ease-in-out 0s;
  -o-transition: background-color 5000s ease-in-out 0s;
  transition: background-color 5000s ease-in-out 0s; }

/* line 38, Resources/Private/Frontend/component/form/form.scss */
.form {
  padding-bottom: 1.25rem; }
  /* line 41, Resources/Private/Frontend/component/form/form.scss */
  .form--loading {
    position: relative; }
  /* line 46, Resources/Private/Frontend/component/form/form.scss */
  .form--loading .form .powermail_fieldset:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(250, 250, 250, 0.8);
    z-index: 5; }
  /* line 58, Resources/Private/Frontend/component/form/form.scss */
  .form .column, .form .columns {
    position: relative; }
  /* line 62, Resources/Private/Frontend/component/form/form.scss */
  .form .icon--info {
    position: absolute;
    right: 1.5625rem;
    bottom: 1.75rem;
    color: #58595b; }
  /* line 70, Resources/Private/Frontend/component/form/form.scss */
  .form .checkbox .icon--info {
    bottom: auto;
    top: 0.1875rem;
    right: 0.9375rem; }
  /* line 77, Resources/Private/Frontend/component/form/form.scss */
  .form input[type="checkbox"] {
    margin-top: 0.125rem; }
  /* line 81, Resources/Private/Frontend/component/form/form.scss */
  .form select + label .form__label-mandatory {
    opacity: 0; }
  /* line 85, Resources/Private/Frontend/component/form/form.scss */
  .form select[required] + label .form__label-mandatory {
    opacity: 1; }
  /* line 89, Resources/Private/Frontend/component/form/form.scss */
  .form__label {
    font-size: 0.6875rem;
    left: 0.9375rem;
    opacity: 0;
    padding: 0 0.1875rem;
    position: absolute;
    top: 1.5rem;
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    transition: all 0.2s linear;
    z-index: -1; }
    /* line 99, Resources/Private/Frontend/component/form/form.scss */
    .form__label--show {
      opacity: 1;
      top: 0.25rem;
      z-index: 1; }
    /* line 105, Resources/Private/Frontend/component/form/form.scss */
    .form__label--first, .form__label--visible {
      font-weight: 700; }
    /* line 112, Resources/Private/Frontend/component/form/form.scss */
    .form__label--first + input,
    .form__label--first + select {
      padding-top: 0; }
    /* line 118, Resources/Private/Frontend/component/form/form.scss */
    .form__label--visible {
      margin: 0 0.625rem 0.625rem; }
      /* line 121, Resources/Private/Frontend/component/form/form.scss */
      .form__label--visible span {
        font-weight: 300; }
  /* line 131, Resources/Private/Frontend/component/form/form.scss */
  .form textarea:focus + label,
  .form input[type=text]:focus + label,
  .form input[type=tel]:focus + label,
  .form input[type=email]:focus + label,
  .form select:focus + label {
    color: #f7941d; }
  /* line 137, Resources/Private/Frontend/component/form/form.scss */
  .form .g-recaptcha iframe {
    -webkit-transform: scale(0.94);
        -ms-transform: scale(0.94);
            transform: scale(0.94);
    -webkit-transform-origin: 0 0;
        -ms-transform-origin: 0 0;
            transform-origin: 0 0; }
  /* line 143, Resources/Private/Frontend/component/form/form.scss */
  .form .button {
    margin-top: 1.25rem; }
  /* line 147, Resources/Private/Frontend/component/form/form.scss */
  .reveal .form {
    padding-bottom: 0; }

/* line 155, Resources/Private/Frontend/component/form/form.scss */
fieldset {
  background: transparent; }

/* line 160, Resources/Private/Frontend/component/form/form.scss */
.powermail_fieldwrap_type_radio label {
  font-weight: 700; }

/* line 163, Resources/Private/Frontend/component/form/form.scss */
.radio label {
  font-weight: 300; }

/* line 169, Resources/Private/Frontend/component/form/form.scss */
.contact-search select {
  padding-top: 0;
  margin-bottom: 0; }

/* line 175, Resources/Private/Frontend/component/form/form.scss */
textarea[rows] {
  line-height: 1.2;
  padding-top: 1.375rem; }

/* line 180, Resources/Private/Frontend/component/form/form.scss */
.parsley-errors-list {
  list-style: none;
  display: block;
  font-size: 0.66667rem;
  font-weight: normal;
  color: #FFFFFF;
  margin: 0; }
  /* line 88, Resources/Private/Frontend/sass/partials/_mixins.scss */
  .parsley-errors-list li {
    list-style-image: none;
    list-style-type: none;
    margin-left: 0; }
  /* line 187, Resources/Private/Frontend/component/form/form.scss */
  .parsley-errors-list li {
    margin: -1.3125rem 0 0.9375rem 0;
    padding: 0.33333rem 0.5rem 0.5rem;
    background: #cc4b37; }

/* line 196, Resources/Private/Frontend/component/form/form.scss */
.powermail_check_outer .parsley-errors-list li,
.powermail_radio_outer .parsley-errors-list li {
  background: none;
  margin-top: 0;
  padding-left: 0;
  font-weight: bold;
  color: #f7941d; }

/* line 205, Resources/Private/Frontend/component/form/form.scss */
.powermail_input.parsley-error {
  border: 1px solid #cc4b37; }

@media screen and (max-width: 39.9375em) {
  /* line 211, Resources/Private/Frontend/component/form/form.scss */
  .form input[type="checkbox"] {
    width: 2.625rem;
    height: 1.5rem;
    margin-right: 0.3125rem; } }

@media print, screen and (min-width: 40em) {
  /* line 221, Resources/Private/Frontend/component/form/form.scss */
  .form__label {
    left: 1.4375rem; }
  /* line 225, Resources/Private/Frontend/component/form/form.scss */
  .form .button {
    margin-top: 0; } }

/**
 * nav-mobile.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2017-07-14
 * Author: mariodrengner (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 20, Resources/Private/Frontend/component/nav-mobile/nav-mobile.scss */
.nav-mobile {
  height: 100%; }
  /* line 23, Resources/Private/Frontend/component/nav-mobile/nav-mobile.scss */
  .nav-mobile a {
    color: white; }
    /* line 24, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .nav-mobile a:focus {
      color: white; }
    /* line 33, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .nav-mobile a:visited {
      color: white; }
    /* line 42, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .nav-mobile a:active {
      color: white; }
    /* line 51, Resources/Private/Frontend/sass/partials/_mixins.scss */
    .nav-mobile a:hover {
      color: white; }
  /* line 27, Resources/Private/Frontend/component/nav-mobile/nav-mobile.scss */
  .nav-mobile__lang {
    margin: 1.25rem 0; }
  /* line 31, Resources/Private/Frontend/component/nav-mobile/nav-mobile.scss */
  .nav-mobile__first {
    padding-bottom: 0.625rem; }
    /* line 33, Resources/Private/Frontend/component/nav-mobile/nav-mobile.scss */
    .nav-mobile__first > a {
      font-weight: bold;
      font-size: 1rem; }
    /* line 37, Resources/Private/Frontend/component/nav-mobile/nav-mobile.scss */
    .nav-mobile__first + li {
      padding-top: 0.625rem;
      border-top: 1px solid white; }
  /* line 43, Resources/Private/Frontend/component/nav-mobile/nav-mobile.scss */
  .nav-mobile__second > a {
    font-weight: bold;
    font-size: 0.875rem; }
  /* line 47, Resources/Private/Frontend/component/nav-mobile/nav-mobile.scss */
  .nav-mobile__second a {
    line-height: 1.1; }
  /* line 51, Resources/Private/Frontend/component/nav-mobile/nav-mobile.scss */
  .nav-mobile__third > a {
    font-size: 0.875rem;
    font-weight: 500; }
  /* line 56, Resources/Private/Frontend/component/nav-mobile/nav-mobile.scss */
  .nav-mobile__search {
    line-height: 2rem;
    height: 2rem;
    padding: 0 0.1875rem;
    margin: 0.625rem 0 0.625rem 0.625rem;
    margin-top: 0.625rem;
    background: grey;
    color: white;
    font-weight: 400;
    /* width: auto; */
    font-size: 0.9375rem; }
    /* line 68, Resources/Private/Frontend/component/nav-mobile/nav-mobile.scss */
    .nav-mobile__search:focus {
      background: #999; }
  /* line 74, Resources/Private/Frontend/component/nav-mobile/nav-mobile.scss */
  .nav-mobile__btn--search {
    margin-top: 0.625rem;
    height: 2rem;
    margin-bottom: 0; }
    /* line 78, Resources/Private/Frontend/component/nav-mobile/nav-mobile.scss */
    .nav-mobile__btn--search:focus {
      outline: none; }
  /* line 85, Resources/Private/Frontend/component/nav-mobile/nav-mobile.scss */
  .nav-mobile__icon--search {
    position: absolute;
    right: -0.25rem;
    top: 0.25rem;
    opacity: 1;
    visibility: visible;
    color: white; }

/* line 104, Resources/Private/Frontend/component/nav-mobile/nav-mobile.scss */
.is-drilldown-submenu-parent > a,
.is-submenu-parent-item > a {
  font-weight: 700; }

/**
 * nav-sub.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2017-07-17
 * Author: mariodrengner (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 22, Resources/Private/Frontend/component/nav-sub/nav-sub.scss */
.nav-sub ul {
  background: #f0f0f0;
  margin: 0;
  padding: 0 0.625rem; }

/* line 28, Resources/Private/Frontend/component/nav-sub/nav-sub.scss */
.nav-sub a, .nav-sub span {
  line-height: 3.625rem;
  padding: 0 0.625rem;
  font-size: 1rem; }

/* line 34, Resources/Private/Frontend/component/nav-sub/nav-sub.scss */
.nav-sub a {
  color: #58595b; }
  /* line 24, Resources/Private/Frontend/sass/partials/_mixins.scss */
  .nav-sub a:focus {
    color: #58595b; }
  /* line 33, Resources/Private/Frontend/sass/partials/_mixins.scss */
  .nav-sub a:visited {
    color: #58595b; }
  /* line 42, Resources/Private/Frontend/sass/partials/_mixins.scss */
  .nav-sub a:active {
    color: #58595b; }
  /* line 51, Resources/Private/Frontend/sass/partials/_mixins.scss */
  .nav-sub a:hover {
    color: #58595b; }

/* line 39, Resources/Private/Frontend/component/nav-sub/nav-sub.scss */
.nav-sub .active span {
  color: #f7941d; }

/**
 * content-section.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2017-07-17
 * Author: mariodrengner (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 22, Resources/Private/Frontend/component/content-section/content-section.scss */
.content-section__header {
  line-height: 1;
  margin-top: 0.9375rem;
  margin-bottom: 1.25rem;
  font-weight: bold; }
  @media print, screen and (min-width: 40em) {
    /* line 22, Resources/Private/Frontend/component/content-section/content-section.scss */
    .content-section__header {
      text-align: center;
      margin-top: 2.5rem;
      margin-bottom: 1.875rem; }
      /* line 32, Resources/Private/Frontend/component/content-section/content-section.scss */
      .content-section__header span {
        padding: 0 0.3125rem; } }
  /* line 38, Resources/Private/Frontend/component/content-section/content-section.scss */
  .content-section__header:before {
    position: absolute;
    z-index: 0;
    content: '';
    left: 0.4375rem;
    right: 0.4375rem;
    bottom: 0.9375rem;
    border-bottom: 1px solid #989a95; }
    @media print, screen and (min-width: 40em) {
      /* line 38, Resources/Private/Frontend/component/content-section/content-section.scss */
      .content-section__header:before {
        left: 0.9375rem;
        right: 0.9375rem;
        top: 0.375rem;
        bottom: auto;
        height: 50%; } }
  /* line 55, Resources/Private/Frontend/component/content-section/content-section.scss */
  .content-section__header span {
    display: inline-block;
    background: #fafafa;
    z-index: 1;
    position: relative; }

@media print, screen and (min-width: 64em) {
  /* line 64, Resources/Private/Frontend/component/content-section/content-section.scss */
  .content-section__header {
    font-size: 2.375rem;
    font-weight: normal;
    margin-top: 1.875rem;
    margin-bottom: 1.25rem; }
    /* line 69, Resources/Private/Frontend/component/content-section/content-section.scss */
    .content-section__header span {
      padding: 0 1.875rem; }
    /* line 73, Resources/Private/Frontend/component/content-section/content-section.scss */
    .content-section__header:before {
      top: 0.375rem; } }

/**
 * nav-pagination.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2017-07-17
 * Author: mariodrengner (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 19, Resources/Private/Frontend/component/nav-pagination/nav-pagination.scss */
.nav-pagination {
  padding: 1.875rem 0; }
  /* line 21, Resources/Private/Frontend/component/nav-pagination/nav-pagination.scss */
  .nav-pagination li {
    margin-right: 0.9375rem; }
    /* line 23, Resources/Private/Frontend/component/nav-pagination/nav-pagination.scss */
    .nav-pagination li, .nav-pagination li.current, .nav-pagination li.disabled {
      background: white;
      width: 2.5rem;
      height: 2.5rem;
      line-height: 2.5rem;
      padding: 0;
      font-weight: 700;
      text-align: center;
      -webkit-box-shadow: 0 0.0625rem 0.3125rem rgba(0, 0, 0, 0.3);
              box-shadow: 0 0.0625rem 0.3125rem rgba(0, 0, 0, 0.3); }
      /* line 35, Resources/Private/Frontend/component/nav-pagination/nav-pagination.scss */
      .nav-pagination li a, .nav-pagination li.current a, .nav-pagination li.disabled a {
        padding: 0; }
      /* line 38, Resources/Private/Frontend/component/nav-pagination/nav-pagination.scss */
      .nav-pagination li > span, .nav-pagination li.current > span, .nav-pagination li.disabled > span {
        margin: 0; }
    /* line 46, Resources/Private/Frontend/component/nav-pagination/nav-pagination.scss */
    .nav-pagination li.pagination-previous:before, .nav-pagination li.pagination-previous:after,
    .nav-pagination li.pagination-previous a:before,
    .nav-pagination li.pagination-previous a:after, .nav-pagination li.pagination-next:before, .nav-pagination li.pagination-next:after,
    .nav-pagination li.pagination-next a:before,
    .nav-pagination li.pagination-next a:after {
      margin: 0; }
    /* line 56, Resources/Private/Frontend/component/nav-pagination/nav-pagination.scss */
    .nav-pagination li.pagination-previous.disabled:before,
    .nav-pagination li.pagination-previous a:before {
      content: '‹'; }
    /* line 64, Resources/Private/Frontend/component/nav-pagination/nav-pagination.scss */
    .nav-pagination li.pagination-next.disabled:after,
    .nav-pagination li.pagination-next a:after {
      content: '›'; }
    /* line 70, Resources/Private/Frontend/component/nav-pagination/nav-pagination.scss */
    .nav-pagination li.current {
      color: #f7941d; }

/* line 79, Resources/Private/Frontend/component/nav-pagination/nav-pagination.scss */
.search-pages ul {
  max-width: 78.75rem;
  margin-right: auto;
  margin-left: auto; }
  /* line 170, bower_components/foundation-sites/scss/util/_mixins.scss */
  .search-pages ul::before, .search-pages ul::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  /* line 181, bower_components/foundation-sites/scss/util/_mixins.scss */
  .search-pages ul::after {
    clear: both; }

/* line 83, Resources/Private/Frontend/component/nav-pagination/nav-pagination.scss */
.search-pages li {
  position: relative;
  padding: inherit;
  float: left; }
  /* line 87, Resources/Private/Frontend/component/nav-pagination/nav-pagination.scss */
  .search-pages li:before {
    display: none; }

/* line 93, Resources/Private/Frontend/component/nav-pagination/nav-pagination.scss */
.search-pages a.current {
  color: #f7941d;
  background: inherit;
  padding: 0; }

/* line 99, Resources/Private/Frontend/component/nav-pagination/nav-pagination.scss */
.search-pages a.next, .search-pages a.prev {
  overflow: hidden;
  text-indent: -9999px; }
  /* line 103, Resources/Private/Frontend/component/nav-pagination/nav-pagination.scss */
  .search-pages a.next:after, .search-pages a.prev:after {
    content: '›';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-indent: 0; }

/* line 115, Resources/Private/Frontend/component/nav-pagination/nav-pagination.scss */
.search-pages a.prev:after {
  content: '‹'; }

/* line 121, Resources/Private/Frontend/component/nav-pagination/nav-pagination.scss */
#kesearch_pagebrowser_bottom .result_txt {
  display: none; }

/**
 * content-sub-header.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2017-07-19
 * Author: mariodrengner (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 20, Resources/Private/Frontend/component/content-sub-header/content-sub-header.scss */
.content-sub-header {
  background: #f0f0f0 -webkit-repeating-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 1px, rgba(0, 0, 0, 0.1) 1px, rgba(0, 0, 0, 0.1) 2px);
  background: #f0f0f0 -o-repeating-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 1px, rgba(0, 0, 0, 0.1) 1px, rgba(0, 0, 0, 0.1) 2px);
  background: #f0f0f0 repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 1px, rgba(0, 0, 0, 0.1) 1px, rgba(0, 0, 0, 0.1) 2px);
  position: relative;
  z-index: 0;
  padding: 1.875rem 0;
  text-align: center;
  margin-top: -1.875rem; }
  /* line 34, Resources/Private/Frontend/component/content-sub-header/content-sub-header.scss */
  .content-sub-header__headline,
  .content-sub-header__text span {
    font-weight: 700; }
  /* line 40, Resources/Private/Frontend/component/content-sub-header/content-sub-header.scss */
  .content-sub-header__headline {
    margin-bottom: 0.3125rem; }
    /* line 42, Resources/Private/Frontend/component/content-sub-header/content-sub-header.scss */
    .color--default .content-sub-header__headline {
      color: #f7941d; }
    /* line 45, Resources/Private/Frontend/component/content-sub-header/content-sub-header.scss */
    .color--green .content-sub-header__headline {
      color: #74b74a; }
    /* line 48, Resources/Private/Frontend/component/content-sub-header/content-sub-header.scss */
    .color--blue .content-sub-header__headline {
      color: #25aae2; }
  @media print, screen and (min-width: 40em) {
    /* line 20, Resources/Private/Frontend/component/content-sub-header/content-sub-header.scss */
    .content-sub-header {
      border-top: 1px solid #e7e7e7;
      border-bottom: 1px solid #e7e7e7;
      margin: -3.125rem 0 -1.25rem; }
      /* line 57, Resources/Private/Frontend/component/content-sub-header/content-sub-header.scss */
      .content-sub-header__headline, .content-sub-header__text {
        font-size: 1.5rem;
        padding: 0 2.1875rem; } }

/**
 * contact-search.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2017-09-25
 * Author: mariodrengner (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 20, Resources/Private/Frontend/component/contact-search/contact-search.scss */
.contact-search {
  background: transparent url("../img/map.png") 50% 30px/100% no-repeat; }
  /* line 23, Resources/Private/Frontend/component/contact-search/contact-search.scss */
  .contact-search__headline {
    font-size: 1.9375rem;
    margin-bottom: 1.875rem; }
  /* line 28, Resources/Private/Frontend/component/contact-search/contact-search.scss */
  .contact-search--landing {
    background-size: 50%;
    background-position-y: 0; }

/* line 41, Resources/Private/Frontend/component/contact-search/contact-search.scss */
.row--grid .box {
  height: 100%; }

/* line 44, Resources/Private/Frontend/component/contact-search/contact-search.scss */
.row--grid > .column, .row--grid > .columns {
  margin-top: 1.875rem; }

/**
 * quote.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2017-10-17
 * Author: mariodrengner (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 20, Resources/Private/Frontend/component/quote/quote.scss */
.quote {
  margin: 1.875rem 0 1.875rem 0.75rem; }
  /* line 23, Resources/Private/Frontend/component/quote/quote.scss */
  .quote__quote {
    margin-bottom: 0; }
    /* line 24, Resources/Private/Frontend/component/quote/quote.scss */
    .quote__quote p {
      background: #838383;
      padding: 8px 0;
      line-height: 2.6;
      display: inline;
      font-size: 1.125rem;
      color: white;
      font-weight: 500;
      -webkit-box-decoration-break: clone;
              box-decoration-break: clone;
      -webkit-box-shadow: 12px 0 0 #838383, -12px 0 0 #838383;
              box-shadow: 12px 0 0 #838383, -12px 0 0 #838383; }
  /* line 38, Resources/Private/Frontend/component/quote/quote.scss */
  .quote__img {
    width: 4.0625rem;
    height: auto;
    margin-right: 1.25rem; }
    /* line 39, Resources/Private/Frontend/component/quote/quote.scss */
    .quote__img-wrap {
      margin-top: 0.0625rem;
      line-height: 1.3;
      font-size: 0.875rem;
      margin-left: -0.75rem !important; }
  /* line 51, Resources/Private/Frontend/component/quote/quote.scss */
  .quote--border {
    border: 1px #c2c2c2;
    border-radius: 0.1875rem; }
  /* line 57, Resources/Private/Frontend/component/quote/quote.scss */
  .quote .indent-none {
    margin-left: 0; }
  /* line 60, Resources/Private/Frontend/component/quote/quote.scss */
  .quote .indent-small {
    margin-left: 30px; }
  /* line 63, Resources/Private/Frontend/component/quote/quote.scss */
  .quote .indent-medium {
    margin-left: 60px; }
  /* line 66, Resources/Private/Frontend/component/quote/quote.scss */
  .quote .indent-large {
    margin-left: 90px; }
  @media print, screen and (min-width: 64em) {
    /* line 75, Resources/Private/Frontend/component/quote/quote.scss */
    .quote__quote {
      padding: 0; }
    /* line 79, Resources/Private/Frontend/component/quote/quote.scss */
    .quote--border__quote {
      padding: 3.125rem; } }

/**
 * highlight.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2017-10-18
 * Author: mariodrengner (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * download.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2017-10-27
 * Author: mariodrengner (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 20, Resources/Private/Frontend/component/download/download.scss */
.download {
  position: relative;
  color: white;
  font-size: 1.125rem; }
  /* line 26, Resources/Private/Frontend/component/download/download.scss */
  .download__inner {
    background: #f7941d; }
  /* line 30, Resources/Private/Frontend/component/download/download.scss */
  .download > .row {
    margin: 0; }
  /* line 34, Resources/Private/Frontend/component/download/download.scss */
  .download__headline {
    font-size: 1.5rem;
    font-weight: 700;
    color: black;
    margin-top: 1.5625rem; }
  /* line 43, Resources/Private/Frontend/component/download/download.scss */
  .download__text {
    margin: 1.25rem 0; }
  /* line 47, Resources/Private/Frontend/component/download/download.scss */
  .download__icons {
    margin-top: 1.875rem; }
    /* line 49, Resources/Private/Frontend/component/download/download.scss */
    .download__icons .icon--lock {
      font-size: 3.4375rem;
      color: #58595b;
      position: absolute;
      left: -0.3125rem;
      bottom: -0.3125rem; }
    /* line 57, Resources/Private/Frontend/component/download/download.scss */
    .download__icons .icon--big {
      font-size: 4.875rem; }
  /* line 62, Resources/Private/Frontend/component/download/download.scss */
  .download__overlay {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(255, 255, 255, 0.4); }
    /* line 71, Resources/Private/Frontend/component/download/download.scss */
    .download__overlay > .row {
      height: 100%; }
  /* line 76, Resources/Private/Frontend/component/download/download.scss */
  .download hr {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
  @media print, screen and (min-width: 40em) {
    /* line 82, Resources/Private/Frontend/component/download/download.scss */
    .download__cta {
      margin-top: 1.875rem; }
      /* line 85, Resources/Private/Frontend/component/download/download.scss */
      .download__cta .button {
        margin: 0 0.9375rem; } }

/**
 * nav-sitemap.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2018-01-31
 * Author: mariodrengner (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 22, Resources/Private/Frontend/component/nav-sitemap/nav-sitemap.scss */
.nav-sitemap li {
  font-weight: bold;
  z-index: 0; }
  /* line 25, Resources/Private/Frontend/component/nav-sitemap/nav-sitemap.scss */
  .nav-sitemap li a {
    position: relative;
    z-index: 1; }
  /* line 29, Resources/Private/Frontend/component/nav-sitemap/nav-sitemap.scss */
  .nav-sitemap li li {
    position: relative;
    font-weight: normal; }
    /* line 31, Resources/Private/Frontend/component/nav-sitemap/nav-sitemap.scss */
    .nav-sitemap li li:before, .nav-sitemap li li:after {
      position: absolute;
      content: ''; }
    /* line 36, Resources/Private/Frontend/component/nav-sitemap/nav-sitemap.scss */
    .nav-sitemap li li:before {
      border-color: #e7e7e7;
      border-style: solid;
      left: -0.625rem;
      width: 1.25rem;
      height: 1.25rem;
      top: 0.125rem;
      border-width: 0 0 1px 1px; }
    /* line 47, Resources/Private/Frontend/component/nav-sitemap/nav-sitemap.scss */
    .nav-sitemap li li li {
      font-size: 1rem; }
  /* line 52, Resources/Private/Frontend/component/nav-sitemap/nav-sitemap.scss */
  .nav-sitemap li :last-child:after {
    content: '';
    left: -0.625rem;
    top: 1.375rem;
    width: 1.25rem;
    border-left: 1px solid #fafafa;
    height: 100%; }

/* line 64, Resources/Private/Frontend/component/nav-sitemap/nav-sitemap.scss */
.nav-sitemap .menu.nested {
  margin-left: 3.125rem;
  position: relative; }
  /* line 67, Resources/Private/Frontend/component/nav-sitemap/nav-sitemap.scss */
  .nav-sitemap .menu.nested:before {
    position: absolute;
    content: '';
    left: -0.625rem;
    top: 0.125rem;
    height: 100%;
    border-left: 1px solid #e7e7e7; }

/**
 * folding-cube.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2018-02-28
 * Author: mariodrengner (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
@-webkit-keyframes foldCubeAngle {
  0%, 10% {
    -webkit-transform: perspective(140px) rotateX(-180deg);
            transform: perspective(140px) rotateX(-180deg);
    opacity: 0; }
  25%, 75% {
    -webkit-transform: perspective(140px) rotateX(0deg);
            transform: perspective(140px) rotateX(0deg);
    opacity: 1; }
  90%, 100% {
    -webkit-transform: perspective(140px) rotateY(180deg);
            transform: perspective(140px) rotateY(180deg);
    opacity: 0; } }
@keyframes foldCubeAngle {
  0%, 10% {
    -webkit-transform: perspective(140px) rotateX(-180deg);
            transform: perspective(140px) rotateX(-180deg);
    opacity: 0; }
  25%, 75% {
    -webkit-transform: perspective(140px) rotateX(0deg);
            transform: perspective(140px) rotateX(0deg);
    opacity: 1; }
  90%, 100% {
    -webkit-transform: perspective(140px) rotateY(180deg);
            transform: perspective(140px) rotateY(180deg);
    opacity: 0; } }

/* line 34, Resources/Private/Frontend/component/folding-cube/folding-cube.scss */
.folding-cube {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) scale(1.5);
      -ms-transform: translate(-50%, -50%) scale(1.5);
          transform: translate(-50%, -50%) scale(1.5);
  z-index: 10;
  margin: 20px auto;
  width: 40px;
  height: 40px;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-in-out;
  -o-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out; }
  /* line 50, Resources/Private/Frontend/component/folding-cube/folding-cube.scss */
  .form--loading .folding-cube {
    opacity: 1;
    visibility: visible; }
  /* line 55, Resources/Private/Frontend/component/folding-cube/folding-cube.scss */
  .folding-cube:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -5px;
    margin-top: -5px;
    width: 10px;
    height: 10px;
    background-color: white;
    z-index: 1;
    -webkit-transform: rotateZ(45deg);
        -ms-transform: rotate(45deg);
            transform: rotateZ(45deg); }
  /* line 69, Resources/Private/Frontend/component/folding-cube/folding-cube.scss */
  .folding-cube__cube {
    float: left;
    width: 14px;
    height: 14px;
    position: relative;
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);
    margin: 3px; }
    /* line 77, Resources/Private/Frontend/component/folding-cube/folding-cube.scss */
    .folding-cube__cube:before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: #58595b;
      -webkit-animation: foldCubeAngle 2.4s infinite linear both;
              animation: foldCubeAngle 2.4s infinite linear both;
      -webkit-transform-origin: 100% 100%;
          -ms-transform-origin: 100% 100%;
              transform-origin: 100% 100%; }
    /* line 89, Resources/Private/Frontend/component/folding-cube/folding-cube.scss */
    .folding-cube__cube--2 {
      -webkit-transform: scale(1.1) rotateZ(90deg);
          -ms-transform: scale(1.1) rotate(90deg);
              transform: scale(1.1) rotateZ(90deg); }
      /* line 91, Resources/Private/Frontend/component/folding-cube/folding-cube.scss */
      .folding-cube__cube--2:before {
        background-color: #f7941d;
        -webkit-animation-delay: 0.3s;
                animation-delay: 0.3s; }
    /* line 96, Resources/Private/Frontend/component/folding-cube/folding-cube.scss */
    .folding-cube__cube--3 {
      -webkit-transform: scale(1.1) rotateZ(180deg);
          -ms-transform: scale(1.1) rotate(180deg);
              transform: scale(1.1) rotateZ(180deg); }
      /* line 98, Resources/Private/Frontend/component/folding-cube/folding-cube.scss */
      .folding-cube__cube--3:before {
        -webkit-animation-delay: 0.6s;
                animation-delay: 0.6s; }
    /* line 102, Resources/Private/Frontend/component/folding-cube/folding-cube.scss */
    .folding-cube__cube--4 {
      -webkit-transform: scale(1.1) rotateZ(270deg);
          -ms-transform: scale(1.1) rotate(270deg);
              transform: scale(1.1) rotateZ(270deg); }
      /* line 104, Resources/Private/Frontend/component/folding-cube/folding-cube.scss */
      .folding-cube__cube--4:before {
        -webkit-animation-delay: 0.9s;
                animation-delay: 0.9s; }

/**
 * gotop.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2018-07-24
 * Author: kaiseliger (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 22, Resources/Private/Frontend/component/gotop/gotop.scss */
.gotop__button {
  background: rgba(88, 89, 91, 0.7);
  display: block;
  position: fixed;
  width: 45px;
  height: 45px;
  text-align: center;
  right: 0.9375rem;
  bottom: 0.9375rem;
  opacity: 0;
  -webkit-transition: all .2s ease-in-out;
  -o-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
  cursor: pointer;
  z-index: 999; }
  /* line 36, Resources/Private/Frontend/component/gotop/gotop.scss */
  .gotop__button:before {
    position: absolute;
    content: '⌃';
    color: white;
    font-weight: bold;
    font-size: 1.25rem;
    top: 3px;
    left: 0;
    width: 100%;
    height: 100%;
    line-height: 45px;
    text-align: center;
    opacity: 0.7; }
  /* line 52, Resources/Private/Frontend/component/gotop/gotop.scss */
  .gotop__button:hover {
    background: #58595b; }
  /* line 56, Resources/Private/Frontend/component/gotop/gotop.scss */
  .gotop__button--show {
    opacity: 1; }
    /* line 58, Resources/Private/Frontend/component/gotop/gotop.scss */
    .gotop__button--show:before {
      opacity: 1; }

/**
 * tag-cloud.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2018-08-03
 * Author: mariodrengner (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 20, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
.tag-cloud {
  text-align: center;
  margin: 1.25rem auto; }
  /* line 25, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
  .tag-cloud__item {
    display: inline-block;
    padding: 0.0625rem 0.4375rem;
    -webkit-transition: color .3s, -webkit-transform .3s;
    transition: color .3s, -webkit-transform .3s;
    -o-transition: color .3s, transform .3s;
    transition: color .3s, transform .3s;
    transition: color .3s, transform .3s, -webkit-transform .3s; }
    /* line 32, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
    .tag-cloud__item--prio-1 {
      font-size: 23.8px; }
    /* line 32, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
    .tag-cloud__item--prio-2 {
      font-size: 22.6px; }
    /* line 32, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
    .tag-cloud__item--prio-3 {
      font-size: 21.4px; }
    /* line 32, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
    .tag-cloud__item--prio-4 {
      font-size: 20.2px; }
    /* line 32, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
    .tag-cloud__item--prio-5 {
      font-size: 19px; }
    /* line 32, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
    .tag-cloud__item--prio-6 {
      font-size: 17.8px; }
    /* line 32, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
    .tag-cloud__item--prio-7 {
      font-size: 16.6px; }
    /* line 32, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
    .tag-cloud__item--prio-8 {
      font-size: 15.4px; }
    /* line 32, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
    .tag-cloud__item--prio-9 {
      font-size: 14.2px; }
    /* line 39, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
    .tag-cloud__item--font-300 {
      font-weight: 300; }
    /* line 42, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
    .tag-cloud__item--font-400 {
      font-weight: 400; }
    /* line 45, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
    .tag-cloud__item--font-700 {
      font-weight: 700; }
    /* line 48, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
    .tag-cloud__item--font-800 {
      font-weight: 800; }
    /* line 54, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
    .tag-cloud__item--color-blue {
      color: #25aae2; }
    /* line 57, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
    .tag-cloud__item--color-green {
      color: #74b74a; }
    /* line 60, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
    .tag-cloud__item--color-grey {
      color: #58595b; }
    /* line 63, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
    .tag-cloud__item--color-primary {
      color: #f7941d; }
    /* line 66, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
    .tag-cloud__item--color-secondary {
      color: #333; }
    /* line 69, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
    .tag-cloud__item--color-tertiary {
      color: #ccc; }
  /* line 77, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
  a:hover .tag-cloud__item--color-blue {
    color: #000;
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05); }
  /* line 81, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
  a:hover .tag-cloud__item--color-green {
    color: #000;
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05); }
  /* line 85, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
  a:hover .tag-cloud__item--color-grey {
    color: #000;
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05); }
  /* line 89, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
  a:hover .tag-cloud__item--color-primary {
    color: #000;
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05); }
  /* line 93, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
  a:hover .tag-cloud__item--color-secondary {
    color: #000;
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05); }
  /* line 97, Resources/Private/Frontend/component/tag-cloud/tag-cloud.scss */
  a:hover .tag-cloud__item--color-tertiary {
    color: #000;
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05); }

/**
 * baslider.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2020-12-01
 * Author: kaiseliger (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 20, Resources/Private/Frontend/component/baslider/baslider.scss */
.baslider {
  margin-bottom: 1.875rem; }
  /* line 23, Resources/Private/Frontend/component/baslider/baslider.scss */
  .baslider .beer-reveal[data-beer-label]:after,
  .baslider .beer-slider[data-beer-label]:after {
    font-size: 1rem;
    white-space: nowrap; }
  /* line 30, Resources/Private/Frontend/component/baslider/baslider.scss */
  .baslider--label-small .beer-reveal[data-beer-label]:after,
  .baslider--label-small .beer-slider[data-beer-label]:after {
    font-size: 0.875rem;
    padding: 0.3125rem 0.5rem; }
  /* line 38, Resources/Private/Frontend/component/baslider/baslider.scss */
  .baslider--label-medium .beer-reveal[data-beer-label]:after,
  .baslider--label-medium .beer-slider[data-beer-label]:after {
    font-size: 1rem;
    padding: 0.4375rem 0.625rem; }
  /* line 46, Resources/Private/Frontend/component/baslider/baslider.scss */
  .baslider--label-large .beer-reveal[data-beer-label]:after,
  .baslider--label-large .beer-slider[data-beer-label]:after {
    font-size: 1rem;
    padding: 0.625rem 0.875rem; }
  /* line 54, Resources/Private/Frontend/component/baslider/baslider.scss */
  .baslider--label-before-white .beer-slider[data-beer-label]:after {
    background: #fff; }
  /* line 60, Resources/Private/Frontend/component/baslider/baslider.scss */
  .baslider--label-before-green .beer-slider[data-beer-label]:after {
    background: #74b74a;
    color: #fff; }
  /* line 67, Resources/Private/Frontend/component/baslider/baslider.scss */
  .baslider--label-before-blue .beer-slider[data-beer-label]:after {
    background: #25aae2;
    color: #fff; }
  /* line 74, Resources/Private/Frontend/component/baslider/baslider.scss */
  .baslider--label-before-orange .beer-slider[data-beer-label]:after {
    background: #f7941d;
    color: #fff; }
  /* line 81, Resources/Private/Frontend/component/baslider/baslider.scss */
  .baslider--label-before-red .beer-slider[data-beer-label]:after {
    background: #9e1726;
    color: #fff; }
  /* line 88, Resources/Private/Frontend/component/baslider/baslider.scss */
  .baslider--label-before-grey .beer-slider[data-beer-label]:after {
    background: #58595b;
    color: #fff; }
  /* line 96, Resources/Private/Frontend/component/baslider/baslider.scss */
  .baslider--label-after-white .beer-reveal[data-beer-label]:after {
    background: #fff; }
  /* line 102, Resources/Private/Frontend/component/baslider/baslider.scss */
  .baslider--label-after-green .beer-reveal[data-beer-label]:after {
    background: #74b74a;
    color: #fff; }
  /* line 109, Resources/Private/Frontend/component/baslider/baslider.scss */
  .baslider--label-after-blue .beer-reveal[data-beer-label]:after {
    background: #25aae2;
    color: #fff; }
  /* line 116, Resources/Private/Frontend/component/baslider/baslider.scss */
  .baslider--label-after-orange .beer-reveal[data-beer-label]:after {
    background: #f7941d;
    color: #fff; }
  /* line 123, Resources/Private/Frontend/component/baslider/baslider.scss */
  .baslider--label-after-red .beer-reveal[data-beer-label]:after {
    background: #9e1726;
    color: #fff; }
  /* line 130, Resources/Private/Frontend/component/baslider/baslider.scss */
  .baslider--label-after-grey .beer-reveal[data-beer-label]:after {
    background: #58595b;
    color: #fff; }
  /* line 137, Resources/Private/Frontend/component/baslider/baslider.scss */
  .baslider--handle-default .beer-handle {
    width: 3.0625rem;
    height: 3.0625rem; }
  /* line 144, Resources/Private/Frontend/component/baslider/baslider.scss */
  .baslider--handle-small .beer-handle {
    -webkit-transform: translate(-50%, -50%) scale(0.75);
        -ms-transform: translate(-50%, -50%) scale(0.75);
            transform: translate(-50%, -50%) scale(0.75);
    margin-left: -0.0625rem; }
  /* line 157, Resources/Private/Frontend/component/baslider/baslider.scss */
  .baslider--alignment-left {
    text-align: left; }
  /* line 161, Resources/Private/Frontend/component/baslider/baslider.scss */
  .baslider--alignment-center {
    text-align: center; }
  /* line 165, Resources/Private/Frontend/component/baslider/baslider.scss */
  .baslider--alignment-right {
    text-align: right; }
  /* line 169, Resources/Private/Frontend/component/baslider/baslider.scss */
  .baslider .beer-reveal {
    border-right: 1px solid #fff; }
  /* line 173, Resources/Private/Frontend/component/baslider/baslider.scss */
  .baslider .beer-handle {
    background: #fff !important;
    opacity: 1 !important; }
  /* line 178, Resources/Private/Frontend/component/baslider/baslider.scss */
  .baslider__figcaption {
    padding: 0.3125rem 0 0;
    font-size: 0.875rem; }
  /* line 183, Resources/Private/Frontend/component/baslider/baslider.scss */
  .baslider__label {
    display: none; }

/**
 * image-marker.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2020-12-01
 * Author: kaiseliger (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 20, Resources/Private/Frontend/component/image-marker/image-marker.scss */
.image-marker {
  margin-bottom: 1.875rem; }
  /* line 23, Resources/Private/Frontend/component/image-marker/image-marker.scss */
  .image-marker__holder {
    position: relative; }
  /* line 27, Resources/Private/Frontend/component/image-marker/image-marker.scss */
  .image-marker__figcaption {
    padding: 0.3125rem 0 0;
    font-size: 0.875rem; }
  /* line 32, Resources/Private/Frontend/component/image-marker/image-marker.scss */
  .image-marker__figure {
    position: relative;
    z-index: 10; }
  /* line 41, Resources/Private/Frontend/component/image-marker/image-marker.scss */
  .image-marker__spot {
    position: absolute;
    z-index: 20; }
    /* line 45, Resources/Private/Frontend/component/image-marker/image-marker.scss */
    .image-marker__spot--small {
      -webkit-transform: translate(-15px, -15px);
          -ms-transform: translate(-15px, -15px);
              transform: translate(-15px, -15px); }
    /* line 49, Resources/Private/Frontend/component/image-marker/image-marker.scss */
    .image-marker__spot--medium {
      -webkit-transform: translate(-17.5px, -17.5px);
          -ms-transform: translate(-17.5px, -17.5px);
              transform: translate(-17.5px, -17.5px); }
    /* line 53, Resources/Private/Frontend/component/image-marker/image-marker.scss */
    .image-marker__spot--large {
      -webkit-transform: translate(-20px, -20px);
          -ms-transform: translate(-20px, -20px);
              transform: translate(-20px, -20px); }
    /* line 57, Resources/Private/Frontend/component/image-marker/image-marker.scss */
    .image-marker__spot:hover {
      z-index: 100; }
      @media print, screen and (min-width: 40em) {
        /* line 60, Resources/Private/Frontend/component/image-marker/image-marker.scss */
        .image-marker__spot:hover .image-marker__spot-info {
          visibility: visible;
          -webkit-transform: translateY(0);
              -ms-transform: translateY(0);
                  transform: translateY(0);
          opacity: 1; } }
  /* line 70, Resources/Private/Frontend/component/image-marker/image-marker.scss */
  .image-marker__spot-inner {
    position: relative;
    width: 100%;
    top: 100%; }
  /* line 76, Resources/Private/Frontend/component/image-marker/image-marker.scss */
  .image-marker__spot-number {
    font-size: 0.875rem;
    background: #fff;
    cursor: pointer;
    border-radius: 50%;
    -webkit-box-shadow: 0 0 0 rgba(255, 255, 255, 0.4);
            box-shadow: 0 0 0 rgba(255, 255, 255, 0.4);
    -webkit-animation: image-marker-pulse 2s infinite;
            animation: image-marker-pulse 2s infinite;
    text-align: center;
    font-weight: 700;
    position: relative;
    z-index: 10;
    -webkit-filter: drop-shadow(0px 0px 6px rgba(0, 0, 0, 0.15));
            filter: drop-shadow(0px 0px 6px rgba(0, 0, 0, 0.15)); }
    /* line 89, Resources/Private/Frontend/component/image-marker/image-marker.scss */
    .image-marker__spot-number--small {
      width: 1.875rem;
      height: 1.875rem;
      line-height: 1.875rem; }
    /* line 95, Resources/Private/Frontend/component/image-marker/image-marker.scss */
    .image-marker__spot-number--medium {
      width: 2.1875rem;
      height: 2.1875rem;
      line-height: 2.1875rem; }
    /* line 101, Resources/Private/Frontend/component/image-marker/image-marker.scss */
    .image-marker__spot-number--large {
      width: 2.5rem;
      height: 2.5rem;
      line-height: 2.5rem; }
    /* line 107, Resources/Private/Frontend/component/image-marker/image-marker.scss */
    .image-marker__spot-number--white {
      background: #fff; }
    /* line 111, Resources/Private/Frontend/component/image-marker/image-marker.scss */
    .image-marker__spot-number--green {
      background: #74b74a;
      color: #fff; }
    /* line 116, Resources/Private/Frontend/component/image-marker/image-marker.scss */
    .image-marker__spot-number--blue {
      background: #25aae2;
      color: #fff; }
    /* line 121, Resources/Private/Frontend/component/image-marker/image-marker.scss */
    .image-marker__spot-number--orange {
      background: #f7941d;
      color: #fff; }
    /* line 126, Resources/Private/Frontend/component/image-marker/image-marker.scss */
    .image-marker__spot-number--red {
      background: #9e1726;
      color: #fff; }
    /* line 131, Resources/Private/Frontend/component/image-marker/image-marker.scss */
    .image-marker__spot-number--grey {
      background: #58595b;
      color: #fff; }
  /* line 138, Resources/Private/Frontend/component/image-marker/image-marker.scss */
  .image-marker__spot-info {
    position: absolute;
    z-index: 5;
    visibility: hidden;
    opacity: 0;
    -webkit-transform: translateY(10px);
        -ms-transform: translateY(10px);
            transform: translateY(10px);
    -webkit-transition: all .2s ease;
    -o-transition: all .2s ease;
    transition: all .2s ease; }
    /* line 146, Resources/Private/Frontend/component/image-marker/image-marker.scss */
    .image-marker__spot-info--left-top {
      left: 0.75rem;
      bottom: 0.75rem; }
    /* line 151, Resources/Private/Frontend/component/image-marker/image-marker.scss */
    .image-marker__spot-info--right-top {
      right: 0.75rem;
      bottom: 0.75rem; }
    /* line 156, Resources/Private/Frontend/component/image-marker/image-marker.scss */
    .image-marker__spot-info--left-bot {
      left: 0.75rem;
      top: 0.75rem; }
    /* line 161, Resources/Private/Frontend/component/image-marker/image-marker.scss */
    .image-marker__spot-info--right-bot {
      right: 0.75rem;
      top: 0.75rem; }
  /* line 167, Resources/Private/Frontend/component/image-marker/image-marker.scss */
  .image-marker__card {
    background: #fff;
    width: 18.75rem;
    padding: 1.25rem;
    border-radius: 0.1875rem;
    -webkit-box-shadow: 0px -10px 20px 0px rgba(0, 0, 0, 0.3);
            box-shadow: 0px -10px 20px 0px rgba(0, 0, 0, 0.3); }
  /* line 175, Resources/Private/Frontend/component/image-marker/image-marker.scss */
  .image-marker__card-figure {
    margin: -1.25rem -1.25rem 1.25rem; }
  /* line 179, Resources/Private/Frontend/component/image-marker/image-marker.scss */
  .image-marker__card-title {
    font-size: 1rem;
    font-weight: 700; }
  /* line 184, Resources/Private/Frontend/component/image-marker/image-marker.scss */
  .image-marker__card-content {
    font-size: 1rem; }
    /* line 188, Resources/Private/Frontend/component/image-marker/image-marker.scss */
    .image-marker__card-content p:last-child {
      margin-bottom: 0; }
  /* line 194, Resources/Private/Frontend/component/image-marker/image-marker.scss */
  .image-marker__infos {
    padding: 0 0 0 1.25rem; }
    @media print, screen and (min-width: 40em) {
      /* line 194, Resources/Private/Frontend/component/image-marker/image-marker.scss */
      .image-marker__infos {
        display: none; } }
  /* line 202, Resources/Private/Frontend/component/image-marker/image-marker.scss */
  .image-marker__info {
    background: #fff;
    padding: 1.875rem 2.1875rem;
    border-radius: 0.1875rem;
    -webkit-box-shadow: 0px -10px 20px 0px rgba(0, 0, 0, 0.1);
            box-shadow: 0px -10px 20px 0px rgba(0, 0, 0, 0.1);
    position: relative;
    margin: 1.875rem 0; }
  /* line 211, Resources/Private/Frontend/component/image-marker/image-marker.scss */
  .image-marker__info-number {
    font-size: 0.875rem;
    background: #fff;
    width: 1.875rem;
    height: 1.875rem;
    cursor: pointer;
    border-radius: 50%;
    -webkit-box-shadow: 0 0 0 rgba(255, 255, 255, 0.4);
            box-shadow: 0 0 0 rgba(255, 255, 255, 0.4);
    -webkit-animation: image-marker-pulse 2s infinite;
            animation: image-marker-pulse 2s infinite;
    text-align: center;
    line-height: 1.875rem;
    font-weight: 700;
    z-index: 10;
    -webkit-filter: drop-shadow(0px 0px 6px rgba(0, 0, 0, 0.15));
            filter: drop-shadow(0px 0px 6px rgba(0, 0, 0, 0.15));
    position: absolute;
    left: -15px;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  /* line 231, Resources/Private/Frontend/component/image-marker/image-marker.scss */
  .image-marker__info-title {
    font-size: 1rem;
    font-weight: 700; }
  /* line 236, Resources/Private/Frontend/component/image-marker/image-marker.scss */
  .image-marker__info-content {
    font-size: 1rem; }
    /* line 240, Resources/Private/Frontend/component/image-marker/image-marker.scss */
    .image-marker__info-content p:last-child {
      margin-bottom: 0; }

@-webkit-keyframes image-marker-pulse {
  0% {
    -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.8);
            box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.8); }
  70% {
    -webkit-box-shadow: 0 0 0 15px rgba(255, 255, 255, 0);
            box-shadow: 0 0 0 15px rgba(255, 255, 255, 0); }
  100% {
    -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
            box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); } }

@keyframes image-marker-pulse {
  0% {
    -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.8);
            box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.8); }
  70% {
    -webkit-box-shadow: 0 0 0 15px rgba(255, 255, 255, 0);
            box-shadow: 0 0 0 15px rgba(255, 255, 255, 0); }
  100% {
    -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
            box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); } }

/**
 * cc.scss
 *
 * Copyright SHORT CUTS GmbH
 * https://www.short-cuts.de/
 *
 * Date: 2021-07-20
 * Author: kaiseliger (*@short-cuts.de)
 * MIT License (MIT)
 */
/**
 * functions.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/**
 * Return specific color
 */
/**
 * variables.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* ==========================================================================
   Colors
   ========================================================================== */
/* <@colors */
/* colors@> */
/* ==========================================================================
   Icons
   ========================================================================== */
/* <@icons */
/* icons@> */
/*
	Foundation
 */
/**
 * mixins.scss
 *
 * Your description
 *
 * Copyright SHORT CUTS GmbH
 * http://www.short-cuts.de
 *
 * Date: 2016-12-31
 * Author: Kai Seliger (hello@yesjoar.com)
 * MIT License (MIT)
 */
/* line 21, Resources/Private/Frontend/component/cc/cc.scss */
.cc-window {
  background-color: #fff;
  bottom: 0;
  color: #000;
  -webkit-box-shadow: 0 10px 30px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 0 10px 30px 0 rgba(0, 0, 0, 0.3);
  left: 0;
  padding: 1.25rem;
  position: fixed;
  right: 0;
  -webkit-transition: opacity 1s ease;
  -o-transition: opacity 1s ease;
  transition: opacity 1s ease;
  z-index: 9999;
  max-height: 96%;
  overflow: scroll; }
  @media print, screen and (min-width: 40em) {
    /* line 21, Resources/Private/Frontend/component/cc/cc.scss */
    .cc-window {
      left: 0.9375rem;
      margin: auto;
      max-width: 37.5rem;
      right: 1.25rem;
      bottom: 50%;
      -webkit-transform: translateY(50%);
          -ms-transform: translateY(50%);
              transform: translateY(50%);
      font-size: 1rem;
      padding: 2.5rem; }
      /* line 46, Resources/Private/Frontend/component/cc/cc.scss */
      .cc-window b {
        font-size: 1.25rem; } }
  /* line 52, Resources/Private/Frontend/component/cc/cc.scss */
  .cc-window .dp--cookie-check {
    margin: 1rem 0; }
    /* line 55, Resources/Private/Frontend/component/cc/cc.scss */
    .cc-window .dp--cookie-check label {
      background: transparent;
      font-size: 0.875rem;
      font-weight: 700;
      cursor: pointer;
      padding: 0.3125rem 0.9375rem;
      margin: 0.625rem -0.9375rem;
      border-radius: 0.1875rem;
      -webkit-transition: all .2s ease;
      -o-transition: all .2s ease;
      transition: all .2s ease; }
      @media print, screen and (min-width: 40em) {
        /* line 55, Resources/Private/Frontend/component/cc/cc.scss */
        .cc-window .dp--cookie-check label {
          font-size: 1rem; } }
      /* line 69, Resources/Private/Frontend/component/cc/cc.scss */
      .cc-window .dp--cookie-check label:hover {
        background: rgba(0, 0, 0, 0.03); }
    /* line 74, Resources/Private/Frontend/component/cc/cc.scss */
    .cc-window .dp--cookie-check small {
      font-size: 0.875rem;
      color: #666;
      display: block;
      line-height: 1.4;
      font-weight: normal; }
  /* line 83, Resources/Private/Frontend/component/cc/cc.scss */
  .cc-window .dp--check-box {
    margin: 0 0.25rem 0 0; }

/* line 89, Resources/Private/Frontend/component/cc/cc.scss */
.cc-invisible {
  opacity: 0; }

/* line 93, Resources/Private/Frontend/component/cc/cc.scss */
.cc-message {
  display: block; }
  /* line 96, Resources/Private/Frontend/component/cc/cc.scss */
  .cc-message p {
    margin-bottom: 0;
    line-height: inherit;
    font-size: inherit; }
  /* line 102, Resources/Private/Frontend/component/cc/cc.scss */
  .cc-message a {
    color: inherit;
    text-decoration: underline; }

/* line 108, Resources/Private/Frontend/component/cc/cc.scss */
.cc-btn {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: "Open Sans", Helvetica, Roboto, Arial, sans-serif;
  padding: 0.75rem 1.25rem;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  -o-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 1.25rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background: #f7941d;
  color: #fff !important;
  margin: 0 0.625rem 0 0; }
  /* line 202, bower_components/foundation-sites/scss/util/_mixins.scss */
  [data-whatinput='mouse'] .cc-btn {
    outline: 0; }
  /* line 123, Resources/Private/Frontend/component/cc/cc.scss */
  .cc-btn:hover, .cc-btn:focus {
    background: #d97a08 !important;
    color: #fff !important;
    text-decoration: none; }

/* line 131, Resources/Private/Frontend/component/cc/cc.scss */
.cc-allow {
  color: #58595b !important;
  border-color: transparent !important;
  background: transparent !important;
  text-decoration: none;
  display: none; }
  /* line 138, Resources/Private/Frontend/component/cc/cc.scss */
  .cc-allow--show {
    display: block; }
  /* line 142, Resources/Private/Frontend/component/cc/cc.scss */
  .cc-allow:hover {
    color: #58595b !important;
    border-color: transparent !important;
    background: transparent !important;
    text-decoration: none; }

/* line 150, Resources/Private/Frontend/component/cc/cc.scss */
.cc-dismiss {
  border-color: !important;
  color: !important;
  font-weight: 600; }
  /* line 155, Resources/Private/Frontend/component/cc/cc.scss */
  .cc-dismiss:hover, .cc-dismiss:focus {
    background-color: !important; }

/* line 161, Resources/Private/Frontend/component/cc/cc.scss */
.cc-revoke {
  display: none !important; }

/* line 165, Resources/Private/Frontend/component/cc/cc.scss */
.cc-compliance {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0.9375rem 0 0 0; }
  /* line 172, Resources/Private/Frontend/component/cc/cc.scss */
  .cc-compliance a:nth-child(1) {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }

/* line 179, Resources/Private/Frontend/component/cc/cc.scss */
.cc-settings--hidden {
  display: none; }

/* line 186, Resources/Private/Frontend/component/cc/cc.scss */
body:before {
  background-color: rgba(0, 0, 0, 0.5);
  content: '';
  display: block;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  z-index: 9998;
  -webkit-transition: opacity 100ms, visibility 100ms;
  -o-transition: opacity 100ms, visibility 100ms;
  transition: opacity 100ms, visibility 100ms; }

/* line 202, Resources/Private/Frontend/component/cc/cc.scss */
body.dp--cookie-consent:before {
  opacity: 1;
  visibility: visible; }

/* line 209, Resources/Private/Frontend/component/cc/cc.scss */
[data-revoke] {
  cursor: pointer; }

/* line 216, Resources/Private/Frontend/component/cc/cc.scss */
.dp--cookie-check {
  display: none;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  margin-top: 0.9375rem;
  padding-top: 0.9375rem; }
  /* line 222, Resources/Private/Frontend/component/cc/cc.scss */
  .dp--cookie-check label {
    display: inline-block;
    margin-right: 1.25rem; }
    /* line 226, Resources/Private/Frontend/component/cc/cc.scss */
    .dp--cookie-check label input {
      margin-bottom: 0.3125rem; }

/* line 232, Resources/Private/Frontend/component/cc/cc.scss */
.dp--loaded {
  display: block; }
  /* line 235, Resources/Private/Frontend/component/cc/cc.scss */
  .dp--loaded + .dp--overlay {
    display: none; }

/* line 240, Resources/Private/Frontend/component/cc/cc.scss */
.dp--iframe {
  display: none; }
  /* line 243, Resources/Private/Frontend/component/cc/cc.scss */
  .dp--iframe.dp--loaded {
    display: block; }

/* line 248, Resources/Private/Frontend/component/cc/cc.scss */
.dp--overlay {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgba(0, 0, 0, 0.8);
  bottom: 0;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  padding: 3.125rem;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0; }
  /* line 262, Resources/Private/Frontend/component/cc/cc.scss */
  .dp--overlay-header {
    font-weight: 700; }
  /* line 266, Resources/Private/Frontend/component/cc/cc.scss */
  .dp--overlay-description {
    display: none;
    font-size: 0.875rem;
    margin-top: 0.5rem; }
    @media print, screen and (min-width: 64em) {
      /* line 266, Resources/Private/Frontend/component/cc/cc.scss */
      .dp--overlay-description {
        display: block; } }
  /* line 276, Resources/Private/Frontend/component/cc/cc.scss */
  .dp--overlay-button {
    margin-top: 0.5rem; }
  /* line 280, Resources/Private/Frontend/component/cc/cc.scss */
  .dp--overlay button {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    font-family: "Open Sans", Helvetica, Roboto, Arial, sans-serif;
    padding: 0.75rem 1.25rem;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 0.25rem;
    -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
    -o-transition: background-color 0.25s ease-out, color 0.25s ease-out;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    font-size: 1.25rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background: #f7941d;
    color: #fff !important;
    margin: 0 0 0 0.625rem;
    font-size: 0.875rem; }
    /* line 202, bower_components/foundation-sites/scss/util/_mixins.scss */
    [data-whatinput='mouse'] .dp--overlay button {
      outline: 0; }
    /* line 287, Resources/Private/Frontend/component/cc/cc.scss */
    .dp--overlay button:hover, .dp--overlay button:focus {
      background: #d97a08 !important;
      color: #fff !important;
      text-decoration: none; }

/* ==========================================================================
   Utility classes
   ========================================================================== */
/* line 1, Resources/Private/Frontend/sass/partials/_print.scss */
.show-for-print {
  display: none !important; }

@media print {
  /* line 4, Resources/Private/Frontend/sass/partials/_print.scss */
  * {
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    text-shadow: none !important; }
  /* line 11, Resources/Private/Frontend/sass/partials/_print.scss */
  html,
  body {
    font-size: 80%; }
  /* line 15, Resources/Private/Frontend/sass/partials/_print.scss */
  body,
  .off-canvas-content,
  .content-sub-header {
    background: white  !important; }
  /* line 21, Resources/Private/Frontend/sass/partials/_print.scss */
  .content-sub-header {
    border: none !important; }
  /* line 24, Resources/Private/Frontend/sass/partials/_print.scss */
  body {
    padding-bottom: 0 !important; }
  /* line 28, Resources/Private/Frontend/sass/partials/_print.scss */
  .header--clone {
    display: none; }
  /* line 32, Resources/Private/Frontend/sass/partials/_print.scss */
  .header:not(.header--landing):not(.header--clone) > .row:before {
    border: none !important; }
  /* line 36, Resources/Private/Frontend/sass/partials/_print.scss */
  .main__content {
    -webkit-box-flex: 0 !important;
        -ms-flex: 0 0 100% !important;
            flex: 0 0 100% !important;
    max-width: 100% !important;
    padding-left: 0.9375rem !important; }
  /* line 41, Resources/Private/Frontend/sass/partials/_print.scss */
  .aside {
    margin-left: 1% !important; }
  /* line 45, Resources/Private/Frontend/sass/partials/_print.scss */
  .box {
    page-break-inside: avoid;
    border: 1px solid rgba(0, 0, 0, 0.1); }
  /* line 50, Resources/Private/Frontend/sass/partials/_print.scss */
  .box, .sr {
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
    -webkit-transform: none !important;
        -ms-transform: none !important;
            transform: none !important; }
  /* line 57, Resources/Private/Frontend/sass/partials/_print.scss */
  .show-for-print {
    display: block !important; }
  /* line 58, Resources/Private/Frontend/sass/partials/_print.scss */
  .hide-for-print {
    display: none !important; }
  /* line 60, Resources/Private/Frontend/sass/partials/_print.scss */
  table.show-for-print {
    display: table !important; }
  /* line 61, Resources/Private/Frontend/sass/partials/_print.scss */
  thead.show-for-print {
    display: table-header-group !important; }
  /* line 62, Resources/Private/Frontend/sass/partials/_print.scss */
  tbody.show-for-print {
    display: table-row-group !important; }
  /* line 63, Resources/Private/Frontend/sass/partials/_print.scss */
  tr.show-for-print {
    display: table-row !important; }
  /* line 64, Resources/Private/Frontend/sass/partials/_print.scss */
  td.show-for-print {
    display: table-cell !important; }
  /* line 65, Resources/Private/Frontend/sass/partials/_print.scss */
  th.show-for-print {
    display: table-cell !important; }
  /* line 67, Resources/Private/Frontend/sass/partials/_print.scss */
  .content-section__header {
    page-break-before: always; }
    /* line 69, Resources/Private/Frontend/sass/partials/_print.scss */
    .content-section__header span {
      background: white; }
  /* line 74, Resources/Private/Frontend/sass/partials/_print.scss */
  .filter-grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: auto !important;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    /* line 78, Resources/Private/Frontend/sass/partials/_print.scss */
    .filter-grid > .module {
      float: none !important;
      position: static !important;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 33.333333%;
              flex: 0 0 33.333333%;
      page-break-inside: avoid;
      padding-left: 0.625rem;
      padding-right: 0.625rem;
      margin-bottom: 1.25rem; }
      /* line 87, Resources/Private/Frontend/sass/partials/_print.scss */
      .filter-grid > .module > .box {
        height: 100% !important; }
  /* line 94, Resources/Private/Frontend/sass/partials/_print.scss */
  .nav-filter .btn {
    font-size: 1rem; }
  /* line 99, Resources/Private/Frontend/sass/partials/_print.scss */
  h1, .h1 {
    font-size: 2rem; }
  @page {
    margin: 0.5cm 1.5cm 0.5cm 2.5cm; }
  /* line 147, Resources/Private/Frontend/sass/partials/_print.scss */
  .print-break-inside {
    page-break-inside: auto; } }

/* line 4, bower_components/beerslider/src/style.scss */
.beer-slider {
  display: inline-block;
  position: relative;
  overflow: hidden; }
  /* line 5, bower_components/beerslider/src/style.scss */
  .beer-slider *, .beer-slider:before, .beer-slider:after,
  .beer-slider *:before,
  .beer-slider *:after {
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
  /* line 16, bower_components/beerslider/src/style.scss */
  .beer-slider img, .beer-slider svg {
    vertical-align: bottom; }
  /* line 19, bower_components/beerslider/src/style.scss */
  .beer-slider > * {
    height: 100%; }
  /* line 22, bower_components/beerslider/src/style.scss */
  .beer-slider > img {
    max-width: 100%;
    height: auto; }

/* line 27, bower_components/beerslider/src/style.scss */
.beer-reveal {
  position: absolute;
  left: 0;
  top: 0;
  right: 50%;
  overflow: hidden;
  z-index: 1;
  opacity: 0;
  -webkit-transition: opacity 0.35s;
  -o-transition: opacity 0.35s;
  transition: opacity 0.35s; }
  /* line 36, bower_components/beerslider/src/style.scss */
  .beer-reveal > :first-child {
    width: 200%;
    max-width: none;
    height: 100%; }
  /* line 41, bower_components/beerslider/src/style.scss */
  .beer-reveal > img:first-child {
    height: auto; }

/* line 46, bower_components/beerslider/src/style.scss */
.beer-range {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  height: 100%;
  margin: 0;
  left: -1px;
  width: calc(100% + 2px);
  cursor: pointer;
  -webkit-appearance: slider-horizontal !important;
  -moz-appearance: none;
  opacity: 0;
  -ms-touch-action: auto;
  touch-action: auto; }
  /* line 62, bower_components/beerslider/src/style.scss */
  .beer-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    height: 300vh; }
  /* line 66, bower_components/beerslider/src/style.scss */
  .beer-range::-moz-range-thumb {
    -webkit-appearance: none;
    height: 300vh; }
  /* line 70, bower_components/beerslider/src/style.scss */
  .beer-range::-ms-tooltip {
    display: none; }

/* line 76, bower_components/beerslider/src/style.scss */
.beer-handle {
  position: absolute;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
          transform: translate3d(-50%, -50%, 0);
  color: #000;
  background: rgba(255, 255, 255, 0.5);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0);
          box-shadow: 0 0 6px rgba(0, 0, 0, 0);
  -webkit-transition: background 0.3s, opacity 0.5s 0.25s, -webkit-box-shadow 0.3s;
  transition: background 0.3s, opacity 0.5s 0.25s, -webkit-box-shadow 0.3s;
  -o-transition: background 0.3s, box-shadow 0.3s, opacity 0.5s 0.25s;
  transition: background 0.3s, box-shadow 0.3s, opacity 0.5s 0.25s;
  transition: background 0.3s, box-shadow 0.3s, opacity 0.5s 0.25s, -webkit-box-shadow 0.3s; }
  /* line 92, bower_components/beerslider/src/style.scss */
  .beer-handle:before, .beer-handle:after {
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    top: 50%;
    border-top: solid 2px;
    border-left: solid 2px;
    -webkit-transform-origin: 0 0;
        -ms-transform-origin: 0 0;
            transform-origin: 0 0; }
  /* line 103, bower_components/beerslider/src/style.scss */
  .beer-handle:before {
    left: 10px;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  /* line 107, bower_components/beerslider/src/style.scss */
  .beer-handle:after {
    right: 0;
    -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
            transform: rotate(135deg); }

/* line 113, bower_components/beerslider/src/style.scss */
.beer-range:focus ~ .beer-handle {
  background: rgba(255, 255, 255, 0.85);
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
          box-shadow: 0 0 3px rgba(0, 0, 0, 0.4); }

/* line 118, bower_components/beerslider/src/style.scss */
.beer-slider[data-beer-label]:after,
.beer-reveal[data-beer-label]:after {
  content: attr(data-beer-label);
  position: absolute;
  top: 1.5rem;
  line-height: 1;
  padding: 0.5rem;
  border-radius: 0.125rem;
  background: rgba(255, 255, 255, 0.75); }

/* line 128, bower_components/beerslider/src/style.scss */
.beer-slider[data-beer-label]:after {
  right: 1.5rem; }

/* line 131, bower_components/beerslider/src/style.scss */
.beer-reveal[data-beer-label]:after {
  left: 1.5rem; }

/* line 134, bower_components/beerslider/src/style.scss */
.beer-slider[data-beer-label=""]:after,
.beer-reveal[data-beer-label=""]:after {
  content: none; }

/* line 140, bower_components/beerslider/src/style.scss */
.beer-ready .beer-reveal, .beer-ready .beer-handle {
  opacity: 1; }

/**
 * TODO: This is shitty here...
 */
/* line 147, Resources/Private/Frontend/sass/screen.scss */
.ci-blue .nav-filter .btn {
  color: #25aae2; }

/* line 151, Resources/Private/Frontend/sass/screen.scss */
.ci-green .nav-filter .btn {
  color: #74b74a; }

/* line 155, Resources/Private/Frontend/sass/screen.scss */
.ci-grey .nav-filter .btn {
  color: #58595b; }

/* line 160, Resources/Private/Frontend/sass/screen.scss */
.nav-filter .btn__filter--active {
  color: #fff !important; }

/* line 166, Resources/Private/Frontend/sass/screen.scss */
.button > a {
  color: #fff; }

/* line 171, Resources/Private/Frontend/sass/screen.scss */
.button.hollow > a {
  color: #f7941d; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNjcmVlbi5jc3MiLCJzY3JlZW4uc2NzcyIsInBhcnRpYWxzL19mdW5jdGlvbnMuc2NzcyIsInBhcnRpYWxzL192YXJpYWJsZXMuc2NzcyIsInBhcnRpYWxzL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLXNjc3Mvbm9ybWFsaXplLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLW1lbnUuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC11dGlsaXRpZXMuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC10cmFuc2Zvcm1hdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL190ZXh0LWRlY29yYXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fZm9udC1zdHlsaW5nLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2xpc3Qtc3R5bGUtdHlwZS5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19yb3VuZGVkLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JvcmRlcmVkLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NoYWRvdy5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19hcnJvdy5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zZXBhcmF0b3Iuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fb3ZlcmZsb3cuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fZGlzcGxheS5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3JkZXItYm94LnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JvcmRlci1ub25lLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NpemluZy5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwicGFydGlhbHMvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MiLCJwYXJ0aWFscy9fdHlwby5zY3NzIiwicGFydGlhbHMvX2ljb24tZm9udC5zY3NzIiwicGFydGlhbHMvX2J1cmdlci5zY3NzIiwicGFydGlhbHMvX2FuaW1hdGlvbnMuc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwicGFydGlhbHMvX2ZsdWlkX3N0eWxlZF9jb250ZW50LnNjc3MiLCIuLi9jb21wb25lbnQvaGVhZGVyL2hlYWRlci5zY3NzIiwiLi4vY29tcG9uZW50L2Zvb3Rlci9mb290ZXIuc2NzcyIsIi4uL2NvbXBvbmVudC9uYXYtbWFpbi9uYXYtbWFpbi5zY3NzIiwiLi4vY29tcG9uZW50L25hdi1tZWdhL25hdi1tZWdhLnNjc3MiLCIuLi9jb21wb25lbnQvbmF2LWZvb3Rlci9uYXYtZm9vdGVyLnNjc3MiLCIuLi9jb21wb25lbnQvbmF2LWJyZWFkY3J1bWIvbmF2LWJyZWFkY3J1bWIuc2NzcyIsIi4uL2NvbXBvbmVudC9ib3gvYm94LnNjc3MiLCIuLi9jb21wb25lbnQvYnV0dG9ucy9idXR0b25zLnNjc3MiLCIuLi9jb21wb25lbnQvcmV2ZWFsL3JldmVhbC5zY3NzIiwiLi4vY29tcG9uZW50L2p1bWJvdHJvbi9qdW1ib3Ryb24uc2NzcyIsIi4uL2NvbXBvbmVudC9jb250ZW50LWhlYWRlci9jb250ZW50LWhlYWRlci5zY3NzIiwiLi4vY29tcG9uZW50L2NvbnRlbnQtdmlkZW8vY29udGVudC12aWRlby5zY3NzIiwiLi4vY29tcG9uZW50L2Zvcm0vZm9ybS5zY3NzIiwiLi4vY29tcG9uZW50L25hdi1tb2JpbGUvbmF2LW1vYmlsZS5zY3NzIiwiLi4vY29tcG9uZW50L25hdi1zdWIvbmF2LXN1Yi5zY3NzIiwiLi4vY29tcG9uZW50L2NvbnRlbnQtc2VjdGlvbi9jb250ZW50LXNlY3Rpb24uc2NzcyIsIi4uL2NvbXBvbmVudC9uYXYtcGFnaW5hdGlvbi9uYXYtcGFnaW5hdGlvbi5zY3NzIiwiLi4vY29tcG9uZW50L2NvbnRlbnQtc3ViLWhlYWRlci9jb250ZW50LXN1Yi1oZWFkZXIuc2NzcyIsIi4uL2NvbXBvbmVudC9jb250YWN0LXNlYXJjaC9jb250YWN0LXNlYXJjaC5zY3NzIiwiLi4vY29tcG9uZW50L3F1b3RlL3F1b3RlLnNjc3MiLCIuLi9jb21wb25lbnQvaGlnaGxpZ2h0L2hpZ2hsaWdodC5zY3NzIiwiLi4vY29tcG9uZW50L2Rvd25sb2FkL2Rvd25sb2FkLnNjc3MiLCIuLi9jb21wb25lbnQvbmF2LXNpdGVtYXAvbmF2LXNpdGVtYXAuc2NzcyIsIi4uL2NvbXBvbmVudC9mb2xkaW5nLWN1YmUvZm9sZGluZy1jdWJlLnNjc3MiLCIuLi9jb21wb25lbnQvZ290b3AvZ290b3Auc2NzcyIsIi4uL2NvbXBvbmVudC90YWctY2xvdWQvdGFnLWNsb3VkLnNjc3MiLCIuLi9jb21wb25lbnQvYmFzbGlkZXIvYmFzbGlkZXIuc2NzcyIsIi4uL2NvbXBvbmVudC9pbWFnZS1tYXJrZXIvaW1hZ2UtbWFya2VyLnNjc3MiLCIuLi9jb21wb25lbnQvY2MvY2Muc2NzcyIsInBhcnRpYWxzL19wcmludC5zY3NzIiwiLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9iZWVyc2xpZGVyL3NyYy9zdHlsZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0NqQjs7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QUNmLGVBQWM7RUFDZCxpQkFBZ0I7RUFDaEIsZ0JBQWUsRUFDaEI7O0FmazZCSCwyRUFBMkU7QWU3NUJyRTtFQUNFLG9CR25LK0M7TUhtSy9DLHVCR25LK0M7VUhtSy9DLG1CR25LK0M7RUhvSy9DLG9CR3BLK0MsRUhxS2hEOztBZis1QlAsMkVBQTJFO0FlMTVCckU7RUk3SkosZ0JEaEJnQyxFSCtLM0I7O0FmNDVCUCwyRUFBMkU7QWV0NkJyRTtFQUNFLG9CR25LK0M7TUhtSy9DLHdCR25LK0M7VUhtSy9DLG9CR25LK0M7RUhvSy9DLHFCR3BLK0MsRUhxS2hEOztBZnc2QlAsMkVBQTJFO0FlbjZCckU7RUk3Skosc0JEYnFELEVINEtoRDs7QWZxNkJQLDJFQUEyRTtBZS82QnJFO0VBQ0Usb0JHbksrQztNSG1LL0Msa0JHbksrQztVSG1LL0MsY0duSytDO0VIb0svQyxlR3BLK0MsRUhxS2hEOztBZmk3QlAsMkVBQTJFO0FlNTZCckU7RUk3SkosdUJEYnFELEVINEtoRDs7QWY4NkJQLDJFQUEyRTtBZXg3QnJFO0VBQ0Usb0JHbksrQztNSG1LL0Msd0JHbksrQztVSG1LL0Msb0JHbksrQztFSG9LL0MscUJHcEsrQyxFSHFLaEQ7O0FmMDdCUCwyRUFBMkU7QWVyN0JyRTtFSTdKSixpQkRicUQsRUg0S2hEOztBZnU3QlAsMkVBQTJFO0FlajhCckU7RUFDRSxvQkduSytDO01IbUsvQyx3QkduSytDO1VIbUsvQyxvQkduSytDO0VIb0svQyxxQkdwSytDLEVIcUtoRDs7QWZtOEJQLDJFQUEyRTtBZTk3QnJFO0VJN0pKLHVCRGJxRCxFSDRLaEQ7O0FmZzhCUCwyRUFBMkU7QWUxOEJyRTtFQUNFLG9CR25LK0M7TUhtSy9DLGtCR25LK0M7VUhtSy9DLGNHbksrQztFSG9LL0MsZUdwSytDLEVIcUtoRDs7QWY0OEJQLDJFQUEyRTtBZXY4QnJFO0VJN0pKLHVCRGJxRCxFSDRLaEQ7O0FmeThCUCwyRUFBMkU7QWVuOUJyRTtFQUNFLG9CR25LK0M7TUhtSy9DLHdCR25LK0M7VUhtSy9DLG9CR25LK0M7RUhvSy9DLHFCR3BLK0MsRUhxS2hEOztBZnE5QlAsMkVBQTJFO0FlaDlCckU7RUk3SkosaUJEYnFELEVINEtoRDs7QWZrOUJQLDJFQUEyRTtBZTU5QnJFO0VBQ0Usb0JHbksrQztNSG1LL0Msd0JHbksrQztVSG1LL0Msb0JHbksrQztFSG9LL0MscUJHcEsrQyxFSHFLaEQ7O0FmODlCUCwyRUFBMkU7QWV6OUJyRTtFSTdKSix1QkRicUQsRUg0S2hEOztBZjI5QlAsMkVBQTJFO0FlcitCckU7RUFDRSxvQkduSytDO01IbUsvQyxrQkduSytDO1VIbUsvQyxjR25LK0M7RUhvSy9DLGVHcEsrQyxFSHFLaEQ7O0FmdStCUCwyRUFBMkU7QWVsK0JyRTtFSTdKSix1QkRicUQsRUg0S2hEOztBZm8rQlAsMkVBQTJFO0FlOStCckU7RUFDRSxvQkduSytDO01IbUsvQyx3QkduSytDO1VIbUsvQyxvQkduSytDO0VIb0svQyxxQkdwSytDLEVIcUtoRDs7QWZnL0JQLDJFQUEyRTtBZTMrQnJFO0VJN0pKLGlCRGJxRCxFSDRLaEQ7O0FmNitCUCwyRUFBMkU7QWV2L0JyRTtFQUNFLG9CR25LK0M7TUhtSy9DLHdCR25LK0M7VUhtSy9DLG9CR25LK0M7RUhvSy9DLHFCR3BLK0MsRUhxS2hEOztBZnkvQlAsMkVBQTJFO0FlcC9CckU7RUk3SkosdUJEYnFELEVINEtoRDs7QWZzL0JQLDJFQUEyRTtBZWhnQ3JFO0VBQ0Usb0JHbksrQztNSG1LL0MsbUJHbksrQztVSG1LL0MsZUduSytDO0VIb0svQyxnQkdwSytDLEVIcUtoRDs7QWZrZ0NQLDJFQUEyRTtBZTcvQnJFO0VJN0pKLHVCRGJxRCxFSDRLaEQ7O0FmKy9CUCwyRUFBMkU7QWUxL0JyRTtFQTFHSixvQkFBZTtNQUFmLGdCQUFlLEVBNEdWO0VmMi9CTCwyRUFBMkU7RWVybUMzRTtJQUdFLG9CQUZzQjtRQUV0QixtQkFGc0I7WUFFdEIsZUFGc0I7SUFHdEIsZ0JBSHNCLEVBSXZCOztBZnFtQ0gsMkVBQTJFO0FlbGdDckU7RUExR0osb0JBQWU7TUFBZixnQkFBZSxFQTRHVjtFZm1nQ0wsMkVBQTJFO0VlN21DM0U7SUFHRSxvQkFGc0I7UUFFdEIsa0JBRnNCO1lBRXRCLGNBRnNCO0lBR3RCLGVBSHNCLEVBSXZCOztBZjZtQ0gsMkVBQTJFO0FlMWdDckU7RUExR0osb0JBQWU7TUFBZixnQkFBZSxFQTRHVjtFZjJnQ0wsMkVBQTJFO0Vlcm5DM0U7SUFHRSxvQkFGc0I7UUFFdEIsd0JBRnNCO1lBRXRCLG9CQUZzQjtJQUd0QixxQkFIc0IsRUFJdkI7O0FmcW5DSCwyRUFBMkU7QWVsaENyRTtFQTFHSixvQkFBZTtNQUFmLGdCQUFlLEVBNEdWO0VmbWhDTCwyRUFBMkU7RWU3bkMzRTtJQUdFLG9CQUZzQjtRQUV0QixrQkFGc0I7WUFFdEIsY0FGc0I7SUFHdEIsZUFIc0IsRUFJdkI7O0FmNm5DSCwyRUFBMkU7QWUxaENyRTtFQTFHSixvQkFBZTtNQUFmLGdCQUFlLEVBNEdWO0VmMmhDTCwyRUFBMkU7RWVyb0MzRTtJQUdFLG9CQUZzQjtRQUV0QixrQkFGc0I7WUFFdEIsY0FGc0I7SUFHdEIsZUFIc0IsRUFJdkI7O0FmcW9DSCwyRUFBMkU7QWVsaUNyRTtFQTFHSixvQkFBZTtNQUFmLGdCQUFlLEVBNEdWO0VmbWlDTCwyRUFBMkU7RWU3b0MzRTtJQUdFLG9CQUZzQjtRQUV0Qix3QkFGc0I7WUFFdEIsb0JBRnNCO0lBR3RCLHFCQUhzQixFQUl2Qjs7QWY2b0NILDJFQUEyRTtBZTFpQ3JFO0VBMUdKLG9CQUFlO01BQWYsZ0JBQWUsRUE0R1Y7RWYyaUNMLDJFQUEyRTtFZXJwQzNFO0lBR0Usb0JBRnNCO1FBRXRCLHdCQUZzQjtZQUV0QixvQkFGc0I7SUFHdEIscUJBSHNCLEVBSXZCOztBZnFwQ0gsMkVBQTJFO0FlbGpDckU7RUExR0osb0JBQWU7TUFBZixnQkFBZSxFQTRHVjtFZm1qQ0wsMkVBQTJFO0VlN3BDM0U7SUFHRSxvQkFGc0I7UUFFdEIsb0JBRnNCO1lBRXRCLGdCQUZzQjtJQUd0QixpQkFIc0IsRUFJdkI7O0FmNnBDSCwyRUFBMkU7QWVsakNuRTtFQUNFLG9CQTVKTTtNQTRKTixrQkE1Sk07VUE0Sk4sY0E1Sk0sRUE2SlA7O0Fmb2pDVCwyRUFBMkU7QWUvaUNuRTtFQUVJLG9CQUEyQjtNQUEzQixtQkFBMkI7VUFBM0IsZUFBMkI7RUFHekIsb0JBdktFO01BdUtGLGtCQXZLRTtVQXVLRixjQXZLRSxFQXlLTDs7QWY2aUNYLDJFQUEyRTtBZXZpQ3ZFO0VFcE5BLGlCSnVFUztFSXRFVCxnQkpzRVMsRUU4SW1DOztBZjJpQ2hELDJFQUEyRTtBZXhpQ3ZFO0VFeE5BLHlCQUZxQztFQUdyQyx3QkFIcUMsRUYyTmdCOztBUjVFbkQ7RVB5bkNKLDJFQUEyRTtFZTdsQ3ZFO0lBQ0Usb0JHbksrQztRSG1LL0MsdUJHbksrQztZSG1LL0MsbUJHbksrQztJSG9LL0Msb0JHcEsrQyxFSHFLaEQ7RWY4bENMLDJFQUEyRTtFZXpsQ3ZFO0lJN0pKLGdCRGhCZ0MsRUgrSzNCO0VmMGxDTCwyRUFBMkU7RWVwbUN2RTtJQUNFLG9CR25LK0M7UUhtSy9DLHdCR25LK0M7WUhtSy9DLG9CR25LK0M7SUhvSy9DLHFCR3BLK0MsRUhxS2hEO0VmcW1DTCwyRUFBMkU7RWVobUN2RTtJSTdKSixzQkRicUQsRUg0S2hEO0VmaW1DTCwyRUFBMkU7RWUzbUN2RTtJQUNFLG9CR25LK0M7UUhtSy9DLGtCR25LK0M7WUhtSy9DLGNHbksrQztJSG9LL0MsZUdwSytDLEVIcUtoRDtFZjRtQ0wsMkVBQTJFO0Vldm1DdkU7SUk3SkosdUJEYnFELEVINEtoRDtFZndtQ0wsMkVBQTJFO0VlbG5DdkU7SUFDRSxvQkduSytDO1FIbUsvQyx3QkduSytDO1lIbUsvQyxvQkduSytDO0lIb0svQyxxQkdwSytDLEVIcUtoRDtFZm1uQ0wsMkVBQTJFO0VlOW1DdkU7SUk3SkosaUJEYnFELEVINEtoRDtFZittQ0wsMkVBQTJFO0Vlem5DdkU7SUFDRSxvQkduSytDO1FIbUsvQyx3QkduSytDO1lIbUsvQyxvQkduSytDO0lIb0svQyxxQkdwSytDLEVIcUtoRDtFZjBuQ0wsMkVBQTJFO0Vlcm5DdkU7SUk3SkosdUJEYnFELEVINEtoRDtFZnNuQ0wsMkVBQTJFO0VlaG9DdkU7SUFDRSxvQkduSytDO1FIbUsvQyxrQkduSytDO1lIbUsvQyxjR25LK0M7SUhvSy9DLGVHcEsrQyxFSHFLaEQ7RWZpb0NMLDJFQUEyRTtFZTVuQ3ZFO0lJN0pKLHVCRGJxRCxFSDRLaEQ7RWY2bkNMLDJFQUEyRTtFZXZvQ3ZFO0lBQ0Usb0JHbksrQztRSG1LL0Msd0JHbksrQztZSG1LL0Msb0JHbksrQztJSG9LL0MscUJHcEsrQyxFSHFLaEQ7RWZ3b0NMLDJFQUEyRTtFZW5vQ3ZFO0lJN0pKLGlCRGJxRCxFSDRLaEQ7RWZvb0NMLDJFQUEyRTtFZTlvQ3ZFO0lBQ0Usb0JHbksrQztRSG1LL0Msd0JHbksrQztZSG1LL0Msb0JHbksrQztJSG9LL0MscUJHcEsrQyxFSHFLaEQ7RWYrb0NMLDJFQUEyRTtFZTFvQ3ZFO0lJN0pKLHVCRGJxRCxFSDRLaEQ7RWYyb0NMLDJFQUEyRTtFZXJwQ3ZFO0lBQ0Usb0JHbksrQztRSG1LL0Msa0JHbksrQztZSG1LL0MsY0duSytDO0lIb0svQyxlR3BLK0MsRUhxS2hEO0Vmc3BDTCwyRUFBMkU7RWVqcEN2RTtJSTdKSix1QkRicUQsRUg0S2hEO0Vma3BDTCwyRUFBMkU7RWU1cEN2RTtJQUNFLG9CR25LK0M7UUhtSy9DLHdCR25LK0M7WUhtSy9DLG9CR25LK0M7SUhvSy9DLHFCR3BLK0MsRUhxS2hEO0VmNnBDTCwyRUFBMkU7RWV4cEN2RTtJSTdKSixpQkRicUQsRUg0S2hEO0VmeXBDTCwyRUFBMkU7RWVucUN2RTtJQUNFLG9CR25LK0M7UUhtSy9DLHdCR25LK0M7WUhtSy9DLG9CR25LK0M7SUhvSy9DLHFCR3BLK0MsRUhxS2hEO0Vmb3FDTCwyRUFBMkU7RWUvcEN2RTtJSTdKSix1QkRicUQsRUg0S2hEO0VmZ3FDTCwyRUFBMkU7RWUxcUN2RTtJQUNFLG9CR25LK0M7UUhtSy9DLG1CR25LK0M7WUhtSy9DLGVHbksrQztJSG9LL0MsZ0JHcEsrQyxFSHFLaEQ7RWYycUNMLDJFQUEyRTtFZXRxQ3ZFO0lJN0pKLHVCRGJxRCxFSDRLaEQ7RWZ1cUNMLDJFQUEyRTtFZWxxQ3ZFO0lBMUdKLG9CQUFlO1FBQWYsZ0JBQWUsRUE0R1Y7SWZtcUNILDJFQUEyRTtJZTd3QzdFO01BR0Usb0JBRnNCO1VBRXRCLG1CQUZzQjtjQUV0QixlQUZzQjtNQUd0QixnQkFIc0IsRUFJdkI7RWY0d0NELDJFQUEyRTtFZXpxQ3ZFO0lBMUdKLG9CQUFlO1FBQWYsZ0JBQWUsRUE0R1Y7SWYwcUNILDJFQUEyRTtJZXB4QzdFO01BR0Usb0JBRnNCO1VBRXRCLGtCQUZzQjtjQUV0QixjQUZzQjtNQUd0QixlQUhzQixFQUl2QjtFZm14Q0QsMkVBQTJFO0VlaHJDdkU7SUExR0osb0JBQWU7UUFBZixnQkFBZSxFQTRHVjtJZmlyQ0gsMkVBQTJFO0llM3hDN0U7TUFHRSxvQkFGc0I7VUFFdEIsd0JBRnNCO2NBRXRCLG9CQUZzQjtNQUd0QixxQkFIc0IsRUFJdkI7RWYweENELDJFQUEyRTtFZXZyQ3ZFO0lBMUdKLG9CQUFlO1FBQWYsZ0JBQWUsRUE0R1Y7SWZ3ckNILDJFQUEyRTtJZWx5QzdFO01BR0Usb0JBRnNCO1VBRXRCLGtCQUZzQjtjQUV0QixjQUZzQjtNQUd0QixlQUhzQixFQUl2QjtFZml5Q0QsMkVBQTJFO0VlOXJDdkU7SUExR0osb0JBQWU7UUFBZixnQkFBZSxFQTRHVjtJZityQ0gsMkVBQTJFO0llenlDN0U7TUFHRSxvQkFGc0I7VUFFdEIsa0JBRnNCO2NBRXRCLGNBRnNCO01BR3RCLGVBSHNCLEVBSXZCO0Vmd3lDRCwyRUFBMkU7RWVyc0N2RTtJQTFHSixvQkFBZTtRQUFmLGdCQUFlLEVBNEdWO0lmc3NDSCwyRUFBMkU7SWVoekM3RTtNQUdFLG9CQUZzQjtVQUV0Qix3QkFGc0I7Y0FFdEIsb0JBRnNCO01BR3RCLHFCQUhzQixFQUl2QjtFZit5Q0QsMkVBQTJFO0VlNXNDdkU7SUExR0osb0JBQWU7UUFBZixnQkFBZSxFQTRHVjtJZjZzQ0gsMkVBQTJFO0lldnpDN0U7TUFHRSxvQkFGc0I7VUFFdEIsd0JBRnNCO2NBRXRCLG9CQUZzQjtNQUd0QixxQkFIc0IsRUFJdkI7RWZzekNELDJFQUEyRTtFZW50Q3ZFO0lBMUdKLG9CQUFlO1FBQWYsZ0JBQWUsRUE0R1Y7SWZvdENILDJFQUEyRTtJZTl6QzdFO01BR0Usb0JBRnNCO1VBRXRCLG9CQUZzQjtjQUV0QixnQkFGc0I7TUFHdEIsaUJBSHNCLEVBSXZCLEVBQUE7O0FSd0RHO0VQdXdDSiwyRUFBMkU7RWVwdENyRTtJQUNFLG9CQTVKTTtRQTRKTixrQkE1Sk07WUE0Sk4sY0E1Sk0sRUE2SlAsRUFBQTs7QWZzdENULDJFQUEyRTtBZWp0Q25FO0VBRUksb0JBQTJCO01BQTNCLG1CQUEyQjtVQUEzQixlQUEyQixFQUs1QjtFUmpFTDtJUCt3Q0YsMkVBQTJFO0llcnRDdkU7TUFLTSxvQkF2S0U7VUF1S0Ysa0JBdktFO2NBdUtGLGNBdktFLEVBeUtMLEVBQUE7O0FSakVMO0VQb3hDSiwyRUFBMkU7RWU3c0N6RTtJRXBOQSxpQkp1RVM7SUl0RVQsZ0JKc0VTLEVFOEltQztFZmd0QzlDLDJFQUEyRTtFZTdzQ3pFO0lFeE5BLHlCQUZxQztJQUdyQyx3QkFIcUMsRUYyTmdCLEVBQUE7O0FSNUVuRDtFUDh4Q0osMkVBQTJFO0VlbHdDdkU7SUFDRSxvQkduSytDO1FIbUsvQyx1QkduSytDO1lIbUsvQyxtQkduSytDO0lIb0svQyxvQkdwSytDLEVIcUtoRDtFZm13Q0wsMkVBQTJFO0VlOXZDdkU7SUk3SkosZ0JEaEJnQyxFSCtLM0I7RWYrdkNMLDJFQUEyRTtFZXp3Q3ZFO0lBQ0Usb0JHbksrQztRSG1LL0Msd0JHbksrQztZSG1LL0Msb0JHbksrQztJSG9LL0MscUJHcEsrQyxFSHFLaEQ7RWYwd0NMLDJFQUEyRTtFZXJ3Q3ZFO0lJN0pKLHNCRGJxRCxFSDRLaEQ7RWZzd0NMLDJFQUEyRTtFZWh4Q3ZFO0lBQ0Usb0JHbksrQztRSG1LL0Msa0JHbksrQztZSG1LL0MsY0duSytDO0lIb0svQyxlR3BLK0MsRUhxS2hEO0VmaXhDTCwyRUFBMkU7RWU1d0N2RTtJSTdKSix1QkRicUQsRUg0S2hEO0VmNndDTCwyRUFBMkU7RWV2eEN2RTtJQUNFLG9CR25LK0M7UUhtSy9DLHdCR25LK0M7WUhtSy9DLG9CR25LK0M7SUhvSy9DLHFCR3BLK0MsRUhxS2hEO0Vmd3hDTCwyRUFBMkU7RWVueEN2RTtJSTdKSixpQkRicUQsRUg0S2hEO0Vmb3hDTCwyRUFBMkU7RWU5eEN2RTtJQUNFLG9CR25LK0M7UUhtSy9DLHdCR25LK0M7WUhtSy9DLG9CR25LK0M7SUhvSy9DLHFCR3BLK0MsRUhxS2hEO0VmK3hDTCwyRUFBMkU7RWUxeEN2RTtJSTdKSix1QkRicUQsRUg0S2hEO0VmMnhDTCwyRUFBMkU7RWVyeUN2RTtJQUNFLG9CR25LK0M7UUhtSy9DLGtCR25LK0M7WUhtSy9DLGNHbksrQztJSG9LL0MsZUdwSytDLEVIcUtoRDtFZnN5Q0wsMkVBQTJFO0VlanlDdkU7SUk3SkosdUJEYnFELEVINEtoRDtFZmt5Q0wsMkVBQTJFO0VlNXlDdkU7SUFDRSxvQkduSytDO1FIbUsvQyx3QkduSytDO1lIbUsvQyxvQkduSytDO0lIb0svQyxxQkdwSytDLEVIcUtoRDtFZjZ5Q0wsMkVBQTJFO0VleHlDdkU7SUk3SkosaUJEYnFELEVINEtoRDtFZnl5Q0wsMkVBQTJFO0VlbnpDdkU7SUFDRSxvQkduSytDO1FIbUsvQyx3QkduSytDO1lIbUsvQyxvQkduSytDO0lIb0svQyxxQkdwSytDLEVIcUtoRDtFZm96Q0wsMkVBQTJFO0VlL3lDdkU7SUk3SkosdUJEYnFELEVINEtoRDtFZmd6Q0wsMkVBQTJFO0VlMXpDdkU7SUFDRSxvQkduSytDO1FIbUsvQyxrQkduSytDO1lIbUsvQyxjR25LK0M7SUhvSy9DLGVHcEsrQyxFSHFLaEQ7RWYyekNMLDJFQUEyRTtFZXR6Q3ZFO0lJN0pKLHVCRGJxRCxFSDRLaEQ7RWZ1ekNMLDJFQUEyRTtFZWowQ3ZFO0lBQ0Usb0JHbksrQztRSG1LL0Msd0JHbksrQztZSG1LL0Msb0JHbksrQztJSG9LL0MscUJHcEsrQyxFSHFLaEQ7RWZrMENMLDJFQUEyRTtFZTd6Q3ZFO0lJN0pKLGlCRGJxRCxFSDRLaEQ7RWY4ekNMLDJFQUEyRTtFZXgwQ3ZFO0lBQ0Usb0JHbksrQztRSG1LL0Msd0JHbksr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QkdwSytDLEVIcUtoRDtFZis2Q0wsMkVBQTJFO0VlMTZDdkU7SUk3Skosc0JEYnFELEVINEtoRDtFZjI2Q0wsMkVBQTJFO0VlcjdDdkU7SUFDRSxvQkduSytDO1FIbUsvQyxrQkduSytDO1lIbUsvQyxjR25LK0M7SUhvSy9DLGVHcEsrQyxFSHFLaEQ7RWZzN0NMLDJFQUEyRTtFZWo3Q3ZFO0lJN0pKLHVCRGJxRCxFSDRLaEQ7RWZrN0NMLDJFQUEyRTtFZTU3Q3ZFO0lBQ0Usb0JHbksrQztRSG1LL0Msd0JHbksrQztZSG1LL0Msb0JHbksrQztJSG9LL0MscUJHcEsrQyxFSHFLaEQ7RWY2N0NMLDJFQUEyRTtFZXg3Q3ZFO0lJN0pKLGlCRGJxRCxFSDRLaEQ7RWZ5N0NMLDJFQUEyRTtFZW44Q3ZFO0lBQ0Usb0JHbksrQztRSG1LL0Msd0JHbksrQztZSG1LL0Msb0JHbksrQztJSG9LL0MscUJHcEsrQyxFSHFLaEQ7RWZvOENMLDJFQUEyRTtFZS83Q3ZFO0lJN0pKLHVCRGJxRCxFSDRLaEQ7RWZnOENMLDJFQUEyRTtFZTE4Q3ZFO0lBQ0Usb0JHbksrQztRSG1LL0Msa0JHbksrQztZSG1LL0MsY0duSytDO0lIb0svQyxlR3BLK0MsRUhxS2hEO0VmMjhDTCwyRUFBMkU7RWV0OEN2RTtJSTdKSix1QkRicUQsRUg0S2hEO0VmdThDTCwyRUFBMkU7RWVqOUN2RTtJQUNFLG9CR25LK0M7UUhtSy9DLHdCR25LK0M7WUhtSy9DLG9CR25LK0M7SUhvSy9DLHFCR3BLK0MsRUhxS2hEO0VmazlDTCwyRUFBMkU7RWU3OEN2RTtJSTdKSixpQkRicUQsRUg0S2hEO0VmODhDTCwyRUFBMkU7RWV4OUN2RTtJQUNFLG9CR25LK0M7UUhtSy9DLHdCR25LK0M7WUhtSy9DLG9CR25LK0M7SUhvSy9DLHFCR3BLK0MsRUhxS2hEO0VmeTlDTCwyRUFBMkU7RWVwOUN2RTtJSTdKSix1QkRicUQsRUg0S2hEO0VmcTlDTCwyRUFBMkU7RWUvOUN2RTtJQUNFLG9CR25LK0M7UUhtSy9DLGtCR25LK0M7WUhtSy9DLGNHbksrQztJSG9LL0MsZUdwSytDLEVIcUtoRDtFZmcrQ0wsMkVBQTJFO0VlMzlDdkU7SUk3SkosdUJEYnFELEVINEtoRDtFZjQ5Q0wsMkVBQTJFO0VldCtDdkU7SUFDRSxvQkduSytDO1FIbUsvQyx3QkduSytDO1lIbUsvQyxvQkduSytDO0lIb0svQyxxQkdwSytDLEVIcUtoRDtFZnUrQ0wsMkVBQTJFO0VlbCtDdkU7SUk3SkosaUJEYnFELEVINEtoRDtFZm0rQ0wsMkVBQTJFO0VlNytDdkU7SUFDRSxvQkduSytDO1FIbUsvQyx3QkduSytDO1lIbUsvQyxvQkduSytDO0lIb0svQyxxQkdwSytDLEVIcUtoRDtFZjgrQ0wsMkVBQTJFO0VleitDdkU7SUk3SkosdUJEYnFELEVINEtoRDtFZjArQ0wsMkVBQTJFO0VlcC9DdkU7SUFDRSxvQkduSytDO1FIbUsvQyxtQkduSytDO1lIbUsvQyxlR25LK0M7SUhvSy9DLGdCR3BLK0MsRUhxS2hEO0VmcS9DTCwyRUFBMkU7RWVoL0N2RTtJSTdKSix1QkRicUQsRUg0S2hEO0VmaS9DTCwyRUFBMkU7RWU1K0N2RTtJQTFHSixvQkFBZTtRQUFmLGdCQUFlLEVBNEdWO0lmNitDSCwyRUFBMkU7SWV2bEQ3RTtNQUdFLG9CQUZzQjtVQUV0QixtQkFGc0I7Y0FFdEIsZUFGc0I7TUFHdEIsZ0JBSHNCLEVBSXZCO0Vmc2xERCwyRUFBMkU7RWVuL0N2RTtJQTFHSixvQkFBZTtRQUFmLGdCQUFlLEVBNEdWO0lmby9DSCwyRUFBMkU7SWU5bEQ3RTtNQUdFLG9CQUZzQjtVQUV0QixrQkFGc0I7Y0FFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RWY2bERELDJFQUEyRTtFZTEvQ3ZFO0lBMUdKLG9CQUFlO1FBQWYsZ0JBQWUsRUE0R1Y7SWYyL0NILDJFQUEyRTtJZXJtRDdFO01BR0Usb0JBRnNCO1VBRXRCLHdCQUZzQjtjQUV0QixvQkFGc0I7TUFHdEIscUJBSHNCLEVBSXZCO0Vmb21ERCwyRUFBMkU7RWVqZ0R2RTtJQTFHSixvQkFBZTtRQUFmLGdCQUFlLEVBNEdWO0lma2dESCwyRUFBMkU7SWU1bUQ3RTtN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QUEyRTtBb0J4ekRyRTtFR0VGLFdBRG9ELEVIQ2pEOztBcEIwekRQLDJFQUEyRTtBb0I1ekRyRTtFR0VGLGlCQURvRCxFSENqRDs7QXBCOHpEUCwyRUFBMkU7QW9CaDBEckU7RUdFRixpQkFEb0QsRUhDakQ7O0FwQmswRFAsMkVBQTJFO0FvQnAwRHJFO0VHRUYsV0FEb0QsRUhDakQ7O0FwQnMwRFAsMkVBQTJFO0FvQngwRHJFO0VHRUYsaUJBRG9ELEVIQ2pEOztBcEIwMERQLDJFQUEyRTtBb0I1MERyRTtFR0VGLGlCQURvRCxFSENqRDs7QXBCODBEUCwyRUFBMkU7QW9CaDFEckU7RUdFRixZQURvRCxFSENqRDs7QWI2RUQ7RVBzd0RKLDJFQUEyRTtFb0JsMkR2RTtJR2hCRixvQkFBYTtRQUFiLGtCQUFhO1lBQWIsY0FBYTtJQXVCYixZQUFtQixFSEpoQjtFcEJtMkRMLDJFQUEyRTtFb0JqMkR2RTtJR2xCRixvQkFBYztRQUFkLG1CQUFjO1lBQWQsZUFBYztJQXdCZCxZQUFtQixFSEhoQjtFcEJrMkRMLDJFQUEyRTtFb0I3MUR2RTtJR0VGLGdCQURvRCxFSENqRDtFcEI4MURMLDJFQUEyRTtFb0JoMkR2RTtJR0VGLGlCQURvRCxFSENqRDtFcEJpMkRMLDJFQUEyRTtFb0JuMkR2RTtJR0VGLFdBRG9ELEVIQ2pEO0VwQm8yREwsMkVBQTJFO0VvQnQyRHZFO0lHRUYsaUJBRG9ELEVIQ2pEO0VwQnUyREwsMkVBQTJFO0VvQnoyRHZFO0lHRUYsaUJBRG9ELEVIQ2pEO0VwQjAyREwsMkVBQTJFO0VvQjUyRHZFO0lHRUYsV0FEb0QsRUhDakQ7RXBCNjJETCwyRUFBMkU7RW9CLzJEdkU7SUdFRixpQkFEb0QsRUhDakQ7RXBCZzNETCwyRUFBMkU7RW9CbDNEdkU7SUdFRixpQkFEb0QsRUhDakQ7RXBCbTNETCwyRUFBMkU7RW9CcjNEdkU7SUdFRixXQURvRCxFSENqRDtFcEJzM0RMLDJFQUEyRTtFb0J4M0R2RTtJR0VGLGlCQURvRCxFSENqRDtFcEJ5M0RMLDJFQUEyRTtFb0IzM0R2RTtJR0VGLGlCQURvRCxFSENqRDtFcEI0M0RMLDJFQUEyRTtFb0I5M0R2RTtJR0VGLFlBRG9ELEVIQ2pELEVBQUE7O0FiNkVEO0VQb3pESiwyRUFBMkU7RW9CaDVEdkU7SUdoQkYsb0JBQWE7UUFBYixrQkFBYTtZQUFiLGNBQWE7SUF1QmIsWUFBbUIsRUhKaEI7RXBCaTVETCwyRUFBMkU7RW9CLzREdkU7SUdsQkYsb0JBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWM7SUF3QmQsWUFBbUIsRUhIaEI7RXBCZzVETCwyRUFBMkU7RW9CMzREdkU7SUdFRixnQkFEb0QsRUhDakQ7RXBCNDRETCwyRUFBMkU7RW9COTREdkU7SUdFRixpQkFEb0QsRUhDakQ7RXBCKzRETCwyRUFBMkU7RW9CajVEdkU7SUdFRixXQURvRCxFSENqRDtFcEJrNURMLDJFQUEyRTtFb0JwNUR2RTtJR0VGLGlCQURvRCxFSENqRDtFcEJxNURMLDJFQUEyRTtFb0J2NUR2RTtJR0VGLGlCQURvRCxFSENqRDtFcEJ3NURMLDJFQUEyRTtFb0IxNUR2RTtJR0VGLFdBRG9ELEVIQ2pEO0VwQjI1REwsMkVBQTJFO0VvQjc1RHZFO0lHRUYsaUJBRG9ELEVIQ2pEO0VwQjg1REwsMkVBQTJFO0VvQmg2RHZFO0lHRUYsaUJBRG9ELEVIQ2pEO0VwQmk2REwsMkVBQTJFO0VvQm42RHZFO0lHRUYsV0FEb0QsRUhDakQ7RXBCbzZETCwyRUFBMkU7RW9CdDZEdkU7SUdFRixpQkFEb0QsRUhDakQ7RXBCdTZETCwyRUFBMkU7RW9CejZEdkU7SUdFRixpQkFEb0QsRUhDakQ7RXBCMDZETCwyRUFBMkU7RW9CNTZEdkU7SUdFRixZQURvRCxFSENqRCxFQUFBOztBYmtGRDtFUDYxREosMkVBQTJFO0VvQjk3RHZFO0lHaEJGLG9CQUFhO1FBQWIsa0JBQWE7WUFBYixjQUFhO0lBdUJiLFlBQW1CLEVISmhCO0VwQis3REwsMkVBQTJFO0VvQjc3RHZFO0lHbEJGLG9CQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjO0lBd0JkLFlBQW1CLEVISGhCO0VwQjg3REwsMkVBQTJFO0VvQno3RHZFO0lHRUYsZ0JBRG9ELEVIQ2pEO0VwQjA3REwsMkVBQTJFO0VvQjU3RHZFO0lHRUYsaUJBRG9ELEVIQ2pEO0VwQjY3REwsMkVBQTJFO0VvQi83RHZFO0lHRUYsV0FEb0QsRUhDakQ7RXBCZzhETCwyRUFBMkU7RW9CbDhEdkU7SUdFRixpQkFEb0QsRUhDakQ7RXBCbThETCwyRUFBMkU7RW9CcjhEdkU7SUdFRixpQkFEb0QsRUhDakQ7RXBCczhETCwyRUFBMkU7RW9CeDhEdkU7SUdFRixXQURvRCxFSENqRDtFcEJ5OERMLDJFQUEyRTtFb0IzOER2RTtJR0VGLGlCQURvRCxFSENqRDtFcEI0OERMLDJFQUEyRTtFb0I5OER2RTtJR0VGLGlCQURvRCxFSENqRDtFcEIrOERMLDJFQUEyRTtFb0JqOUR2RTtJR0VGLFdBRG9ELEVIQ2pEO0VwQms5REwsMkVBQTJFO0VvQnA5RHZFO0lHRUYsaUJBRG9ELEVIQ2pEO0VwQnE5REwsMkVBQTJFO0VvQnY5RHZFO0lHRUYsaUJBRG9ELEVIQ2pEO0VwQnc5REwsMkVBQTJFO0VvQjE5RHZFO0lHRUYsWUFEb0QsRUhDakQsRUFBQTs7QXBCNDlEUCwyRUFBMkU7QW9CdjlEekU7RUFDRSxZQUFXLEVBQ1o7O0FwQnk5REgsMkVBQTJFO0FvQnQ5RHpFO0VBQ0UsYUFBWSxFQUNiOztBcEJ3OURILDRFQUE0RTtBb0IzN0QxRTtFQy9GTSx1QkFBNEI7RUFBNUIsd0JBQTRCLEVEOEhqQztFYktHO0lQNDVERiw0RUFBNEU7SW9CaDhEOUU7TUMvRk0sd0JBQTRCO01BQTVCLHlCQUE0QixFRDhIakMsRUFBQTtFcEJxNkRELDRFQUE0RTtFb0JwOEQ1RTtJR3BERSw0QkFENEU7SUZqQzFFLHNCQUE0QjtJQUE1Qix1QkFBNEIsRUQ0RjdCO0VwQm04REgsNEVBQTRFO0VvQmorRDVFO0lHekJFLFlBQW1CLEVIMkJwQjtFcEJrK0RELDRFQUE0RTtFb0JoK0Q1RTtJR3pCRSxZQUFtQixFSDJCcEI7RXBCaStERCw0RUFBNEU7RW9CMzlEMUU7SUc3QkEsaUNBRGdILEVIZ0MvRztFcEI0OURILDRFQUE0RTtFb0I5OUQxRTtJRzdCQSxrQ0FEZ0gsRUhnQy9HO0VwQis5REgsNEVBQTRFO0VvQmorRDFFO0lHN0JBLDRCQURnSCxFSGdDL0c7RXBCaytESCw0RUFBNEU7RW9CcCtEMUU7SUc3QkEsa0NBRGdILEVIZ0MvRztFcEJxK0RILDRFQUE0RTtFb0J2K0QxRTtJRzdCQSxrQ0FEZ0gsRUhnQy9HO0VwQncrREgsNEVBQTRFO0VvQjErRDFFO0lHN0JBLDRCQURnSCxFSGdDL0c7RXBCMitESCw0RUFBNEU7RW9CNytEMUU7SUc3QkEsa0NBRGdILEVIZ0MvRztFcEI4K0RILDRFQUE0RTtFb0JoL0QxRTtJRzdCQSxrQ0FEZ0gsRUhnQy9HO0VwQmkvREgsNEVBQTRFO0VvQm4vRDFFO0lHN0JBLDRCQURnSCxFSGdDL0c7RXBCby9ESCw0RUFBNEU7RW9CdC9EMUU7SUc3QkEsa0NBRGdILEVIZ0MvRztFcEJ1L0RILDRFQUE0RTtFb0J6L0QxRTtJRzdCQSxrQ0FEZ0gsRUhnQy9HO0VwQjAvREgsNEVBQTRFO0VvQjUvRDFFO0lHN0JBLDZCQURnSCxFSGdDL0c7RWI4Q0M7SVBnOURGLDRFQUE0RTtJb0I1Z0U5RTtNR3pCRSxZQUFtQixFSDJCcEI7SXBCNmdFQyw0RUFBNEU7SW9CM2dFOUU7TUd6QkUsWUFBbUIsRUgyQnBCO0lwQjRnRUMsNEVBQTRFO0lvQnRnRTVFO01HN0JBLGlDQURnSCxFSGdDL0c7SXBCdWdFRCw0RUFBNEU7SW9CemdFNUU7TUc3QkEsa0NBRGdILEVIZ0MvRztJcEIwZ0VELDRFQUE0RTtJb0I1Z0U1RTtNRzdCQSw0QkFEZ0gsRUhnQy9HO0lwQjZnRUQsNEVBQTRFO0lvQi9nRTVFO01HN0JBLGtDQURnSCxFSGdDL0c7SXBCZ2hFRCw0RUFBNEU7SW9CbGhFNUU7TUc3QkEsa0NBRGdILEVIZ0MvRztJcEJtaEVELDRFQUE0RTtJb0JyaEU1RTtNRzdCQSw0QkFEZ0gsRUhnQy9HO0lwQnNoRUQsNEVBQTRFO0lvQnhoRTVFO01HN0JBLGtDQURnSCxFSGdDL0c7SXBCeWhFRCw0RUFBNEU7SW9CM2hFNUU7TUc3QkEsa0NBRGdILEVIZ0MvRztJcEI0aEVELDRFQUE0RTtJb0I5aEU1RTtNRzdCQSw0QkFEZ0gsRUhnQy9HO0lwQitoRUQsNEVBQTRFO0lvQmppRTVFO01HN0JBLGtDQURnSCxFSGdDL0c7SXBCa2lFRCw0RUFBNEU7SW9CcGlFNUU7TUc3QkEsa0NBRGdILEVIZ0MvRztJcEJxaUVELDRFQUE0RTtJb0J2aUU1RTtNRzdCQSw2QkFEZ0gsRUhnQy9HLEVBQUE7RWI4Q0M7SVAyL0RGLDRFQUE0RTtJb0J2akU5RTtNR3pCRSxZQUFtQixFSDJCcEI7SXBCd2pFQyw0RUFBNEU7SW9CdGpFOUU7TUd6QkUsWUFBbUIsRUgyQnBCO0lwQnVqRUMsNEVBQTRFO0lvQmpqRTVFO01HN0JBLGlDQURnSCxFSGdDL0c7SXBCa2pFRCw0RUFBNEU7SW9CcGpFNUU7TUc3QkEsa0NBRGdILEVIZ0MvRztJcEJxakVELDRFQUE0RTtJb0J2akU1RTtNRzdCQSw0QkFEZ0gsRUhnQy9HO0lwQndqRUQsNEVBQTRFO0lvQjFqRTVFO01HN0JBLGtDQURnSCxFSGdDL0c7SXBCMmpFRCw0RUFBNEU7SW9CN2pFNUU7TUc3QkEsa0NBRGdILEVIZ0MvRztJcEI4akVELDRFQUE0RTtJb0Joa0U1RTtNRzdCQSw0QkFEZ0gsRUhnQy9HO0lwQmlrRUQsNEVBQTRFO0lvQm5rRTVFO01HN0JBLGtDQURnSCxFSGdDL0c7SXBCb2tFRCw0RUFBNEU7SW9CdGtFNUU7TUc3QkEsa0NBRGdILEVIZ0MvRztJcEJ1a0VELDRFQUE0RTtJb0J6a0U1RTtNRzdCQSw0QkFEZ0gsRUhnQy9HO0lwQjBrRUQsNEVBQTRFO0lvQjVrRTVFO01HN0JBLGtDQURnSCxFSGdDL0c7SXBCNmtFRCw0RUFBNEU7SW9CL2tFNUU7TUc3QkEsa0NBRGdILEVIZ0MvRztJcEJnbEVELDRFQUE0RTtJb0JsbEU1RTtNRzdCQSw2QkFEZ0gsRUhnQy9HLEVBQUE7RWJtREM7SVBpaUVGLDRFQUE0RTtJb0JsbUU5RTtNR3pCRSxZQUFtQixFSDJCcEI7SXBCbW1FQyw0RUFBNEU7SW9Cam1FOUU7TUd6QkUsWUFBbUIsRUgyQnBCO0lwQmttRUMsNEVBQTRFO0lvQjVsRTVFO01HN0JBLGlDQURnSCxFSGdDL0c7SXBCNmxFRCw0RUFBNEU7SW9CL2xFNUU7TUc3QkEsa0NBRGdILEVIZ0MvRztJcEJnbUVELDRFQUE0RTtJb0JsbUU1RTtNRzdCQSw0QkFEZ0gsRUhnQy9HO0lwQm1tRUQsNEVBQTRFO0lvQnJtRTVFO01HN0JBLGtDQURnSCxFSGdDL0c7SXBCc21FRCw0RUFBNEU7SW9CeG1FNUU7TUc3QkEsa0NBRGdILEVIZ0MvRztJcEJ5bUVELDRFQUE0RTtJb0IzbUU1RTtNRzdCQSw0QkFEZ0gsRUhnQy9HO0lwQjRtRUQsNEVBQTRFO0lvQjltRTVFO01HN0JBLGtDQURnSCxFSGdDL0c7SXBCK21FRCw0RUFBNEU7SW9Cam5FNUU7TUc3QkEsa0NBRGdILEVIZ0MvRztJcEJrbkVELDRFQUE0RTtJb0JwbkU1RTtNRzdCQSw0QkFEZ0gsRUhnQy9HO0lwQnFuRUQsNEVBQTRFO0lvQnZuRTVFO01HN0JBLGtDQURnSCxFSGdDL0c7SXBCd25FRCw0RUFBNEU7SW9CMW5FNUU7TUc3QkEsa0NBRGdILEVIZ0MvRztJcEIybkVELDRFQUE0RTtJb0I3bkU1RTtNRzdCQSw2QkFEZ0gsRUhnQy9HLEVBQUE7O0FwQituRUwsNEVBQTRFO0FvQmpsRTFFO0VDbklNLHdCQUE0QjtFQUE1Qix1QkFBNEIsRUR3SS9CO0ViTEM7SVBzbEVGLDRFQUE0RTtJb0J0bEU5RTtNQ25JTSx5QkFBNEI7TUFBNUIsd0JBQTRCLEVEd0kvQixFQUFBOztBcEJzbEVMLDRFQUE0RTtBb0JsbEV4RTtFQzVJSSx3QkFBNEI7RUFBNUIsdUJBQTRCLEVEOEkvQjtFYlhDO0lQZ21FRiw0RUFBNEU7SW9CdmxFNUU7TUM1SUkseUJBQTRCO01BQTVCLHdCQUE0QixFRDhJL0IsRUFBQTs7QXBCMGxFTCw0RUFBNEU7QW9Ccm1FMUU7RUNuSU0sd0JBQTRCO0VBQTVCLHVCQUE0QixFRG1KL0I7RWJoQkM7SVAwbUVGLDRFQUE0RTtJb0IxbUU5RTtNQ25JTSx5QkFBNEI7TUFBNUIsd0JBQTRCLEVEbUovQixFQUFBOztBcEIrbEVMLDBFQUEwRTtBd0JydkV4RTtFRHlERSxZQURvRCxFQ3REckQ7O0F4QnV2RUgsMEVBQTBFO0F3Qnp2RXhFO0VEeURFLFdBRG9ELEVDdERyRDs7QXhCMnZFSCwwRUFBMEU7QXdCN3ZFeEU7RUR5REUsaUJBRG9ELEVDdERyRDs7QXhCK3ZFSCwwRUFBMEU7QXdCandFeEU7RUR5REUsV0FEb0QsRUN0RHJEOztBeEJtd0VILDBFQUEwRTtBd0Jyd0V4RTtFRHlERSxXQURvRCxFQ3REckQ7O0F4QnV3RUgsMEVBQTBFO0F3Qnp3RXhFO0VEeURFLGlCQURvRCxFQ3REckQ7O0F4QjJ3RUgsMEVBQTBFO0F3Qjd3RXhFO0VEeURFLGlCQURvRCxFQ3REckQ7O0F4Qit3RUgsMEVBQTBFO0F3Qmp4RXhFO0VEeURFLGFBRG9ELEVDdERyRDs7QWpCb0lHO0VQZ3BFSiwwRUFBMEU7RXdCdHhFMUU7SUR5REUsWUFEb0QsRUN0RHJEO0V4QnV4RUQsMEVBQTBFO0V3Qnp4RTFFO0lEeURFLFdBRG9ELEVDdERyRDtFeEIweEVELDBFQUEwRTtFd0I1eEUxRTtJRHlERSxpQkFEb0QsRUN0RHJEO0V4QjZ4RUQsMEVBQTBFO0V3Qi94RTFFO0lEeURFLFdBRG9ELEVDdERyRDtFeEJneUVELDBFQUEwRTtFd0JseUUxRTtJRHlERSxXQURvRCxFQ3REckQ7RXhCbXlFRCwwRUFBMEU7RXdCcnlFMUU7SUR5REUsaUJBRG9ELEVDdERyRDtFeEJzeUVELDBFQUEwRTtFd0J4eUUxRTtJRHlERSxpQkFEb0QsRUN0RHJEO0V4Qnl5RUQsMEVBQTBFO0V3QjN5RTFFO0lEeURFLGFBRG9ELEVDdERyRCxFQUFBOztBakJvSUc7RVAwcUVKLDBFQUEwRTtFd0JoekUxRTtJRHlERSxZQURvRCxFQ3REckQ7RXhCaXpFRCwwRUFBMEU7RXdCbnpFMUU7SUR5REUsV0FEb0QsRUN0RHJEO0V4Qm96RUQsMEVBQTBFO0V3QnR6RTFFO0lEeURFLGlCQURvRCxFQ3REckQ7RXhCdXpFRCwwRUFBMEU7RXdCenpFMUU7SUR5REUsV0FEb0QsRUN0RHJEO0V4QjB6RUQsMEVBQTBFO0V3QjV6RTFFO0lEeURFLFdBRG9ELEVDdERyRDtFeEI2ekVELDBFQUEwRTtFd0IvekUxRTtJRHlERSxpQkFEb0QsRUN0RHJEO0V4QmcwRUQsMEVBQTBFO0V3QmwwRTFFO0lEeURFLGlCQURvRCxFQ3REckQ7RXhCbTBFRCwwRUFBMEU7RXdCcjBFMUU7SUR5REUsYUFEb0QsRUN0RHJELEVBQUE7O0FqQnlJRztFUCtyRUosMEVBQTBFO0V3QjEwRTFFO0lEeURFLFlBRG9ELEVDdERyRDtFeEIyMEVELDBFQUEwRTtFd0I3MEUxRTtJRHlERSxXQURvRCxFQ3REckQ7RXhCODBFRCwwRUFBMEU7RXdCaDFFMUU7SUR5REUsaUJBRG9ELEVDdERyRDtFeEJpMUVELDBFQUEwRTtFd0JuMUUxRTtJRHlERSxXQURvRCxFQ3REckQ7RXhCbzFFRCwwRUFBMEU7RXdCdDFFMUU7SUR5REUsV0FEb0QsRUN0RHJEO0V4QnUxRUQsMEVBQTBFO0V3QnoxRTFFO0lEeURFLGlCQURvRCxFQ3REckQ7RXhCMDFFRCwwRUFBMEU7RXdCNTFFMUU7SUR5REUsaUJBRG9ELEVDdERyRDtFeEI2MUVELDBFQUEwRTtFd0IvMUUxRTtJRHlERSxhQURvRCxFQ3REckQsRUFBQTs7QXhCaTJFSCwwRUFBMEU7QXdCbjJFeEU7RUR5REUsNkJBRGdILEVDdERqSDs7QXhCcTJFSCwwRUFBMEU7QXdCdjJFeEU7RUR5REUsNEJBRGdILEVDdERqSDs7QXhCeTJFSCwwRUFBMEU7QXdCMzJFeEU7RUR5REUsa0NBRGdILEVDdERqSDs7QXhCNjJFSCwwRUFBMEU7QXdCLzJFeEU7RUR5REUsNEJBRGdILEVDdERqSDs7QXhCaTNFSCwwRUFBMEU7QXdCbjNFeEU7RUR5REUsNEJBRGdILEVDdERqSDs7QXhCcTNFSCwwRUFBMEU7QXdCdjNFeEU7RUR5REUsa0NBRGdILEVDdERqSDs7QXhCeTNFSCwwRUFBMEU7QXdCMzNFeEU7RUR5REUsa0NBRGdILEVDdERqSDs7QXhCNjNFSCwwRUFBMEU7QXdCLzNFeEU7RUR5REUsOEJBRGdILEVDdERqSDs7QWpCb0lHO0VQOHZFSiwwRUFBMEU7RXdCcDRFMUU7SUR5REUsNkJBRGdILEVDdERqSDtFeEJxNEVELDBFQUEwRTtFd0J2NEUxRTtJRHlERSw0QkFEZ0gsRUN0RGpIO0V4Qnc0RUQsMEVBQTBFO0V3QjE0RTFFO0lEeURFLGtDQURnSCxFQ3REakg7RXhCMjRFRCwwRUFBMEU7RXdCNzRFMUU7SUR5REUsNEJBRGdILEVDdERqSDtFeEI4NEVELDBFQUEwRTtFd0JoNUUxRTtJRHlERSw0QkFEZ0gsRUN0RGpIO0V4Qmk1RUQsMEVBQTBFO0V3Qm41RTFFO0lEeURFLGtDQURnSCxFQ3REakg7RXhCbzVFRCwwRUFBMEU7RXdCdDVFMUU7SUR5REUsa0NBRGdILEVDdERqSDtFeEJ1NUVELDBFQUEwRTtFd0J6NUUxRTtJRHlERSw4QkFEZ0gsRUN0RGpILEVBQUE7O0FqQm9JRztFUHd4RUosMEVBQTBFO0V3Qjk1RTFFO0lEeURFLDZCQURnSCxFQ3REakg7RXhCKzVFRCwwRUFBMEU7RXdCajZFMUU7SUR5REUsNEJBRGdILEVDdERqSDtFeEJrNkVELDBFQUEwRTtFd0JwNkUxRTtJRHlERSxrQ0FEZ0gsRUN0RGpIO0V4QnE2RUQsMEVBQTBFO0V3QnY2RTFFO0lEeURFLDRCQURnSCxFQ3REakg7RXhCdzZFRCwwRUFBMEU7RXdCMTZFMUU7SUR5REUsNEJBRGdILEVDdERqSDtFeEIyNkVELDBFQUEwRTtFd0I3NkUxRTtJRHlERSxrQ0FEZ0gsRUN0RGpIO0V4Qjg2RUQsMEVBQTBFO0V3Qmg3RTFFO0lEeURFLGtDQURnSCxFQ3REakg7RXhCaTdFRCwwRUFBMEU7RXdCbjdFMUU7SUR5REUsOEJBRGdILEVDdERqSCxFQUFBOztBakJ5SUc7RVA2eUVKLDBFQUEwRTtFd0J4N0UxRTtJRHlERSw2QkFEZ0gsRUN0RGpIO0V4Qnk3RUQsMEVBQTBFO0V3QjM3RTFFO0lEeURFLDRCQURnSCxFQ3REakg7RXhCNDdFRCwwRUFBMEU7RXdCOTdFMUU7SUR5REUsa0NBRGdILEVDdERqSDtFeEIrN0VELDBFQUEwRTtFd0JqOEUxRTtJRHlERSw0QkFEZ0gsRUN0RGpIO0V4Qms4RUQsMEVBQTBFO0V3QnA4RTFFO0lEeURFLDRCQURnSCxFQ3REakg7RXhCcThFRCwwRUFBMEU7RXdCdjhFMUU7SUR5REUsa0NBRGdILEVDdERqSDtFeEJ3OEVELDBFQUEwRTtFd0IxOEUxRTtJRHlERSxrQ0FEZ0gsRUN0RGpIO0V4QjI4RUQsMEVBQTBFO0V3Qjc4RTFFO0lEeURFLDhCQURnSCxFQ3REakgsRUFBQTs7QXhCKzhFSCw0RUFBNEU7QW9CL3dFdEU7RUt2TUUsZ0JBQTBCO0VBQTFCLGVBQTBCLEVMeU0zQjtFcEJpeEVMLDRFQUE0RTtFeUJ2OUV4RTtJQUVJLGdCQUEwQjtJQUExQixlQUEwQixFQUU3QjtFekJ1OUVMLDRFQUE0RTtFeUJuOEVsRTtJRm1DUixnQkFEb0QsRUVoQzNDO0V6Qm84RVgsNEVBQTRFO0V5QnQ4RWxFO0lGbUNSLGlCQURvRCxFRWhDM0M7RXpCdThFWCw0RUFBNEU7RXlCejhFbEU7SUZtQ1IsV0FEb0QsRUVoQzNDO0V6QjA4RVgsNEVBQTRFO0V5QjU4RWxFO0lGbUNSLGlCQURvRCxFRWhDM0M7RXpCNjhFWCw0RUFBNEU7RXlCLzhFbEU7SUZtQ1IsaUJBRG9ELEVFaEMzQztFekJnOUVYLDRFQUE0RTtFeUJsOUVsRTtJRm1DUixXQURvRCxFRWhDM0M7RXpCbTlFWCw0RUFBNEU7RXlCcjlFbEU7SUZtQ1IsaUJBRG9ELEVFaEMzQztFekJzOUVYLDRFQUE0RTtFeUJ4OUVsRTtJRm1DUixpQkFEb0QsRUVoQzNDO0V6Qnk5RVgsNEVBQTRFO0V5QjM5RWxFO0lGbUNSLFdBRG9ELEVFaEMzQztFekI0OUVYLDRFQUE0RTtFeUI5OUVsRTtJRm1DUixpQkFEb0QsRUVoQzNDO0V6Qis5RVgsNEVBQTRFO0V5QmorRWxFO0lGbUNSLGlCQURvRCxFRWhDM0M7RXpCaytFWCw0RUFBNEU7RXlCcCtFbEU7SUZtQ1IsWUFEb0QsRUVoQzNDO0VsQjhHUDtJUHczRUYsNEVBQTRFO0l5QngrRXBFO01GbUNSLGdCQURvRCxFRWhDM0M7SXpCeStFVCw0RUFBNEU7SXlCMytFcEU7TUZtQ1IsaUJBRG9ELEVFaEMzQztJekI0K0VULDRFQUE0RTtJeUI5K0VwRTtNRm1DUixXQURvRCxFRWhDM0M7SXpCKytFVCw0RUFBNEU7SXlCai9FcEU7TUZtQ1IsaUJBRG9ELEVFaEMzQztJekJrL0VULDRFQUE0RTtJeUJwL0VwRTtNRm1DUixpQkFEb0QsRUVoQzNDO0l6QnEvRVQsNEVBQTRFO0l5QnYvRXBFO01GbUNSLFdBRG9ELEVFaEMzQztJekJ3L0VULDRFQUE0RTtJeUIxL0VwRTtNRm1DUixpQkFEb0QsRUVoQzNDO0l6QjIvRVQsNEVBQTRFO0l5QjcvRXBFO01GbUNSLGlCQURvRCxFRWhDM0M7SXpCOC9FVCw0RUFBNEU7SXlCaGdGcEU7TUZtQ1IsV0FEb0QsRUVoQzNDO0l6QmlnRlQsNEVBQTRFO0l5Qm5nRnBFO01GbUNSLGlCQURvRCxFRWhDM0M7SXpCb2dGVCw0RUFBNEU7SXlCdGdGcEU7TUZtQ1IsaUJBRG9ELEVFaEMzQztJekJ1Z0ZULDRFQUE0RTtJeUJ6Z0ZwRTtNRm1DUixZQURvRCxFRWhDM0MsRUFBQTtFbEI4R1A7SVA2NUVGLDRFQUE0RTtJeUI3Z0ZwRTtNRm1DUixnQkFEb0QsRUVoQzNDO0l6QjhnRlQsNEVBQTRFO0l5QmhoRnBFO01GbUNSLGlCQURvRCxFRWhDM0M7SXpCaWhGVCw0RUFBNEU7SXlCbmhGcEU7TUZtQ1IsV0FEb0QsRUVoQzNDO0l6Qm9oRlQsNEVBQTRFO0l5QnRoRnBFO01GbUNSLGlCQURvRCxFRWhDM0M7SXpCdWhGVCw0RUFBNEU7SXlCemhGcEU7TUZtQ1IsaUJBRG9ELEVFaEMzQztJekIwaEZULDRFQUE0RTtJeUI1aEZwRTtNRm1DUixXQURvRCxFRWhDM0M7SXpCNmhGVCw0RUFBNEU7SXlCL2hGcEU7TUZtQ1IsaUJBRG9ELEVFaEMzQztJekJnaUZULDRFQUE0RTtJeUJsaUZwRTtNRm1DUixpQkFEb0QsRUVoQzNDO0l6Qm1pRlQsNEVBQTRFO0l5QnJpRnBFO01GbUNSLFdBRG9ELEVFaEMzQztJekJzaUZULDRFQUE0RTtJeUJ4aUZwRTtNRm1DUixpQkFEb0QsRUVoQzNDO0l6QnlpRlQsNEVBQTRFO0l5QjNpRnBFO01GbUNSLGlCQURvRCxFRWhDM0M7SXpCNGlGVCw0RUFBNEU7SXlCOWlGcEU7TUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7RWxCbUhQO0lQNjdFRiw0RUFBNEU7SXlCbGpGcEU7TUZtQ1IsZ0JBRG9ELEVFaEMzQztJekJtakZULDRFQUE0RTtJeUJyakZwRTtNRm1DUixpQkFEb0QsRUVoQzNDO0l6QnNqRlQsNEVBQTRFO0l5QnhqRnBFO01GbUNSLFdBRG9ELEVFaEMzQztJekJ5akZULDRFQUE0RTtJeUIzakZwRTtNRm1DUixpQkFEb0QsRUVoQzNDO0l6QjRqRlQsNEVBQTRFO0l5QjlqRnBFO01GbUNSLGlCQURvRCxFRWhDM0M7SXpCK2pGVCw0RUFBNEU7SXlCamtGcEU7TUZtQ1IsV0FEb0QsRUVoQzNDO0l6QmtrRlQsNEVBQTRFO0l5QnBrRnBFO01GbUNSLGlCQURvRCxFRWhDM0M7SXpCcWtGVCw0RUFBNEU7SXlCdmtGcEU7TUZtQ1IsaUJBRG9ELEVFaEMzQztJekJ3a0ZULDRFQUE0RTtJeUIxa0ZwRTtNRm1DUixXQURvRCxFRWhDM0M7SXpCMmtGVCw0RUFBNEU7SXlCN2tGcEU7TUZtQ1IsaUJBRG9ELEVFaEMzQztJekI4a0ZULDRFQUE0RTtJeUJobEZwRTtNRm1DUixpQkFEb0QsRUVoQzNDO0l6QmlsRlQsNEVBQTRFO0l5Qm5sRnBFO01GbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBekJxbEZiLDRFQUE0RTtBb0JyNkV0RTtFS3RLRSxnQkFBMEI7RUFBMUIsZUFBMEIsRUx3SzNCO0VwQnU2RUwsNEVBQTRFO0V5QjVrRnhFO0lBRUksaUJBQTRCO0lBQTVCLGdCQUE0QixFQUUvQjs7QWxCNkZEO0VQaS9FSiw0RUFBNEU7RW9CcjdFeEU7SUt2TUUsZ0JBQTBCO0lBQTFCLGVBQTBCLEVMeU0zQjtJcEJ1N0VILDRFQUE0RTtJeUI3bkYxRTtNQUVJLGdCQUEwQjtNQUExQixlQUEwQixFQUU3QixFQUFBOztBbEJvSUQ7RVAyL0VKLDRFQUE0RTtFeUJwbkZsRTtJRjRDUixnQkFEb0QsRUV6QzNDO0V6QnFuRlgsNEVBQTRFO0V5QnZuRmxFO0lGNENSLGlCQURvRCxFRXpDM0M7RXpCd25GWCw0RUFBNEU7RXlCMW5GbEU7SUY0Q1IsV0FEb0QsRUV6QzNDO0V6QjJuRlgsNEVBQTRFO0V5QjduRmxFO0lGNENSLGlCQURvRCxFRXpDM0M7RXpCOG5GWCw0RUFBNEU7RXlCaG9GbEU7SUY0Q1IsaUJBRG9ELEVFekMzQztFekJpb0ZYLDRFQUE0RTtFeUJub0ZsRTtJRjRDUixXQURvRCxFRXpDM0M7RXpCb29GWCw0RUFBNEU7RXlCdG9GbEU7SUY0Q1IsaUJBRG9ELEVFekMzQztFekJ1b0ZYLDRFQUE0RTtFeUJ6b0ZsRTtJRjRDUixpQkFEb0QsRUV6QzNDO0V6QjBvRlgsNEVBQTRFO0V5QjVvRmxFO0lGNENSLFdBRG9ELEVFekMzQztFekI2b0ZYLDRFQUE0RTtFeUIvb0ZsRTtJRjRDUixpQkFEb0QsRUV6QzNDO0V6QmdwRlgsNEVBQTRFO0V5QmxwRmxFO0lGNENSLGlCQURvRCxFRXpDM0M7RXpCbXBGWCw0RUFBNEU7RXlCcnBGbEU7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0FsQnVIUDtFUGlpRkosNEVBQTRFO0V5QmpwRmxFO0lGbUNSLGdCQURvRCxFRWhDM0M7RXpCa3BGWCw0RUFBNEU7RXlCcHBGbEU7SUZtQ1IsaUJBRG9ELEVFaEMzQztFekJxcEZYLDRFQUE0RTtFeUJ2cEZsRTtJRm1DUixXQURvRCxFRWhDM0M7RXpCd3BGWCw0RUFBNEU7RXlCMXBGbEU7SUZtQ1IsaUJBRG9ELEVFaEMzQztFekIycEZYLDRFQUE0RTtFeUI3cEZsRTtJRm1DUixpQkFEb0QsRUVoQzNDO0V6QjhwRlgsNEVBQTRFO0V5QmhxRmxFO0lGbUNSLFdBRG9ELEVFaEMzQztFekJpcUZYLDRFQUE0RTtFeUJucUZsRTtJRm1DUixpQkFEb0QsRUVoQzNDO0V6Qm9xRlgsNEVBQTRFO0V5QnRxRmxFO0lGbUNSLGlCQURvRCxFRWhDM0M7RXpCdXFGWCw0RUFBNEU7RXlCenFGbEU7SUZtQ1IsV0FEb0QsRUVoQzNDO0V6QjBxRlgsNEVBQTRFO0V5QjVxRmxFO0lGbUNSLGlCQURvRCxFRWhDM0M7RXpCNnFGWCw0RUFBNEU7RXlCL3FGbEU7SUZtQ1IsaUJBRG9ELEVFaEMzQztFekJnckZYLDRFQUE0RTtFeUJsckZsRTtJRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QWxCOEdQO0VQdWtGSiw0RUFBNEU7RXlCdnJGbEU7SUZtQ1IsZ0JBRG9ELEVFaEMzQztFekJ3ckZYLDRFQUE0RTtFeUIxckZsRTtJRm1DUixpQkFEb0QsRUVoQzNDO0V6QjJyRlgsNEVBQTRFO0V5QjdyRmxFO0lGbUNSLFdBRG9ELEVFaEMzQztFekI4ckZYLDRFQUE0RTtFeUJoc0ZsRTtJRm1DUixpQkFEb0QsRUVoQzNDO0V6QmlzRlgsNEVBQTRFO0V5Qm5zRmxFO0lGbUNSLGlCQURvRCxFRWhDM0M7RXpCb3NGWCw0RUFBNEU7RXlCdHNGbEU7SUZtQ1IsV0FEb0QsRUVoQzNDO0V6QnVzRlgsNEVBQTRFO0V5QnpzRmxFO0lGbUNSLGlCQURvRCxFRWhDM0M7RXpCMHNGWCw0RUFBNEU7RXlCNXNGbEU7SUZtQ1IsaUJBRG9ELEVFaEMzQztFekI2c0ZYLDRFQUE0RTtFeUIvc0ZsRTtJRm1DUixXQURvRCxFRWhDM0M7RXpCZ3RGWCw0RUFBNEU7RXlCbHRGbEU7SUZtQ1IsaUJBRG9ELEVFaEMzQztFekJtdEZYLDRFQUE0RTtFeUJydEZsRTtJRm1DUixpQkFEb0QsRUVoQzNDO0V6QnN0RlgsNEVBQTRFO0V5Qnh0RmxFO0lGbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBbEJtSFA7RVB3bUZKLDRFQUE0RTtFeUI3dEZsRTtJRm1DUixnQkFEb0QsRUVoQzNDO0V6Qjh0RlgsNEVBQTRFO0V5Qmh1RmxFO0lGbUNSLGlCQURvRCxFRWhDM0M7RXpCaXVGWCw0RUFBNEU7RXlCbnVGbEU7SUZtQ1IsV0FEb0QsRUVoQzNDO0V6Qm91RlgsNEVBQTRFO0V5QnR1RmxFO0lGbUNSLGlCQURvRCxFRWhDM0M7RXpCdXVGWCw0RUFBNEU7RXlCenVGbEU7SUZtQ1IsaUJBRG9ELEVFaEMzQztFekIwdUZYLDRFQUE0RTtFeUI1dUZsRTtJRm1DUixXQURvRCxFRWhDM0M7RXpCNnVGWCw0RUFBNEU7RXlCL3VGbEU7SUZtQ1IsaUJBRG9ELEVFaEMzQztFekJndkZYLDRFQUE0RTtFeUJsdkZsRTtJRm1DUixpQkFEb0QsRUVoQzNDO0V6Qm12RlgsNEVBQTRFO0V5QnJ2RmxFO0lGbUNSLFdBRG9ELEVFaEMzQztFekJzdkZYLDRFQUE0RTtFeUJ4dkZsRTtJRm1DUixpQkFEb0QsRUVoQzNDO0V6Qnl2RlgsNEVBQTRFO0V5QjN2RmxFO0lGbUNSLGlCQURvRCxFRWhDM0M7RXpCNHZGWCw0RUFBNEU7RXlCOXZGbEU7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0FsQjhHUDtFUG1wRkosNEVBQTRFO0VvQmpsRnhFO0lLdEtFLGdCQUEwQjtJQUExQixlQUEwQixFTHdLM0I7SXBCbWxGSCw0RUFBNEU7SXlCeHZGMUU7TUFFSSxpQkFBNEI7TUFBNUIsZ0JBQTRCLEVBRS9CLEVBQUE7O0FsQjZGRDtFUDZwRkosNEVBQTRFO0VvQmptRnhFO0lLdk1FLGdCQUEwQjtJQUExQixlQUEwQixFTHlNM0I7SXBCbW1GSCw0RUFBNEU7SXlCenlGMUU7TUFFSSxnQkFBMEI7TUFBMUIsZUFBMEIsRUFFN0IsRUFBQTs7QWxCb0lEO0VQdXFGSiw0RUFBNEU7RXlCaHlGbEU7SUY0Q1IsZ0JBRG9ELEVFekMzQztFekJpeUZYLDRFQUE0RTtFeUJueUZsRTtJRjRDUixpQkFEb0QsRUV6QzNDO0V6Qm95RlgsNEVBQTRFO0V5QnR5RmxFO0lGNENSLFdBRG9ELEVFekMzQztFekJ1eUZYLDRFQUE0RTtFeUJ6eUZsRTtJRjRDUixpQkFEb0QsRUV6QzNDO0V6QjB5RlgsNEVBQTRFO0V5QjV5RmxFO0lGNENSLGlCQURvRCxFRXpDM0M7RXpCNnlGWCw0RUFBNEU7RXlCL3lGbEU7SUY0Q1IsV0FEb0QsRUV6QzNDO0V6Qmd6RlgsNEVBQTRFO0V5Qmx6RmxFO0lGNENSLGlCQURvRCxFRXpDM0M7RXpCbXpGWCw0RUFBNEU7RXlCcnpGbEU7SUY0Q1IsaUJBRG9ELEVFekMzQztFekJzekZYLDRFQUE0RTtFeUJ4ekZsRTtJRjRDUixXQURvRCxFRXpDM0M7RXpCeXpGWCw0RUFBNEU7RXlCM3pGbEU7SUY0Q1IsaUJBRG9ELEVFekMzQztFekI0ekZYLDRFQUE0RTtFeUI5ekZsRTtJRjRDUixpQkFEb0QsRUV6QzNDO0V6Qit6RlgsNEVBQTRFO0V5QmowRmxFO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBbEJ1SFA7RVA2c0ZKLDRFQUE0RTtFeUJ0MEZsRTtJRjRDUixnQkFEb0QsRUV6QzNDO0V6QnUwRlgsNEVBQTRFO0V5QnowRmxFO0lGNENSLGlCQURvRCxFRXpDM0M7RXpCMDBGWCw0RUFBNEU7RXlCNTBGbEU7SUY0Q1IsV0FEb0QsRUV6QzNDO0V6QjYwRlgsNEVBQTRFO0V5Qi8wRmxFO0lGNENSLGlCQURvRCxFRXpDM0M7RXpCZzFGWCw0RUFBNEU7RXlCbDFGbEU7SUY0Q1IsaUJBRG9ELEVFekMzQztFekJtMUZYLDRFQUE0RTtFeUJyMUZsRTtJRjRDUixXQURvRCxFRXpDM0M7RXpCczFGWCw0RUFBNEU7RXlCeDFGbEU7SUY0Q1IsaUJBRG9ELEVFekMzQztFekJ5MUZYLDRFQUE0RTtFeUIzMUZsRTtJRjRDUixpQkFEb0QsRUV6QzNDO0V6QjQxRlgsNEVBQTRFO0V5QjkxRmxFO0lGNENSLFdBRG9ELEVFekMzQztFekIrMUZYLDRFQUE0RTtFeUJqMkZsRTtJRjRDUixpQkFEb0QsRUV6QzNDO0V6QmsyRlgsNEVBQTRFO0V5QnAyRmxFO0lGNENSLGlCQURvRCxFRXpDM0M7RXpCcTJGWCw0RUFBNEU7RXlCdjJGbEU7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0FsQnVIUDtFUG12RkosNEVBQTRFO0V5Qm4yRmxFO0lGbUNSLGdCQURvRCxFRWhDM0M7RXpCbzJGWCw0RUFBNEU7RXlCdDJGbEU7SUZtQ1IsaUJBRG9ELEVFaEMzQztFekJ1MkZYLDRFQUE0RTtFeUJ6MkZsRTtJRm1DUixXQURvRCxFRWhDM0M7RXpCMDJGWCw0RUFBNEU7RXlCNTJGbEU7SUZtQ1IsaUJBRG9ELEVFaEMzQztFekI2MkZYLDRFQUE0RTtFeUIvMkZsRTtJRm1DUixpQkFEb0QsRUVoQzNDO0V6QmczRlgsNEVBQTRFO0V5QmwzRmxFO0lGbUNSLFdBRG9ELEVFaEMzQztFekJtM0ZYLDRFQUE0RTtFeUJyM0ZsRTtJRm1DUixpQkFEb0QsRUVoQzNDO0V6QnMzRlgsNEVBQTRFO0V5QngzRmxFO0lGbUNSLGlCQURvRCxFRWhDM0M7RXpCeTNGWCw0RUFBNEU7RXlCMzNGbEU7SUZtQ1IsV0FEb0QsRUVoQzNDO0V6QjQzRlgsNEVBQTRFO0V5QjkzRmxFO0lGbUNSLGlCQURvRCxFRWhDM0M7RXpCKzNGWCw0RUFBNEU7RXlCajRGbEU7SUZtQ1IsaUJBRG9ELEVFaEMzQztFekJrNEZYLDRFQUE0RTtFeUJwNEZsRTtJRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QWxCbUhQO0VQb3hGSiw0RUFBNEU7RXlCejRGbEU7SUZtQ1IsZ0JBRG9ELEVFaEMzQztFekIwNEZYLDRFQUE0RTtFeUI1NEZsRTtJRm1DUixpQkFEb0QsRUVoQzNDO0V6QjY0RlgsNEVBQTRFO0V5Qi80RmxFO0lGbUNSLFdBRG9ELEVFaEMzQztFekJnNUZYLDRFQUE0RTtFeUJsNUZsRTtJRm1DUixpQkFEb0QsRUVoQzNDO0V6Qm01RlgsNEVBQTRFO0V5QnI1RmxFO0lGbUNSLGlCQURvRCxFRWhDM0M7RXpCczVGWCw0RUFBNEU7RXlCeDVGbEU7SUZtQ1IsV0FEb0QsRUVoQzNDO0V6Qnk1RlgsNEVBQTRFO0V5QjM1RmxFO0lGbUNSLGlCQURvRCxFRWhDM0M7RXpCNDVGWCw0RUFBNEU7RXlCOTVGbEU7SUZtQ1IsaUJBRG9ELEVFaEMzQztFekIrNUZYLDRFQUE0RTtFeUJqNkZsRTtJRm1DUixXQURvRCxFRWhDM0M7RXpCazZGWCw0RUFBNEU7RXlCcDZGbEU7SUZtQ1IsaUJBRG9ELEVFaEMzQztFekJxNkZYLDRFQUE0RTtFeUJ2NkZsRTtJRm1DUixpQkFEb0QsRUVoQzNDO0V6Qnc2RlgsNEVBQTRFO0V5QjE2RmxFO0lGbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBbEI4R1A7RVArekZKLDRFQUE0RTtFb0I3dkZ4RTtJS3RLRSxnQkFBMEI7SUFBMUIsZUFBMEIsRUx3SzNCO0lwQit2RkgsNEVBQTRFO0l5QnA2RjFFO01BRUksaUJBQTRCO01BQTVCLGdCQUE0QixFQUUvQixFQUFBOztBbEJrR0Q7RVBvMEZKLDRFQUE0RTtFb0I3d0Z4RTtJS3ZNRSxnQkFBMEI7SUFBMUIsZUFBMEIsRUx5TTNCO0lwQit3RkgsNEVBQTRFO0l5QnI5RjFFO01BRUksZ0JBQTBCO01BQTFCLGVBQTBCLEVBRTdCLEVBQUE7O0FsQnlJRDtFUDgwRkosNEVBQTRFO0V5QjU4RmxFO0lGNENSLGdCQURvRCxFRXpDM0M7RXpCNjhGWCw0RUFBNEU7RXlCLzhGbEU7SUY0Q1IsaUJBRG9ELEVFekMzQztFekJnOUZYLDRFQUE0RTtFeUJsOUZsRTtJRjRDUixXQURvRCxFRXpDM0M7RXpCbTlGWCw0RUFBNEU7RXlCcjlGbEU7SUY0Q1IsaUJBRG9ELEVFekMzQztFekJzOUZYLDRFQUE0RTtFeUJ4OUZsRTtJRjRDUixpQkFEb0QsRUV6QzNDO0V6Qnk5RlgsNEVBQTRFO0V5QjM5RmxFO0lGNENSLFdBRG9ELEVFekMzQztFekI0OUZYLDRFQUE0RTtFeUI5OUZsRTtJRjRDUixpQkFEb0QsRUV6QzNDO0V6Qis5RlgsNEVBQTRFO0V5QmorRmxFO0lGNENSLGlCQURvRCxFRXpDM0M7RXpCaytGWCw0RUFBNEU7RXlCcCtGbEU7SUY0Q1IsV0FEb0QsRUV6QzNDO0V6QnErRlgsNEVBQTRFO0V5QnYrRmxFO0lGNENSLGlCQURvRCxFRXpDM0M7RXpCdytGWCw0RUFBNEU7RXlCMStGbEU7SUY0Q1IsaUJBRG9ELEVFekMzQztFekIyK0ZYLDRFQUE0RTtFeUI3K0ZsRTtJRjRDUixZQURvRCxFRXpDM0MsRUFBQTs7QWxCNEhQO0VQbzNGSiw0RUFBNEU7RXlCbC9GbEU7SUY0Q1IsZ0JBRG9ELEVFekMzQztFekJtL0ZYLDRFQUE0RTtFeUJyL0ZsRTtJRjRDUixpQkFEb0QsRUV6QzNDO0V6QnMvRlgsNEVBQTRFO0V5QngvRmxFO0lGNENSLFdBRG9ELEVFekMzQztFekJ5L0ZYLDRFQUE0RTtFeUIzL0ZsRTtJRjRDUixpQkFEb0QsRUV6QzNDO0V6QjQvRlgsNEVBQTRFO0V5QjkvRmxFO0lGNENSLGlCQURvRCxFRXpDM0M7RXpCKy9GWCw0RUFBNEU7RXlCamdHbEU7SUY0Q1IsV0FEb0QsRUV6QzNDO0V6QmtnR1gsNEVBQTRFO0V5QnBnR2xFO0lGNENSLGlCQURvRCxFRXpDM0M7RXpCcWdHWCw0RUFBNEU7RXlCdmdHbEU7SUY0Q1IsaUJBRG9ELEVFekMzQztFekJ3Z0dYLDRFQUE0RTtFeUIxZ0dsRTtJRjRDUixXQURvRCxFRXpDM0M7RXpCMmdHWCw0RUFBNEU7RXlCN2dHbEU7SUY0Q1IsaUJBRG9ELEVFekMzQztFekI4Z0dYLDRFQUE0RTtFeUJoaEdsRTtJRjRDUixpQkFEb0QsRUV6QzNDO0V6QmloR1gsNEVBQTRFO0V5Qm5oR2xFO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBbEI0SFA7RVAwNUZKLDRFQUE0RTtFeUJ4aEdsRTtJRjRDUixnQkFEb0QsRUV6QzNDO0V6QnloR1gsNEVBQTRFO0V5QjNoR2xFO0lGNENSLGlCQURvRCxFRXpDM0M7RXpCNGhHWCw0RUFBNEU7RXlCOWhHbEU7SUY0Q1IsV0FEb0QsRUV6QzNDO0V6QitoR1gsNEVBQTRFO0V5QmppR2xFO0lGNENSLGlCQURvRCxFRXpDM0M7RXpCa2lHWCw0RUFBNEU7RXlCcGlHbEU7SUY0Q1IsaUJBRG9ELEVFekMzQztFekJxaUdYLDRFQUE0RTtFeUJ2aUdsRTtJRjRDUixXQURvRCxFRXpDM0M7RXpCd2lHWCw0RUFBNEU7RXlCMWlHbEU7SUY0Q1IsaUJBRG9ELEVFekMzQztFekIyaUdYLDRFQUE0RTtFeUI3aUdsRTtJRjRDUixpQkFEb0QsRUV6QzNDO0V6QjhpR1gsNEVBQTRFO0V5QmhqR2xFO0lGNENSLFdBRG9ELEVFekMzQztFekJpakdYLDRFQUE0RTtFeUJuakdsRTtJRjRDUixpQkFEb0QsRUV6QzNDO0V6Qm9qR1gsNEVBQTRFO0V5QnRqR2xFO0lGNENSLGlCQURvRCxFRXpDM0M7RXpCdWpHWCw0RUFBNEU7RXlCempHbEU7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0FsQjRIUDtFUGc4RkosNEVBQTRFO0V5QnJqR2xFO0lGbUNSLGdCQURvRCxFRWhDM0M7RXpCc2pHWCw0RUFBNEU7RXlCeGpHbEU7SUZtQ1IsaUJBRG9ELEVFaEMzQztFekJ5akdYLDRFQUE0RTtFeUIzakdsRTtJRm1DUixXQURvRCxFRWhDM0M7RXpCNGpHWCw0RUFBNEU7RXlCOWpHbEU7SUZtQ1IsaUJBRG9ELEVFaEMzQztFekIrakdYLDRFQUE0RTtFeUJqa0dsRTtJRm1DUixpQkFEb0QsRUVoQzNDO0V6QmtrR1gsNEVBQTRFO0V5QnBrR2xFO0lGbUNSLFdBRG9ELEVFaEMzQztFekJxa0dYLDRFQUE0RTtFeUJ2a0dsRTtJRm1DUixpQkFEb0QsRUVoQzNDO0V6QndrR1gsNEVBQTRFO0V5QjFrR2xFO0lGbUNSLGlCQURvRCxFRWhDM0M7RXpCMmtHWCw0RUFBNEU7RXlCN2tHbEU7SUZtQ1IsV0FEb0QsRUVoQzNDO0V6QjhrR1gsNEVBQTRFO0V5QmhsR2xFO0lGbUNSLGlCQURvRCxFRWhDM0M7RXpCaWxHWCw0RUFBNEU7RXlCbmxHbEU7SUZtQ1IsaUJBRG9ELEVFaEMzQztFekJvbEdYLDRFQUE0RTtFeUJ0bEdsRTtJRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QWxCbUhQO0VQcytGSiw0RUFBNEU7RW9CejZGeEU7SUt0S0UsZ0JBQTBCO0lBQTFCLGVBQTBCLEVMd0szQjtJcEIyNkZILDRFQUE0RTtJeUJobEcxRTtNQUVJLGlCQUE0QjtNQUE1QixnQkFBNEIsRUFFL0IsRUFBQTs7QXpCaWxHUCw0RUFBNEU7QWVoOUZ0RTtFVzlLRixnQkFBNkIsRU40TjFCOztBcEJzNkZQLDRFQUE0RTtBb0JwNkZ0RTtFTTlORixrQ0FBNkIsRU5nTzFCOztBcEJzNkZQLDRFQUE0RTtBZXg5RnRFO0VXOUtGLHNCQUE2QixFTjROMUI7O0FwQjg2RlAsNEVBQTRFO0FvQjU2RnRFO0VNOU5GLHdDQUE2QixFTmdPMUI7O0FwQjg2RlAsNEVBQTRFO0FlaCtGdEU7RVc5S0YsdUJBQTZCLEVONE4xQjs7QXBCczdGUCw0RUFBNEU7QW9CcDdGdEU7RU05TkYseUNBQTZCLEVOZ08xQjs7QXBCczdGUCw0RUFBNEU7QWV4K0Z0RTtFVzlLRixpQkFBNkIsRU40TjFCOztBcEI4N0ZQLDRFQUE0RTtBb0I1N0Z0RTtFTTlORixtQ0FBNkIsRU5nTzFCOztBcEI4N0ZQLDRFQUE0RTtBZWgvRnRFO0VXOUtGLHVCQUE2QixFTjROMUI7O0FwQnM4RlAsNEVBQTRFO0FvQnA4RnRFO0VNOU5GLHlDQUE2QixFTmdPMUI7O0FwQnM4RlAsNEVBQTRFO0FleC9GdEU7RVc5S0YsdUJBQTZCLEVONE4xQjs7QXBCODhGUCw0RUFBNEU7QW9CNThGdEU7RU05TkYseUNBQTZCLEVOZ08xQjs7QXBCODhGUCw0RUFBNEU7QWVoZ0d0RTtFVzlLRixpQkFBNkIsRU40TjFCOztBcEJzOUZQLDRFQUE0RTtBb0JwOUZ0RTtFTTlORixtQ0FBNkIsRU5nTzFCOztBcEJzOUZQLDRFQUE0RTtBZXhnR3RFO0VXOUtGLHVCQUE2QixFTjROMUI7O0FwQjg5RlAsNEVBQTRFO0FvQjU5RnRFO0VNOU5GLHlDQUE2QixFTmdPMUI7O0FwQjg5RlAsNEVBQTRFO0FlaGhHdEU7RVc5S0YsdUJBQTZCLEVONE4xQjs7QXBCcytGUCw0RUFBNEU7QW9CcCtGdEU7RU05TkYseUNBQTZCLEVOZ08xQjs7QXBCcytGUCw0RUFBNEU7QWV4aEd0RTtFVzlLRixpQkFBNkIsRU40TjFCOztBcEI4K0ZQLDRFQUE0RTtBb0I1K0Z0RTtFTTlORixtQ0FBNkIsRU5nTzFCOztBcEI4K0ZQLDRFQUE0RTtBZWhpR3RFO0VXOUtGLHVCQUE2QixFTjROMUI7O0FwQnMvRlAsNEVBQTRFO0FvQnAvRnRFO0VNOU5GLHlDQUE2QixFTmdPMUI7O0FwQnMvRlAsNEVBQTRFO0FleGlHdEU7RVc5S0YsdUJBQTZCLEVONE4xQjs7QXBCOC9GUCw0RUFBNEU7QW9CNS9GdEU7RU05TkYseUNBQTZCLEVOZ08xQjs7QWJ0RkQ7RVBxbEdKLDRFQUE0RTtFZWpqR3hFO0lXOUtGLGdCQUE2QixFTjROMUI7RXBCc2dHTCw0RUFBNEU7RW9CcGdHeEU7SU05TkYsa0NBQTZCLEVOZ08xQjtFcEJxZ0dMLDRFQUE0RTtFZXZqR3hFO0lXOUtGLHNCQUE2QixFTjROMUI7RXBCNGdHTCw0RUFBNEU7RW9CMWdHeEU7SU05TkYsd0NBQTZCLEVOZ08xQjtFcEIyZ0dMLDRFQUE0RTtFZTdqR3hFO0lXOUtGLHVCQUE2QixFTjROMUI7RXBCa2hHTCw0RUFBNEU7RW9CaGhHeEU7SU05TkYseUNBQTZCLEVOZ08xQjtFcEJpaEdMLDRFQUE0RTtFZW5rR3hFO0lXOUtGLGlCQUE2QixFTjROMUI7RXBCd2hHTCw0RUFBNEU7RW9CdGhHeEU7SU05TkYsbUNBQTZCLEVOZ08xQjtFcEJ1aEdMLDRFQUE0RTtFZXprR3hFO0lXOUtGLHVCQUE2QixFTjROMUI7RXBCOGhHTCw0RUFBNEU7RW9CNWhHeEU7SU05TkYseUNBQTZCLEVOZ08xQjtFcEI2aEdMLDRFQUE0RTtFZS9rR3hFO0lXOUtGLHVCQUE2QixFTjROMUI7RXBCb2lHTCw0RUFBNEU7RW9CbGlHeEU7SU05TkYseUNBQTZCLEVOZ08xQjtFcEJtaUdMLDRFQUE0RTtFZXJsR3hFO0lXOUtGLGlCQUE2QixFTjROMUI7RXBCMGlHTCw0RUFBNEU7RW9CeGlHeEU7SU05TkYsbUNBQTZCLEVOZ08xQjtFcEJ5aUdMLDRFQUE0RTtFZTNsR3hFO0lXOUtGLHVCQUE2QixFTjROMUI7RXBCZ2pHTCw0RUFBNEU7RW9COWlHeEU7SU05TkYseUNBQTZCLEVOZ08xQjtFcEIraUdMLDRFQUE0RTtFZWptR3hFO0lXOUtGLHVCQUE2QixFTjROMUI7RXBCc2pHTCw0RUFBNEU7RW9CcGpHeEU7SU05TkYseUNBQTZCLEVOZ08xQjtFcEJxakdMLDRFQUE0RTtFZXZtR3hFO0lXOUtGLGlCQUE2QixFTjROMUI7RXBCNGpHTCw0RUFBNEU7RW9CMWpHeEU7SU05TkYsbUNBQTZCLEVOZ08xQjtFcEIyakdMLDRFQUE0RTtFZTdtR3hFO0lXOUtGLHVCQUE2QixFTjROMUI7RXBCa2tHTCw0RUFBNEU7RW9CaGtHeEU7SU05TkYseUNBQTZCLEVOZ08xQjtFcEJpa0dMLDRFQUE0RTtFZW5uR3hFO0lXOUtGLHVCQUE2QixFTjROMUI7RXBCd2tHTCw0RUFBNEU7RW9CdGtHeEU7SU05TkYseUNBQTZCLEVOZ08xQixFQUFBOztBYnRGRDtFUCtwR0osNEVBQTRFO0VlM25HeEU7SVc5S0YsZ0JBQTZCLEVONE4xQjtFcEJnbEdMLDRFQUE0RTtFb0I5a0d4RTtJTTlORixrQ0FBNkIsRU5nTzFCO0VwQitrR0wsNEVBQTRFO0Vlam9HeEU7SVc5S0Ysc0JBQTZCLEVONE4xQjtFcEJzbEdMLDRFQUE0RTtFb0JwbEd4RTtJTTlORix3Q0FBNkIsRU5nTzFCO0VwQnFsR0wsNEVBQTRFO0Vldm9HeEU7SVc5S0YsdUJBQTZCLEVONE4xQjtFcEI0bEdMLDRFQUE0RTtFb0IxbEd4RTtJTTlORix5Q0FBNkIsRU5nTzFCO0VwQjJsR0wsNEVBQTRFO0VlN29HeEU7SVc5S0YsaUJBQTZCLEVONE4xQjtFcEJrbUdMLDRFQUE0RTtFb0JobUd4RTtJTTlORixtQ0FBNkIsRU5nTzFCO0VwQmltR0wsNEVBQTRFO0VlbnBHeEU7SVc5S0YsdUJBQTZCLEVONE4xQjtFcEJ3bUdMLDRFQUE0RTtFb0J0bUd4RTtJTTlORix5Q0FBNkIsRU5nTzFCO0VwQnVtR0wsNEVBQTRFO0VlenBHeEU7SVc5S0YsdUJBQTZCLEVONE4xQjtFcEI4bUdMLDRFQUE0RTtFb0I1bUd4RTtJTTlORix5Q0FBNkIsRU5nTzFCO0VwQjZtR0wsNEVBQTRFO0VlL3BHeEU7SVc5S0YsaUJBQTZCLEVONE4xQjtFcEJvbkdMLDRFQUE0RTtFb0Jsbkd4RTtJTTlORixtQ0FBNkIsRU5nTzFCO0VwQm1uR0wsNEVBQTRFO0VlcnFHeEU7SVc5S0YsdUJBQTZCLEVONE4xQjtFcEIwbkdMLDRFQUE0RTtFb0J4bkd4RTtJTTlORix5Q0FBNkIsRU5nTzFCO0VwQnluR0wsNEVBQTRFO0VlM3FHeEU7SVc5S0YsdUJBQTZCLEVONE4xQjtFcEJnb0dMLDRFQUE0RTtFb0I5bkd4RTtJTTlORix5Q0FBNkIsRU5nTzFCO0VwQituR0wsNEVBQTRFO0VlanJHeEU7SVc5S0YsaUJBQTZCLEVONE4xQjtFcEJzb0dMLDRFQUE0RTtFb0Jwb0d4RTtJTTlORixtQ0FBNkIsRU5nTzFCO0VwQnFvR0wsNEVBQTRFO0VldnJHeEU7SVc5S0YsdUJBQTZCLEVONE4xQjtFcEI0b0dMLDRFQUE0RTtFb0Ixb0d4RTtJTTlORix5Q0FBNkIsRU5nTzFCO0VwQjJvR0wsNEVBQTRFO0VlN3JHeEU7SVc5S0YsdUJBQTZCLEVONE4xQjtFcEJrcEdMLDRFQUE0RTtFb0JocEd4RTtJTTlORix5Q0FBNkIsRU5nTzFCLEVBQUE7O0FiakZEO0VQb3VHSiw0RUFBNEU7RWVyc0d4RTtJVzlLRixnQkFBNkIsRU40TjFCO0VwQjBwR0wsNEVBQTRFO0VvQnhwR3hFO0lNOU5GLGtDQUE2QixFTmdPMUI7RXBCeXBHTCw0RUFBNEU7RWUzc0d4RTtJVzlLRixzQkFBNkIsRU40TjFCO0VwQmdxR0wsNEVBQTRFO0VvQjlwR3hFO0lNOU5GLHdDQUE2QixFTmdPMUI7RXBCK3BHTCw0RUFBNEU7RWVqdEd4RTtJVzlLRix1QkFBNkIsRU40TjFCO0VwQnNxR0wsNEVBQTRFO0VvQnBxR3hFO0lNOU5GLHlDQUE2QixFTmdPMUI7RXBCcXFHTCw0RUFBNEU7RWV2dEd4RTtJVzlLRixpQkFBNkIsRU40TjFCO0VwQjRxR0wsNEVBQTRFO0VvQjFxR3hFO0lNOU5GLG1DQUE2QixFTmdPMUI7RXBCMnFHTCw0RUFBNEU7RWU3dEd4RTtJVzlLRix1QkFBNkIsRU40TjFCO0VwQmtyR0wsNEVBQTRFO0VvQmhyR3hFO0lNOU5GLHlDQUE2QixFTmdPMUI7RXBCaXJHTCw0RUFBNEU7RWVudUd4RTtJVzlLRix1QkFBNkIsRU40TjFCO0VwQndyR0wsNEVBQTRFO0VvQnRyR3hFO0lNOU5GLHlDQUE2QixFTmdPMUI7RXBCdXJHTCw0RUFBNEU7RWV6dUd4RTtJVzlLRixpQkFBNkIsRU40TjFCO0VwQjhyR0wsNEVBQTRFO0VvQjVyR3hFO0lNOU5GLG1DQUE2QixFTmdPMUI7RXBCNnJHTCw0RUFBNEU7RWUvdUd4RTtJVzlLRix1QkFBNkIsRU40TjFCO0VwQm9zR0wsNEVBQTRFO0VvQmxzR3hFO0lNOU5GLHlDQUE2QixFTmdPMUI7RXBCbXNHTCw0RUFBNEU7RWVydkd4RTtJVzlLRix1QkFBNkIsRU40TjFCO0VwQjBzR0wsNEVBQTRFO0VvQnhzR3hFO0lNOU5GLHlDQUE2QixFTmdPMUI7RXBCeXNHTCw0RUFBNEU7RWUzdkd4RTtJVzlLRixpQkFBNkIsRU40TjFCO0VwQmd0R0wsNEVBQTRFO0VvQjlzR3hFO0lNOU5GLG1DQUE2QixFTmdPMUI7RXBCK3NHTCw0RUFBNEU7RWVqd0d4RTtJVzlLRix1QkFBNkIsRU40TjFCO0VwQnN0R0wsNEVBQTRFO0VvQnB0R3hFO0lNOU5GLHlDQUE2QixFTmdPMUI7RXBCcXRHTCw0RUFBNEU7RWV2d0d4RTtJVzlLRix1QkFBNkIsRU40TjFCO0VwQjR0R0wsNEVBQTRFO0VvQjF0R3hFO0lNOU5GLHlDQUE2QixFTmdPMUIsRUFBQTs7QXBCNHRHUCw0RUFBNEU7QW9CcjNHNUQ7RUVoRWQscUJBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw2QkFINkI7RUFHN0IsOEJBSDZCO01BRzdCLDZCQUg2QjtVQUc3Qix5QkFINkIsRUYrUjVCO0VwQjRwR0QsNEVBQTRFO0VvQmh0RzVFO0lHdE1BLFlBQW1CLEVINE1oQjtFcEI2c0dILDRFQUE0RTtFb0JudEc1RTtJRzNMRSxhQUFtQixFSHFNbEI7RXBCNHNHSCw0RUFBNEU7RW9CdHRHNUU7SUd2TEUsYUFBbUIsRUhxTWxCO0VwQjJzR0gsNEVBQTRFO0VvQnp0RzVFO0lBMkJNLDhCQUFnQjtRQUFoQixpQkFBZ0IsRUFDakI7RWJsSUQ7SVBtMEdGLDRFQUE0RTtJb0I3dEc5RTtNQTJCTSw4QkFBZ0I7VUFBaEIsaUJBQWdCLEVBQ2pCLEVBQUE7RWJsSUQ7SVB1MEdGLDRFQUE0RTtJb0JqdUc5RTtNQTJCTSw4QkFBZ0I7VUFBaEIsaUJBQWdCLEVBQ2pCLEVBQUE7RWI3SEQ7SVBzMEdGLDRFQUE0RTtJb0JydUc5RTtNQTJCTSw4QkFBZ0I7VUFBaEIsaUJBQWdCLEVBQ2pCLEVBQUE7RXBCNHNHTCw0RUFBNEU7RW9CeHVHNUU7SUdsTkUsb0JBQWE7UUFBYixrQkFBYTtZQUFiLGNBQWE7SUF1QmIsYUFBbUIsRUgrTmQ7RXBCd3NHUCw0RUFBNEU7RW9CNXVHNUU7SUd2TEUsYUFBbUIsRUgrTmQ7RXBCdXNHUCw0RUFBNEU7RW9CL3VHNUU7SUduTEUsaUJBRG9ELEVIb08vQztFcEJrc0dQLDRFQUE0RTtFb0Jsdkc1RTtJR25MRSxrQkFEb0QsRUhvTy9DO0VwQnFzR1AsNEVBQTRFO0VvQnJ2RzVFO0lHbkxFLFlBRG9ELEVIb08vQztFcEJ3c0dQLDRFQUE0RTtFb0J4dkc1RTtJR25MRSxrQkFEb0QsRUhvTy9DO0VwQjJzR1AsNEVBQTRFO0VvQjN2RzVFO0lHbkxFLGtCQURvRCxFSG9PL0M7RXBCOHNHUCw0RUFBNEU7RW9COXZHNUU7SUduTEUsWUFEb0QsRUhvTy9DO0VwQml0R1AsNEVBQTRFO0VvQmp3RzVFO0lHbkxFLGtCQURvRCxFSG9PL0M7RXBCb3RHUCw0RUFBNEU7RW9CcHdHNUU7SUduTEUsa0JBRG9ELEVIb08vQztFcEJ1dEdQLDRFQUE0RTtFb0J2d0c1RTtJR25MRSxZQURvRCxFSG9PL0M7RXBCMHRHUCw0RUFBNEU7RW9CMXdHNUU7SUduTEUsa0JBRG9ELEVIb08vQztFcEI2dEdQLDRFQUE0RTtFb0I3d0c1RTtJR25MRSxrQkFEb0QsRUhvTy9DO0VwQmd1R1AsNEVBQTRFO0VvQmh4RzVFO0lHbkxFLGFBRG9ELEVIb08vQztFYnRKSDtJUDAzR0YsNEVBQTRFO0lvQnB4RzlFO01HbE5FLG9CQUFhO1VBQWIsa0JBQWE7Y0FBYixjQUFhO01BdUJiLGFBQW1CLEVIK05kO0lwQm92R0wsNEVBQTRFO0lvQnh4RzlFO01HdkxFLGFBQW1CLEVIK05kO0lwQm12R0wsNEVBQTRFO0lvQjN4RzlFO01HbkxFLGlCQURvRCxFSG9PL0M7SXBCOHVHTCw0RUFBNEU7SW9COXhHOUU7TUduTEUsa0JBRG9ELEVIb08vQztJcEJpdkdMLDRFQUE0RTtJb0JqeUc5RTtNR25MRSxZQURvRCxFSG9PL0M7SXBCb3ZHTCw0RUFBNEU7SW9CcHlHOUU7TUduTEUsa0JBRG9ELEVIb08vQztJcEJ1dkdMLDRFQUE0RTtJb0J2eUc5RTtNR25MRSxrQkFEb0QsRUhvTy9DO0lwQjB2R0wsNEVBQTRFO0lvQjF5RzlFO01HbkxFLFlBRG9ELEVIb08vQztJcEI2dkdMLDRFQUE0RTtJb0I3eUc5RTtNR25MRSxrQkFEb0QsRUhvTy9DO0lwQmd3R0wsNEVBQTRFO0lvQmh6RzlFO01HbkxFLGtCQURvRCxFSG9PL0M7SXBCbXdHTCw0RUFBNEU7SW9CbnpHOUU7TUduTEUsWUFEb0QsRUhvTy9DO0lwQnN3R0wsNEVBQTRFO0lvQnR6RzlFO01HbkxFLGtCQURvRCxFSG9PL0M7SXBCeXdHTCw0RUFBNEU7SW9CenpHOUU7TUduTEUsa0JBRG9ELEVIb08vQztJcEI0d0dMLDRFQUE0RTtJb0I1ekc5RTtNR25MRSxhQURvRCxFSG9PL0MsRUFBQTtFYnRKSDtJUHM2R0YsNEVBQTRFO0lvQmgwRzlFO01HbE5FLG9CQUFhO1VBQWIsa0JBQWE7Y0FBYixjQUFhO01BdUJiLGFBQW1CLEVIK05kO0lwQmd5R0wsNEVBQTRFO0lvQnAwRzlFO01HdkxFLGFBQW1CLEVIK05kO0lwQit4R0wsNEVBQTRFO0lvQnYwRzlFO01HbkxFLGlCQURvRCxFSG9PL0M7SXBCMHhHTCw0RUFBNEU7SW9CMTBHOUU7TUduTEUsa0JBRG9ELEVIb08vQztJcEI2eEdMLDRFQUE0RTtJb0I3MEc5RTtNR25MRSxZQURvRCxFSG9PL0M7SXBCZ3lHTCw0RUFBNEU7SW9CaDFHOUU7TUduTEUsa0JBRG9ELEVIb08vQztJcEJteUdMLDRFQUE0RTtJb0JuMUc5RTtNR25MRSxrQkFEb0QsRUhvTy9DO0lwQnN5R0wsNEVBQTRFO0lvQnQxRzlFO01HbkxFLFlBRG9ELEVIb08vQztJcEJ5eUdMLDRFQUE0RTtJb0J6MUc5RTtNR25MRSxrQkFEb0QsRUhvTy9DO0lwQjR5R0wsNEVBQTRFO0lvQjUxRzlFO01HbkxFLGtCQURvRCxFSG9PL0M7SXBCK3lHTCw0RUFBNEU7SW9CLzFHOUU7TUduTEUsWUFEb0QsRUhvTy9DO0lwQmt6R0wsNEVBQTRFO0lvQmwyRzlFO01HbkxFLGtCQURvRCxFSG9PL0M7SXBCcXpHTCw0RUFBNEU7SW9CcjJHOUU7TUduTEUsa0JBRG9ELEVIb08vQztJcEJ3ekdMLDRFQUE0RTtJb0J4Mkc5RTtNR25MRSxhQURvRCxFSG9PL0MsRUFBQTtFYmpKSDtJUDY4R0YsNEVBQTRFO0lvQjUyRzlFO01HbE5FLG9CQUFhO1VBQWIsa0JBQWE7Y0FBYixjQUFhO01BdUJiLGFBQW1CLEVIK05kO0lwQjQwR0wsNEVBQTRFO0lvQmgzRzlFO01HdkxFLGFBQW1CLEVIK05kO0lwQjIwR0wsNEVBQTRFO0lvQm4zRzlFO01HbkxFLGlCQURvRCxFSG9PL0M7SXBCczBHTCw0RUFBNEU7SW9CdDNHOUU7TUduTEUsa0JBRG9ELEVIb08vQztJcEJ5MEdMLDRFQUE0RTtJb0J6M0c5RTtNR25MRSxZQURvRCxFSG9PL0M7SXBCNDBHTCw0RUFBNEU7SW9CNTNHOUU7TUduTEUsa0JBRG9ELEVIb08vQztJcEIrMEdMLDRFQUE0RTtJb0IvM0c5RTtNR25MRSxrQkFEb0QsRUhvTy9DO0lwQmsxR0wsNEVBQTRFO0lvQmw0RzlFO01HbkxFLFlBRG9ELEVIb08vQztJcEJxMUdMLDRFQUE0RTtJb0JyNEc5RTtNR25MRSxrQkFEb0QsRUhvTy9DO0lwQncxR0wsNEVBQTRFO0lvQng0RzlFO01HbkxFLGtCQURvRCxFSG9PL0M7SXBCMjFHTCw0RUFBNEU7SW9CMzRHOUU7TUduTEUsWUFEb0QsRUhvTy9DO0lwQjgxR0wsNEVBQTRFO0lvQjk0RzlFO01HbkxFLGtCQURvRCxFSG9PL0M7SXBCaTJHTCw0RUFBNEU7SW9CajVHOUU7TUduTEUsa0JBRG9ELEVIb08vQztJcEJvMkdMLDRFQUE0RTtJb0JwNUc5RTtNR25MRSxhQURvRCxFSG9PL0MsRUFBQTs7QXBCdzJHVCw0RUFBNEU7QW9CajJHeEU7RUNoU0ksc0JBQTRCO0VBQTVCLHlCQUE0QixFRG9TN0I7RWJqS0Q7SVBtZ0hGLDRFQUE0RTtJb0J0Mkc1RTtNQ2hTSSx1QkFBNEI7TUFBNUIsMEJBQTRCLEVEb1M3QixFQUFBOztBcEJ1MkdQLDRFQUE0RTtBb0IzMkd4RTtFQ2hTSSxzQkFBNEI7RUFBNUIseUJBQTRCLEVEeVM3QjtFYnRLRDtJUDZnSEYsNEVBQTRFO0lvQmgzRzVFO01DaFNJLHVCQUE0QjtNQUE1QiwwQkFBNEIsRUR5UzdCLEVBQUE7O0FwQjQyR1AsNEVBQTRFO0FvQnRqSDFFO0VDL0ZNLHNCQUE0QjtFQUE1Qix5QkFBNEIsRUQ4SGpDO0ViS0c7SVB1aEhGLDRFQUE0RTtJb0Izakg5RTtNQy9GTSx1QkFBNEI7TUFBNUIsMEJBQTRCLEVEOEhqQyxFQUFBO0VwQmdpSEQsNEVBQTRFO0VvQi9qSDVFO0lHcERFLDZCQUQ0RTtJRmpDMUUscUJBQTRCO0lBQTVCLHdCQUE0QixFRDRGN0I7RXBCOGpISCw0RUFBNEU7RW9CNWxINUU7SUd6QkUsYUFBbUIsRUgyQnBCO0VwQjZsSEQsNEVBQTRFO0VvQjNsSDVFO0lHekJFLGFBQW1CLEVIMkJwQjtFcEI0bEhELDRFQUE0RTtFb0J0bEgxRTtJRzdCQSxrQ0FEZ0gsRUhnQy9HO0VwQnVsSEgsNEVBQTRFO0VvQnpsSDFFO0lHN0JBLG1DQURnSCxFSGdDL0c7RXBCMGxISCw0RUFBNEU7RW9CNWxIMUU7SUc3QkEsNkJBRGdILEVIZ0MvRztFcEI2bEhILDRFQUE0RTtFb0IvbEgxRTtJRzdCQSxtQ0FEZ0gsRUhnQy9HO0VwQmdtSEgsNEVBQTRFO0VvQmxtSDFFO0lHN0JBLG1DQURnSCxFSGdDL0c7RXBCbW1ISCw0RUFBNEU7RW9Ccm1IMUU7SUc3QkEsNkJBRGdILEVIZ0MvRztFcEJzbUhILDRFQUE0RTtFb0J4bUgxRTtJRzdCQSxtQ0FEZ0gsRUhnQy9HO0VwQnltSEgsNEVBQTRFO0VvQjNtSDFFO0lHN0JBLG1DQURnSCxFSGdDL0c7RXBCNG1ISCw0RUFBNEU7RW9COW1IMUU7SUc3QkEsNkJBRGdILEVIZ0MvRztFcEIrbUhILDRFQUE0RTtFb0JqbkgxRTtJRzdCQSxtQ0FEZ0gsRUhnQy9HO0VwQmtuSEgsNEVBQTRFO0VvQnBuSDFFO0lHN0JBLG1DQURnSCxFSGdDL0c7RXBCcW5ISCw0RUFBNEU7RW9Cdm5IMUU7SUc3QkEsOEJBRGdILEVIZ0MvRztFYjhDQztJUDJrSEYsNEVBQTRFO0lvQnZvSDlFO01HekJFLGFBQW1CLEVIMkJwQjtJcEJ3b0hDLDRFQUE0RTtJb0J0b0g5RTtNR3pCRSxhQUFtQixFSDJCcEI7SXBCdW9IQyw0RUFBNEU7SW9Cam9INUU7TUc3QkEsa0NBRGdILEVIZ0MvRztJcEJrb0hELDRFQUE0RTtJb0Jwb0g1RTtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lwQnFvSEQsNEVBQTRFO0lvQnZvSDVFO01HN0JBLDZCQURnSCxFSGdDL0c7SXBCd29IRCw0RUFBNEU7SW9CMW9INUU7TUc3QkEsbUNBRGdILEVIZ0MvRztJcEIyb0hELDRFQUE0RTtJb0I3b0g1RTtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lwQjhvSEQsNEVBQTRFO0lvQmhwSDVFO01HN0JBLDZCQURnSCxFSGdDL0c7SXBCaXBIRCw0RUFBNEU7SW9CbnBINUU7TUc3QkEsbUNBRGdILEVIZ0MvRztJcEJvcEhELDRFQUE0RTtJb0J0cEg1RTtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lwQnVwSEQsNEVBQTRFO0lvQnpwSDVFO01HN0JBLDZCQURnSCxFSGdDL0c7SXBCMHBIRCw0RUFBNEU7SW9CNXBINUU7TUc3QkEsbUNBRGdILEVIZ0MvRztJcEI2cEhELDRFQUE0RTtJb0IvcEg1RTtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lwQmdxSEQsNEVBQTRFO0lvQmxxSDVFO01HN0JBLDhCQURnSCxFSGdDL0csRUFBQTtFYjhDQztJUHNuSEYsNEVBQTRFO0lvQmxySDlFO01HekJFLGFBQW1CLEVIMkJwQjtJcEJtckhDLDRFQUE0RTtJb0Jqckg5RTtNR3pCRSxhQUFtQixFSDJCcEI7SXBCa3JIQyw0RUFBNEU7SW9CNXFINUU7TUc3QkEsa0NBRGdILEVIZ0MvRztJcEI2cUhELDRFQUE0RTtJb0IvcUg1RTtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lwQmdySEQsNEVBQTRFO0lvQmxySDVFO01HN0JBLDZCQURnSCxFSGdDL0c7SXBCbXJIRCw0RUFBNEU7SW9CcnJINUU7TUc3QkEsbUNBRGdILEVIZ0MvRztJcEJzckhELDRFQUE0RTtJb0J4ckg1RTtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lwQnlySEQsNEVBQTRFO0lvQjNySDVFO01HN0JBLDZCQURnSCxFSGdDL0c7SXBCNHJIRCw0RUFBNEU7SW9COXJINUU7TUc3QkEsbUNBRGdILEVIZ0MvRztJcEIrckhELDRFQUE0RTtJb0Jqc0g1RTtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lwQmtzSEQsNEVBQTRFO0lvQnBzSDVFO01HN0JBLDZCQURnSCxFSGdDL0c7SXBCcXNIRCw0RUFBNEU7SW9CdnNINUU7TUc3QkEsbUNBRGdILEVIZ0MvRztJcEJ3c0hELDRFQUE0RTtJb0Ixc0g1RTtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lwQjJzSEQsNEVBQTRFO0lvQjdzSDVFO01HN0JBLDhCQURnSCxFSGdDL0csRUFBQTtFYm1EQztJUDRwSEYsNEVBQTRFO0lvQjd0SDlFO01HekJFLGFBQW1CLEVIMkJwQjtJcEI4dEhDLDRFQUE0RTtJb0I1dEg5RTtNR3pCRSxhQUFtQixFSDJCcEI7SXBCNnRIQyw0RUFBNEU7SW9CdnRINUU7TUc3QkEsa0NBRGdILEVIZ0MvRztJcEJ3dEhELDRFQUE0RTtJb0IxdEg1RTtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lwQjJ0SEQsNEVBQTRFO0lvQjd0SDVFO01HN0JBLDZCQURnSCxFSGdDL0c7SXBCOHRIRCw0RUFBNEU7SW9CaHVINUU7TUc3QkEsbUNBRGdILEVIZ0MvRztJcEJpdUhELDRFQUE0RTtJb0JudUg1RTtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lwQm91SEQsNEVBQTRFO0lvQnR1SDVFO01HN0JBLDZCQURnSCxFSGdDL0c7SXBCdXVIRCw0RUFBNEU7SW9CenVINUU7TUc3QkEsbUNBRGdILEVIZ0MvRztJcEIwdUhELDRFQUE0RTtJb0I1dUg1RTtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lwQjZ1SEQsNEVBQTRFO0lv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b0I7WUFBcEIscUJBQW9CO0lBeUJoQixjQUF1QyxFUGlXdEMsRUFBQTs7QXBCNnJIVCw0RUFBNEU7QW9CenJIeEU7RUFFSSxhQUFZLEVBQ2I7O0FwQjBySFAsNEVBQTRFO0FvQjdySHhFO0VBTU0sYUFBWSxFQUNiOztBYnJQSDtFUGc3SEosNEVBQTRFO0VvQmxzSDFFO0lBTU0sYUFBWSxFQUNiLEVBQUE7O0FiclBIO0VQcTdISiw0RUFBNEU7RW9CdnNIMUU7SUFNTSxhQUFZLEVBQ2IsRUFBQTs7QWJoUEg7RVBxN0hKLDRFQUE0RTtFb0I1c0gxRTtJQU1NLGFBQVksRUFDYixFQUFBOztBcEJ5c0hULDRFQUE0RTtBb0JsK0gxRTtFQy9GTSxzQkFBNEI7RUFBNUIseUJBQTRCLEVEOEhqQztFYktHO0lQbThIRiw0RUFBNEU7SW9CditIOUU7TUMvRk0sdUJBQTRCO01BQTVCLDBCQUE0QixFRDhIakMsRUFBQTtFcEI0OEhELDRFQUE0RTtFb0IzK0g1RTtJR3BERSw2QkFENEU7SUZqQzFFLHFCQUE0QjtJQUE1Qix3QkFBNEIsRUQ0RjdCO0VwQjArSEgsNEVBQTRFO0VvQnhnSTVFO0lHekJFLGFBQW1CLEVIMkJwQjtFcEJ5Z0lELDRFQUE0RTtFb0J2Z0k1RTtJR3pCRSxhQUFtQixFSDJCcEI7RXBCd2dJRCw0RUFBNEU7RW9CbGdJMUU7SUc3QkEsa0NBRGdILEVIZ0MvRztFcEJtZ0lILDRFQUE0RTtFb0JyZ0kxRTtJRzdCQSxtQ0FEZ0gsRUhnQy9HO0VwQnNnSUgsNEVBQTRFO0VvQnhnSTFFO0lHN0JBLDZCQURnSCxFSGdDL0c7RXBCeWdJSCw0RUFBNEU7RW9CM2dJMUU7SUc3QkEsbUNBRGdILEVIZ0MvRztFcEI0Z0lILDRFQUE0RTtFb0I5Z0kxRTtJRzdCQSxtQ0FEZ0gsRUhnQy9HO0VwQitnSUgsNEVBQTRFO0VvQmpoSTFFO0lHN0JBLDZCQURnSCxFSGdDL0c7RXBCa2hJSCw0RUFBNEU7RW9CcGhJMUU7SUc3QkEsbUNBRGdILEVIZ0MvRztFcEJxaElILDRFQUE0RTtFb0J2aEkxRTtJRzdCQSxtQ0FEZ0gsRUhnQy9HO0VwQndoSUgsNEVBQTRFO0VvQjFoSTFFO0lHN0JBLDZCQURnSCxFSGdDL0c7RXBCMmhJSCw0RUFBNEU7RW9CN2hJMUU7SUc3QkEsbUNBRGdILEVIZ0MvRztFcEI4aElILDRFQUE0RTtFb0JoaUkxRTtJRzdCQSxtQ0FEZ0gsRUhnQy9HO0VwQmlpSUgsNEVBQTRFO0VvQm5pSTFFO0lHN0JBLDhCQURnSCxFSGdDL0c7RWI4Q0M7SVB1L0hGLDRFQUE0RTtJb0Juakk5RTtNR3pCRSxhQUFtQixFSDJCcEI7SXBCb2pJQyw0RUFBNEU7SW9CbGpJOUU7TUd6QkUsYUFBbUIsRUgyQnBCO0lwQm1qSUMsNEVBQTRFO0lvQjdpSTVFO01HN0JBLGtDQURnSCxFSGdDL0c7SXBCOGlJRCw0RUFBNEU7SW9CaGpJNUU7TUc3QkEsbUNBRGdILEVIZ0MvRztJcEJpaklELDRFQUE0RTtJb0Juakk1RTtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lwQm9qSUQsNEVBQTRFO0lvQnRqSTVFO01HN0JBLG1DQURnSCxFSGdDL0c7SXBCdWpJRCw0RUFBNEU7SW9CempJNUU7TUc3QkEsbUNBRGdILEVIZ0MvRztJcEIwaklELDRFQUE0RTtJb0I1akk1RTtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lwQjZqSUQsNEVBQTRFO0lvQi9qSTVFO01HN0JBLG1DQURnSCxFSGdDL0c7SXBCZ2tJRCw0RUFBNEU7SW9CbGtJNUU7TUc3QkEsbUNBRGdILEVIZ0MvRztJcEJta0lELDRFQUE0RTtJb0Jya0k1RTtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lwQnNrSUQsNEVBQTRFO0lvQnhrSTVFO01HN0JBLG1DQURnSCxFSGdDL0c7SXBCeWtJRCw0RUFBNEU7SW9CM2tJNUU7TUc3QkEsbUNBRGdILEVIZ0MvRztJcEI0a0lELDRFQUE0RTtJb0I5a0k1RTtNRzdCQSw4QkFEZ0gsRUhnQy9HLEVBQUE7RWI4Q0M7SVBraUlGLDRFQUE0RTtJb0I5bEk5RTtNR3pCRSxhQUFtQixFSDJCcEI7SXBCK2xJQyw0RUFBNEU7SW9CN2xJOUU7TUd6QkUsYUFBbUIsRUgyQnBCO0lwQjhsSUMsNEVBQTRFO0lvQnhsSTVFO01HN0JBLGtDQURnSCxFSGdDL0c7SXBCeWxJRCw0RUFBNEU7SW9CM2xJNUU7TUc3QkEsbUNBRGdILEVIZ0MvRztJcEI0bElELDRFQUE0RTtJb0I5bEk1RTtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lwQitsSUQsNEVBQTRFO0lvQmptSTVFO01HN0JBLG1DQURnSCxFSGdDL0c7SXBCa21JRCw0RUFBNEU7SW9CcG1JNUU7TUc3QkEsbUNBRGdILEVIZ0MvRztJcEJxbUlELDRFQUE0RTtJb0J2bUk1RTtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lwQndtSUQsNEVBQTRFO0lvQjFtSTVFO01HN0JBLG1DQURnSCxFSGdDL0c7SXBCMm1JRCw0RUFBNEU7SW9CN21JNUU7TUc3QkEsbUNBRGdILEVIZ0MvRztJcEI4bUlELDRFQUE0RTtJb0Jobkk1RTtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lwQmluSUQsNEVBQTRFO0lvQm5uSTVFO01HN0JBLG1DQURnSCxFSGdDL0c7SXBCb25JRCw0RUFBNEU7SW9CdG5JNUU7TUc3QkEsbUNBRGdILEVIZ0MvRztJcEJ1bklELDRFQUE0RTtJb0J6bkk1RTtNRzdCQSw4QkFEZ0gsRUhnQy9HLEVBQUE7RWJtREM7SVB3a0lGLDRFQUE0RTtJb0J6b0k5RTtNR3pCRSxhQUFtQixFSDJCcEI7SXBCMG9JQyw0RUFBNEU7SW9CeG9JOUU7TUd6QkUsYUFBbUIsRUgyQnBCO0lwQnlvSUMsNEVBQTRFO0lvQm5vSTVFO01HN0JBLGtDQURnSCxFSGdDL0c7SXBCb29JRCw0RUFBNEU7SW9CdG9JNUU7TUc3QkEsbUNBRGdILEVIZ0MvRztJcEJ1b0lELDRFQUE0RTtJb0J6b0k1RTtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lwQjBvSUQsNEVBQTRFO0lvQjVvSTVFO01HN0JBLG1DQURnSCxFSGdDL0c7SXBCNm9JRCw0RUFBNEU7SW9CL29JNUU7TUc3QkEsbUNBRGdILEVIZ0MvRztJcEJncElELDRFQUE0RTtJb0JscEk1RTtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lwQm1wSUQsNEVBQTRFO0lvQnJwSTVFO01HN0JBLG1DQURnSCxFSGdDL0c7SXBCc3BJRCw0RUFBNEU7SW9CeHBJNUU7TUc3QkEsbUNBRGdILEVIZ0MvRztJcEJ5cElELDRFQUE0RTtJb0IzcEk1RTtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lwQjRwSUQsNEVBQTRFO0lvQjlwSTVFO01HN0JBLG1DQURnSCxFSGdDL0c7SXBCK3BJRCw0RUFBNEU7SW9CanFJNUU7TUc3QkEsbUNBRGdILEVIZ0MvRztJcEJrcUlELDRFQUE0RTtJb0JwcUk1RTtNRzdCQSw4QkFEZ0gsRUhnQy9HLEVBQUE7O0FwQnNxSUwsNEVBQTRFO0FvQjczSHhFO0VPM1hJLCtCQUFtQyxFUDZYdEM7RWI3UEM7SVA0bklGLDRFQUE0RTtJb0JqNEg1RTtNTzNYSSwrQkFBbUMsRVA2WHRDLEVBQUE7RWI3UEM7SVBnb0lGLDRFQUE0RTtJb0JyNEg1RTtNTzNYSSwrQkFBbUMsRVA2WHRDLEVBQUE7RWJ4UEM7SVArbklGLDRFQUE0RTtJb0J6NEg1RTtNTzNYSSwrQkFBbUMsRVA2WHRDLEVBQUE7O0FwQjI0SEwsNEVBQTRFO0FvQno0SHRFO0VPL1hFLCtCQUFtQyxFUGlZcEM7O0FialFEO0VQNm9JSiw0RUFBNEU7RW9COTRIeEU7SU8vWEUsK0JBQW1DLEVQaVlwQyxFQUFBOztBYmpRRDtFUGtwSUosNEVBQTRFO0VvQm41SHhFO0lPL1hFLCtCQUFtQyxFUGlZcEMsRUFBQTs7QWI1UEQ7RVBrcElKLDRFQUE0RTtFb0J4NUh4RTtJTy9YRSwrQkFBbUMsRVBpWXBDLEVBQUE7O0FwQjA1SFAsNEVBQTRFO0E0Qi9qSTFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFVBQVM7RUFDVCxXQUFVLEVBQ1g7O0E1QmlrSUgsNEVBQTRFO0E0QjlqSTFFO0VBQ0Usb0JBekswQjtFQTJLMUIsbUJBQWtCO0VBQ2xCLGlCQWhMc0I7RUFpTHRCLG1DQXpLeUMsRUEwSzFDOztBNUIraklILDRFQUE0RTtBNEI1akkxRTs7RUFFRSxtQkFBa0I7RUFDbEIscUJBQW9CLEVBQ3JCOztBNUI4aklILDRFQUE0RTtBNEIzakkxRTs7RUFFRSxpQnpCeFJvQjtFeUJ5UnBCLHFCQUFvQixFQUNyQjs7QTVCNmpJSCw0RUFBNEU7QUtodEk1RTtFdUJ1SkksZUE1TWlCO0VBNk1qQixxQkFBb0IsRUFDckI7O0E1QjRqSUgsNEVBQTRFO0E0QnpqSTFFOzs7Ozs7RUFNRSwrRHpCM1NnRTtFeUI0U2hFLG1CQXpSc0I7RUEwUnRCLGlCekI1U3NCO0V5QjZTdEIsZUFuUmtCO0VBb1JsQixtQ0EvTnNDLEVBcU92QztFNUJxaklELDRFQUE0RTtFNEJya0k1RTs7Ozs7O0lBYUksZUFBYztJQUNkLGVoQjVSZSxFZ0I2UmhCOztBNUJna0lMLDRFQUE0RTtBNEJ4aklwRTtFQUlJLGtCZnZQNkMsRWVvUmhEOztBNUIyaElULDRFQUE0RTtBNEI1aklwRTtFQUlJLG1CZnZQNkMsRWVvUmhEOztBNUIraElULDRFQUE0RTtBNEJoa0lwRTtFQUlJLHFCZnZQNkMsRWVvUmhEOztBNUJtaUlULDRFQUE0RTtBNEJwa0lwRTtFQUlJLG9CZnZQNkMsRWVvUmhEOztBNUJ1aUlULDRFQUE0RTtBNEJ4a0lwRTtFQUlJLHFCZnZQNkMsRWVvUmhEOztBNUIyaUlULDRFQUE0RTtBNEI1a0lwRTtFQUlJLGdCZnZQNkMsRWVvUmhEOztBckJ6TUg7RVB5dklKLDRFQUE0RTtFNEJqbEl0RTtJQUlJLGdCZnZQNkM7SWU4UTdDLHdCZjlRNkMsRWVvUmhEO0U1Qm9qSVAsNEVBQTRFO0U0QnJsSXRFO0lBSUksa0JmdlA2QyxFZW9SaEQ7RTVCdWpJUCw0RUFBNEU7RTRCeGxJdEU7SUFJSSxxQmZ2UDZDLEVlb1JoRDtFNUIwaklQLDRFQUE0RTtFNEIzbEl0RTtJQUlJLHFCZnZQNkMsRWVvUmhEO0U1QjZqSVAsNEVBQTRFO0U0QjlsSXRFO0lBSUksbUJmdlA2QyxFZW9SaEQ7RTVCZ2tJUCw0RUFBNEU7RTRCam1JdEU7SUFJSSxnQmZ2UDZDLEVlb1JoRCxFQUFBOztBNUJva0lULDRFQUE0RTtBS3gxSTVFO0V1QjJSSSxxQkFBb0I7RUFDcEIsZXpCelNzQjtFeUIwU3RCLHNCQTlO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O0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isb0JBQWM7TUFBZCxtQkFBYztVQUFkLGVBQWMsRUF3QmpCO0VuQ3VvSkQsOEVBQThFO0VtQ3ZxSjlFOzs7O0lBc0JNLGFBQVk7SUFDWiw2QkFBbUI7UUFBbkIsb0JBQW1CO0lBS3JCLGVBQWM7SUFDZCxrQkFBaUI7SUFDakIsZ0J0QjNDbUQsRXNCNENwRDs7QW5DbXBKTCwwRUFBMEU7QUs3NUkxRTtFK0JuVkksVUFBUztFQUNULFdBQVU7RUFDVixVQUFTLEVBQ1Y7O0FwQ212SkgsMEVBQTBFO0FLeDVJMUU7RStCeFZJLGdCQUFlO0VBQ2Ysd0JBQWtDLEVBQ25DOztBcENtdkpILDBFQUEwRTtBb0Nqdkp4RTtFQXhCQSxtQnZCb0VXO0V1Qm5FWCxpQnZCOER1RDtFdUI3RHZELDBCeEJXbUIsRXdCYWxCO0VwQ292SkQsMEVBQTBFO0VvQzF3SjFFO0lBRUUsVUFBUztJQUNULHdCdkJ3RHFEO0l1QnZEckQscUJ2QnVEcUQsRXVCdER0RDs7QXBDMndKSCx3RUFBd0U7QVk5bUp0RTtFeUJ4S0Esa0JBRnNKO0VBR3RKLG9CeEJnRXVEO0V3Qi9EdkQsNkJ4Qm9FVztFd0JsRVgseUJBQWdCO0tBQWhCLHNCQUFnQjtVQUFoQixpQkFBZ0I7RUFDaEIsMEJ6QlVtQjtFeUJUbkIsaUJ6QjZEZTtFeUI1RGYsMEJ6Qm9CYTtFeUJsQmIscUJOZHlCO0VNZXpCLGdCeEJ1RHVEO0V3QnREdkQsaUJsQ2xCd0I7RWtDbUJ4QixvQnhCcUR1RDtFd0JwRHZELGV6QlVhO0VFd0diLHlPQUF5TjtFdUI5R3ZOLCtCQUE4QjtFQUM5QiwyQ0FBMEQ7RUFDMUQsNkJBQTRCO0VBQzVCLHlCQUF3QjtFQUV4Qix3QkFBdUQ7RUFJdkQsNEVOcUI4RDtFTXJCOUQsb0VOcUI4RDtFTXJCOUQsK0ROcUI4RDtFTXJCOUQsNEROcUI4RDtFTXJCOUQscUZOcUI4RCxFTWMvRDtFdkJvRUQ7SWQycUpFLHdFQUF3RTtJWXBvSjFFO01FcENJLHdXQUF1VyxFdUJ2RTFXLEVBQUE7RXJDa3ZKRCx3RUFBd0U7RXFDanhKeEU7SUFDRSxjQUFhO0lBQ2IsMEJsQzZCaUI7SWtDNUJqQiwwQnpCTlc7SXlCT1gseUJsQzhKZTtZa0M5SmYsaUJsQzhKZTtJa0MzSmIsNEVOVTREO0lNVjVELG9FTlU0RDtJTVY1RCwrRE5VNEQ7SU1WNUQsNEROVTREO0lNVjVELHFGTlU0RCxFTVIvRDtFckMrd0pELHdFQUF3RTtFcUM1d0p4RTtJQUNFLDBCekJoQ2dCO0l5QmlDaEIsb0JORCtCLEVNRWhDO0VyQzZ3SkQsd0VBQXdFO0VxQzF3SnhFO0lBQ0UsY0FBYSxFQUNkO0VyQzJ3SkQsd0VBQXdFO0VxQ3p3SnhFO0lBQ0UsYUFBWTtJQUNaLHVCQUFzQixFQUN2Qjs7QXJDMndKSCx1RUFBdUU7QXNDN3lKckU7RUFDRSxzQm5DZ0VrQjtFbUMvRGxCLDBCQUErRCxFQUloRTtFdEMyeUpELHVFQUF1RTtFc0M5eUpyRTtJQUNFLGVuQzZEZ0IsRW1DNURqQjtFQUZEO0lBQ0UsZW5DNkRnQixFbUM1RGpCO0VBRkQ7SUFDRSxlbkM2RGdCLEVtQzVEakI7RUFGRDtJQUNFLGVuQzZEZ0IsRW1DNURqQjs7QXRDZ3pKTCx1RUFBdUU7QXNDdnhKbkU7RUFDRSxlbkNrQ2dCLEVtQ2pDakI7O0F0Q3l4SkwsdUVBQXVFO0FzQ3J4SnJFO0VBekJBLGNBQWE7RUFDYixzQkFBZ0M7RUFDaEMsdUJ6QitCdUQ7RXlCN0J2RCxtQnpCNkJ1RDtFeUI1QnZELGlCbkMzQ3NCO0VtQzRDdEIsZW5DZ0RvQixFbUN2Qm5CO0V0Q3V4SkQsdUVBQXVFO0VzQzd4SnZFO0lBSUksZUFBYyxFQUNmOztBdEM0eEpMLDhFQUE4RTtBdUM1bUo1RTtFQWhMQSxzQkFBcUI7RUFDckIsdUJBQXNCO0VBQ3RCLG1CQXJFa0M7RUFzRWxDLCtEcEN6RWtFO0VvQ21GaEUseUIxQlZxRDtFMEJhdkQseUJBQXdCO0VBQ3hCLDhCQUE2QjtFQUM3Qix1QjFCZnVEO0UwQmdCdkQsMEVBeEJ1RTtFQXdCdkUscUVBeEJ1RTtFQXdCdkUsa0VBeEJ1RTtFQTBCdkUsbUIxQmxCdUQ7RTBCbUJ2RCxlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLGdCQUFlO0VBcUNmLDBCcEN2RXdCO0VvQ3dFeEIsZTNCakdhLEUyQnVVWjtFdkN5Z0pELHdFQUF3RTtFQUN4RTtJY3pySkUsV0FBVSxFQUNYO0VkMHJKRCw4RUFBOEU7RXVDaHZKOUU7SUFDRSwwQkF4SHVFO0lBeUh2RSxlM0JyR1csRTJCc0daO0V2Q2l2SkQsOEVBQThFO0V1Q3BvSjlFO0lBTU0sb0IxQm5MaUQsRTBCb0xsRDtFdkNnb0pMLDhFQUE4RTtFdUN2b0o5RTtJQU1NLG9CMUJuTGlELEUwQm9MbEQ7RXZDbW9KTCw4RUFBOEU7RXVDMW9KOUU7SUFqSkUsZUFBYztJQUNkLFlBQVc7SUFDWCxnQkFBZTtJQUNmLGVBQWMsRUF3SnlCO0V2Q3NvSnpDLDhFQUE4RTtFdUNocEo5RTtJQW5IQSwwQnBDdkV3QjtJb0N3RXhCLGUzQnJHYSxFMkJ3T047SXZDbW9KTCw4RUFBOEU7SXVDcHdKaEY7TUFDRSwwQkFQb0Y7TUFRcEYsZTNCekdXLEUyQjBHWjtFdkNxd0pELDhFQUE4RTtFdUN4cEo5RTtJQW5IQSwwQnBDdEUwQjtJb0N1RTFCLGUzQmpHYSxFMkJvT047SXZDMm9KTCw4RUFBOEU7SXVDNXdKaEY7TUFDRSwwQkFQb0Y7TUFRcEYsZTNCckdXLEUyQnNHWjtFdkM2d0pELDhFQUE4RTtFdUNocUo5RTtJQW5IQSwwQnBDeEN1QjtJb0N5Q3ZCLGUzQnJHYSxFMkJ3T047SXZDbXBKTCw4RUFBOEU7SXVDcHhKaEY7TUFDRSwwQkFQb0Y7TUFRcEYsZTNCekdXLEUyQjBHWjtFdkNxeEpELDhFQUE4RTtFdUN4cUo5RTtJQW5IQSwwQnBDdkNzQjtJb0N3Q3RCLGUzQnJHYSxFMkJ3T047SXZDMnBKTCw4RUFBOEU7SXVDNXhKaEY7TUFDRSwwQkFQb0Y7TUFRcEYsZTNCekdXLEUyQjBHWjtFdkM2eEpELDhFQUE4RTtFdUNocko5RTtJQW5IQSwwQnBDdENzQjtJb0N1Q3RCLGUzQnJHYSxFMkJ3T047SXZDbXFKTCw4RUFBOEU7SXVDcHlKaEY7TUFDRSwwQkFQb0Y7TUFRcEYsZTNCekdXLEUyQjBHWjtFdkNxeUpELDhFQUE4RTtFdUN4cko5RTtJQW5IQSwwQnBDckNvQjtJb0NzQ3BCLGUzQmpHYSxFMkJvT047SXZDMnFKTCw4RUFBOEU7SXVDNXlKaEY7TUFDRSwwQkFQb0Y7TUFRcEYsZTNCckdXLEUyQnNHWjtFdkM2eUpELDhFQUE4RTtFdUNoc0o5RTtJQTFEQSxjQTVJNEI7SUE2STVCLG9CQUFtQixFQWlHaEI7SXZDNHBKRCw4RUFBOEU7SXVDM3ZKaEY7TUFDRSwwQnBDcElzQjtNb0NxSXRCLGUzQjlKVyxFMkIrSlo7SXZDNHZKQyw4RUFBOEU7SXVDeHNKaEY7TUExREEsY0E1STRCO01BNkk1QixvQkFBbUIsRUErRlo7TXZDc3FKSCw4RUFBOEU7TXVDbndKbEY7UUFDRSwwQnBDcElzQjtRb0NxSXRCLGUzQmxLVyxFMkJtS1o7SXZDb3dKQyw4RUFBOEU7SXVDaHRKaEY7TUExREEsY0E1STRCO01BNkk1QixvQkFBbUIsRUErRlo7TXZDOHFKSCw4RUFBOEU7TXVDM3dKbEY7UUFDRSwwQnBDbkl3QjtRb0NvSXhCLGUzQjlKVyxFMkIrSlo7SXZDNHdKQyw4RUFBOEU7SXVDeHRKaEY7TUExREEsY0E1STRCO01BNkk1QixvQkFBbUIsRUErRlo7TXZDc3JKSCw4RUFBOEU7TXVDbnhKbEY7UUFDRSwwQnBDckdxQjtRb0NzR3JCLGUzQmxLVyxFMkJtS1o7SXZDb3hKQyw4RUFBOEU7SXVDaHVKaEY7TUExREEsY0E1STRCO01BNkk1QixvQkFBbUIsRUErRlo7TXZDOHJKSCw4RUFBOEU7TXVDM3hKbEY7UUFDRSwwQnBDcEdvQjtRb0NxR3BCLGUzQmxLVyxFMkJtS1o7SXZDNHhKQyw4RUFBOEU7SXVDeHVKaEY7TUExREEsY0E1STRCO01BNkk1QixvQkFBbUIsRUErRlo7TXZDc3NKSCw4RUFBOEU7TXVDbnlKbEY7UUFDRSwwQnBDbkdvQjtRb0NvR3BCLGUzQmxLVyxFMkJtS1o7SXZDb3lKQyw4RUFBOEU7SXVDaHZKaEY7TUExREEsY0E1STRCO01BNkk1QixvQkFBbUIsRUErRlo7TXZDOHNKSCw4RUFBOEU7TXVDM3lKbEY7UUFDRSwwQnBDbEdrQjtRb0NtR2xCLGUzQjlKVyxFMkIrSlo7RXZDNHlKRCw4RUFBOEU7RXVDeHZKOUU7SUFuRkEsMEJwQ3ZHd0I7SW9Dd0d4QixlcEN4R3dCLEVvQytPbkI7SXZDdXNKSCw4RUFBOEU7SXVDcDJKaEY7TUFFRSw4QkFBNkIsRUFDOUI7SXZDbzJKQyw4RUFBOEU7SXVDaDJKOUU7TUFFRSw4QkFBNkIsRUFDOUI7SXZDZzJKRCw4RUFBOEU7SXVDbDFKaEY7TUFDRSxzQkFONkQ7TUFPN0QsZUFQNkQsRUFhOUQ7TXZDODBKRyw4RUFBOEU7TXVDbjFKaEY7UUFFRSwwQnBDL0dvQjtRb0NnSHBCLGVwQ2hIb0IsRW9DaUhyQjtJdkNtMUpELDhFQUE4RTtJdUMxd0poRjtNQW5GQSwwQnBDdkd3QjtNb0N3R3hCLGVwQ3hHd0IsRW9DNk9mO012QzJ0SkwsOEVBQThFO011QzkxSmxGO1FBQ0Usc0JBTjZEO1FBTzdELGVBUDZELEVBYTlEO1F2QzAxSkssOEVBQThFO1F1Qy8xSmxGO1VBRUUsMEJwQy9Hb0I7VW9DZ0hwQixlcENoSG9CLEVvQ2lIckI7SXZDKzFKRCw4RUFBOEU7SXVDdHhKaEY7TUFuRkEsMEJwQ3RHMEI7TW9DdUcxQixlcEN2RzBCLEVvQzRPakI7TXZDdXVKTCw4RUFBOEU7TXVDMTJKbEY7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UXZDczJKSyw4RUFBOEU7UXVDMzJKbEY7VUFFRSwwQnBDOUdzQjtVb0MrR3RCLGVwQy9Hc0IsRW9DZ0h2QjtJdkMyMkpELDhFQUE4RTtJdUNseUpoRjtNQW5GQSwwQnBDeEV1QjtNb0N5RXZCLGVwQ3pFdUIsRW9DOE1kO012Q212SkwsOEVBQThFO011Q3QzSmxGO1FBQ0Usc0JBTjZEO1FBTzdELGVBUDZELEVBYTlEO1F2Q2szSkssOEVBQThFO1F1Q3YzSmxGO1VBRUUsMEJwQ2hGbUI7VW9DaUZuQixlcENqRm1CLEVvQ2tGcEI7SXZDdTNKRCw4RUFBOEU7SXVDOXlKaEY7TUFuRkEsMEJwQ3ZFc0I7TW9Dd0V0QixlcEN4RXNCLEVvQzZNYjtNdkMrdkpMLDhFQUE4RTtNdUNsNEpsRjtRQUNFLHNCQU42RDtRQU83RCxlQVA2RCxFQWE5RDtRdkM4M0pLLDhFQUE4RTtRdUNuNEpsRjtVQUVFLDBCcEMvRWtCO1VvQ2dGbEIsZXBDaEZrQixFb0NpRm5CO0l2Q200SkQsOEVBQThFO0l1QzF6SmhGO01BbkZBLDBCcEN0RXNCO01vQ3VFdEIsZXBDdkVzQixFb0M0TWI7TXZDMndKTCw4RUFBOEU7TXVDOTRKbEY7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UXZDMDRKSyw4RUFBOEU7UXVDLzRKbEY7VUFFRSwwQnBDOUVrQjtVb0MrRWxCLGVwQy9Fa0IsRW9DZ0ZuQjtJdkMrNEpELDhFQUE4RTtJdUN0MEpoRjtNQW5GQSwwQnBDckVvQjtNb0NzRXBCLGVwQ3RFb0IsRW9DMk1YO012Q3V4SkwsOEVBQThFO011QzE1SmxGO1FBQ0Usc0JBTjZEO1FBTzdELGVBUDZELEVBYTlEO1F2Q3M1SkssOEVBQThFO1F1QzM1SmxGO1VBRUUsMEJwQzdFZ0I7VW9DOEVoQixlcEM5RWdCLEVvQytFakI7RXZDMjVKSCw4RUFBOEU7RXVDbDFKOUU7SUFuRkEsMEJwQ3ZHd0I7SW9Dd0d4QixlcEN4R3dCLEVvQzRRbkI7SXZDb3dKSCw4RUFBOEU7SXVDOTdKaEY7TUFFRSw4QkFBNkIsRUFDOUI7SXZDODdKQyw4RUFBOEU7SXVDMTdKOUU7TUFFRSw4QkFBNkIsRUFDOUI7SXZDMDdKRCw4RUFBOEU7SXVDNTZKaEY7TUFDRSxzQkFONkQ7TUFPN0QsZUFQNkQsRUFhOUQ7TXZDdzZKRyw4RUFBOEU7TXVDNzZKaEY7UUFFRSwwQnBDL0dvQjtRb0NnSHBCLGVwQ2hIb0IsRW9DaUhyQjtJdkM2NkpELDhFQUE4RTtJdUNwMkpoRjtNQWdFVSwwQkFBeUIsRUFDMUI7SXZDc3lKUCw4RUFBOEU7SXVDdjJKaEY7TUFuRkEsMEJwQ3ZHd0I7TW9Dd0d4QixlcEN4R3dCLEVvQzBRZjtNdkMyeEpMLDhFQUE4RTtNdUMzN0psRjtRQUNFLHNCQU42RDtRQU83RCxlQVA2RCxFQWE5RDtRdkN1N0pLLDhFQUE4RTtRdUM1N0psRjtVQUVFLDBCcEMvR29CO1VvQ2dIcEIsZXBDaEhvQixFb0NpSHJCO012QzQ3SkMsOEVBQThFO011Q24zSmxGO1FBNkVjLDBCQUF5QixFQUMxQjtJdkN3eUpYLDhFQUE4RTtJdUN0M0poRjtNQW5GQSwwQnBDdEcwQjtNb0N1RzFCLGVwQ3ZHMEIsRW9DeVFqQjtNdkMweUpMLDhFQUE4RTtNdUMxOEpsRjtRQUNFLHNCQU42RDtRQU83RCxlQVA2RCxFQWE5RDtRdkNzOEpLLDhFQUE4RTtRdUMzOEpsRjtVQUVFLDBCcEM5R3NCO1VvQytHdEIsZXBDL0dzQixFb0NnSHZCO012QzI4SkMsOEVBQThFO011Q2w0SmxGO1FBNkVjLDBCQUF5QixFQUMxQjtJdkN1ekpYLDhFQUE4RTtJdUNyNEpoRjtNQW5GQSwwQnBDeEV1QjtNb0N5RXZCLGVwQ3pFdUIsRW9DMk9kO012Q3l6SkwsOEVBQThFO011Q3o5SmxGO1FBQ0Usc0JBTjZEO1FBTzdELGVBUDZELEVBYTlEO1F2Q3E5SkssOEVBQThFO1F1QzE5SmxGO1VBRUUsMEJwQ2hGbUI7VW9DaUZuQixlcENqRm1CLEVvQ2tGcEI7TXZDMDlKQyw4RUFBOEU7TXVDajVKbEY7UUE2RWMsMEJBQXlCLEVBQzFCO0l2Q3MwSlgsOEVBQThFO0l1Q3A1SmhGO01BbkZBLDBCcEN2RXNCO01vQ3dFdEIsZXBDeEVzQixFb0MwT2I7TXZDdzBKTCw4RUFBOEU7TXVDeCtKbEY7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UXZDbytKSyw4RUFBOEU7UXVDeitKbEY7VUFFRSwwQnBDL0VrQjtVb0NnRmxCLGVwQ2hGa0IsRW9DaUZuQjtNdkN5K0pDLDhFQUE4RTtNdUNoNkpsRjtRQTZFYywwQkFBeUIsRUFDMUI7SXZDcTFKWCw4RUFBOEU7SXVDbjZKaEY7TUFuRkEsMEJwQ3RFc0I7TW9DdUV0QixlcEN2RXNCLEVvQ3lPYjtNdkN1MUpMLDhFQUE4RTtNdUN2L0psRjtRQUNFLHNCQU42RDtRQU83RCxlQVA2RCxFQWE5RDtRdkNtL0pLLDhFQUE4RTtRdUN4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aXRMUCw0RUFBNEU7QWdEdnRMMUU7RUFaQSxzQkFBcUI7RUFDckIsMkJBVCtCO0VBVy9CLGlCcENpRGU7RW9DL0NmLGtCQWpCc0I7RUFrQnRCLGVBQWM7RUFDZCxvQkFBbUI7RUFDbkIsZ0JBQWU7RUFPYixvQjdDc0JzQjtFNkNyQnRCLGVwQ0pXLEVvQ1laO0VoRHN0TEQsNEVBQTRFO0VnRGx1TDVFO0lBUU0sb0I3Q2lCa0I7STZDaEJsQixlcENiTyxFb0NjUjtFaEQ0dExMLDRFQUE0RTtFZ0R0dUw1RTtJQVFNLG9CN0NrQm9CO0k2Q2pCcEIsZXBDVE8sRW9DVVI7RWhEZ3VMTCw0RUFBNEU7RWdEMXVMNUU7SUFRTSxvQjdDZ0RpQjtJNkMvQ2pCLGVwQ2JPLEVvQ2NSO0VoRG91TEwsNEVBQTRFO0VnRDl1TDVFO0lBUU0sb0I3Q2lEZ0I7STZDaERoQixlcENiTyxFb0NjUjtFaER3dUxMLDRFQUE0RTtFZ0Rsdkw1RTtJQVFNLG9CN0NrRGdCO0k2Q2pEaEIsZXBDYk8sRW9DY1I7RWhENHVMTCw0RUFBNEU7RWdEdHZMNUU7SUFRTSxvQjdDbURjO0k2Q2xEZCxlcENUTyxFb0NVUjs7QWhEaXZMUCxpRkFBaUY7QWlEbHRML0U7RUFDRSxpQkFBZ0IsRUFDakI7O0FqRG90TEgsaUZBQWlGO0FpRGp0TC9FO0VBQ0UsbUJBQWtCO0VBQ2xCLE9BQU07RUFDTixRQUFPO0VBQ1AsWUE5RHlCO0VBZ0V6QixZQUFXO0VBQ1gsYUFBWTtFQUVaLDBFOUN3RnFDO0U4Q3hGckMscUU5Q3dGcUM7RThDeEZyQyxrRTlDd0ZxQztFOEN0RnJDLHNDckN6RFc7RXFDMkRYLFdBQVU7RUFDVixtQkFBa0I7RUFFbEIsaUJBQWdCLEVBa0JqQjtFakQ0ckxELGtGQUFrRjtFaUQ5dExsRjtJQW1CSSxXQUFVO0lBQ1Ysb0JBQW1CLEVBQ3BCO0VqRDZzTEgsa0ZBQWtGO0VpRGx1TGxGO0lBd0JJLGdCQUFlLEVBQ2hCO0VqRDRzTEgsa0ZBQWtGO0VpRHJ1TGxGO0lBNEJJLG1CQUFrQixFQUNuQjtFakQyc0xILGtGQUFrRjtFaUR4dUxsRjtJQWdD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QXhEZ0IsRURxRmI7O0F2RTR4T0wsMkVBQTJFO0F1RWx5T3ZFO0VDdkNGLDJCQXZDa0I7TUF1Q2xCLHdCQXZDa0I7VUF1Q2xCLHFCQXZDa0IsRURnRmY7O0F2RW95T0wsMkVBQTJFO0F1RWx5T3ZFO0VDM0JGLDZCQXZEa0I7TUF1RGxCLG9CQXZEa0IsRURvRmY7O0F2RW95T0wsNEVBQTRFO0F1RWh5TzFFO0VDbERBLHlCQS9DZ0I7TUErQ2hCLHNCQS9DZ0I7VUErQ2hCLHdCQS9DZ0I7RUFnRGhCLDBCQXhDZ0I7TUF3Q2hCLHVCQXhDZ0I7VUF3Q2hCLG9CQXhDZ0I7RUQyRmQsMkJBQXFCO01BQXJCLHNCQUFxQixFQUN0Qjs7QXZFbXlPSCw0RUFBNEU7QXVFOXhPdEU7RUNuQ0osNkJEa0NnQjtNQ2xDaEIsa0JEa0NnQjtVQ2xDaEIsU0RrQ2dCLEVBR1g7O0F2RWd5T1AsNEVBQTRFO0F1RWx5T3RFO0VDbkNKLDZCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBdkVveU9QLDRFQUE0RTtBdUV0eU90RTtFQ25DSiw2QkRrQ2dCO01DbENoQixrQkRrQ2dCO1VDbENoQixTRGtDZ0IsRUFHWDs7QXZFd3lPUCw0RUFBNEU7QXVFMXlPdEU7RUNuQ0osNkJEa0NnQjtNQ2xDaEIsa0JEa0NnQjtVQ2xDaEIsU0RrQ2dCLEVBR1g7O0F2RTR5T1AsNEVBQTRFO0F1RTl5T3RFO0VDbkNKLDZCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBdkVnek9QLDRFQUE0RTtBdUVsek90RTtFQ25DSiw2QkRrQ2dCO01DbENoQixrQkRrQ2dCO1VDbENoQixTRGtDZ0IsRUFHWDs7QWhFcUREO0VQZ3dPSiw0RUFBNEU7RXVFdnpPeEU7SUNuQ0osNkJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RXZFd3pPTCw0RUFBNEU7RXVFMXpPeEU7SUNuQ0osNkJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RXZFMnpPTCw0RUFBNEU7RXVFN3pPeEU7SUNuQ0osNkJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RXZFOHpPTCw0RUFBNEU7RXVFaDBPeEU7SUNuQ0osNkJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RXZFaTBPTCw0RUFBNEU7RXVFbjBPeEU7SUNuQ0osNkJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RXZFbzBPTCw0RUFBNEU7RXVFdDBPeEU7SUNuQ0osNkJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1gsRUFBQTs7QWhFcUREO0VQb3hPSiw0RUFBNEU7RXVFMzBPeEU7SUNuQ0osNkJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RXZFNDBPTCw0RUFBNEU7RXVFOTBPeEU7SUNuQ0osNkJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RXZFKzBPTCw0RUFBNEU7RXVFajFPeEU7SUNuQ0osNkJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RXZFazFPTCw0RUFBNEU7RXVFcDFPeEU7SUNuQ0osNkJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RXZFcTFPTCw0RUFBNEU7RXVFdjFPeEU7SUNuQ0osNkJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RXZFdzFPTCw0RUFBNEU7RXVFMTFPeEU7SUNuQ0osNkJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1gsRUFBQTs7QWhFMEREO0VQbXlPSiw0RUFBNEU7RXVFLzFPeEU7SUNuQ0osNkJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RXZFZzJPTCw0RUFBNEU7RXVFbDJPeEU7SUNuQ0osNkJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RXZFbTJPTCw0RUFBNEU7RXVFcjJPeEU7SUNuQ0os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aU14Qjs7QTNFaXdQRCxxRUFBcUU7QTJFaHdQckU7RUFDQyxvQnhFcE15QixFd0VxTXpCOztBM0Vrd1BELHFFQUFxRTtBMkVqd1ByRTtFQUNDLG9CeEVyTXdCLEV3RXNNeEI7O0EzRW13UEQsdUVBQXVFO0E0RTVnUXJFO0VBQ0UsWWhFa0d1RDtFZ0VqR3ZELFlBQXVCO0VBVWYseUJBSDRCO0VBSTVCLHdCQUo0QixFQTBCckM7RXJFMkdHO0lQcTRQRix1RUFBdUU7STRFbmhRekU7TUFZVSx5QkFINEI7TUFJNUIsd0JBSjRCLEVBMEJyQyxFQUFBO0VyRTJHRztJUDA0UEYsdUVBQXVFO0k0RXhoUXpFO01BWVUseUJBSDRCO01BSTVCLHdCQUo0QixFQTBCckMsRUFBQTtFNUV5L1BELHVFQUF1RTtFNEVwZ1FyRTtJQUNFLFlBQVcsRUFDWjtFNUVxZ1FILHVFQUF1RTtFNEVuZ1FyRTtJQUNFLFlBQVcsRUFDWjtFNUVvZ1FILHVFQUF1RTtFNEVsZ1FyRTtJQUNFLFloRWtFcUQsRWdFakV0RDs7QTVFb2dRTCxxRUFBcUU7QTRFdGlRbkU7RUQrUUMseUI5RDVNc0QsRThEZ052RDtFcEVySUk7SVA0NVBGLHFFQUFxRTtJNEUxaVF2RTtNRGlSQSx3QjlEOU11RCxFOERnTnZELEVBQUE7O0EzRTJ4UEYscUVBQXFFO0EyRXh4UHJFO0VBRUcseUI5RHJOc0QsRThEeU52RDtFcEU5SUk7SVBvNlBGLHFFQUFxRTtJMkU1eFB6RTtNQUlFLHdCOUR2TnVELEU4RHlOdkQsRUFBQTs7QTNFMHhQRixxRUFBcUU7QTJFdnhQckU7RUFFRyx5QjlEOU5zRCxFOERrT3ZEO0VwRXZKSTtJUDQ2UEYscUVBQXFFO0kyRTN4UHpFO01BSUUsd0I5RGhPdUQsRThEa092RCxFQUFBOztBM0V5eFBGLHFFQUFxRTtBMkV0eFByRTtFQUNFLGdCQUFlLEVBQ2hCOztBM0V3eFBELHFFQUFxRTtBMkV0eFByRTtFQUNDLG9CQUFtQixFQUNuQjs7QTNFd3hQRCxxRUFBcUU7QW1ELzlQbkU7RXdCME1ELDhCeEVsUG9CLEV3RXVQcEI7RTNFbXhQQyxxRUFBcUU7RTJFenhQdkU7SUFJRSxtQkFBa0IsRUFDbEI7O0EzRXd4UEYscUVBQXFFO0EyRXJ4UHJFO0VBRUMsZ0JBQWUsRUFDYjs7QTNFc3hQSCxxRUFBcUU7QTJFbnhQckU7RUFDRSxxQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDZCQUFzQjtFQUF0Qiw4QkFBc0I7TUFBdEIsMkJBQXNCO1VBQXRCLHVCQUFzQixFQUN2Qjs7QTNFcXhQRCxxRUFBcUU7QTJFbnhQckU7RUFDQyxzQjlEalF3RCxFOERrUXhEOztBM0VxeFBELHFFQUFxRTtBMkVueFByRTtFQUNDLDJCQUF1QjtLQUF2Qix3QkFBdUI7RUFDdkIsaUJBQWdCO0VBQ2hCLG9CQUFtQixFQUNuQjs7QXBFN0xLO0VQbTlQSixxRUFBcUU7RTJFemtRdkU7SUE4VEUsb0I5RG5SdUQsRThEeVJ2RDtJM0V3d1BFLHFFQUFxRTtJMkUzalF4RTtNQWdURSx3QjlEdFJzRCxFOER3UnREO0UzRTR3UEQscUVBQXFFO0U0RXZtUXJFO0lEK1ZBLFdBQVUsRUFDVjtFM0Uwd1BBLHFFQUFxRTtFMkV4d1B0RTtJQUVFLFlBQVU7SUFDVixlQUFhO0lBQ2Isa0I5RG5Tc0Q7SThEb1N0RCx1QjlEL1JVLEU4RGdTVixFQUFBOztBcEUxTkc7RVBvK1BKLHFFQUFxRTtFNEVsblFyRTtJRDhXQSxpQkFBZ0IsRUFDaEIsRUFBQTs7QXBFNU5JO0VQbytQSixxRUFBcUU7RTRFdm5RckU7SURvWEEsV0FBVSxFQUNWLEVBQUE7O0FFellGOzs7Ozs7Ozs7OztHQVdHO0FBRUg7O2dGQUVnRjtBQWlDaEY7O2dGQUVnRjtBN0UrbVFoRixrRUFBa0U7QTRCdjFQMUQ7RWlEcFJQLGlCQUFnQjtFQUNoQixlMUU0Qm9CO0UwRTNCcEIsbUJoRStCd0QsRWdFbEJ4RDtFdEU2Rks7SVBxZ1FGLGtFQUFrRTtJNEI3MVA5RDtNaUR2UU4sZ0JoRW9CdUQsRWdFbEJ4RCxFQUFBOztBN0VzbVFELGtFQUFrRTtBNEJqMlAxRDtFaURqUVAsbUJoRWN3RDtFZ0VieEQseUJoRWF3RCxFZ0VKeEQ7RXRFK0VLO0lQOGdRRixrRUFBa0U7STRCdDJQOUQ7TWlEN1BOLGdCaEVVdUQsRWdFSnhELEVBQUE7RXRFK0VLO0lQa2hRRixrRUFBa0U7STRCMTJQOUQ7TWlEelBOLG1CaEVNdUQsRWdFSnhELEVBQUE7O0E3RXFtUUQsa0VBQWtFO0E0QjkyUDFEO0VpRG5QUCxtQmhFQXdEO0VnRUN4RCx3QmhFRHdELEVnRVV4RDtFdEVpRUs7SVAyaFFGLGtFQUFrRTtJNEJuM1A5RDtNaUQvT04sb0JoRUp1RCxFZ0VVeEQsRUFBQTtFdEVpRUs7SVAraFFGLGtFQUFrRTtJNEJ2M1A5RDtNaUQzT04sa0JoRVJ1RCxFZ0VVeEQsRUFBQTs7QTdFb21RRCxtRUFBbUU7QTRCMzNQM0Q7RWlEck9QLG9CaEVkd0Q7RWdFZXhELHlCaEVmd0QsRWdFdUJ4RDtFdEVvREs7SVB3aVFGLG1FQUFtRTtJNEJoNFAvRDtNaURsT04sbUJoRWpCdUQsRWdFdUJ4RCxFQUFBO0V0RW9ESztJUDRpUUYsbUVBQW1FO0k0QnA0UC9EO01pRDlOTixvQmhFckJ1RCxFZ0V1QnhELEVBQUE7O0E3RW9tUUQsbUVBQW1FO0E0Qng0UDNEO0VpRHhOUCxnQmhFM0J3RDtFZ0U0QnhELHlCaEU1QndEO0VnRTZCeEQsaUJBQWdCLEVBU2hCO0V0RXFDSztJUHNqUUYsbUVBQW1FO0k0Qjk0UC9EO01pRG5OTixvQmhFaEN1RCxFZ0VzQ3hELEVBQUE7RXRFcUNLO0lQMGpRRixtRUFBbUU7STRCbDVQL0Q7TWlEL01OLG1CaEVwQ3VELEVnRXNDeEQsRUFBQTs7QTdFbW1RRCxtRUFBbUU7QTZCeHFRakU7RWdEd0VELHFCaEV6Q3dEO0VnRTBDeEQsaUJBQWdCO0VBQ2hCLHdCaEUzQ3dEO0VnRTZDeEQsZ0JoRTdDd0QsRWdFa0R4RDtFdEV5Qks7SVBxa1FGLG1FQUFtRTtJNkIvcVFyRTtNZ0QrRUEsa0JoRWhEdUQsRWdFa0R4RCxFQUFBOztBN0VrbVFELG1FQUFtRTtBNkU3bFFuRTs7RUFJRSxzQkFBcUI7RUFDckIsZUFBYyxFQWdCZDtFN0U2a1FBLG1FQUFtRTtFNkVsbVFyRTs7SUFRRyxtQkFBa0I7SUFDbEIsbUJBQWtCLEVBVWxCO0k3RW9sUUMsbUVBQW1FO0k2RXZtUXZFOztNQVlJLGFBQVk7TUFDWixpQkFBZ0I7TUFDaEIsMEJoRXJFcUQ7TWdFc0VyRCxtQkFBa0I7TUFDbEIsUUFBTztNQUNQLFVBQVMsRUFDVDs7QTdFK2xRSixtRUFBbUU7QTZFam5RbkU7O0VBMkJLLGNBQWEsRUFDYjs7QTdFMGxRTCxtRUFBbUU7QTZFdG5RbkU7Ozs7O0VBdUNJLGdCQUFlLEVBSWY7RTdFa2xRRixtRUFBbUU7RTZFN25RckU7Ozs7O0lBeUNLLGNBQWEsRUFDYjs7QTdFMmxRTCxtRUFBbUU7QTZFcmxRbkU7RUFDQyxhQUFZLEVBQ1o7O0E3RXVsUUQsbUVBQW1FO0E2RXJsUW5FO0VBQ0MsVUFBUyxFQUNUOztBQ3BNRDs7Ozs7Ozs7Ozs7R0FXRztBQUdIOztnRkFFZ0Y7QUFFaEY7RUFDQyxxQkFBb0I7RUFDcEIsMkNBQTBDO0VBQzFDLDJQQUc0RDtFQUM1RCxvQkFBbUI7RUFDbkIsbUJBQWtCLEVBQUE7O0E5RXV4UW5CLHVFQUF1RTtBQUN2RTs7OztFOEVweFFDLGdDQUErQjtFQUMvQiw4QkFBNkI7RUFDN0IsK0JBQThCO0VBQzlCLGdDQUErQjtFQUMvQixnQ0FBK0I7RUFDL0IsWUFBVztFQUNYLGVBQWM7RUFDZCwyQmpFa0R3RDtFaUVqRHhELG9DQUFtQztFQUNuQyxtQ0FBa0MsRUFDbEM7O0E5RXl4UUQsdUVBQXVFO0FBQ3ZFOztFOEVqeFFNLG1CQUFrQixFQVN0QjtFOUUyd1FBLHVFQUF1RTtFQUN2RTs7SThFbHhRTSxhM0UrRlc7STJFOUZYLG1CQUFrQjtJQUNsQixlQUFjO0lBQ2xCLGlCakVnQ3FEO0lpRS9CdkQsa0JqRStCdUQsRWlFOUJsRDs7QTlFcXhRUCx1RUFBdUU7QThFaHhRdEU7RUFDQyxhM0U0RW1CO0UyRTFFbEIsMkJqRXNCc0QsRWlFcEJ2RDs7QTlFZ3hRRix1RUFBdUU7QThFcnhRdEU7RUFDQyxhM0U2RWlCLEUyRXpFakI7O0E5RW94UUYsdUVBQXVFO0E4RXp4UXRFO0VBQ0MsYTNFOEVxQixFMkUxRXJCOztBOUV3eFFGLHVFQUF1RTtBOEU3eFF0RTtFQUNDLGEzRStFb0IsRTJFM0VwQjs7QTlFNHhRRix1RUFBdUU7QThFanlRdEU7RUFDQyxhM0VnRnFCLEUyRTVFckI7O0E5RWd5UUYsdUVBQXVFO0E4RXJ5UXRFO0VBQ0MsYTNFaUZvQixFMkU3RXBCOztBOUVveVFGLHVFQUF1RTtBOEV6eVF0RTtFQUNDLGEzRWtGa0IsRTJFOUVsQjs7QTlFd3lRRix1RUFBdUU7QThFN3lRdEU7RUFDQyxhM0VtRm1CLEUyRS9FbkI7O0E5RTR5UUYsdUVBQXVFO0E4RWp6UXRFO0VBQ0MsYTNFb0ZpQixFMkVoRmpCOztBOUVnelFGLHVFQUF1RTtBOEVyelF0RTtFQUNDLGEzRXFGcUIsRTJFakZyQjs7QTlFb3pRRix1RUFBdUU7QThFenpRdEU7RUFDQyxhM0VzRmtCLEUyRWxGbEI7O0E5RXd6UUYsdUVBQXVFO0E4RTd6UXRFO0VBQ0MsYTNFdUZrQixFMkVuRmxCOztBOUU0elFGLHVFQUF1RTtBOEVqMFF0RTtFQUNDLGEzRXdGZ0IsRTJFcEZoQjs7QTlFZzBRRix1RUFBdUU7QThFcjBRdEU7RUFDQyxhM0V5RmtCLEUyRXJGbEI7O0E5RW8wUUYsdUVBQXVFO0E4RXowUXRFO0VBQ0MsYTNFMEZpQixFMkV0RmpCOztBOUV3MFFGLHVFQUF1RTtBOEU3MFF0RTtFQUNDLGEzRTJGd0IsRTJFdkZ4Qjs7QTlFNDBRRix1RUFBdUU7QThFajFRdEU7RUFDQyxhM0U0RmdCLEUyRXhGaEI7O0E5RWcxUUYsdUVBQXVFO0E4RXIxUXRFO0VBQ0MsYTNFNkZpQixFMkV6RmpCOztBOUVvMVFGLHVFQUF1RTtBOEV6MVF0RTtFQUNDLGEzRThGb0IsRTJFMUZwQjs7QTlFdzFRRix1RUFBdUU7QThFNzFRdEU7RUFDQyxhM0UrRmtCLEUyRTNGbEI7O0E5RTQxUUYsdUVBQXVFO0E4RWoyUXRFO0VBQ0MsYTNFZ0dnQixFMkU1RmhCOztBOUVnMlFGLHVFQUF1RTtBOEVyMlF0RTtFQUNDLGEzRWlHb0IsRTJFN0ZwQjs7QTlFbzJRRix1RUFBdUU7QThFejJRdEU7RUFDQyxhM0VrR2tCLEUyRTlGbEI7O0E5RXcyUUYsdUVBQXVFO0E4RTcyUXRFO0VBQ0MsYTNFbUdnQixFMkUvRmhCOztBOUU0MlFGLHVFQUF1RTtBOEVuMlF0RTs7RUFFQyxhM0U2RG1CLEUyRTVEbkI7O0E5RXEyUUYsdUVBQXVFO0E4RXgyUXRFOztFQUVDLGEzRThEaUIsRTJFN0RqQjs7QTlFMDJRRix1RUFBdUU7QThFNzJRdEU7O0VBRUMsYTNFK0RxQixFMkU5RHJCOztBOUUrMlFGLHVFQUF1RTtBOEVsM1F0RTs7RUFFQyxhM0VnRW9CLEUyRS9EcEI7O0E5RW8zUUYsdUVBQXVFO0E4RXYzUXRFOztFQUVDLGEzRWlFcUIsRTJFaEVyQjs7QTlFeTNRRix1RUFBdUU7QThFNTNRdEU7O0VBRUMsYTNFa0VvQixFMkVqRXBCOztBOUU4M1FGLHVFQUF1RTtBOEVqNFF0RTs7RUFFQyxhM0VtRWtCLEUyRWxFbEI7O0E5RW00UUYsdUVBQXVFO0E4RXQ0UXRFOztFQUVDLGEzRW9FbUIsRTJFbkVuQjs7QTlFdzRRRix1RUFBdUU7QThFMzRRdEU7O0VBRUMsYTNFcUVpQixFMkVwRWpCOztBOUU2NFFGLHVFQUF1RTtBOEVoNVF0RTs7RUFFQyxhM0VzRXFCLEUyRXJFckI7O0E5RWs1UUYsdUVBQXVFO0E4RXI1UXRFOztFQUVDLGEzRXVFa0IsRTJFdEVsQjs7QTlFdTVRRix1RUFBdUU7QThFMTVRdEU7O0VBRUMsYTNFd0VrQixFMkV2RWxCOztBOUU0NVFGLHVFQUF1RTtBOEUvNVF0RTs7RUFFQyxhM0V5RWdCLEUyRXhFaEI7O0E5RWk2UUYsdUVBQXVFO0E4RXA2UXRFOztFQUVDLGEzRTBFa0IsRTJFekVsQjs7QTlFczZRRix1RUFBdUU7QThFejZRdEU7O0VBRUMsYTNFMkVpQixFMkUxRWpCOztBOUUyNlFGLHVFQUF1RTtBOEU5NlF0RTs7RUFFQyxhM0U0RXdCLEUyRTNFeEI7O0E5RWc3UUYsdUVBQXVFO0E4RW43UXRFOztFQUVDLGEzRTZFZ0IsRTJFNUVoQjs7QTlFcTdRRix1RUFBdUU7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RTtNQW9FVSxtQkFBa0I7TUFDbEIsUUFBTztNQUNQLFNBQVE7TUFDUixVQUFTO01BQ1QsWUFBVztNQUNYLGlDakZFd0IsRWlGRHpCOztBcEZpcVJULHVFQUF1RTtBb0YxcFJwRTtFaEZwRkQsZUQ2RXlCO0VpRmtCckIsbUJ2RXZCbUQ7RXVFd0JuRCxpQkFBZ0IsRUFDakI7RXBGa3BSSCxvRUFBb0U7RUk1dVJsRTtJQUNFLGVEcUVxQixFQ3BFdEI7RUo2dVJILG9FQUFvRTtFSXR1UmxFO0lBQ0UsZUQ0RHFCLEVDM0R0QjtFSnV1Ukgsb0VBQW9FO0VJaHVSbEU7SUFDRSxlRG1EcUIsRUNsRHRCO0VKaXVSSCxvRUFBb0U7RUkxdFJsRTtJQUNFLGVEMENxQixFQ3pDdEI7RUoydFJILHVFQUF1RTtFb0YzcVJ0RTtJQUtLLGtCdkVqQmlELEV1RXFCbEQ7SXBGcXFSSCx1RUFBdUU7SW9GeHFSbkU7TUFDRSxzQnZFbkIrQyxFdUVvQmhEOztBcEYwcVJULHVFQUF1RTtBb0ZsclJwRTtFaEZwRkQsWWdGb0c2QjtFQUN6QixpQkFBZ0I7RUFDaEIsa0JBQWlCO0VBQ2pCLHVCdkUvQm1EO0V1RWdDbkQsbUJ2RWhDbUQ7RXVFaUNuRCx1QnZFakNtRDtFdUVrQ25ELGFBQVksRUFDYjtFcEZvcVJILG9FQUFvRTtFSXh3UmxFO0lBQ0UsWWdGNEZ5QixFaEYzRjFCO0VKeXdSSCxvRUFBb0U7RUlsd1JsRTtJQUNFLFlnRm1GeUIsRWhGbEYxQjtFSm13Ukgsb0VBQW9FO0VJNXZSbEU7SUFDRSxZZ0YwRXlCLEVoRnpFMUI7RUo2dlJILG9FQUFvRTtFSXR2UmxFO0lBQ0UsWWdGaUV5QixFaEZoRTFCOztBSnd2UkwsdUVBQXVFO0FvRi9xUm5FO0VBQ0UsYXZFdENtRDtFdUV1Q3ZELFVBQVM7RUFDTCxtQnZFeENtRDtFdUV5Q25ELHNCQUFxQjtFQUN6QixXQUFVO0VBQ1YsYUFBWSxFQXlEVDtFN0V6QkM7SVBrcFJGLHVFQUF1RTtJb0Z4clJ2RTtNQVNELCtCakZ4QytCO01pRnlDL0IsbUJ2RS9Dc0Q7TXVFZ0R0RCxhdkVoRHNEO011RWlEdEQsWUFBVyxFQW1EVCxFQUFBO0VwRituUkgsdUVBQXVFO0VvRi9xUm5FO0lBQ0UsaUJ2RXJEaUQsRXVFc0RsRDtFcEZnclJMLHVFQUF1RTtFb0Zqc1JwRTtJQXdCRyxzQkFBcUIsRUF5QnRCO0lwRm1wUkgsdUVBQXVFO0lvRnBzUnRFO01BMkJLLGVqRnZEeUI7TWlGd0R6QixrQnZFakUrQztNdUVrRS9DLGlCQUFnQixFQWFqQjtNN0VKSDtRUG9xUkUsdUVBQXVFO1FvRjFzUjFFO1VBZ0NELGtCdkVyRXFELEV1RStFaEQsRUFBQTtNcEZtcVJILHVFQUF1RTtNb0Z6cVJuRTtRQUNFLHNCdkUxRTZDLEV1RTJFOUM7SXBGMHFSUCx1RUFBdUU7SW9GaHRSdEU7TUE4Q08sZWpGdkZTLEVpRndGVjtFcEZvcVJULHVFQUF1RTtFb0ZudFJwRTs7SUFxREQscUJ2RTFGcUQsRXVFK0ZsRDtJN0VwQkQ7TVBrclJBLHVFQUF1RTtNb0Z4dFJ4RTs7UUF3REYsb0J2RTdGc0QsRXVFK0ZsRCxFQUFBO0VwRmtxUkwsdUVBQXVFO0VvRmhxUm5FO0lBQ0UsYUFBWSxFQUNiOztBcEZrcVJQLHVFQUF1RTtBb0YvcFJuRTtFQUNFLHdCdkV2R21EO0V1RXdHbkQsd0J2RXhHbUQ7RXVFeUduRCxzQkFBcUI7RUFDckIsa0JBQWlCO0VBQ2pCLCtCakZyRzRCO0VpRnNHNUIsZ0NqRnRHNEIsRWlGdUc3Qjs7QXBGaXFSTCx1RUFBdUU7QW9GL3BSbkU7RUFDRSx3QnZFaEhtRDtFdUUwSG5ELGtCQUFpQixFQUNsQjtFcEZ1cFJILHVFQUF1RTtFb0ZucVJwRTtJQUdHLGVBQWM7SUFDZCxpQkFBZ0I7SUFDaEIsb0J2RXBIaUQ7SXVFcUhqRCxrQnZFckhpRDtJdUVzSGpELFdBQVU7SUFDVixnQkFBZTtJaEYvTHJCLGVEb0VtQixFaUY2SGQ7SXBGa3FSSCxvRUFBb0U7SUk1MVJwRTtNQUNFLGVENERlLEVDM0RoQjtJSjYxUkQsb0VBQW9FO0lJdDFScEU7TUFDRSxlRG1EZSxFQ2xEaEI7SUp1MVJELG9FQUFvRTtJSWgxUnBFO01BQ0UsZUQwQ2UsRUN6Q2hCO0lKaTFSRCxvRUFBb0U7SUkxMFJwRTtNQUNFLGVEaUNlLEVDaENoQjs7QUo0MFJMLHVFQUF1RTtBMkV6dFJ2RTtFU2lERSxzQnZFaEl1RCxFdUVvSXhEO0VwRnVxUkMsdUVBQXVFO0VvRjFxUnZFO0lBQ0UsbUJ2RWxJcUQsRXVFbUl0RDs7QXBGNHFSSCx1RUFBdUU7QW9GenFSdkU7RUFDRSxtQkFBa0I7RUFDbEIsZXZFeEl1RDtFdUV5SXZELE9BQU07RUFFTixXQUFVO0VBQ1Ysb0JBQW1CLEVBQ3BCOztBcEYwcVJELHVFQUF1RTtBb0Z4cVJ2RTtFQUVJLGNBQWEsRUFDZDs7QTdFbEVHO0VQNHVSSix1RUFBdUU7RW9GcnFSdkU7SUFDRSxlQUFjLEVBV2Y7SXBGNHBSQyx1RUFBdUU7SW9GdHFSdkU7TUFDRSxlQUFjO01BRWQsY3ZFNUptRDtNdUU2Sm5ELG1CdkV4Sk8sRXVFNkpSO01wRmtxUkMsdUVBQXVFO01vRnJxUnZFO1FBQ0UsaUJ2RWhLaUQsRXVFaUtsRCxFQUFBOztBN0V0RkQ7RVA4dlJKLHVFQUF1RTtFb0ZsclJ2RTtJQWlCRSxVQUFTO0lBQ1QsaUJ2RXpLcUQ7SXVFMEtyRCxhdkUxS3FEO0l1RTJLckQsZUFBYyxFQUtmO0lwRitwUkMsdUVBQXVFO0lvRnRyUnZFO01Bb0JFLGlCdkU3S21EO011RThLbkQsYXZFOUttRCxFdUUrS3BEO0VwRm9xUkgsdUVBQXVFO0VvRmpxUnZFO0lBRUksbUJBQWtCO0lBQ2xCLGlCdkVyTG1EO0l1RXNMbkQsVUFBUztJQUNULGV2RXZMbUQsRXVFMkxwRDtJcEY4cFJELHVFQUF1RTtJb0YxclJyRTtNQTBCRSxpQnZFekxpRCxFdUUwTGxEO0VwRmtxUkwsdUVBQXVFO0VvRnQ1UnZFO0lBNFBJLGlCQUFnQixFQUNqQjtFcEY0cFJILHVFQUF1RTtFb0ZocVJ2RTtJQVNRLGdCdkV4TStDO0l1RXlNL0MsaUJ2RXpNK0MsRXVFME1oRCxFQUFBOztBQ2pTVDs7Ozs7Ozs7O0dBU0c7QW5GVEg7Ozs7Ozs7Ozs7O0dBV0c7QUFFSDs7R0FFRztBQ2ZIOzs7Ozs7Ozs7OztHQVdHO0FBeURIOztnRkFFZ0Y7QUFFaEYsY0FBYztBQTRCZCxjQUFjO0FBaUNkOztnRkFFZ0Y7QUFFaEYsYUFBYTtBQTJCYixhQUFhO0FBRWI7O0dBRUc7QUN4S0g7Ozs7Ozs7Ozs7O0dBV0c7QUo4K1JILHNFQUFzRTtBcUZyK1JyRTtFQUNDLFlsRndEbUI7RWtGdkRuQixvQnhFaUV1RDtFd0VoRXZELGlCQUFnQjtFQUNoQixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLHFCeEU2RHVELEV3RTlDdkQ7RXJGdzlSQSxzRUFBc0U7RXFGNytSdEU7SUFTQyxZQUFXO0lBQ1gsaUJ4RXlEc0Q7SXdFeER0RCxhQUFZO0lBQ1oscUNBQW9DO0lBQ3BDLG1CQUFrQjtJQUNsQixleEVxRHNELEV3RXBEdEQ7RXJGcytSRCxzRUFBc0U7RXFGci9SdEU7SUFrQkMsWWxGdUNrQjtJa0Z0Q2xCLDJCQUEwQixFQUMxQjs7QXJGcytSSCxzRUFBc0U7QXFGbitScEU7RUFFRSxvQmxGbUQrQjtFa0ZsRC9CLGlCQUFnQjtFQUNoQixvQnhFd0NxRCxFd0UvQnREO0VyRjI5UkQsc0VBQXNFO0VxRngrUnJFO0lBTUcsa0J4RTJDTztJd0UxQ1AsZWxGK0MrQixFa0Y5Q2hDO0U5RStHQztJUHMzUkYsc0VBQXNFO0lxRjcrUnhFO01BV0ksb0J4RWlDbUQsRXdFL0J0RCxFQUFBOztBQUdIO0VyRmsrUkUsc0VBQXNFO0VxRmgrUnBFO0lBQ0UsZ0JBQWU7SUFDZixVQUFTO0lBQ1QsUUFBTztJQUNQLFNBQVE7SUFDUixXQUFVLEVBQ1gsRUFBQTs7QUNuRUw7Ozs7Ozs7OztHQVNHO0FwRlRIOzs7Ozs7Ozs7OztHQVdHO0FBRUg7O0dBRUc7QUNmSDs7Ozs7Ozs7Ozs7R0FXRztBQXlESDs7Z0ZBRWdGO0FBRWhGLGNBQWM7QUE0QmQsY0FBYztBQWlDZDs7Z0ZBRWdGO0FBRWhGLGFBQWE7QUEyQmIsYUFBYTtBQUViOztHQUVHO0FDeEtIOzs7Ozs7Ozs7OztHQVdHO0FKd2xTSCwwRUFBMEU7QXNGamxTMUU7RUFDRSw4Qm5GMEVnQyxFbUZyQmpDO0V0RjhoU0MsMEVBQTBFO0VzRnBsUzVFO0lBR0ksVUFBUztJQUNULGVBQWM7SUFDZCxZQUFXLEVBQ1o7RXRGbWxTRCwwRUFBMEU7RXNGemxTNUU7SUFTSSxpQkFBZ0I7SUFDaEIsb0J6RTJEcUQ7SXlFMURyRCxxQnpFMERxRDtJeUV6RHJELGVBQWM7SUFDZCw2QnpFd0RxRCxFeUV2RHREO0V0RmtsU0QsMEVBQTBFO0VzRmhtUzVFO0lBaUJJLG9CQUFtQixFQUtwQjtJdEY2a1NDLDBFQUEwRTtJc0ZubVM5RTtNbEZIRSxlRDZFeUIsRW1GckR0QjtNdEZpbFNDLG9FQUFvRTtNSWxtU3RFO1FBQ0UsZURxRXFCLEVDcEV0QjtNSm1tU0Msb0VBQW9FO01JNWxTdEU7UUFDRSxlRDREcUIsRUMzRHRCO01KNmxTQyxvRUFBb0U7TUl0bFN0RTtRQUNFLGVEbURxQixFQ2xEdEI7TUp1bFNDLG9FQUFvRTtNSWhsU3RFO1FBQ0UsZUQwQ3FCLEVDekN0QjtFSmlsU0gsMEVBQTBFO0VzRmxuUzVFO0lsRkhFLGVEb0VtQixFbUZyQ2hCO0l0RnlsU0Qsb0VBQW9FO0lJam5TcEU7TUFDRSxlRDREZSxFQzNEaEI7SUprblNELG9FQUFvRTtJSTNtU3BFO01BQ0UsZURtRGUsRUNsRGhCO0lKNG1TRCxvRUFBb0U7SUlybVNwRTtNQUNFLGVEMENlLEVDekNoQjtJSnNtU0Qsb0VBQW9FO0lJL2xTcEU7TUFDRSxlRGlDZSxFQ2hDaEI7RUpnbVNILDBFQUEwRTtFc0ZqbVMzRTtJQUNDLG1CQUFrQjtJQUNsQixhekVtQ3VEO0l5RWxDdkQsZ0J6RWtDdUQ7SXlFakN2RCxrQnpFaUN1RDtJeUVoQ3ZELGtCQUFpQjtJQUNqQixzQkFBcUI7SUFDckIsWUFBVztJQUNYLGdCQUFlO0lBQ2YscUJ6RTRCdUQ7SXlFM0J2RCxhQUFZLEVBVVo7O0FDdEVGOzs7Ozs7Ozs7R0FTRztBckZUSDs7Ozs7Ozs7Ozs7R0FXRztBQUVIOztHQUVHO0FDZkg7Ozs7Ozs7Ozs7O0dBV0c7QUF5REg7O2dGQUVnRjtBQUVoRixjQUFjO0FBNEJkLGNBQWM7QUFpQ2Q7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O01BQ0UseUIxRWxEbUQsRTBFbURwRDtFdkZvdFNILDJFQUEyRTtFdUZodFMzRTtJQUlDLG1CQUFrQjtJQUNsQixzQjFFNURzRCxFMEVtRXREO0l2RndzU0MsMkVBQTJFO0l1RnB0UzVFO01BUUMsbUJBQWtCO01BQ2xCLFFBQU87TUFDUCxTQUFRLEVBQ1I7RXZGOHNTRiwyRUFBMkU7RXVGOXFTNUU7SUFDQyxZcEY3R21CO0lvRjhHbkIsb0IxRXBHdUQ7STBFcUd2RCxpQkFBZ0I7SUFDaEIsZUFBYztJQUNkLG1CQUFrQjtJQUNsQixxQjFFeEd1RCxFMEVzSHZEO0l2RmtxU0UsMkVBQTJFO0l1RnRyUzdFO01BU0MsWUFBVztNQUNYLGlCMUU1R3NEO00wRTZHdEQsYUFBWTtNQUNaLHFDQUFvQztNQUNwQyxtQkFBa0I7TUFDbEIsZTFFaEhzRCxFMEVpSHREO0l2RitxU0MsMkVBQTJFO0l1RjlyUzdFO01Ba0JDLFlwRjlIa0IsRW9GK0hsQjs7QXZGK3FTSCwyRUFBMkU7QThFcnlTM0U7RVM2SEksbUJBQWtCO0VBQ2xCLGlCMUU3SHFEO0UwRThIckQsT0FBTTtFQUNOLGtCMUUvSHFEO0UwRWdJckQsb0IxRWhJcUQ7RVR4RXZELGFtRnlNNEIsRUFLM0I7RXZGc3FTRCxvRUFBb0U7RUk3MlNsRTtJQUNFLGFtRmlNd0IsRW5GaE16QjtFSjgyU0gsb0VBQW9FO0VJdjJTbEU7SUFDRSxhbUZ3THdCLEVuRnZMekI7RUp3MlNILG9FQUFvRTtFSWoyU2xFO0lBQ0UsYW1GK0t3QixFbkY5S3pCO0VKazJTSCxvRUFBb0U7RUkzMVNsRTtJQUNFLGFtRnNLd0IsRW5Gckt6QjtFSjQxU0gsMkVBQTJFO0V1RnJyU3pFO0lBQ0Usc0IxRXBJbUQsRTBFcUlwRDs7QWhGMURDO0VQa3ZTSiwyRUFBMkU7RXVGbnJTM0U7SUFDRSxhQUFZLEVBQ2IsRUFBQTs7QUNuT0g7Ozs7Ozs7OztHQVNHO0F0RlRIOzs7Ozs7Ozs7OztHQVdHO0FBRUg7O0dBRUc7QUNmSDs7Ozs7Ozs7Ozs7R0FXRztBQXlESDs7Z0ZBRWdGO0FBRWhGLGNBQWM7QUE0QmQsY0FBYztBQWlDZDs7Z0ZBRWdGO0FBRWhGLGFBQWE7QUEyQmIsYUFBYTtBQUViOztHQUVHO0FDeEtIOzs7Ozs7Ozs7OztHQVdHO0FKMjhTSCw4RUFBOEU7QXdGcDhTOUU7RUFFRSx3Q0FBdUM7RUFDdkMsdUJBQXNCO0VBQ3RCLDZCQUE0QixFQXFCN0I7RXhGZzdTQyw4RUFBOEU7RXdGejhTaEY7SUFPSSxnQjNFOERxRDtJMkU3RHJELGVyRnNFK0IsRXFGckVoQztFeEZvOFNELDhFQUE4RTtFd0Y3OFNoRjtJcEZtRUUsaUJBQWdCO0lvRnREZCxXQUFVO0lBQ1YsVUFBUyxFQU1WO0l4Rjg3U0Msb0VBQW9FO0lJOTRTdEU7TUFOQSx1QkFBc0I7TUFDdEIsc0JBQXFCO01BQ3JCLGVBQWMsRUFLUztJSms1U3JCLDhFQUE4RTtJd0Z2OVNsRjtNQWdCTSxvQjNFcURtRDtNMkVwRG5ELGlCQUFnQjtNcEZwQnBCLGFvRnFCOEIsRUFDM0I7TXhGeThTQyxvRUFBb0U7TUl4OVN0RTtRQUNFLGFvRmEwQixFcEZaM0I7TUp5OVNDLG9FQUFvRTtNSWw5U3RFO1FBQ0UsYW9GSTBCLEVwRkgzQjtNSm05U0Msb0VBQW9FO01JNThTdEU7UUFDRSxhb0ZMMEIsRXBGTTNCO01KNjhTQyxvRUFBb0U7TUkxOFN0RTtRQUNFLGVEa0Q2QixFQ2pEOUI7RUoyOFNILDhFQUE4RTtFd0Z4K1NoRjtJQXVCSSx5QjNFOENxRCxFMkU3Q3REOztBQzFDSDs7Ozs7Ozs7O0dBU0c7QXZGVEg7Ozs7Ozs7Ozs7O0dBV0c7QUFFSDs7R0FFRztBQ2ZIOzs7Ozs7Ozs7OztHQVdHO0FBeURIOztnRkFFZ0Y7QUFFaEYsY0FBYztBQTRCZCxjQUFjO0FBaUNkOztnRkFFZ0Y7QUFFaEYsYUFBYTtBQTJCYixhQUFhO0FBRWI7O0dBRUc7QUN4S0g7Ozs7Ozs7Ozs7O0dBV0c7QUppalRILHNGQUFzRjtBeUYxaVR0RjtFQUNFLGlDdEYwRWdDO0VzRnpFaEMsbUI1RW1FdUQ7RTRFbEV2RCxpQkFBZ0IsRUF5Q2pCO0V6Rm1nVEMsc0ZBQXNGO0V5Ri9pVHhGO0lyRm1FRSxpQkFBZ0I7SXFGNURkLFVBQVM7SUFDVCxldEZrRXVCLEVzRmxEeEI7SXpGNGhUQyxvRUFBb0U7SUloL1N0RTtNQU5BLHVCQUFzQjtNQUN0QixzQkFBcUI7TUFDckIsZUFBYyxFQUtTO0lKby9TckIsc0ZBQXNGO0lJci9TeEY7TXFGMURJLHNCQUFxQixFQWF0QjtNekZxaVRDLHNGQUFzRjtNeUY1alQ1RjtRQWFVLHdCNUV3RCtDO1E0RXZEL0MsdUI1RXVEK0M7UTRFdEQvQyxhQUFZO1FBQ1osMEI1RXFEK0M7UTRFcEQvQyxzQjVFb0QrQyxFNEVuRGhEO016RmlqVEgsc0ZBQXNGO015Rm5rVDVGO1FBcUJRLGlCQUFnQixFQUNqQjtFekZnalRMLHNGQUFzRjtFeUZ0a1R4RjtJckZIRSxlRDZFeUIsRXNGL0N4QjtJekY4aVRDLG9FQUFvRTtJSXJrVHBFO01BQ0UsZURxRXFCLEVDcEV0QjtJSnNrVEQsb0VBQW9FO0lJL2pUcEU7TUFDRSxlRDREcUIsRUMzRHRCO0lKZ2tURCxvRUFBb0U7SUl6alRwRTtNQUNFLGVEbURxQixFQ2xEdEI7SUowalRELG9FQUFvRTtJSW5qVHBFO01BQ0UsZUQwQ3FCLEVDekN0QjtFSm9qVEgsc0ZBQXNGO0V5RnJsVHhGO0lBNkJJLGV0Rm9DaUIsRXNGdEJsQjtJekY2aVRDLHNGQUFzRjtJeUZ6alR6RjtNQUNDLGV0Rm9DdUIsRXNGbkN2QjtJekYwalRFLHNGQUFzRjtJeUZ4alR6RjtNQUNDLGV0RitCd0IsRXNGOUJ4QjtJekZ5alRFLHNGQUFzRjtJeUZ2alR6RjtNQUNDLGV0RjZCdUIsRXNGNUJ2Qjs7QUMzREY7Ozs7Ozs7OztHQVNHO0F4RlRIOzs7Ozs7Ozs7OztHQVdHO0FBRUg7O0dBRUc7QUNmSDs7Ozs7Ozs7Ozs7R0FXRztBQXlESDs7Z0ZBRWdGO0FBRWhGLGNBQWM7QUE0QmQsY0FBYztBQWlDZDs7Z0ZBRWdGO0FBRWhGLGFBQWE7QUEyQmIsYUFBYTtBQUViOztHQUVHO0FDeEtIOzs7Ozs7Ozs7OztHQVdHO0FKdXFUSCxnRUFBZ0U7QTBGaHFUaEU7RUFLSSx5QkFB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aUQ7STZFcUpqRCwwQjdFckppRCxFNkVzSmxEO0UxRjJuVEwsaUVBQWlFO0UwRnhuVC9EO0lBQ0UsY0FBYSxFQUNkO0UxRnluVEgsaUVBQWlFO0UwRnZuVC9EO0lBQ0UsbUI3RTlKbUQsRTZFeUtwRDtJbkY5RkM7TVA2c1RBLGlFQUFpRTtNMEYzblRuRTtRQUdJLGtCN0VoS2lELEU2RXlLcEQsRUFBQTtJbkY5RkM7TVBpdFRBLGlFQUFpRTtNMEZ4blQvRDtRQUNFLG9CN0VySytDO1E2RXNLL0MsaUJBQWdCLEVBQ2pCLEVBQUE7RTFGeW5UUCxpRUFBaUU7RTBGcm5UL0Q7SUFDRSxvQjdFNUttRDtJNkU2S25ELGV2RmpMZTtJdUZrTGYsZUFBYSxFQUNkO0UxRnNuVEgsaUVBQWlFO0UwRnJuVC9EO0lBQ0UsZ0I3RWpMbUQ7STZFa0xuRCxldkZ0TGU7SXVGdUxmLHdCN0VuTG1ELEU2RW9McEQ7RTFGc25USCxpRUFBaUU7RTBGbm5UakU7SUFDRSwwQjdFeExxRDtJNkV5THJELDhCdkZuTDhCO0l1Rm9MOUIsZXZGckx1QjtJdUZzTHZCLG1CN0UzTHFELEU2RW1NdEQ7STFGNm1UQyxpRUFBaUU7STBGem5UbEU7TUFPRyxldkZyTDZCLEV1RnlMOUI7TTFGaW5UQyxpRUFBaUU7TTBGNW5UcEU7UXRGL1BELGVzRndRa0MsRUFDN0I7UTFGcW5UQyxvRUFBb0U7UUl2M1R4RTtVQUNFLGVzRmdROEIsRXRGL1AvQjtRSnczVEcsb0VBQW9FO1FJajNUeEU7VUFDRSxlc0Z1UDhCLEV0RnRQL0I7UUprM1RHLG9FQUFvRTtRSTMyVHhFO1VBQ0UsZXNGOE84QixFdEY3Ty9CO1FKNDJURyxvRUFBb0U7UUlyMlR4RTtVQUNFLGVzRnFPOEIsRXRGcE8vQjtFSnMyVEgsaUVBQWlFO0UwRjduVGpFO0lBQ0UsbUJBQWtCO0lBQ2xCLGdCN0V2TXFEO0k2RXdNckQsa0I3RXhNcUQ7STZFME1yRCxlN0UxTXFEO0k2RTJNckQsYUFBWSxFQU1iO0UxRnduVEQsaUVBQWlFO0UwRnRuVGpFO0l0RnJOQSxpQkFBZ0I7SXNGdU5kLG9CN0VoTlM7STZFaU5ULG9CN0V0TnFELEU2RXVQdEQ7STFGdWxUQyxvRUFBb0U7SUkvMFR0RTtNQU5BLHVCQUFzQjtNQUN0QixzQkFBcUI7TUFDckIsZUFBYyxFQUtTO0lKbTFUckIsaUVBQWlFO0kwRmhvVGxFO01BS0csd0I3RXhObUQ7TTZFME5uRCxldkY5TmU7TXVGK05mLHNCQUFxQjtNQUNyQixpQjdFNU5tRDtNNkU2Tm5ELGdCN0U3Tm1ELEU2RXNPcEQ7TTFGb25UQyxpRUFBaUU7TTBGM25UakU7UUFDRSxrQjdFaE9pRCxFNkVpT2xEO01uRnRKRDtRUG14VEUsaUVBQWlFO1EwRjNvVHRFO1VBaUJLLHFCN0VwT2lELEU2RXNPcEQsRUFBQTtJMUYyblRELGlFQUFpRTtJMEY5b1RsRTtNQXNCRyxtQjdFek9tRCxFNkUwT3BEO0kxRjBuVEQsaUVBQWlFO0kwRmpwVGxFO01BMEJHLGVBQWM7TUFDZCwyQjdFOU9tRDtNNkUrT25ELHVCN0UvT21ELEU2RWdQcEQ7STFGeW5URCxpRUFBaUU7STBGdHBUbEU7TUFnQ0cscUI3RW5QbUQ7TTZFb1BuRCx5QjdFcFBtRDtNNkVxUG5ELGlDdkYvTzRCLEV1RmdQN0I7RTFGd25USCxpRUFBaUU7RTBGcm5UakU7SUFDRSxldkY5UGlCO0l1RitQakIseUI3RTNQcUQsRTZFNFB0RDtFMUZzblRELGlFQUFpRTtFMEZwblRqRTtJQUNFLG9CQUFtQjtJQUVuQixrQjdFalFxRCxFNkU4UnREO0kxRndsVEMsb0VBQW9FO0lJaDNUbEU7TUFPSSwwQkFBZSxFQUVsQjtJSjAyVEgsb0VBQW9FO0lJbjNUbEU7TUFPSSwwQkFBZSxFQUVsQjtJSjYyVEgsb0VBQW9FO0lJdDNUbEU7TUFPSSwwQkFBZSxFQUVsQjtJSmczVEgsb0VBQW9FO0lJejNUbEU7TUFPSSwwQkFBZSxFQUVsQjtJSm0zVEgsb0VBQW9FO0lJNTNUbEU7TUFPSSwwQkFBZSxFQUVsQjtJSnMzVEgsb0VBQW9FO0lJLzNUbEU7TUFPSSwwQkFBZSxFQUVsQjtJSnkzVEgsb0VBQW9FO0lJbDRUbEU7TUFPSSwwQkFBZSxFQUVsQjtJSjQz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LG1CQUFrQixFQThJbEI7RTNGb2hVQyx5RUFBeUU7RTJGbnFVM0U7SUFJRSxhQUFZLEVBSVo7STNGOHBVRSx5RUFBeUU7STJGdHFVN0U7TUFNRyxZQUFXLEVBQ1g7RTNGa3FVRCx5RUFBeUU7RTJGenFVM0U7SXZGdEZFLGF1RmtHMEIsRUFDMUI7STNGK3BVRSxvRUFBb0U7SUkzdlVwRTtNQUNFLGF1RjBGc0IsRXZGekZ2QjtJSjR2VUQsb0VBQW9FO0lJcnZVcEU7TUFDRSxhdUZpRnNCLEV2RmhGdkI7SUpzdlVELG9FQUFvRTtJSS91VXBFO01BQ0UsYXVGd0VzQixFdkZ2RXZCO0lKZ3ZVRCxvRUFBb0U7SUl6dVVwRTtNQUNFLGF1RitEc0IsRXZGOUR2QjtFSjB1VUgseUVBQXlFO0UyRnhyVTNFO0l2RnRGRSxlRG9FbUIsRXdGbUNuQjtJM0YwcVVFLG9FQUFvRTtJSTF3VXBFO01BQ0UsZUQ0RGUsRUMzRGhCO0lKMndVRCxvRUFBb0U7SUlwd1VwRTtNQUNFLGVEbURlLEVDbERoQjtJSnF3VUQsb0VBQW9FO0lJOXZVcEU7TUFDRSxlRDBDZSxFQ3pDaEI7SUordlVELG9FQUFvRTtJSXh2VXBFO01BQ0UsZURpQ2UsRUNoQ2hCO0VKeXZVSCx5RUFBeUU7RTJGdnNVM0U7SUFzQkcsYUFBWSxFQUNaO0UzRm1yVUQseUVBQXlFO0UyRjFzVTNFO0lBNEJHLCtCQUE4QjtJQUM5Qix3QkFBdUIsRUFDdkI7RTNGZ3JVRCx5RUFBeUU7RTJGOXNVM0U7SUFxQ0Usc0JBQXFCLEVBMkJyQjtJM0ZpcFVFLHlFQUF5RTtJMkYxcVUzRTtNQUNDLGVBQWMsRUFDZDtJcEZvQkc7TVB3cFVBLHlFQUF5RTtNMkZydFUvRTtRQThDRyxZQUFXO1FBQ1gsc0I5RTdEc0QsRThFOEV2RCxFQUFBO0kzRnlwVUUseUVBQXlFO0kyRjlwVTNFO01BQ0MsaUJBQWdCO01BQ2hCLGlCQUFnQjtNQUNoQixpQkFBZ0IsRUFDaEI7RTNGK3BVRCx5RUFBeUU7RTJGOXRVM0U7SUFrRUUsd0I5RWhGdUQsRThFaUZ2RDtFM0Y4cFVBLHlFQUF5RTtFMkZqdVUzRTtJQXNFRywwQjlFcEZzRCxFOEVxRnREO0UzRjZwVUQseUVBQXlFO0UyRjFwVTFFO0lBQ0MsWUFBVyxFQUlYO0kzRndwVUUseUVBQXlFO0kyRjdwVTVFO01BR0Usc0I5RTNGc0QsRThFNEZ0RDtFM0Y0cFVELHlFQUF5RTtFMkYxdVUzRTtJQWtGRSxhQUFZLEVBQ1o7RTNGMHBVQSx5RUFBeUU7RTJGN3VVM0U7SUFzRkUsMEJ4RnJHdUIsRXdGc0h2QjtJM0Z5b1VFLHlFQUF5RTtJMkZodlU3RTtNQXlGRywwQkFBK0MsRUFDL0M7STNGeXBVQyx5RUFBeUU7STJGbnZVN0U7TUE2Rkcsd0JBQXVCO01BQ3ZCLHNCeEY3R3NCO01DdkV2QixlRHVFdUIsRXdGcUh0QjtNM0ZrcFVHLG9FQUFvRTtNSXYwVXRFO1FBQ0UsZUQrRG1CLEVDOURwQjtNSncwVUMsb0VBQW9FO01JajBVdEU7UUFDRSxlRHNEbUIsRUNyRHBCO01KazBVQyxvRUFBb0U7TUkzelV0RTtRQUNFLGVENkNtQixFQzVDcEI7TUo0elVDLG9FQUFvRTtNSXJ6VXRFO1FBQ0UsZURvQ21CLEVDbkNwQjtNSnN6VUMseUVBQXlFO01JeHpVM0U7UXVGc0pBLHdCQUF1QjtRQUN2QixzQkFBMkM7UUFDM0MsZUFBb0MsRUFDcEM7RTNGb3FVRix5RUFBeUU7RTJGendVM0U7SUEwR0UsMEJ4RjFId0IsRXdGMEl4QjtJM0ZrcFVFLHlFQUF5RTtJMkY1d1U3RTtNQTZHRywwQkFBZ0QsRUFDaEQ7STNGaXFVQyx5RUFBeUU7STJGL3dVN0U7TUFpSEcsd0JBQXVCO01BQ3ZCLHNCeEZsSXVCO01DdEV4QixlRHNFd0IsRXdGeUl2QjtNM0YycFVHLG9FQUFvRTtNSW4yVXRFO1FBQ0UsZUQ4RG9CLEVDN0RyQjtNSm8yVUMsb0VBQW9FO01JNzFVdEU7UUFDRSxlRHFEb0IsRUNwRHJCO01KODFVQyxvRUFBb0U7TUl2MVV0RTtRQUNFLGVENENvQixFQzNDckI7TUp3MVVDLG9FQUFvRTtNSWoxVXRFO1FBQ0UsZURtQ29CLEVDbENyQjtNSmsxVUMseUVBQXlFO01JcDFVM0U7UXVG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O0U4Rm54VnhGOzs7Ozs7SUFpQlEsY0FBYSxFQUNoQjtFOUZ5d1ZILHNGQUFzRjtFOEYzeFZ4RjtJQW9CTSxZQUFXLEVBQ1o7RTlGeXdWSCxzRkFBc0Y7RThGOXhWeEY7SUF1Qk0sY0FBYSxFQUNkO0U5Rnl3Vkgsc0ZBQXNGO0U4RnR3VnRGO0lBRUksZ0JqRndDbUQ7SWlGdkNuRCxpQkFBVztJQUViLGtCQUFpQixFQW9DbEI7STlGa3VWQyxzRkFBc0Y7SThGM3dWdkY7TUFRRyxlQUFjO01BQ2QsNEJqRmlDbUQ7TWlGaENuRCwwQjNGNEJlO00yRjNCZixvQ0FBMkI7Y0FBM0IsNEJBQTJCO01BQzNCLGlCM0Z6Q2tCO00yRjBDbEIsYUFBWSxFQWViO005RnV2VkMsc0ZBQXNGO004Rm54VnpGO1FBa0JLLDhCakZ3QmlELEVpRnZCbEQ7TTlGbXdWRCxzRkFBc0Y7TThGandWdEY7UUFDRSwwQjNGbUJpQixFMkZsQmxCO005Rmt3VkQsc0ZBQXNGO004Rmh3VnRGO1FBQ0UsMEIzRmNrQixFMkZibkI7SXZGMEZEO01Qd3FWQSxzRkFBc0Y7TThGN3hWMUY7UUErQkksa0JqRldtRCxFaUZEdEQ7UTlGdXZWSyxzRkFBc0Y7UThGaHlWM0Y7VUFpQ0ssc0JBQXFCO1VBQ3JCLDRCakZRaUQsRWlGUGxELEVBQUE7SXZGa0ZEO01QZ3JWQSxzRkFBc0Y7TThGcnlWMUY7UUF1Q0ksbUJqRkdtRCxFaUZEdEQsRUFBQTtFOUYrdlZELHNGQUFzRjtFOEY3dlZ0RjtJQUNFLGdCakZGcUQ7SWlGR3JELGlCQUFnQjtJQUNoQixhQUFZLEVBU2I7STlGc3ZWQyxzRkFBc0Y7SThGbHdWdkY7TUFNRyxzQkFBcUI7TUFDckIsb0IzRnBCc0I7TTJGcUJ0QixzQ2pGVG1EO01pRlVuRCxvQ0FBMkI7Y0FBM0IsNEJBQTJCLEVBRTVCO0V2RitEQztJUCtyVkYsdUZBQXVGO0k4RjF2VnZGO01BQ0UsbUJBQWtCO01BQ2xCLGNqRmxCbUQ7TWlGbUJuRCxpQmpGbkJtRDtNaUZvQm5ELGdCakZwQm1EO01pRnFCbkQsZ0JqRnJCbUQ7TWlGc0JuRCxxQkFB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OUZTO0ltRitGVCxrQ0FBaUM7SUFDakMsb0I3RmhGa0IsRTZGa0ZuQjs7QWhHZytWSCxtRUFBbUU7QWdHOTlWbkU7O0VBR0ksaUJBQWdCO0VBQ2hCLGNBQWE7RUFDYixnQkFBZTtFQUNmLGtCQUFpQjtFQUNqQixlN0ZwSGlCLEU2RnFIbEI7O0FoRys5VkgsbUVBQW1FO0FnRzU5Vm5FO0VBQ0UsMEI3RmhHb0IsRTZGaUdyQjs7QXpGdENLO0VQcWdXSixtRUFBbUU7RWdHeG9XckU7SUE4S00sZ0JuRjNIbUQ7SW1GNEhuRCxlbkY1SG1EO0ltRjZIbkQsd0JuRjdIbUQsRW1GOEhwRCxFQUFBOztBekZuREM7RVBpaFdKLG1FQUFtRTtFZ0c1bFduRTtJQXFJSSxnQm5GckltRCxFbUZzSXBEO0VoR3k5VkgsbUVBQW1FO0VnR2xwV3JFO0lBNExNLGNBQWEsRUFDZCxFQUFBOztBQ2pPTDs7Ozs7Ozs7O0dBU0c7QS9GVEg7Ozs7Ozs7Ozs7O0dBV0c7QUFFSDs7R0FFRztBQ2ZIOzs7Ozs7Ozs7OztHQVdHO0FBeURIOztnRkFFZ0Y7QUFFaEYsY0FBYztBQTRCZCxjQUFjO0FBaUNkOztnRkFFZ0Y7QUFFaEYsYUFBYTtBQTJCYixhQUFhO0FBRWI7O0dBRUc7QUN4S0g7Ozs7Ozs7Ozs7O0dBV0c7QUo2dVdILDhFQUE4RTtBaUd0dVc5RTtFQUNFLGFBQVksRUF5RWI7RWpHK3BXQyw4RUFBOEU7RWlHenVXaEY7STdGSEUsYTZGTzRCLEVBQzNCO0lqR3V1V0Msb0VBQW9FO0lJeHVXcEU7TUFDRSxhNkZEd0IsRTdGRXpCO0lKeXVXRCxvRUFBb0U7SUlsdVdwRTtNQUNFLGE2RlZ3QixFN0ZXekI7SUptdVdELG9FQUFvRTtJSTV0V3BFO01BQ0UsYTZGbkJ3QixFN0ZvQnpCO0lKNnRXRCxvRUFBb0U7SUl0dFdwRTtNQUNFLGE2RjVCd0IsRTdGNkJ6QjtFSnV0V0gsOEVBQThFO0VpR2p2VzlFO0lBQ0Usa0JwRmtFUyxFb0ZqRVY7RWpHa3ZXRCw4RUFBOEU7RWlHaHZXOUU7SUFDRSx5QnBGeURxRCxFb0ZoRHREO0lqR3l1V0MsOEVBQThFO0lpR252Vy9FO01BR0csa0JBQWlCO01BQ2pCLGdCcEZzRG1ELEVvRnJEcEQ7SWpHa3ZXRCw4RUFBOEU7SWlHdnZXL0U7TUFPRyxzQnBGbURtRDtNb0ZsRG5ELDRCQUEyQixFQUM1QjtFakdrdldILDhFQUE4RTtFaUdodlc3RTtJQUVHLGtCQUFpQjtJQUNqQixvQnBGNENtRCxFb0YzQ3BEO0VqR2d2V0gsOEVBQThFO0VpR3B2VzdFO0lBTUcsaUJBQWdCLEVBQ2pCO0VqR2d2V0gsOEVBQThFO0VpRzl1VzlFO0lBQ0Usb0JwRnFDcUQ7SW9GcENyRCxpQkFBZ0IsRUFDakI7RWpHK3VXRCw4RUFBOEU7RWlHN3VXOUU7SUFDRSxrQnBGZ0NxRDtJb0YvQnJELGFwRitCcUQ7SW9GOUJyRCxxQnBGOEJxRDtJb0Y3QnJELHFDcEY2QnFEO0lvRjVCckQscUJwRjRCcUQ7SW9GM0JyRCxpQkFBZ0I7SUFDaEIsYUFBWTtJQUNaLGlCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIscUJwRnVCcUQsRW9GbEJ0RDtJakcwdVdDLDhFQUE4RTtJaUd6dlcvRTtNQWFHLGlCOUZlcUIsRThGZHRCO0VqRzh1V0gsOEVBQThFO0VpRzF1VzVFO0lBQ0UscUJwRmNtRDtJb0ZibkQsYXBGYW1EO0lvRlpuRCxpQkFBZ0IsRUFJakI7SWpHd3VXRCw4RUFBOEU7SWlHL3VXN0U7TUFLRyxjQUFhLEVBQ2Q7RWpHNHVXTCw4RUFBOEU7RWlHdnVXNUU7SUFDRSxtQkFBa0I7SUFDbEIsZ0JwRkVtRDtJb0ZEbkQsYXBGQ21EO0lvRkFuRCxXQUFVO0lBQ1Ysb0JBQW1CO0lBQ25CLGFBQVksRUFDYjs7QWpHeXVXTCwrRUFBK0U7QWlHL3RXL0U7O0VBR0ksaUJBQWdCLEVBQ2pCOztBQ3hHSDs7Ozs7Ozs7O0dBU0c7QWhHVEg7Ozs7Ozs7Ozs7O0dBV0c7QUFFSDs7R0FFRztBQ2ZIOzs7Ozs7Ozs7OztHQVdHO0FBeURIOztnRkFFZ0Y7QUFFaEYsY0FBYztBQTRCZCxjQUFjO0FBaUNkOztnRkFFZ0Y7QUFFaEYsYUFBYTtBQTJCYixhQUFhO0FBRWI7O0dBRUc7QUN4S0g7Ozs7Ozs7Ozs7O0dBV0c7QUoyM1dILHdFQUF3RTtBa0dwM1d4RTtFQUdJLG9CL0YwRXlCO0UrRnpFekIsVUFBUztFQUNULG9CckZnRXFELEVxRi9EdEQ7O0FsR28zV0gsd0VBQXdFO0FrRzEzV3hFO0VBU0ksc0JyRjREcUQ7RXFGM0RyRCxvQnJGMkRxRDtFcUYxRHJELGdCckYwRHFELEVxRnpEdEQ7O0FsR28zV0gsd0VBQXdFO0FrR2g0V3hFO0U5RkhFLGVENEQwQixFK0Z6Q3pCO0VsR20zV0Qsb0VBQW9FO0VJLzNXbEU7SUFDRSxlRG9Ec0IsRUNuRHZCO0VKZzRXSCxvRUFBb0U7RUl6M1dsRTtJQUNFLGVEMkNzQixFQzFDdkI7RUowM1dILG9FQUFvRTtFSW4zV2xFO0lBQ0UsZURrQ3NCLEVDakN2QjtFSm8zV0gsb0VBQW9FO0VJNzJXbEU7SUFDRSxlRHlCc0IsRUN4QnZCOztBSisyV0wsd0VBQXdFO0FrR2g1V3hFO0VBb0JNLGUvRjZDZSxFK0Y1Q2hCOztBQ3ZDTDs7Ozs7Ozs7O0dBU0c7QWpHVEg7Ozs7Ozs7Ozs7O0dBV0c7QUFFSDs7R0FFRztBQ2ZIOzs7Ozs7Ozs7OztHQVdHO0FBeURIOztnRkFFZ0Y7QUFFaEYsY0FBYztBQTRCZCxjQUFjO0FBaUNkOztnRkFFZ0Y7QUFFaEYsYUFBYTtBQTJCYixhQUFhO0FBRWI7O0dBRUc7QUN4S0g7Ozs7Ozs7Ozs7O0dBV0c7QUp5OVdILHdGQUF3RjtBbUdoOVd0RjtFQUNFLGVBQWM7RUFDZCxzQnRGaUVxRDtFc0ZoRXJELHVCdEZnRXFEO0VzRi9EckQsa0JBQWlCLEVBbUNsQjtFNUZ1R0c7SVB5MFdGLHdGQUF3RjtJbUd2OVcxRjtNQU9JLG1CQUFrQjtNQUNsQixtQnRGMkRtRDtNc0YxRG5ELHdCdEYwRG1ELEVzRjVCdEQ7TW5HcTdXRyx3RkFBd0Y7TW1HNTlXM0Y7UUFXSyxxQnRGd0RpRCxFc0Z2RGxELEVBQUE7RW5HbTlXTCx3RkFBd0Y7RW1HLzlXdkY7SUFpQkcsbUJBQWtCO0lBQ2xCLFdBQVU7SUFDVixZQUFXO0lBQ1gsZ0J0RitDbUQ7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RXVEO0lpRy9EdkQsb0JBQW1CLEVBQ25CO0U5R3FyWkEsMEVBQTBFO0U4R25yWjFFOztJQUdDLG9Cakd5RHNEO0lpR3hEdEQsMEJqR3dEc0QsRWlHdkR0RDtFOUdtclpELDBFQUEwRTtFOEdocloxRTs7SUFHQyxnQmpHaURzRDtJaUdoRHRELDRCakdnRHNELEVpRy9DdEQ7RTlHZ3JaRCwwRUFBMEU7RThHN3FaMUU7O0lBR0MsZ0JqR3lDc0Q7SWlHeEN0RCwyQmpHd0NzRCxFaUd2Q3REO0U5RzZxWkQsMEVBQTBFO0U4RzFxWjFFO0lBRUMsaUIzR3dCa0IsRTJHdkJsQjtFOUcwcVpELDBFQUEwRTtFOEd2cVoxRTtJQUVDLG9CM0cwQnVCO0kyR3pCdkIsWTNHaUJrQixFMkdoQmxCO0U5R3VxWkQsMEVBQTBFO0U4R3BxWjFFO0lBRUMsb0IzR29Cc0I7STJHbkJ0QixZM0dVa0IsRTJHVGxCO0U5R29xWkQsMEVBQTBFO0U4R2pxWjFFO0lBRUMsb0IzR1VrQjtJMkdUbEIsWTNHR2tCLEUyR0ZsQjtFOUdpcVpELDBFQUEwRTtFOEc5cFoxRTtJQUVDLG9CM0dRcUI7STJHUHJCLFkzR0prQixFMkdLbEI7RTlHOHBaRCwwRUFBMEU7RThHM3BaMUU7SUFFQyxvQjNHQXNCO0kyR0N0QixZM0dYa0IsRTJHWWxCO0U5RzJwWkQsMEVBQTBFO0U4R3ZwWjFFO0lBRUMsaUIzR2xCa0IsRTJHbUJsQjtFOUd1cFpELDJFQUEyRTtFOEdwcFozRTtJQUVDLG9CM0doQnVCO0kyR2lCdkIsWTNHekJrQixFMkcwQmxCO0U5R29wWkQsMkVBQTJFO0U4R2pwWjNFO0lBRUMsb0IzR3RCc0I7STJHdUJ0QixZM0doQ2tCLEUyR2lDbEI7RTlHaXBaRCwyRUFBMkU7RThHOW9aM0U7SUFFQyxvQjNHaENrQjtJMkdpQ2xCLFkzR3ZDa0IsRTJHd0NsQjtFOUc4b1pELDJFQUEyRTtFOEczb1ozRTtJQUVDLG9CM0dsQ3FCO0kyR21DckIsWTNHOUNrQixFMkcrQ2xCO0U5RzJvWkQsMkVBQTJFO0U4R3hvWjNFO0lBRUMsb0IzRzFDc0I7STJHMkN0QixZ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LEU0RzhCbEI7SS9HczBaQyxtRkFBbUY7SStHcDBackY7TUFDQyxvQjVHekJ1QjtNNEcwQnZCLFk1R2xDa0IsRTRHbUNsQjtJL0dxMFpDLG1GQUFtRjtJK0duMFpyRjtNQUNDLG9CNUc3QnNCO000RzhCdEIsWTVHdkNrQixFNEd3Q2xCO0kvR28wWkMsbUZBQW1GO0krR2wwWnJGO01BQ0Msb0I1R3JDa0I7TTRHc0NsQixZNUc1Q2tCLEU0RzZDbEI7SS9HbTBaQyxtRkFBbUY7SStHajBackY7TUFDQyxvQjVHckNxQjtNNEdzQ3JCLFk1R2pEa0IsRTRHa0RsQjtJL0drMFpDLG1GQUFtRjtJK0doMFpyRjtNQUNDLG9CNUczQ3NCO000RzRDdEIsWTVHdERrQixFNEd1RGxCO0UvR2kwWkQsbUZBQW1GO0UrRzd6WnBGO0lBQ0MsbUJBQWtCO0lBQ2xCLFdBQVU7SUFDVixtQkFBa0I7SUFDbEIsV0FBVTtJQUNWLG9DQUEyQjtRQUEzQixnQ0FBMkI7WUFBM0IsNEJBQTJCO0lBQzNCLGlDQUF3QjtJQUF4Qiw0QkFBd0I7SUFBeEIseUJBQXdCLEVBcUJ4QjtJL0cweVpFLG1GQUFtRjtJK0c3elpyRjtNQUNDLGNsRzFEc0Q7TWtHMkR0RCxnQmxHM0RzRCxFa0c0RHREO0kvRzh6WkMsbUZBQW1GO0krRzV6WnJGO01BQ0MsZWxHL0RzRDtNa0dnRXRELGdCbEdoRXNELEVrR2lFdEQ7SS9HNnpaQyxtRkFBbUY7SStHM3packY7TUFDQyxjbEdwRXNEO01rR3FFdEQsYWxHckVzRCxFa0dzRXREO0kvRzR6WkMsbUZBQW1GO0krRzF6WnJGO01BQ0MsZWxHekVzRDtNa0cwRXRELGFsRzFFc0QsRWtHMkV0RDtFL0cyelpELG1GQUFtRjtFK0d4elpwRjtJQUNDLGlCNUd6Rm1CO0k0RzBGbkIsZ0JsR2hGdUQ7SWtHaUZ2RCxpQmxHakZ1RDtJa0drRnZELHlCbEdsRnVEO0lrR21GdkQsMERBQWdEO1lBQWhELGtEQUFnRCxFQUNoRDtFL0d5elpBLG1GQUFtRjtFK0d2elpwRjtJQUNDLGtDbEd2RnVELEVrR3dGdkQ7RS9Hd3paQSxtRkFB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QUNsQzs7QWxINjhhRCwwREFBMEQ7QWtINThhMUQ7RUFDRSxjQUFhLEVBQ2Q7O0FsSDg4YUQsMERBQTBEO0FrSDc4YTFEO0VBQ0UsYUFBWSxFQUNiOztBbEgrOGFELDBEQUEwRDtBa0g5OGExRDs7RUFFRSxjQUFhLEVBQ2Q7O0FsSGc5YUQsMERBQTBEO0FrSDk4YTFEO0VBRUksV0FBVSxFQUNYOztBakhBSDs7R0FFRztBRGc5YUgsMkRBQTJEO0FDNzhhekQ7RUFDQyxlRTVEc0IsRUY2RHRCOztBRCs4YUgsMkRBQTJEO0FDNzhhekQ7RUFDQyxlRWpFdUIsRUZrRXZCOztBRCs4YUgsMkRBQTJEO0FDNzhhekQ7RUFDQyxlRW5Fc0IsRUZvRXRCOztBRCs4YUgsMkRBQTJEO0FDMzlhM0Q7RUFnQkUsdUJBQWdDLEVBQ2hDOztBRDg4YUYsMkRBQTJEO0FDMzhhM0Q7RUFFRSxZRXhGbUIsRUZ5Rm5COztBRDQ4YUYsMkRBQTJEO0FDLzhhM0Q7RUFPRyxlRWhHdUIsRUZpR3ZCIiwiZmlsZSI6InNjcmVlbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcbiAqIHNjcmVlbi5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKHNlbGlnZXJAc2hvcnQtY3V0cy5kZSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb3JlIGZ1bmN0aW9ucywgdmFyaWFibGVzIGFuZCBtaXhpbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIGZ1bmN0aW9ucy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyoqXG4gKiBSZXR1cm4gc3BlY2lmaWMgY29sb3JcbiAqL1xuLyoqXG4gKiB2YXJpYWJsZXMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb2xvcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA8QGNvbG9ycyAqL1xuLyogY29sb3JzQD4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBJY29uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIDxAaWNvbnMgKi9cbi8qIGljb25zQD4gKi9cbi8qXG5cdEZvdW5kYXRpb25cbiAqL1xuLyoqXG4gKiBtaXhpbnMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSZXNldCBhbmQgZGVwZW5kZW5jaWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyohIG5vcm1hbGl6ZS5zY3NzIHYwLjEuMCB8IE1JVCBMaWNlbnNlIHwgYmFzZWQgb24gZ2l0LmlvL25vcm1hbGl6ZSAqL1xuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cbi8qIGxpbmUgOSwgYm93ZXJfY29tcG9uZW50cy9ub3JtYWxpemUtc2Nzcy9ub3JtYWxpemUuc2NzcyAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG4vKiBsaW5lIDE5LCBib3dlcl9jb21wb25lbnRzL25vcm1hbGl6ZS1zY3NzL25vcm1hbGl6ZS5zY3NzICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICogYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG4vKiBsaW5lIDMzLCBib3dlcl9jb21wb25lbnRzL25vcm1hbGl6ZS1zY3NzL25vcm1hbGl6ZS5zY3NzICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbi8qIGxpbmUgNTQsIGJvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLXNjc3Mvbm9ybWFsaXplLnNjc3MgKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG4vKiBsaW5lIDY3LCBib3dlcl9jb21wb25lbnRzL25vcm1hbGl6ZS1zY3NzL25vcm1hbGl6ZS5zY3NzICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cbi8qIGxpbmUgNzcsIGJvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLXNjc3Mvbm9ybWFsaXplLnNjc3MgKi9cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuLyogbGluZSA4OSwgYm93ZXJfY29tcG9uZW50cy9ub3JtYWxpemUtc2Nzcy9ub3JtYWxpemUuc2NzcyAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbi8qIGxpbmUgOTcsIGJvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLXNjc3Mvbm9ybWFsaXplLnNjc3MgKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuLyogbGluZSAxMDksIGJvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLXNjc3Mvbm9ybWFsaXplLnNjc3MgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuLyogbGluZSAxMTcsIGJvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLXNjc3Mvbm9ybWFsaXplLnNjc3MgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuLyogbGluZSAxMjYsIGJvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLXNjc3Mvbm9ybWFsaXplLnNjc3MgKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuLyogbGluZSAxMzUsIGJvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLXNjc3Mvbm9ybWFsaXplLnNjc3MgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG4vKiBsaW5lIDE0NCwgYm93ZXJfY29tcG9uZW50cy9ub3JtYWxpemUtc2Nzcy9ub3JtYWxpemUuc2NzcyAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbi8qIGxpbmUgMTUzLCBib3dlcl9jb21wb25lbnRzL25vcm1hbGl6ZS1zY3NzL25vcm1hbGl6ZS5zY3NzICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG4vKiBsaW5lIDE2MSwgYm93ZXJfY29tcG9uZW50cy9ub3JtYWxpemUtc2Nzcy9ub3JtYWxpemUuc2NzcyAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKiBsaW5lIDE2OSwgYm93ZXJfY29tcG9uZW50cy9ub3JtYWxpemUtc2Nzcy9ub3JtYWxpemUuc2NzcyAqL1xuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogbGluZSAxNzMsIGJvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLXNjc3Mvbm9ybWFsaXplLnNjc3MgKi9cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqL1xuLyogbGluZSAxODQsIGJvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLXNjc3Mvbm9ybWFsaXplLnNjc3MgKi9cbmltZyB7XG4gIGJvcmRlcjogMDsgfVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG4vKiBsaW5lIDE5MiwgYm93ZXJfY29tcG9uZW50cy9ub3JtYWxpemUtc2Nzcy9ub3JtYWxpemUuc2NzcyAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICovXG4vKiBsaW5lIDIwMywgYm93ZXJfY29tcG9uZW50cy9ub3JtYWxpemUtc2Nzcy9ub3JtYWxpemUuc2NzcyAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuLyogbGluZSAyMTEsIGJvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLXNjc3Mvbm9ybWFsaXplLnNjc3MgKi9cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG4vKiBsaW5lIDIyMSwgYm93ZXJfY29tcG9uZW50cy9ub3JtYWxpemUtc2Nzcy9ub3JtYWxpemUuc2NzcyAqL1xucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbi8qIGxpbmUgMjI5LCBib3dlcl9jb21wb25lbnRzL25vcm1hbGl6ZS1zY3NzL25vcm1hbGl6ZS5zY3NzICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbi8qIGxpbmUgMjUyLCBib3dlcl9jb21wb25lbnRzL25vcm1hbGl6ZS1zY3NzL25vcm1hbGl6ZS5zY3NzICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cbi8qIGxpbmUgMjY2LCBib3dlcl9jb21wb25lbnRzL25vcm1hbGl6ZS1zY3NzL25vcm1hbGl6ZS5zY3NzICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICovXG4vKiBsaW5lIDI3NywgYm93ZXJfY29tcG9uZW50cy9ub3JtYWxpemUtc2Nzcy9ub3JtYWxpemUuc2NzcyAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG4vKiBsaW5lIDI5MCwgYm93ZXJfY29tcG9uZW50cy9ub3JtYWxpemUtc2Nzcy9ub3JtYWxpemUuc2NzcyAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuLyogbGluZSAzMDIsIGJvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLXNjc3Mvbm9ybWFsaXplLnNjc3MgKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuLyogbGluZSAzMTEsIGJvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLXNjc3Mvbm9ybWFsaXplLnNjc3MgKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cbi8qIGxpbmUgMzIyLCBib3dlcl9jb21wb25lbnRzL25vcm1hbGl6ZS1zY3NzL25vcm1hbGl6ZS5zY3NzICovXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuLyoqXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICpcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICovXG4vKiBsaW5lIDMzNCwgYm93ZXJfY29tcG9uZW50cy9ub3JtYWxpemUtc2Nzcy9ub3JtYWxpemUuc2NzcyAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAqL1xuLyogbGluZSAzNDYsIGJvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLXNjc3Mvbm9ybWFsaXplLnNjc3MgKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuLyogbGluZSAzNTcsIGJvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLXNjc3Mvbm9ybWFsaXplLnNjc3MgKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAyICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cbi8qIGxpbmUgMzcwLCBib3dlcl9jb21wb25lbnRzL25vcm1hbGl6ZS1zY3NzL25vcm1hbGl6ZS5zY3NzICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuLyogbGluZSAzNzksIGJvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLXNjc3Mvbm9ybWFsaXplLnNjc3MgKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG4vKiBsaW5lIDM5MCwgYm93ZXJfY29tcG9uZW50cy9ub3JtYWxpemUtc2Nzcy9ub3JtYWxpemUuc2NzcyAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cbi8qIGxpbmUgMzk5LCBib3dlcl9jb21wb25lbnRzL25vcm1hbGl6ZS1zY3NzL25vcm1hbGl6ZS5zY3NzICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cbi8qIGxpbmUgNDA4LCBib3dlcl9jb21wb25lbnRzL25vcm1hbGl6ZS1zY3NzL25vcm1hbGl6ZS5zY3NzICovXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG4vKiBsaW5lIDQxOSwgYm93ZXJfY29tcG9uZW50cy9ub3JtYWxpemUtc2Nzcy9ub3JtYWxpemUuc2NzcyAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG4vKiBsaW5lIDQyNCwgYm93ZXJfY29tcG9uZW50cy9ub3JtYWxpemUtc2Nzcy9ub3JtYWxpemUuc2NzcyAqL1xudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNC4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLyogbGluZSA0NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MgKi9cbiAgLnJldmVhbCwgLnJldmVhbC50aW55LCAucmV2ZWFsLnNtYWxsLCAucmV2ZWFsLmxhcmdlIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cblxuLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cbi8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cbi8qIGxpbmUgNTksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAyICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuLyogbGluZSA4MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuLyogbGluZSA5MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzICovXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG4vKiBsaW5lIDEwNSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG4vKiBsaW5lIDE5OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzICovXG5maWdjYXB0aW9uLFxuZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuLyogbGluZSAyMDcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuLyogbGluZSAyMjEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbi8qIGxpbmUgMjMxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MgKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbi8qIGxpbmUgMjUxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MgKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG4vKiBsaW5lIDI2NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuLyogbGluZSAyNzYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbi8qIGxpbmUgMjkxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cbi8qIGxpbmUgMzAxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuLyogbGluZSAzMTAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG4vKiBsaW5lIDMyMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cbi8qIGxpbmUgMzMxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MgKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG4vKiBsaW5lIDMzOSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG4vKiBsaW5lIDM0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbi8qIGxpbmUgMzU3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MgKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuLyogbGluZSAzNjUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyAqL1xuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbi8qIGxpbmUgMzY5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MgKi9cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG4vKiBsaW5lIDM4MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzICovXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG4vKiBsaW5lIDM5MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG4vKiBsaW5lIDQwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG4vKiBsaW5lIDQwOCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG4vKiBsaW5lIDQyMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG4vKiBsaW5lIDQ0MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG4vKiBsaW5lIDQ1MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuLyogbGluZSA0NjIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovIH1cblxuLyogbGluZSA0NjksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyAqL1xuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cbiAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi8gfVxuICAvKiBsaW5lIDQ3OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzICovXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICAvKiBsaW5lIDQ4NywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzICovXG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cbi8qIGxpbmUgNDk2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MgKi9cbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG4vKiBsaW5lIDUwNSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cbi8qIGxpbmUgNTE1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MgKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG4vKiBsaW5lIDUyNSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovXG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqLyB9XG4gIC8qIGxpbmUgNTMzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MgKi9cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG4vKiBsaW5lIDU0NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuLyogbGluZSA1NTMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuLyogbGluZSA1NjYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cbi8qIGxpbmUgNTgwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MgKi9cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG4vKiBsaW5lIDU4OSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuLyogbGluZSA2MDIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuLyogbGluZSA2MTAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuLyogbGluZSA2MTgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbi8qIGxpbmUgNjUxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MgKi9cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbi8qIGxpbmUgNjU5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MgKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuLyogbGluZSA2NzIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIGxpbmUgMTM5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MgKi9cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJmxhcmdlPTY0ZW0mc209MGVtJm1kPTQwZW0mbGc9NjRlbSZ4bD03Ny41ZW1cIjsgfVxuXG4vKiBsaW5lIDE0MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzICovXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbi8qIGxpbmUgMTQ5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MgKi9cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuLyogbGluZSAxNTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI2ZhZmFmYTtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4vKiBsaW5lIDE3MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzICovXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbi8qIGxpbmUgMTg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MgKi9cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi8qIGxpbmUgMTkyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MgKi9cbnNlbGVjdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi8qIGxpbmUgMjAyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MgKi9cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDIxMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzICovXG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBhdXRvOyB9XG4gIC8qIGxpbmUgMjAyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyAqL1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi8qIGxpbmUgMjIyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MgKi9cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qIGxpbmUgMjI3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MgKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi8qIGxpbmUgMjM2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MgKi9cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDI0MCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzICovXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgMTI3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuLnJvdyB7XG4gIG1heC13aWR0aDogNzguNzVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgLyogbGluZSAxMzEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC5yb3cgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC40Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC40Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC8qIGxpbmUgMTMxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC8qIGxpbmUgMTMxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gICAgICAvKiBsaW5lIDEzMSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIC8qIGxpbmUgMTM0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAgIC5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAvKiBsaW5lIDE0MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLnJvdy5leHBhbmRlZCB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gICAgLyogbGluZSAxNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gICAgLnJvdy5leHBhbmRlZCAucm93IHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC8qIGxpbmUgMTUwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAucm93Om5vdCguZXhwYW5kZWQpIC5yb3cge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAvKiBsaW5lIDE1NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLyogbGluZSAxNjIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC5yb3cuaXMtY29sbGFwc2UtY2hpbGQsXG4gIC5yb3cuY29sbGFwc2UgPiAuY29sdW1uID4gLnJvdyxcbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zID4gLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi8qIGxpbmUgMTcwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuLmNvbHVtbiwgLmNvbHVtbnMge1xuICBmbGV4OiAxIDEgMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjQzNzVyZW07XG4gIHBhZGRpbmctbGVmdDogMC40Mzc1cmVtO1xuICBtaW4td2lkdGg6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAvKiBsaW5lIDE3MCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgICAuY29sdW1uLCAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLyogbGluZSAxNzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gICAgLmNvbHVtbiwgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4vKiBsaW5lIDE3NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBsaW5lIDE4MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbi5yb3cgLmNvbHVtbi5yb3cucm93LCAucm93IC5yb3cucm93LmNvbHVtbnMge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyogbGluZSAxOTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4uc20tMSB7XG4gIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuXG4vKiBsaW5lIDIwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbi5zbS1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4vKiBsaW5lIDE5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbi5zbS0yIHtcbiAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cblxuLyogbGluZSAyMDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4uc20tb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLyogbGluZSAxOTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4uc20tMyB7XG4gIGZsZXg6IDAgMCAyNSU7XG4gIG1heC13aWR0aDogMjUlOyB9XG5cbi8qIGxpbmUgMjAwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuLnNtLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4vKiBsaW5lIDE5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbi5zbS00IHtcbiAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLyogbGluZSAyMDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4uc20tb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi8qIGxpbmUgMTkyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuLnNtLTUge1xuICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4vKiBsaW5lIDIwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbi5zbS1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLyogbGluZSAxOTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4uc20tNiB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlOyB9XG5cbi8qIGxpbmUgMjAwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuLnNtLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4vKiBsaW5lIDE5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbi5zbS03IHtcbiAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLyogbGluZSAyMDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4uc20tb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi8qIGxpbmUgMTkyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuLnNtLTgge1xuICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4vKiBsaW5lIDIwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbi5zbS1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLyogbGluZSAxOTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4uc20tOSB7XG4gIGZsZXg6IDAgMCA3NSU7XG4gIG1heC13aWR0aDogNzUlOyB9XG5cbi8qIGxpbmUgMjAwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuLnNtLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4vKiBsaW5lIDE5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbi5zbS0xMCB7XG4gIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG5cbi8qIGxpbmUgMjAwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuLnNtLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4vKiBsaW5lIDE5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbi5zbS0xMSB7XG4gIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG5cbi8qIGxpbmUgMjAwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuLnNtLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLyogbGluZSAxOTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4uc20tMTIge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi8qIGxpbmUgMjAwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuLnNtLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLyogbGluZSAyMDcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4uc20tdXAtMSB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAvKiBsaW5lIDEwMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLnNtLXVwLTEgPiAuY29sdW1uLCAuc20tdXAtMSA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLyogbGluZSAyMDcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4uc20tdXAtMiB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAvKiBsaW5lIDEwMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLnNtLXVwLTIgPiAuY29sdW1uLCAuc20tdXAtMiA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG5cbi8qIGxpbmUgMjA3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuLnNtLXVwLTMge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLyogbGluZSAxMDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC5zbS11cC0zID4gLmNvbHVtbiwgLnNtLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4vKiBsaW5lIDIwNywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbi5zbS11cC00IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAuc20tdXAtNCA+IC5jb2x1bW4sIC5zbS11cC00ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cblxuLyogbGluZSAyMDcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4uc20tdXAtNSB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAvKiBsaW5lIDEwMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLnNtLXVwLTUgPiAuY29sdW1uLCAuc20tdXAtNSA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMjAlO1xuICAgIG1heC13aWR0aDogMjAlOyB9XG5cbi8qIGxpbmUgMjA3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuLnNtLXVwLTYge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLyogbGluZSAxMDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC5zbS11cC02ID4gLmNvbHVtbiwgLnNtLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4vKiBsaW5lIDIwNywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbi5zbS11cC03IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAuc20tdXAtNyA+IC5jb2x1bW4sIC5zbS11cC03ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cblxuLyogbGluZSAyMDcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4uc20tdXAtOCB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAvKiBsaW5lIDEwMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLnNtLXVwLTggPiAuY29sdW1uLCAuc20tdXAtOCA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgbWF4LXdpZHRoOiAxMi41JTsgfVxuXG4vKiBsaW5lIDIxNSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbi5zbS1leHBhbmQge1xuICBmbGV4OiAxIDEgMHB4OyB9XG5cbi8qIGxpbmUgMjIzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuLnJvdy5zbS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5zbS11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgZmxleDogMSAxIDBweDsgfVxuXG4vKiBsaW5lIDIzNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbi5zbS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi8qIGxpbmUgMjQwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuLnNtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAuc20tdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMC40Mzc1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNDM3NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAvKiBsaW5lIDE5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLm1kLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC8qIGxpbmUgMjAwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAubWQtb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAvKiBsaW5lIDE5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLm1kLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLyogbGluZSAyMDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC5tZC1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC8qIGxpbmUgMTkyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAubWQtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAvKiBsaW5lIDIwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLm1kLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC8qIGxpbmUgMTkyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAubWQtNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAvKiBsaW5lIDIwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLm1kLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC8qIGxpbmUgMTkyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAubWQtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAvKiBsaW5lIDIwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLm1kLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC8qIGxpbmUgMTkyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAubWQtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAvKiBsaW5lIDIwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLm1kLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC8qIGxpbmUgMTkyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAubWQtNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDIwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLm1kLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC8qIGxpbmUgMTkyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAubWQtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAvKiBsaW5lIDIwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLm1kLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC8qIGxpbmUgMTkyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAubWQtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAvKiBsaW5lIDIwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLm1kLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC8qIGxpbmUgMTkyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAubWQtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLyogbGluZSAyMDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC5tZC1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAvKiBsaW5lIDE5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLm1kLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC8qIGxpbmUgMjAwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAubWQtb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC8qIGxpbmUgMTkyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAubWQtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAvKiBsaW5lIDIwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLm1kLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAvKiBsaW5lIDIwNywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLm1kLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAgIC5tZC11cC0xID4gLmNvbHVtbiwgLm1kLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAvKiBsaW5lIDIwNywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLm1kLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAgIC5tZC11cC0yID4gLmNvbHVtbiwgLm1kLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLyogbGluZSAyMDcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC5tZC11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAvKiBsaW5lIDEwMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgICAubWQtdXAtMyA+IC5jb2x1bW4sIC5tZC11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC8qIGxpbmUgMjA3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAubWQtdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLyogbGluZSAxMDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gICAgLm1kLXVwLTQgPiAuY29sdW1uLCAubWQtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAvKiBsaW5lIDIwNywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLm1kLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAgIC5tZC11cC01ID4gLmNvbHVtbiwgLm1kLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLyogbGluZSAyMDcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC5tZC11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAvKiBsaW5lIDEwMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgICAubWQtdXAtNiA+IC5jb2x1bW4sIC5tZC11cC02ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC8qIGxpbmUgMjA3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAubWQtdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLyogbGluZSAxMDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gICAgLm1kLXVwLTcgPiAuY29sdW1uLCAubWQtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAvKiBsaW5lIDIwNywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLm1kLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAgIC5tZC11cC04ID4gLmNvbHVtbiwgLm1kLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC8qIGxpbmUgMjE1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAubWQtZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLyogbGluZSAyMjMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4ucm93Lm1kLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lm1kLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLyogbGluZSAyMjMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gICAgLnJvdy5tZC11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5tZC11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC8qIGxpbmUgMjM2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAubWQtY29sbGFwc2UgPiAuY29sdW1uLCAubWQtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLyogbGluZSAyNDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC5tZC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLm1kLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLyogbGluZSAxOTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC5sZy0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDIwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLmxnLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLyogbGluZSAxOTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC5sZy0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC8qIGxpbmUgMjAwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAubGctb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDE5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLmxnLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLyogbGluZSAyMDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC5sZy1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAvKiBsaW5lIDE5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLmxnLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLyogbGluZSAyMDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC5sZy1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAvKiBsaW5lIDE5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLmxnLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLyogbGluZSAyMDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC5sZy1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAvKiBsaW5lIDE5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLmxnLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLyogbGluZSAyMDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC5sZy1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAvKiBsaW5lIDE5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLmxnLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLyogbGluZSAyMDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC5sZy1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAvKiBsaW5lIDE5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLmxnLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLyogbGluZSAyMDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC5sZy1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDE5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLmxnLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLyogbGluZSAyMDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC5sZy1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAvKiBsaW5lIDE5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLmxnLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC8qIGxpbmUgMjAwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAubGctb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLyogbGluZSAxOTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC5sZy0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAvKiBsaW5lIDIwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLmxnLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAvKiBsaW5lIDE5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLmxnLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLyogbGluZSAyMDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC5sZy1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLyogbGluZSAyMDcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC5sZy11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAvKiBsaW5lIDEwMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgICAubGctdXAtMSA+IC5jb2x1bW4sIC5sZy11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLyogbGluZSAyMDcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC5sZy11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAvKiBsaW5lIDEwMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgICAubGctdXAtMiA+IC5jb2x1bW4sIC5sZy11cC0yID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC8qIGxpbmUgMjA3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAubGctdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLyogbGluZSAxMDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gICAgLmxnLXVwLTMgPiAuY29sdW1uLCAubGctdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAvKiBsaW5lIDIwNywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLmxnLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAgIC5sZy11cC00ID4gLmNvbHVtbiwgLmxnLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLyogbGluZSAyMDcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC5sZy11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAvKiBsaW5lIDEwMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgICAubGctdXAtNSA+IC5jb2x1bW4sIC5sZy11cC01ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC8qIGxpbmUgMjA3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAubGctdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLyogbGluZSAxMDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gICAgLmxnLXVwLTYgPiAuY29sdW1uLCAubGctdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAvKiBsaW5lIDIwNywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLmxnLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAgIC5sZy11cC03ID4gLmNvbHVtbiwgLmxnLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLyogbGluZSAyMDcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC5sZy11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAvKiBsaW5lIDEwMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgICAubGctdXAtOCA+IC5jb2x1bW4sIC5sZy11cC04ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEyLjUlO1xuICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAvKiBsaW5lIDIxNSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLmxnLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfSB9XG5cbi8qIGxpbmUgMjIzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuLnJvdy5sZy11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5sZy11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC8qIGxpbmUgMjIzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAgIC5yb3cubGctdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubGctdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAvKiBsaW5lIDIzNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLmxnLWNvbGxhcHNlID4gLmNvbHVtbiwgLmxnLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC8qIGxpbmUgMjQwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAubGctdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5sZy11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAvKiBsaW5lIDE5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLnhsLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC8qIGxpbmUgMjAwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAueGwtb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAvKiBsaW5lIDE5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLnhsLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLyogbGluZSAyMDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC54bC1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC8qIGxpbmUgMTkyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAueGwtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAvKiBsaW5lIDIwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLnhsLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC8qIGxpbmUgMTkyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAueGwtNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAvKiBsaW5lIDIwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLnhsLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC8qIGxpbmUgMTkyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAueGwtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAvKiBsaW5lIDIwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLnhsLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC8qIGxpbmUgMTkyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAueGwtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAvKiBsaW5lIDIwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLnhsLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC8qIGxpbmUgMTkyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAueGwtNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDIwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLnhsLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC8qIGxpbmUgMTkyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAueGwtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAvKiBsaW5lIDIwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLnhsLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC8qIGxpbmUgMTkyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAueGwtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAvKiBsaW5lIDIwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLnhsLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC8qIGxpbmUgMTkyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAueGwtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLyogbGluZSAyMDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC54bC1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAvKiBsaW5lIDE5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLnhsLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC8qIGxpbmUgMjAwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAueGwtb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC8qIGxpbmUgMTkyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAueGwtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAvKiBsaW5lIDIwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLnhsLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAvKiBsaW5lIDIwNywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLnhsLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAgIC54bC11cC0xID4gLmNvbHVtbiwgLnhsLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAvKiBsaW5lIDIwNywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLnhsLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAgIC54bC11cC0yID4gLmNvbHVtbiwgLnhsLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLyogbGluZSAyMDcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC54bC11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAvKiBsaW5lIDEwMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgICAueGwtdXAtMyA+IC5jb2x1bW4sIC54bC11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC8qIGxpbmUgMjA3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAueGwtdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLyogbGluZSAxMDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gICAgLnhsLXVwLTQgPiAuY29sdW1uLCAueGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAvKiBsaW5lIDIwNywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLnhsLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAgIC54bC11cC01ID4gLmNvbHVtbiwgLnhsLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLyogbGluZSAyMDcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC54bC11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAvKiBsaW5lIDEwMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgICAueGwtdXAtNiA+IC5jb2x1bW4sIC54bC11cC02ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC8qIGxpbmUgMjA3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAueGwtdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLyogbGluZSAxMDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gICAgLnhsLXVwLTcgPiAuY29sdW1uLCAueGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAvKiBsaW5lIDIwNywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLnhsLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAgIC54bC11cC04ID4gLmNvbHVtbiwgLnhsLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gIC8qIGxpbmUgMjE1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAueGwtZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLyogbGluZSAyMjMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4ucm93LnhsLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LnhsLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAgIC8qIGxpbmUgMjIzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAgIC5yb3cueGwtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cueGwtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgLyogbGluZSAyMzYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzICovXG4gIC54bC1jb2xsYXBzZSA+IC5jb2x1bW4sIC54bC1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAvKiBsaW5lIDI0MCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgLnhsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAueGwtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4vKiBsaW5lIDI0NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbi5zaHJpbmsge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi8qIGxpbmUgMjUxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuLmNvbHVtbi1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDAuODc1cmVtOyB9XG4gIC8qIGxpbmUgNzgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzICovXG4gIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC8qIGxpbmUgMjUxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyAqL1xuICAgIC5jb2x1bW4tYmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgIC8qIGxpbmUgNzgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzICovXG4gICAgICAuY29sdW1uLWJsb2NrID4gOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAvKiBsaW5lIDI1MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MgKi9cbiAgICAuY29sdW1uLWJsb2NrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICAvKiBsaW5lIDc4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyAqL1xuICAgICAgLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi8qIGxpbmUgMTMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLmdyaWQtY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1heC13aWR0aDogNzguNzVyZW07XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLyogbGluZSAxMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLyogbGluZSAxNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLyogbGluZSAxNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLyogbGluZSAyMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLWNvbnRhaW5lci5mdWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cblxuLyogbGluZSAyNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uZ3JpZC14IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4vKiBsaW5lIDMwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5jZWxsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC8qIGxpbmUgMzQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuY2VsbC5hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC8qIGxpbmUgMzgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuY2VsbC5zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi8qIGxpbmUgNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLmdyaWQteCA+IC5hdXRvIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLyogbGluZSA0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uZ3JpZC14ID4gLnNocmluayB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi8qIGxpbmUgNjQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLmdyaWQteCA+IC5zbS1zaHJpbmssIC5ncmlkLXggPiAuc20tZnVsbCwgLmdyaWQteCA+IC5zbS0xLCAuZ3JpZC14ID4gLnNtLTIsIC5ncmlkLXggPiAuc20tMywgLmdyaWQteCA+IC5zbS00LCAuZ3JpZC14ID4gLnNtLTUsIC5ncmlkLXggPiAuc20tNiwgLmdyaWQteCA+IC5zbS03LCAuZ3JpZC14ID4gLnNtLTgsIC5ncmlkLXggPiAuc20tOSwgLmdyaWQteCA+IC5zbS0xMCwgLmdyaWQteCA+IC5zbS0xMSwgLmdyaWQteCA+IC5zbS0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLyogbGluZSA2NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLXggPiAubWQtc2hyaW5rLCAuZ3JpZC14ID4gLm1kLWZ1bGwsIC5ncmlkLXggPiAubWQtMSwgLmdyaWQteCA+IC5tZC0yLCAuZ3JpZC14ID4gLm1kLTMsIC5ncmlkLXggPiAubWQtNCwgLmdyaWQteCA+IC5tZC01LCAuZ3JpZC14ID4gLm1kLTYsIC5ncmlkLXggPiAubWQtNywgLmdyaWQteCA+IC5tZC04LCAuZ3JpZC14ID4gLm1kLTksIC5ncmlkLXggPiAubWQtMTAsIC5ncmlkLXggPiAubWQtMTEsIC5ncmlkLXggPiAubWQtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAvKiBsaW5lIDY0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQteCA+IC5sZy1zaHJpbmssIC5ncmlkLXggPiAubGctZnVsbCwgLmdyaWQteCA+IC5sZy0xLCAuZ3JpZC14ID4gLmxnLTIsIC5ncmlkLXggPiAubGctMywgLmdyaWQteCA+IC5sZy00LCAuZ3JpZC14ID4gLmxnLTUsIC5ncmlkLXggPiAubGctNiwgLmdyaWQteCA+IC5sZy03LCAuZ3JpZC14ID4gLmxnLTgsIC5ncmlkLXggPiAubGctOSwgLmdyaWQteCA+IC5sZy0xMCwgLmdyaWQteCA+IC5sZy0xMSwgLmdyaWQteCA+IC5sZy0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAvKiBsaW5lIDY0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQteCA+IC54bC1zaHJpbmssIC5ncmlkLXggPiAueGwtZnVsbCwgLmdyaWQteCA+IC54bC0xLCAuZ3JpZC14ID4gLnhsLTIsIC5ncmlkLXggPiAueGwtMywgLmdyaWQteCA+IC54bC00LCAuZ3JpZC14ID4gLnhsLTUsIC5ncmlkLXggPiAueGwtNiwgLmdyaWQteCA+IC54bC03LCAuZ3JpZC14ID4gLnhsLTgsIC5ncmlkLXggPiAueGwtOSwgLmdyaWQteCA+IC54bC0xMCwgLmdyaWQteCA+IC54bC0xMSwgLmdyaWQteCA+IC54bC0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbi8qIGxpbmUgNzIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLmdyaWQteCA+IC5zbS1hdXRvIHtcbiAgZmxleDogMSAxIDBweDtcbiAgd2lkdGg6IGF1dG87IH1cblxuLyogbGluZSA3NywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uZ3JpZC14ID4gLnNtLXNocmluayB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bzsgfVxuXG4vKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5ncmlkLXggPiAuc20tMSB7XG4gIHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4vKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5ncmlkLXggPiAuc20tMiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uZ3JpZC14ID4gLnNtLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLmdyaWQteCA+IC5zbS00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4vKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5ncmlkLXggPiAuc20tNSB7XG4gIHdpZHRoOiA0MS42NjY2NyU7IH1cblxuLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uZ3JpZC14ID4gLnNtLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLmdyaWQteCA+IC5zbS03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4vKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5ncmlkLXggPiAuc20tOCB7XG4gIHdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uZ3JpZC14ID4gLnNtLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLmdyaWQteCA+IC5zbS0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uZ3JpZC14ID4gLnNtLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4vKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5ncmlkLXggPiAuc20tMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAvKiBsaW5lIDcyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQteCA+IC5tZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC8qIGxpbmUgNzcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC14ID4gLm1kLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLXggPiAubWQtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC14ID4gLm1kLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLXggPiAubWQtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAvKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQteCA+IC5tZC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC14ID4gLm1kLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLXggPiAubWQtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAvKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQteCA+IC5tZC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC14ID4gLm1kLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLXggPiAubWQtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAvKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQteCA+IC5tZC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAvKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQteCA+IC5tZC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAvKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQteCA+IC5tZC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAvKiBsaW5lIDcyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQteCA+IC5sZy1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC8qIGxpbmUgNzcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC14ID4gLmxnLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLXggPiAubGctMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC14ID4gLmxnLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLXggPiAubGctMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAvKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQteCA+IC5sZy00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC14ID4gLmxnLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLXggPiAubGctNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAvKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQteCA+IC5sZy03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC14ID4gLmxnLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLXggPiAubGctOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAvKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQteCA+IC5sZy0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAvKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQteCA+IC5sZy0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAvKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQteCA+IC5sZy0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgLyogbGluZSA3MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLXggPiAueGwtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAvKiBsaW5lIDc3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQteCA+IC54bC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC14ID4gLnhsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQteCA+IC54bC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC14ID4gLnhsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLXggPiAueGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAvKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQteCA+IC54bC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC14ID4gLnhsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLXggPiAueGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQteCA+IC54bC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC14ID4gLnhsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLXggPiAueGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLXggPiAueGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLXggPiAueGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLyogbGluZSA5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi8qIGxpbmUgOTcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyogbGluZSAxMjgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLmdyaWQtbWFyZ2luLXgge1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC8qIGxpbmUgMTI4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTsgfSB9XG4gIC8qIGxpbmUgMTMyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gIC8qIGxpbmUgMTA0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQtbWFyZ2luLXggPiAuc20tYXV0byB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLyogbGluZSAxMDgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teCA+IC5zbS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQtbWFyZ2luLXggPiAuc20tMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teCA+IC5zbS0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teCA+IC5zbS0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teCA+IC5zbS00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teCA+IC5zbS01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teCA+IC5zbS02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teCA+IC5zbS03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teCA+IC5zbS04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teCA+IC5zbS05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teCA+IC5zbS0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQtbWFyZ2luLXggPiAuc20tMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLyogbGluZSAxMDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1kLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAvKiBsaW5lIDEwOCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWQtc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1kLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWQtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWQtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWQtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWQtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWQtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWQtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWQtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWQtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWQtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1kLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZC0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAvKiBsaW5lIDEwNCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGctYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC8qIGxpbmUgMTA4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sZy1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGctMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sZy0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sZy0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sZy00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sZy01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sZy02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sZy03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sZy04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sZy05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sZy0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGctMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxnLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgICAvKiBsaW5lIDEwNCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGwtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC8qIGxpbmUgMTA4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bC1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGwtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bC0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bC0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bC00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bC01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bC02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bC03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bC04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bC05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bC0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGwtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuXG4vKiBsaW5lIDE2NywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAvKiBsaW5lIDE2NywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG5cbi8qIGxpbmUgMTczLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAvKiBsaW5lIDE3MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG4vKiBsaW5lIDE3OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLyogbGluZSAxNzgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLyogbGluZSAzMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbi5zbS11cC0xID4gLmNlbGwge1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiBsaW5lIDMwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyAqL1xuLnNtLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLyogbGluZSAzMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbi5zbS11cC0zID4gLmNlbGwge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi8qIGxpbmUgMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzICovXG4uc20tdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4vKiBsaW5lIDMwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyAqL1xuLnNtLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLyogbGluZSAzMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbi5zbS11cC02ID4gLmNlbGwge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi8qIGxpbmUgMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzICovXG4uc20tdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuXG4vKiBsaW5lIDMwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyAqL1xuLnNtLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAvKiBsaW5lIDMwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAubWQtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAvKiBsaW5lIDMwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAubWQtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC8qIGxpbmUgMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzICovXG4gIC5tZC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLyogbGluZSAzMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLm1kLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAvKiBsaW5lIDMwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAubWQtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC8qIGxpbmUgMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzICovXG4gIC5tZC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLyogbGluZSAzMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLm1kLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAvKiBsaW5lIDMwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAubWQtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAvKiBsaW5lIDMwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAubGctdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAvKiBsaW5lIDMwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAubGctdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC8qIGxpbmUgMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzICovXG4gIC5sZy11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLyogbGluZSAzMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLmxnLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAvKiBsaW5lIDMwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAubGctdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC8qIGxpbmUgMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzICovXG4gIC5sZy11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLyogbGluZSAzMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLmxnLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAvKiBsaW5lIDMwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAubGctdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgLyogbGluZSAzMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLnhsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLyogbGluZSAzMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLnhsLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAvKiBsaW5lIDMwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAueGwtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC8qIGxpbmUgMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzICovXG4gIC54bC11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLyogbGluZSAzMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLnhsLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAvKiBsaW5lIDMwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAueGwtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC8qIGxpbmUgMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzICovXG4gIC54bC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLyogbGluZSAzMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLnhsLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuLyogbGluZSAzMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbi5ncmlkLW1hcmdpbi14LnNtLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cblxuLyogbGluZSAzMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbi5ncmlkLW1hcmdpbi14LnNtLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuXG4vKiBsaW5lIDMwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyAqL1xuLmdyaWQtbWFyZ2luLXguc20tdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG5cbi8qIGxpbmUgMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzICovXG4uZ3JpZC1tYXJnaW4teC5zbS11cC00ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cblxuLyogbGluZSAzMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbi5ncmlkLW1hcmdpbi14LnNtLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuXG4vKiBsaW5lIDMwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyAqL1xuLmdyaWQtbWFyZ2luLXguc20tdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG5cbi8qIGxpbmUgMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzICovXG4uZ3JpZC1tYXJnaW4teC5zbS11cC03ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cblxuLyogbGluZSAzMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbi5ncmlkLW1hcmdpbi14LnNtLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC8qIGxpbmUgMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14Lm1kLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAvKiBsaW5lIDMwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teC5tZC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAvKiBsaW5lIDMwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teC5tZC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAvKiBsaW5lIDMwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teC5tZC11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAvKiBsaW5lIDMwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teC5tZC11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAvKiBsaW5lIDMwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teC5tZC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAvKiBsaW5lIDMwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teC5tZC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAvKiBsaW5lIDMwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teC5tZC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLyogbGluZSAzMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLmdyaWQtbWFyZ2luLXgubGctdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC8qIGxpbmUgMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14LmxnLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC8qIGxpbmUgMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14LmxnLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC8qIGxpbmUgMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14LmxnLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC8qIGxpbmUgMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14LmxnLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC8qIGxpbmUgMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14LmxnLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC8qIGxpbmUgMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14LmxnLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG4gIC8qIGxpbmUgMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14LmxnLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgLyogbGluZSAzMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLmdyaWQtbWFyZ2luLXgueGwtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC8qIGxpbmUgMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14LnhsLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC8qIGxpbmUgMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14LnhsLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC8qIGxpbmUgMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14LnhsLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC8qIGxpbmUgMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14LnhsLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC8qIGxpbmUgMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14LnhsLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC8qIGxpbmUgMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14LnhsLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG4gIC8qIGxpbmUgMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14LnhsLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG4vKiBsaW5lIDIyNCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc20tbWFyZ2luLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAvKiBsaW5lIDI4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5zbS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLnNtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLnNtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLnNtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLnNtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLnNtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLnNtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLnNtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLnNtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLnNtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLnNtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLnNtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5zbS1tYXJnaW4tY29sbGFwc2UgPiAuc20tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAgIC5zbS1tYXJnaW4tY29sbGFwc2UgPiAubWQtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gICAgLnNtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZC0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gICAgLnNtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZC0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gICAgLnNtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZC00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gICAgLnNtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZC01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gICAgLnNtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZC02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gICAgLnNtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZC03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gICAgLnNtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZC04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gICAgLnNtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZC05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gICAgLnNtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZC0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAgIC5zbS1tYXJnaW4tY29sbGFwc2UgPiAubWQtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLm1kLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gICAgLnNtLW1hcmdpbi1jb2xsYXBzZSA+IC5sZy0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLmxnLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLmxnLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLmxnLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLmxnLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLmxnLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLmxnLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLmxnLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLmxnLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLmxnLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gICAgLnNtLW1hcmdpbi1jb2xsYXBzZSA+IC5sZy0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAgIC5zbS1tYXJnaW4tY29sbGFwc2UgPiAubGctMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gICAgLnNtLW1hcmdpbi1jb2xsYXBzZSA+IC54bC0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLnhsLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLnhsLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLnhsLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLnhsLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLnhsLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLnhsLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLnhsLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLnhsLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgICAuc20tbWFyZ2luLWNvbGxhcHNlID4gLnhsLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gICAgLnNtLW1hcmdpbi1jb2xsYXBzZSA+IC54bC0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAgIC5zbS1tYXJnaW4tY29sbGFwc2UgPiAueGwtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4vKiBsaW5lIDIzMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc20tcGFkZGluZy1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLyogbGluZSA2NywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAuc20tcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAvKiBsaW5lIDIyNCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5tZC1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC8qIGxpbmUgMjgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgICAubWQtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5tZC1tYXJnaW4tY29sbGFwc2UgPiAuc20tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC8qIGxpbmUgNDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLm1kLW1hcmdpbi1jb2xsYXBzZSA+IC5zbS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC8qIGxpbmUgNDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLm1kLW1hcmdpbi1jb2xsYXBzZSA+IC5zbS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC8qIGxpbmUgNDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLm1kLW1hcmdpbi1jb2xsYXBzZSA+IC5zbS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC8qIGxpbmUgNDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLm1kLW1hcmdpbi1jb2xsYXBzZSA+IC5zbS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC8qIGxpbmUgNDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLm1kLW1hcmdpbi1jb2xsYXBzZSA+IC5zbS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC8qIGxpbmUgNDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLm1kLW1hcmdpbi1jb2xsYXBzZSA+IC5zbS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC8qIGxpbmUgNDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLm1kLW1hcmdpbi1jb2xsYXBzZSA+IC5zbS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC8qIGxpbmUgNDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLm1kLW1hcmdpbi1jb2xsYXBzZSA+IC5zbS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC8qIGxpbmUgNDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLm1kLW1hcmdpbi1jb2xsYXBzZSA+IC5zbS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5tZC1tYXJnaW4tY29sbGFwc2UgPiAuc20tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLyogbGluZSA0MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubWQtbWFyZ2luLWNvbGxhcHNlID4gLnNtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLm1kLW1hcmdpbi1jb2xsYXBzZSA+IC5tZC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubWQtbWFyZ2luLWNvbGxhcHNlID4gLm1kLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubWQtbWFyZ2luLWNvbGxhcHNlID4gLm1kLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubWQtbWFyZ2luLWNvbGxhcHNlID4gLm1kLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubWQtbWFyZ2luLWNvbGxhcHNlID4gLm1kLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubWQtbWFyZ2luLWNvbGxhcHNlID4gLm1kLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubWQtbWFyZ2luLWNvbGxhcHNlID4gLm1kLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubWQtbWFyZ2luLWNvbGxhcHNlID4gLm1kLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubWQtbWFyZ2luLWNvbGxhcHNlID4gLm1kLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubWQtbWFyZ2luLWNvbGxhcHNlID4gLm1kLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLm1kLW1hcmdpbi1jb2xsYXBzZSA+IC5tZC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5tZC1tYXJnaW4tY29sbGFwc2UgPiAubWQtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubWQtbWFyZ2luLWNvbGxhcHNlID4gLmxnLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5tZC1tYXJnaW4tY29sbGFwc2UgPiAubGctMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5tZC1tYXJnaW4tY29sbGFwc2UgPiAubGctMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5tZC1tYXJnaW4tY29sbGFwc2UgPiAubGctNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5tZC1tYXJnaW4tY29sbGFwc2UgPiAubGctNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5tZC1tYXJnaW4tY29sbGFwc2UgPiAubGctNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5tZC1tYXJnaW4tY29sbGFwc2UgPiAubGctNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5tZC1tYXJnaW4tY29sbGFwc2UgPiAubGctOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5tZC1tYXJnaW4tY29sbGFwc2UgPiAubGctOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5tZC1tYXJnaW4tY29sbGFwc2UgPiAubGctMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubWQtbWFyZ2luLWNvbGxhcHNlID4gLmxnLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLm1kLW1hcmdpbi1jb2xsYXBzZSA+IC5sZy0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubWQtbWFyZ2luLWNvbGxhcHNlID4gLnhsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5tZC1tYXJnaW4tY29sbGFwc2UgPiAueGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5tZC1tYXJnaW4tY29sbGFwc2UgPiAueGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5tZC1tYXJnaW4tY29sbGFwc2UgPiAueGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5tZC1tYXJnaW4tY29sbGFwc2UgPiAueGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5tZC1tYXJnaW4tY29sbGFwc2UgPiAueGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5tZC1tYXJnaW4tY29sbGFwc2UgPiAueGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5tZC1tYXJnaW4tY29sbGFwc2UgPiAueGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5tZC1tYXJnaW4tY29sbGFwc2UgPiAueGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5tZC1tYXJnaW4tY29sbGFwc2UgPiAueGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubWQtbWFyZ2luLWNvbGxhcHNlID4gLnhsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLm1kLW1hcmdpbi1jb2xsYXBzZSA+IC54bC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAvKiBsaW5lIDIzMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5tZC1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAvKiBsaW5lIDY3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gICAgLm1kLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLyogbGluZSAyMjQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubGctbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAvKiBsaW5lIDI4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gICAgLmxnLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLyogbGluZSA0MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubGctbWFyZ2luLWNvbGxhcHNlID4gLnNtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5sZy1tYXJnaW4tY29sbGFwc2UgPiAuc20tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5sZy1tYXJnaW4tY29sbGFwc2UgPiAuc20tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5sZy1tYXJnaW4tY29sbGFwc2UgPiAuc20tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5sZy1tYXJnaW4tY29sbGFwc2UgPiAuc20tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5sZy1tYXJnaW4tY29sbGFwc2UgPiAuc20tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5sZy1tYXJnaW4tY29sbGFwc2UgPiAuc20tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5sZy1tYXJnaW4tY29sbGFwc2UgPiAuc20tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5sZy1tYXJnaW4tY29sbGFwc2UgPiAuc20tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5sZy1tYXJnaW4tY29sbGFwc2UgPiAuc20tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLyogbGluZSA0MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubGctbWFyZ2luLWNvbGxhcHNlID4gLnNtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC8qIGxpbmUgNDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLmxnLW1hcmdpbi1jb2xsYXBzZSA+IC5zbS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5sZy1tYXJnaW4tY29sbGFwc2UgPiAubWQtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC8qIGxpbmUgNDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLmxnLW1hcmdpbi1jb2xsYXBzZSA+IC5tZC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC8qIGxpbmUgNDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLmxnLW1hcmdpbi1jb2xsYXBzZSA+IC5tZC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC8qIGxpbmUgNDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLmxnLW1hcmdpbi1jb2xsYXBzZSA+IC5tZC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC8qIGxpbmUgNDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLmxnLW1hcmdpbi1jb2xsYXBzZSA+IC5tZC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC8qIGxpbmUgNDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLmxnLW1hcmdpbi1jb2xsYXBzZSA+IC5tZC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC8qIGxpbmUgNDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLmxnLW1hcmdpbi1jb2xsYXBzZSA+IC5tZC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC8qIGxpbmUgNDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLmxnLW1hcmdpbi1jb2xsYXBzZSA+IC5tZC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC8qIGxpbmUgNDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLmxnLW1hcmdpbi1jb2xsYXBzZSA+IC5tZC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC8qIGxpbmUgNDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLmxnLW1hcmdpbi1jb2xsYXBzZSA+IC5tZC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5sZy1tYXJnaW4tY29sbGFwc2UgPiAubWQtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLyogbGluZSA0MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubGctbWFyZ2luLWNvbGxhcHNlID4gLm1kLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLmxnLW1hcmdpbi1jb2xsYXBzZSA+IC5sZy0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubGctbWFyZ2luLWNvbGxhcHNlID4gLmxnLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubGctbWFyZ2luLWNvbGxhcHNlID4gLmxnLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubGctbWFyZ2luLWNvbGxhcHNlID4gLmxnLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubGctbWFyZ2luLWNvbGxhcHNlID4gLmxnLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubGctbWFyZ2luLWNvbGxhcHNlID4gLmxnLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubGctbWFyZ2luLWNvbGxhcHNlID4gLmxnLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubGctbWFyZ2luLWNvbGxhcHNlID4gLmxnLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubGctbWFyZ2luLWNvbGxhcHNlID4gLmxnLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubGctbWFyZ2luLWNvbGxhcHNlID4gLmxnLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLmxnLW1hcmdpbi1jb2xsYXBzZSA+IC5sZy0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5sZy1tYXJnaW4tY29sbGFwc2UgPiAubGctMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLmxnLW1hcmdpbi1jb2xsYXBzZSA+IC54bC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubGctbWFyZ2luLWNvbGxhcHNlID4gLnhsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubGctbWFyZ2luLWNvbGxhcHNlID4gLnhsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubGctbWFyZ2luLWNvbGxhcHNlID4gLnhsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubGctbWFyZ2luLWNvbGxhcHNlID4gLnhsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubGctbWFyZ2luLWNvbGxhcHNlID4gLnhsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubGctbWFyZ2luLWNvbGxhcHNlID4gLnhsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubGctbWFyZ2luLWNvbGxhcHNlID4gLnhsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubGctbWFyZ2luLWNvbGxhcHNlID4gLnhsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAubGctbWFyZ2luLWNvbGxhcHNlID4gLnhsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLmxnLW1hcmdpbi1jb2xsYXBzZSA+IC54bC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC5sZy1tYXJnaW4tY29sbGFwc2UgPiAueGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLyogbGluZSAyMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubGctcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLyogbGluZSA2NywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAgIC5sZy1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAvKiBsaW5lIDIyNCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC8qIGxpbmUgMjgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgICAueGwtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgLyogbGluZSA0MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAueGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAuc20tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAuc20tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAuc20tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAuc20tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAuc20tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAuc20tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAuc20tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAuc20tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAuc20tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLyogbGluZSA0MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAueGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC8qIGxpbmUgNDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLnhsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgLyogbGluZSA0MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAueGwtbWFyZ2luLWNvbGxhcHNlID4gLm1kLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAubWQtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAubWQtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAubWQtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAubWQtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAubWQtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAubWQtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAubWQtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAubWQtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAubWQtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLyogbGluZSA0MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAueGwtbWFyZ2luLWNvbGxhcHNlID4gLm1kLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC8qIGxpbmUgNDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLnhsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgLyogbGluZSA0MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAueGwtbWFyZ2luLWNvbGxhcHNlID4gLmxnLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAubGctMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAubGctMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAubGctNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAubGctNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAubGctNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAubGctNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAubGctOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAubGctOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAvKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAubGctMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLyogbGluZSA0MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAueGwtbWFyZ2luLWNvbGxhcHNlID4gLmxnLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC8qIGxpbmUgNDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLnhsLW1hcmdpbi1jb2xsYXBzZSA+IC5sZy0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAueGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAueGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAueGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAueGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAueGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAueGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAueGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAueGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAueGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAvKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzICovXG4gIC54bC1tYXJnaW4tY29sbGFwc2UgPiAueGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLyogbGluZSA1MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAueGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC8qIGxpbmUgNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MgKi9cbiAgLnhsLW1hcmdpbi1jb2xsYXBzZSA+IC54bC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgLyogbGluZSAyMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAueGwtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLyogbGluZSA2NywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyAqL1xuICAgIC54bC1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi8qIGxpbmUgMjQ0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5zbS1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4vKiBsaW5lIDI0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uZ3JpZC1tYXJnaW4teCA+IC5zbS1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC45Mzc1cmVtKTsgfVxuXG4vKiBsaW5lIDI0NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc20tb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLyogbGluZSAyNDgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLmdyaWQtbWFyZ2luLXggPiAuc20tb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cblxuLyogbGluZSAyNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLnNtLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4vKiBsaW5lIDI0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uZ3JpZC1tYXJnaW4teCA+IC5zbS1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cblxuLyogbGluZSAyNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLnNtLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4vKiBsaW5lIDI0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uZ3JpZC1tYXJnaW4teCA+IC5zbS1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuOTM3NXJlbSk7IH1cblxuLyogbGluZSAyNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLnNtLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4vKiBsaW5lIDI0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uZ3JpZC1tYXJnaW4teCA+IC5zbS1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cblxuLyogbGluZSAyNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLnNtLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4vKiBsaW5lIDI0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uZ3JpZC1tYXJnaW4teCA+IC5zbS1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cblxuLyogbGluZSAyNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLnNtLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4vKiBsaW5lIDI0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uZ3JpZC1tYXJnaW4teCA+IC5zbS1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuOTM3NXJlbSk7IH1cblxuLyogbGluZSAyNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLnNtLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4vKiBsaW5lIDI0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uZ3JpZC1tYXJnaW4teCA+IC5zbS1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cblxuLyogbGluZSAyNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLnNtLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4vKiBsaW5lIDI0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uZ3JpZC1tYXJnaW4teCA+IC5zbS1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cblxuLyogbGluZSAyNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLnNtLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4vKiBsaW5lIDI0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uZ3JpZC1tYXJnaW4teCA+IC5zbS1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuOTM3NXJlbSk7IH1cblxuLyogbGluZSAyNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLnNtLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLyogbGluZSAyNDgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLmdyaWQtbWFyZ2luLXggPiAuc20tb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuXG4vKiBsaW5lIDI0NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc20tb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4vKiBsaW5lIDI0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uZ3JpZC1tYXJnaW4teCA+IC5zbS1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC8qIGxpbmUgMjQ0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLm1kLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLyogbGluZSAyNDgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teCA+IC5tZC1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pOyB9XG4gIC8qIGxpbmUgMjQ0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLm1kLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLyogbGluZSAyNDgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teCA+IC5tZC1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC8qIGxpbmUgMjQ0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLm1kLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC8qIGxpbmUgMjQ4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQtbWFyZ2luLXggPiAubWQtb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLyogbGluZSAyNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWQtb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLyogbGluZSAyNDgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teCA+IC5tZC1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTsgfVxuICAvKiBsaW5lIDI0NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5tZC1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAvKiBsaW5lIDI0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14ID4gLm1kLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC8qIGxpbmUgMjQ0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLm1kLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC8qIGxpbmUgMjQ4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQtbWFyZ2luLXggPiAubWQtb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLyogbGluZSAyNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWQtb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLyogbGluZSAyNDgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teCA+IC5tZC1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTsgfVxuICAvKiBsaW5lIDI0NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5tZC1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDI0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14ID4gLm1kLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC8qIGxpbmUgMjQ0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLm1kLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC8qIGxpbmUgMjQ4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQtbWFyZ2luLXggPiAubWQtb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLyogbGluZSAyNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWQtb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLyogbGluZSAyNDgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teCA+IC5tZC1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTsgfVxuICAvKiBsaW5lIDI0NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5tZC1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLyogbGluZSAyNDgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teCA+IC5tZC1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLyogbGluZSAyNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWQtb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC8qIGxpbmUgMjQ4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQtbWFyZ2luLXggPiAubWQtb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLyogbGluZSAyNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubGctb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAvKiBsaW5lIDI0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14ID4gLmxnLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuOTM3NXJlbSk7IH1cbiAgLyogbGluZSAyNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubGctb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDI0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14ID4gLmxnLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLyogbGluZSAyNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubGctb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLyogbGluZSAyNDgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teCA+IC5sZy1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAvKiBsaW5lIDI0NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5sZy1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAvKiBsaW5lIDI0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14ID4gLmxnLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjkzNzVyZW0pOyB9XG4gIC8qIGxpbmUgMjQ0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmxnLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC8qIGxpbmUgMjQ4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQtbWFyZ2luLXggPiAubGctb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLyogbGluZSAyNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubGctb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLyogbGluZSAyNDgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teCA+IC5sZy1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAvKiBsaW5lIDI0NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5sZy1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAvKiBsaW5lIDI0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14ID4gLmxnLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjkzNzVyZW0pOyB9XG4gIC8qIGxpbmUgMjQ0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmxnLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC8qIGxpbmUgMjQ4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQtbWFyZ2luLXggPiAubGctb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLyogbGluZSAyNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubGctb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLyogbGluZSAyNDgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teCA+IC5sZy1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAvKiBsaW5lIDI0NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5sZy1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAvKiBsaW5lIDI0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14ID4gLmxnLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjkzNzVyZW0pOyB9XG4gIC8qIGxpbmUgMjQ0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmxnLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAvKiBsaW5lIDI0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14ID4gLmxnLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAvKiBsaW5lIDI0NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5sZy1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLyogbGluZSAyNDgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teCA+IC5sZy1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgLyogbGluZSAyNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAueGwtb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAvKiBsaW5lIDI0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuOTM3NXJlbSk7IH1cbiAgLyogbGluZSAyNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAueGwtb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDI0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLyogbGluZSAyNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAueGwtb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLyogbGluZSAyNDgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teCA+IC54bC1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAvKiBsaW5lIDI0NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC54bC1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAvKiBsaW5lIDI0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjkzNzVyZW0pOyB9XG4gIC8qIGxpbmUgMjQ0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLnhsLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC8qIGxpbmUgMjQ4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQtbWFyZ2luLXggPiAueGwtb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLyogbGluZSAyNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAueGwtb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLyogbGluZSAyNDgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teCA+IC54bC1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAvKiBsaW5lIDI0NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC54bC1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAvKiBsaW5lIDI0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjkzNzVyZW0pOyB9XG4gIC8qIGxpbmUgMjQ0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLnhsLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC8qIGxpbmUgMjQ4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQtbWFyZ2luLXggPiAueGwtb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLyogbGluZSAyNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAueGwtb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLyogbGluZSAyNDgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teCA+IC54bC1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAvKiBsaW5lIDI0NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC54bC1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAvKiBsaW5lIDI0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjkzNzVyZW0pOyB9XG4gIC8qIGxpbmUgMjQ0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLnhsLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAvKiBsaW5lIDI0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAvKiBsaW5lIDI0NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC54bC1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLyogbGluZSAyNDgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teCA+IC54bC1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH0gfVxuXG4vKiBsaW5lIDI2NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uZ3JpZC15IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gIC8qIGxpbmUgMjcwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQteSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAvKiBsaW5lIDI3NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC8qIGxpbmUgMjc4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQteSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAvKiBsaW5lIDI5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLXkgPiAuc20tc2hyaW5rLCAuZ3JpZC15ID4gLnNtLWZ1bGwsIC5ncmlkLXkgPiAuc20tMSwgLmdyaWQteSA+IC5zbS0yLCAuZ3JpZC15ID4gLnNtLTMsIC5ncmlkLXkgPiAuc20tNCwgLmdyaWQteSA+IC5zbS01LCAuZ3JpZC15ID4gLnNtLTYsIC5ncmlkLXkgPiAuc20tNywgLmdyaWQteSA+IC5zbS04LCAuZ3JpZC15ID4gLnNtLTksIC5ncmlkLXkgPiAuc20tMTAsIC5ncmlkLXkgPiAuc20tMTEsIC5ncmlkLXkgPiAuc20tMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAvKiBsaW5lIDI5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQteSA+IC5tZC1zaHJpbmssIC5ncmlkLXkgPiAubWQtZnVsbCwgLmdyaWQteSA+IC5tZC0xLCAuZ3JpZC15ID4gLm1kLTIsIC5ncmlkLXkgPiAubWQtMywgLmdyaWQteSA+IC5tZC00LCAuZ3JpZC15ID4gLm1kLTUsIC5ncmlkLXkgPiAubWQtNiwgLmdyaWQteSA+IC5tZC03LCAuZ3JpZC15ID4gLm1kLTgsIC5ncmlkLXkgPiAubWQtOSwgLmdyaWQteSA+IC5tZC0xMCwgLmdyaWQteSA+IC5tZC0xMSwgLmdyaWQteSA+IC5tZC0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAvKiBsaW5lIDI5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQteSA+IC5sZy1zaHJpbmssIC5ncmlkLXkgPiAubGctZnVsbCwgLmdyaWQteSA+IC5sZy0xLCAuZ3JpZC15ID4gLmxnLTIsIC5ncmlkLXkgPiAubGctMywgLmdyaWQteSA+IC5sZy00LCAuZ3JpZC15ID4gLmxnLTUsIC5ncmlkLXkgPiAubGctNiwgLmdyaWQteSA+IC5sZy03LCAuZ3JpZC15ID4gLmxnLTgsIC5ncmlkLXkgPiAubGctOSwgLmdyaWQteSA+IC5sZy0xMCwgLmdyaWQteSA+IC5sZy0xMSwgLmdyaWQteSA+IC5sZy0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gICAgLyogbGluZSAyOTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLXkgPiAueGwtc2hyaW5rLCAuZ3JpZC15ID4gLnhsLWZ1bGwsIC5ncmlkLXkgPiAueGwtMSwgLmdyaWQteSA+IC54bC0yLCAuZ3JpZC15ID4gLnhsLTMsIC5ncmlkLXkgPiAueGwtNCwgLmdyaWQteSA+IC54bC01LCAuZ3JpZC15ID4gLnhsLTYsIC5ncmlkLXkgPiAueGwtNywgLmdyaWQteSA+IC54bC04LCAuZ3JpZC15ID4gLnhsLTksIC5ncmlkLXkgPiAueGwtMTAsIC5ncmlkLXkgPiAueGwtMTEsIC5ncmlkLXkgPiAueGwtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIC8qIGxpbmUgMjk5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQteSA+IC5zbS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAvKiBsaW5lIDMwNCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLXkgPiAuc20tc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLyogbGluZSAzMTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC15ID4gLnNtLTEge1xuICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgLyogbGluZSAzMTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC15ID4gLnNtLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gIC8qIGxpbmUgMzEyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQteSA+IC5zbS0zIHtcbiAgICBoZWlnaHQ6IDI1JTsgfVxuICAvKiBsaW5lIDMxMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLXkgPiAuc20tNCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgLyogbGluZSAzMTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC15ID4gLnNtLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gIC8qIGxpbmUgMzEyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQteSA+IC5zbS02IHtcbiAgICBoZWlnaHQ6IDUwJTsgfVxuICAvKiBsaW5lIDMxMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLXkgPiAuc20tNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgLyogbGluZSAzMTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC15ID4gLnNtLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gIC8qIGxpbmUgMzEyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQteSA+IC5zbS05IHtcbiAgICBoZWlnaHQ6IDc1JTsgfVxuICAvKiBsaW5lIDMxMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLXkgPiAuc20tMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gIC8qIGxpbmUgMzEyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQteSA+IC5zbS0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLyogbGluZSAzMTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC15ID4gLnNtLTEyIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAvKiBsaW5lIDI5OSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQteSA+IC5tZC1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAvKiBsaW5lIDMwNCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQteSA+IC5tZC1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLyogbGluZSAzMTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLXkgPiAubWQtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLyogbGluZSAzMTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLXkgPiAubWQtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC8qIGxpbmUgMzEyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC15ID4gLm1kLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAvKiBsaW5lIDMxMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQteSA+IC5tZC00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLyogbGluZSAzMTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLXkgPiAubWQtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC8qIGxpbmUgMzEyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC15ID4gLm1kLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAvKiBsaW5lIDMxMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQteSA+IC5tZC03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLyogbGluZSAzMTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLXkgPiAubWQtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC8qIGxpbmUgMzEyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC15ID4gLm1kLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAvKiBsaW5lIDMxMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQteSA+IC5tZC0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC8qIGxpbmUgMzEyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC15ID4gLm1kLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLyogbGluZSAzMTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLXkgPiAubWQtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAvKiBsaW5lIDI5OSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQteSA+IC5sZy1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAvKiBsaW5lIDMwNCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQteSA+IC5sZy1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLyogbGluZSAzMTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLXkgPiAubGctMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLyogbGluZSAzMTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLXkgPiAubGctMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC8qIGxpbmUgMzEyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC15ID4gLmxnLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAvKiBsaW5lIDMxMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQteSA+IC5sZy00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLyogbGluZSAzMTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLXkgPiAubGctNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC8qIGxpbmUgMzEyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC15ID4gLmxnLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAvKiBsaW5lIDMxMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQteSA+IC5sZy03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLyogbGluZSAzMTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLXkgPiAubGctOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC8qIGxpbmUgMzEyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC15ID4gLmxnLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAvKiBsaW5lIDMxMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQteSA+IC5sZy0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC8qIGxpbmUgMzEyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC15ID4gLmxnLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLyogbGluZSAzMTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLXkgPiAubGctMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gICAgLyogbGluZSAyOTksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLXkgPiAueGwtYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLyogbGluZSAzMDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLXkgPiAueGwtc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC8qIGxpbmUgMzEyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC15ID4gLnhsLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC8qIGxpbmUgMzEyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC15ID4gLnhsLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAvKiBsaW5lIDMxMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQteSA+IC54bC0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLyogbGluZSAzMTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLXkgPiAueGwtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC8qIGxpbmUgMzEyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC15ID4gLnhsLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAvKiBsaW5lIDMxMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQteSA+IC54bC02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLyogbGluZSAzMTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLXkgPiAueGwtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC8qIGxpbmUgMzEyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC15ID4gLnhsLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAvKiBsaW5lIDMxMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQteSA+IC54bC05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLyogbGluZSAzMTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLXkgPiAueGwtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAvKiBsaW5lIDMxMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQteSA+IC54bC0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC8qIGxpbmUgMzEyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC15ID4gLnhsLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi8qIGxpbmUgMzIzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC8qIGxpbmUgMzIzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cblxuLyogbGluZSAzMjgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC8qIGxpbmUgMzI4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG5cbi8qIGxpbmUgMTI4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAvKiBsaW5lIDEyOCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07IH0gfVxuICAvKiBsaW5lIDEzMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLyogbGluZSAxMDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teSA+IC5zbS1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLyogbGluZSAxMDgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teSA+IC5zbS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teSA+IC5zbS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc20tNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teSA+IC5zbS02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc20tNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teSA+IC5zbS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc20tMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teSA+IC5zbS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC8qIGxpbmUgMTA0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZC1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC8qIGxpbmUgMTA4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZC1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1kLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1kLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWQtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1kLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWQtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1kLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWQtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1kLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAvKiBsaW5lIDEwNCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGctYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAvKiBsaW5lIDEwOCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGctc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sZy0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sZy0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGctMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxnLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sZy01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGctNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxnLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sZy04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGctOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxnLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGctMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sZy0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAgIC8qIGxpbmUgMTA0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bC1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC8qIGxpbmUgMTA4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bC1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cblxuLyogbGluZSAzNDIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMHZ3OyB9XG5cbi8qIGxpbmUgMzQ2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogbGluZSAzNTAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLmNlbGwtYmxvY2sge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLyogbGluZSAzNTQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLmNlbGwtYmxvY2steSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLyogbGluZSAzNTksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAvKiBsaW5lIDgxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19mcmFtZS5zY3NzICovXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cblxuLyogbGluZSAzNjYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLnNtLWdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMHZ3OyB9XG5cbi8qIGxpbmUgMzcwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5jZWxsIC5zbS1ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogbGluZSAzNzQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLnNtLWNlbGwtYmxvY2sge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLyogbGluZSAzNzgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLnNtLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAvKiBsaW5lIDgxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19mcmFtZS5zY3NzICovXG4gIC5zbS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cblxuLyogbGluZSAzODIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLnNtLWNlbGwtYmxvY2steSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLyogbGluZSAzNjYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWQtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC8qIGxpbmUgMzcwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmNlbGwgLm1kLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC8qIGxpbmUgMzc0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLm1kLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAvKiBsaW5lIDM3OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5tZC1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAvKiBsaW5lIDgxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19mcmFtZS5zY3NzICovXG4gICAgLm1kLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLyogbGluZSAzODIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWQtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLyogbGluZSAzNjYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubGctZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC8qIGxpbmUgMzcwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmNlbGwgLmxnLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC8qIGxpbmUgMzc0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmxnLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAvKiBsaW5lIDM3OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5sZy1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAvKiBsaW5lIDgxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19mcmFtZS5zY3NzICovXG4gICAgLmxnLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLyogbGluZSAzODIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubGctY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gIC8qIGxpbmUgMzY2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLnhsLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAvKiBsaW5lIDM3MCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5jZWxsIC54bC1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAvKiBsaW5lIDM3NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC54bC1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLyogbGluZSAzNzgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAueGwtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLyogbGluZSA4MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZnJhbWUuc2NzcyAqL1xuICAgIC54bC1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC8qIGxpbmUgMzgyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLnhsLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbi8qIGxpbmUgMzg5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDB2aDsgfVxuXG4vKiBsaW5lIDM5NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uZ3JpZC15LnNtLWdyaWQtZnJhbWUge1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGhlaWdodDogMTAwdmg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLyogbGluZSAzOTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC15Lm1kLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAvKiBsaW5lIDM5NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLXkubGctZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAvKiBsaW5lIDM5NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLXkueGwtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbi8qIGxpbmUgNDAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5jZWxsIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4vKiBsaW5lIDQwNywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uY2VsbCAuZ3JpZC15LnNtLWdyaWQtZnJhbWUge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLyogbGluZSA0MDcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuY2VsbCAuZ3JpZC15Lm1kLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC8qIGxpbmUgNDA3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmNlbGwgLmdyaWQteS5sZy1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgLyogbGluZSA0MDcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuY2VsbCAuZ3JpZC15LnhsLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi8qIGxpbmUgMTI4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAvKiBsaW5lIDEyOCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07IH0gfVxuICAvKiBsaW5lIDEzMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLyogbGluZSAxMDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teSA+IC5zbS1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLyogbGluZSAxMDgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teSA+IC5zbS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teSA+IC5zbS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc20tNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teSA+IC5zbS02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc20tNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teSA+IC5zbS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc20tMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZ3JpZC1tYXJnaW4teSA+IC5zbS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC8qIGxpbmUgMTA0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZC1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC8qIGxpbmUgMTA4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZC1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1kLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1kLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWQtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1kLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWQtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1kLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWQtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1kLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAvKiBsaW5lIDEwNCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGctYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAvKiBsaW5lIDEwOCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGctc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sZy0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sZy0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGctMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxnLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sZy01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGctNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxnLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sZy04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGctOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxnLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGctMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sZy0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAgIC8qIGxpbmUgMTA0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bC1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC8qIGxpbmUgMTA4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bC1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAvKiBsaW5lIDExNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC8qIGxpbmUgMTE2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLyogbGluZSAxMTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cblxuLyogbGluZSA0MTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC8qIGxpbmUgNDE1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLyogbGluZSA0MTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gICAgLyogbGluZSA0MTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuLyogbGluZSA0MTksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLmdyaWQtbWFyZ2luLXkuc20tZ3JpZC1mcmFtZSB7XG4gIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAvKiBsaW5lIDQxOSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5ncmlkLW1hcmdpbi15Lm1kLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC8qIGxpbmUgNDE5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQtbWFyZ2luLXkubGctZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gIC8qIGxpbmUgNDE5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmdyaWQtbWFyZ2luLXkueGwtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuLyogbGluZSAyNTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyAqL1xuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKiBsaW5lIDI4MCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzICovXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbi8qIGxpbmUgMjg5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MgKi9cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuLyogbGluZSAyOTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyAqL1xuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbi8qIGxpbmUgMzAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbi8qIGxpbmUgMzA5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MgKi9cbmgxLCAuaDEsXG5oMiwgLmgyLFxuaDMsIC5oMyxcbmg0LCAuaDQsXG5oNSwgLmg1LFxuaDYsIC5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgLyogbGluZSAzMjEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyAqL1xuICBoMSBzbWFsbCwgLmgxIHNtYWxsLFxuICBoMiBzbWFsbCwgLmgyIHNtYWxsLFxuICBoMyBzbWFsbCwgLmgzIHNtYWxsLFxuICBoNCBzbWFsbCwgLmg0IHNtYWxsLFxuICBoNSBzbWFsbCwgLmg1IHNtYWxsLFxuICBoNiBzbWFsbCwgLmg2IHNtYWxsIHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBjb2xvcjogI2NhY2FjYTsgfVxuXG4vKiBsaW5lIDMzMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzICovXG5oMSwgLmgxIHtcbiAgZm9udC1zaXplOiAxLjVyZW07IH1cblxuLyogbGluZSAzMzIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyAqL1xuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG4vKiBsaW5lIDMzMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzICovXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07IH1cblxuLyogbGluZSAzMzIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyAqL1xuaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuLyogbGluZSAzMzIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyAqL1xuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG5cbi8qIGxpbmUgMzMyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MgKi9cbmg2LCAuaDYge1xuICBmb250LXNpemU6IDFyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLyogbGluZSAzMzIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyAqL1xuICBoMSwgLmgxIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLyogbGluZSAzMzIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyAqL1xuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTsgfVxuICAvKiBsaW5lIDMzMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzICovXG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMS45Mzc1cmVtOyB9XG4gIC8qIGxpbmUgMzMyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MgKi9cbiAgaDQsIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07IH1cbiAgLyogbGluZSAzMzIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyAqL1xuICBoNSwgLmg1IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLyogbGluZSAzMzIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyAqL1xuICBoNiwgLmg2IHtcbiAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG4vKiBsaW5lIDM3MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzICovXG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjZjc5NDFkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAvKiBsaW5lIDM3OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzICovXG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjZTU4MTA4OyB9XG4gIC8qIGxpbmUgMzg2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MgKi9cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG4vKiBsaW5lIDM5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzICovXG5ociB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtd2lkdGg6IDc4Ljc1cmVtO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4vKiBsaW5lIDQwNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzICovXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi8qIGxpbmUgNDE1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MgKi9cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbi8qIGxpbmUgNDIwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MgKi9cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG4vKiBsaW5lIDQyNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzICovXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbi8qIGxpbmUgNDMyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MgKi9cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogbGluZSA0MzksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyAqL1xuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC8qIGxpbmUgNDQyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MgKi9cbiAgZGwgZHQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi8qIGxpbmUgNDQ5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MgKi9cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAxLjg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cbiAgLyogbGluZSA0NTQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyAqL1xuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICM1ODU5NWI7IH1cblxuLyogbGluZSA0NjEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyAqL1xuY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgY29sb3I6ICM4YThhOGE7IH1cbiAgLyogbGluZSA0NjYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyAqL1xuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJQgXCI7IH1cblxuLyogbGluZSA0NzIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyAqL1xuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwYTBhMGE7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qIGxpbmUgNDc5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MgKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBsaW5lIDQ4NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzICovXG5jb2RlIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi8qIGxpbmUgNDk2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MgKi9cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuLyogbGluZSA0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzICovXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjOGE4YThhOyB9XG5cbi8qIGxpbmUgNTgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyAqL1xuLmxlYWQge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4vKiBsaW5lIDY0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MgKi9cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC8qIGxpbmUgNjgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyAqL1xuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbi8qIGxpbmUgNzUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyAqL1xudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKiBsaW5lIDEwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyAqL1xuLnNtLXRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLyogbGluZSAxMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MgKi9cbi5zbS10ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLyogbGluZSAxMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MgKi9cbi5zbS10ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKiBsaW5lIDEwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyAqL1xuLnNtLXRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLyogbGluZSAxMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MgKi9cbiAgLm1kLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAvKiBsaW5lIDEwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyAqL1xuICAubWQtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLyogbGluZSAxMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MgKi9cbiAgLm1kLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLyogbGluZSAxMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MgKi9cbiAgLm1kLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC8qIGxpbmUgMTAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzICovXG4gIC5sZy10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLyogbGluZSAxMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MgKi9cbiAgLmxnLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC8qIGxpbmUgMTAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzICovXG4gIC5sZy10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC8qIGxpbmUgMTAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzICovXG4gIC5sZy10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgLyogbGluZSAxMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MgKi9cbiAgLnhsLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAvKiBsaW5lIDEwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyAqL1xuICAueGwtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLyogbGluZSAxMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MgKi9cbiAgLnhsLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLyogbGluZSAxMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MgKi9cbiAgLnhsLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi8qIGxpbmUgMTI1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzICovXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzLjA2MjVyZW07XG4gIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDAuNjI1cmVtIDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICAvKiBsaW5lIDExMSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyAqL1xuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmNzk0MWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbi8qIGxpbmUgMTMyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzICovXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICAvKiBsaW5lIDEzNSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyAqL1xuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qIGxpbmUgMTQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzICovXG5pbnB1dDo6cGxhY2Vob2xkZXIsXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OTsgfVxuXG4vKiBsaW5lIDE0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyAqL1xuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4vKiBsaW5lIDE1NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyAqL1xuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4vKiBsaW5lIDE2MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLyogbGluZSAxMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MgKi9cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbTsgfVxuXG4vKiBsaW5lIDE3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyAqL1xuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgLyogbGluZSAyOCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MgKi9cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKiBsaW5lIDM0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyAqL1xubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG5cbi8qIGxpbmUgNDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzICovXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogbGluZSA0MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MgKi9cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLyogbGluZSA0NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MgKi9cbiAgbGFiZWwubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuICAgIHBhZGRpbmc6IDAuNjg3NXJlbSAwOyB9XG5cbi8qIGxpbmUgMjIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyAqL1xuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuLyogbGluZSAyNywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MgKi9cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAvKiBsaW5lIDM2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyAqL1xuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLyogbGluZSA0MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MgKi9cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi8qIGxpbmUgNDcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzICovXG4uaW5wdXQtZ3JvdXAtbGFiZWwsIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWJ1dHRvbiwgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKiBsaW5lIDU3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyAqL1xuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAvKiBsaW5lIDc4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyAqL1xuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAvKiBsaW5lIDgyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyAqL1xuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLyogbGluZSA4OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MgKi9cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi8qIGxpbmUgMTAyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyAqL1xuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuICAvKiBsaW5lIDExNywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MgKi9cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi8qIGxpbmUgMzksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzICovXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qIGxpbmUgNDUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzICovXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG5cbi8qIGxpbmUgNTAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzICovXG4uZmllbGRzZXQge1xuICBtYXJnaW46IDEuMTI1cmVtIDA7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgLyogbGluZSAzMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MgKi9cbiAgLmZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMC4xODc1cmVtOyB9XG5cbi8qIGxpbmUgODMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyAqL1xuc2VsZWN0IHtcbiAgaGVpZ2h0OiAzLjA2MjVyZW07XG4gIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDAuNjI1cmVtIDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODEzOCwgMTM4LCAxMzglMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTEuMjVyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgLyogbGluZSA4MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzICovXG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuICAvKiBsaW5lIDU0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MgKi9cbiAgc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmNzk0MWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIC8qIGxpbmUgNjYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyAqL1xuICBzZWxlY3Q6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAvKiBsaW5lIDcyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MgKi9cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC8qIGxpbmUgNzYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyAqL1xuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG4vKiBsaW5lIDQ1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyAqL1xuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNjYzRiMzc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWVjZWE7IH1cbiAgLyogbGluZSA0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MgKi9cbiAgLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2NjNGIzNzsgfVxuXG4vKiBsaW5lIDc1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyAqL1xuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2NjNGIzNzsgfVxuXG4vKiBsaW5lIDgxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyAqL1xuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLyogbGluZSA4NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MgKi9cbiAgLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogbGluZSAyNjIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjc5NDFkO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAvKiBsaW5lIDIwMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MgKi9cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLyogbGluZSAxNTAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMzdmMDg7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLyogbGluZSAyNjcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gIC5idXR0b24udGlueSB7XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuICAvKiBsaW5lIDI2NywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgLmJ1dHRvbi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuICAvKiBsaW5lIDI3MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgLmJ1dHRvbi5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC8qIGxpbmUgMjc3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyAqL1xuICAuYnV0dG9uLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNzk0MWQ7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAvKiBsaW5lIDE1MCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgICAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDU3ODA4O1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLyogbGluZSAyNzcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gIC5idXR0b24uc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTg1OTViO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLyogbGluZSAxNTAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0NjQ3NDk7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAvKiBsaW5lIDI3NywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgLmJ1dHRvbi50ZXJ0aWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2MyYzJjMjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC8qIGxpbmUgMTUwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyAqL1xuICAgIC5idXR0b24udGVydGlhcnk6aG92ZXIsIC5idXR0b24udGVydGlhcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzliOWI5YjtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC8qIGxpbmUgMjc3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyAqL1xuICAuYnV0dG9uLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAvKiBsaW5lIDE1MCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgICAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLyogbGluZSAyNzcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gIC5idXR0b24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC8qIGxpbmUgMTUwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyAqL1xuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAvKiBsaW5lIDI3NywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgLmJ1dHRvbi5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC8qIGxpbmUgMTUwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyAqL1xuICAgIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC8qIGxpbmUgMjkzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyAqL1xuICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLyogbGluZSAyMDcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjc5NDFkO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAvKiBsaW5lIDI5OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC8qIGxpbmUgMjA3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyAqL1xuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNzk0MWQ7XG4gICAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLyogbGluZSAyOTgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLyogbGluZSAyMDcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU4NTk1YjtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAvKiBsaW5lIDI5OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgICAuYnV0dG9uLmRpc2FibGVkLnRlcnRpYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS50ZXJ0aWFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLyogbGluZSAyMDcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnRlcnRpYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnRlcnRpYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnRlcnRpYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS50ZXJ0aWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0udGVydGlhcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnRlcnRpYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2MyYzJjMjtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAvKiBsaW5lIDI5OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3Mge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC8qIGxpbmUgMjA3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyAqL1xuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLyogbGluZSAyOTgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAvKiBsaW5lIDIwNywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC8qIGxpbmUgMjk4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyAqL1xuICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAvKiBsaW5lIDIwNywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAvKiBsaW5lIDMwNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgLmJ1dHRvbi5ob2xsb3cge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmNzk0MWQ7XG4gICAgY29sb3I6ICNmNzk0MWQ7IH1cbiAgICAvKiBsaW5lIDE1OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgICAuYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLyogbGluZSAxNjUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC8qIGxpbmUgMTgyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyAqL1xuICAgIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICM4NTRiMDU7XG4gICAgICBjb2xvcjogIzg1NGIwNTsgfVxuICAgICAgLyogbGluZSAxODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgICAuYnV0dG9uLmhvbGxvdzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3c6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2Y3OTQxZDtcbiAgICAgICAgY29sb3I6ICNmNzk0MWQ7IH1cbiAgICAvKiBsaW5lIDMxMSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmNzk0MWQ7XG4gICAgICBjb2xvcjogI2Y3OTQxZDsgfVxuICAgICAgLyogbGluZSAxODIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODU0YjA1O1xuICAgICAgICBjb2xvcjogIzg1NGIwNTsgfVxuICAgICAgICAvKiBsaW5lIDE4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjc5NDFkO1xuICAgICAgICAgIGNvbG9yOiAjZjc5NDFkOyB9XG4gICAgLyogbGluZSAzMTEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM1ODU5NWI7XG4gICAgICBjb2xvcjogIzU4NTk1YjsgfVxuICAgICAgLyogbGluZSAxODIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzJjMmQyZTtcbiAgICAgICAgY29sb3I6ICMyYzJkMmU7IH1cbiAgICAgICAgLyogbGluZSAxODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNTg1OTViO1xuICAgICAgICAgIGNvbG9yOiAjNTg1OTViOyB9XG4gICAgLyogbGluZSAzMTEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgLmJ1dHRvbi5ob2xsb3cudGVydGlhcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MyYzJjMjtcbiAgICAgIGNvbG9yOiAjYzJjMmMyOyB9XG4gICAgICAvKiBsaW5lIDE4MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgICAgIC5idXR0b24uaG9sbG93LnRlcnRpYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy50ZXJ0aWFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzYxNjE2MTtcbiAgICAgICAgY29sb3I6ICM2MTYxNjE7IH1cbiAgICAgICAgLyogbGluZSAxODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgICAgIC5idXR0b24uaG9sbG93LnRlcnRpYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy50ZXJ0aWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnRlcnRpYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy50ZXJ0aWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMmMyYzI7XG4gICAgICAgICAgY29sb3I6ICNjMmMyYzI7IH1cbiAgICAvKiBsaW5lIDMxMSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgICAgLyogbGluZSAxODIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgICAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAgICAgICAvKiBsaW5lIDE4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgLyogbGluZSAzMTEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC8qIGxpbmUgMTgyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyAqL1xuICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICAgICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgICAgICAgLyogbGluZSAxODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgIC8qIGxpbmUgMzExLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyAqL1xuICAgIC5idXR0b24uaG9sbG93LmFsZXJ0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgICAgLyogbGluZSAxODIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2NzI1MWE7XG4gICAgICAgIGNvbG9yOiAjNjcyNTFhOyB9XG4gICAgICAgIC8qIGxpbmUgMTg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyAqL1xuICAgICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC8qIGxpbmUgMzIwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyAqL1xuICAuYnV0dG9uLmNsZWFyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjc5NDFkO1xuICAgIGNvbG9yOiAjZjc5NDFkOyB9XG4gICAgLyogbGluZSAxNTgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC8qIGxpbmUgMTY1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyAqL1xuICAgIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAvKiBsaW5lIDE4MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgICAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzg1NGIwNTtcbiAgICAgIGNvbG9yOiAjODU0YjA1OyB9XG4gICAgICAvKiBsaW5lIDE4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgICAgIC5idXR0b24uY2xlYXI6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmNzk0MWQ7XG4gICAgICAgIGNvbG9yOiAjZjc5NDFkOyB9XG4gICAgLyogbGluZSAzMjUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLyogbGluZSAzMzEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmNzk0MWQ7XG4gICAgICBjb2xvcjogI2Y3OTQxZDsgfVxuICAgICAgLyogbGluZSAxODIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzg1NGIwNTtcbiAgICAgICAgY29sb3I6ICM4NTRiMDU7IH1cbiAgICAgICAgLyogbGluZSAxODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjc5NDFkO1xuICAgICAgICAgIGNvbG9yOiAjZjc5NDFkOyB9XG4gICAgICAvKiBsaW5lIDMzNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLyogbGluZSAzMzEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzU4NTk1YjtcbiAgICAgIGNvbG9yOiAjNTg1OTViOyB9XG4gICAgICAvKiBsaW5lIDE4MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzJjMmQyZTtcbiAgICAgICAgY29sb3I6ICMyYzJkMmU7IH1cbiAgICAgICAgLyogbGluZSAxODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM1ODU5NWI7XG4gICAgICAgICAgY29sb3I6ICM1ODU5NWI7IH1cbiAgICAgIC8qIGxpbmUgMzM2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyAqL1xuICAgICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnksIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAvKiBsaW5lIDMzMSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgICAuYnV0dG9uLmNsZWFyLnRlcnRpYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMmMyYzI7XG4gICAgICBjb2xvcjogI2MyYzJjMjsgfVxuICAgICAgLyogbGluZSAxODIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgICAuYnV0dG9uLmNsZWFyLnRlcnRpYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnRlcnRpYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjE2MTYxO1xuICAgICAgICBjb2xvcjogIzYxNjE2MTsgfVxuICAgICAgICAvKiBsaW5lIDE4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgICAgICAgLmJ1dHRvbi5jbGVhci50ZXJ0aWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci50ZXJ0aWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIudGVydGlhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIudGVydGlhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzJjMmMyO1xuICAgICAgICAgIGNvbG9yOiAjYzJjMmMyOyB9XG4gICAgICAvKiBsaW5lIDMzNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgICAgIC5idXR0b24uY2xlYXIudGVydGlhcnksIC5idXR0b24uY2xlYXIudGVydGlhcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIudGVydGlhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnRlcnRpYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnRlcnRpYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnRlcnRpYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci50ZXJ0aWFyeTpmb2N1cywgLmJ1dHRvbi5jbGVhci50ZXJ0aWFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci50ZXJ0aWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLyogbGluZSAzMzEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgICAgLyogbGluZSAxODIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICAgICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgICAgICAgLyogbGluZSAxODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgICAgIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAvKiBsaW5lIDMzNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgICAgIC5idXR0b24uY2xlYXIuc3VjY2VzcywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLyogbGluZSAzMzEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLyogbGluZSAxODIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICAgICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgICAgICAgLyogbGluZSAxODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgICAgIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAvKiBsaW5lIDMzNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgICAgIC5idXR0b24uY2xlYXIud2FybmluZywgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLyogbGluZSAzMzEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgLmJ1dHRvbi5jbGVhci5hbGVydCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC8qIGxpbmUgMTgyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyAqL1xuICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzY3MjUxYTtcbiAgICAgICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgICAgICAgLyogbGluZSAxODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgICAgLyogbGluZSAzMzYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0LCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAvKiBsaW5lIDIyMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNGVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cbiAgLyogbGluZSAzNTgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2Y3OTQxZDsgfVxuICAvKiBsaW5lIDM2NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmNzk0MWQ7IH1cbiAgLyogbGluZSAzNjQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM1ODU5NWI7IH1cbiAgLyogbGluZSAzNjQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnRlcnRpYXJ5OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2MyYzJjMjsgfVxuICAvKiBsaW5lIDM2NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MgKi9cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMzYWRiNzY7IH1cbiAgLyogbGluZSAzNjQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93Lndhcm5pbmc6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC8qIGxpbmUgMzY0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyAqL1xuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNjYzRiMzc7IH1cbiAgLyogbGluZSAzNzMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzICovXG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIHRvcDogLTAuMWVtO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi8qIGxpbmUgMzgwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyAqL1xuYS5idXR0b246aG92ZXIsIGEuYnV0dG9uOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qIGxpbmUgODEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MgKi9cbi5hY2NvcmRpb24tbWVudSBsaSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIGxpbmUgOTAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MgKi9cbi5hY2NvcmRpb24tbWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLyogbGluZSA5NywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyAqL1xuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLyogbGluZSAxMDEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MgKi9cbi5hY2NvcmRpb24tbWVudSAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuXG4vKiBsaW5lIDEwNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyAqL1xuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi8qIGxpbmUgNTQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MgKi9cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLyogbGluZSA1NywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyAqL1xuICAuYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjc5NDFkIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi8qIGxpbmUgNjUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MgKi9cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxcmVtOyB9XG5cbi8qIGxpbmUgNjksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MgKi9cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTsgfVxuXG4vKiBsaW5lIDExNCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyAqL1xuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi8qIGxpbmUgMTI4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzICovXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qIGxpbmUgMTMyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzICovXG4uaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gIG1hcmdpbi1yaWdodDogNDBweDsgfVxuXG4vKiBsaW5lIDEzNywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyAqL1xuLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7IH1cbiAgLyogbGluZSAxNTMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MgKi9cbiAgLnN1Ym1lbnUtdG9nZ2xlOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjc5NDFkIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG5cbi8qIGxpbmUgMTYzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzICovXG4uc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4vKiBsaW5lIDE2OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyAqL1xuLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qIGxpbmUgODksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyAqL1xuLmNhbGxvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAjMzMzMzMzOyB9XG4gIC8qIGxpbmUgNTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyAqL1xuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAvKiBsaW5lIDU5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MgKi9cbiAgLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAvKiBsaW5lIDkzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MgKi9cbiAgLmNhbGxvdXQucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZWZkZDtcbiAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAvKiBsaW5lIDkzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MgKi9cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU3O1xuICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gIC8qIGxpbmUgOTMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyAqL1xuICAuY2FsbG91dC50ZXJ0aWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcbiAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAvKiBsaW5lIDkzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MgKi9cbiAgLmNhbGxvdXQuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZmFlYTtcbiAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAvKiBsaW5lIDkzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MgKi9cbiAgLmNhbGxvdXQud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNkOTtcbiAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAvKiBsaW5lIDkzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MgKi9cbiAgLmNhbGxvdXQuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2U0ZTE7XG4gICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgLyogbGluZSA5OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzICovXG4gIC5jYWxsb3V0LnNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC8qIGxpbmUgMTAyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MgKi9cbiAgLmNhbGxvdXQubGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9XG5cbi8qIGxpbmUgOTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzICovXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC8qIGxpbmUgMjAyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyAqL1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAvKiBsaW5lIDg5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyAqL1xuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAvKiBsaW5lIDk5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyAqL1xuICAuY2xvc2UtYnV0dG9uLnNtYWxsIHtcbiAgICByaWdodDogMC42NnJlbTtcbiAgICB0b3A6IDAuMzNlbTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC8qIGxpbmUgMTAwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyAqL1xuICAuY2xvc2UtYnV0dG9uLCAuY2xvc2UtYnV0dG9uLm1lZGl1bSB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdG9wOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLyogbGluZSAzNjEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyAqL1xuLm1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC8qIGxpbmUgMjAyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyAqL1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1lbnUgbGkge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLyogbGluZSA3MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzICovXG4gIC5tZW51IGEsXG4gIC5tZW51IC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICAvKiBsaW5lIDgxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MgKi9cbiAgLm1lbnUgaW5wdXQsXG4gIC5tZW51IHNlbGVjdCxcbiAgLm1lbnUgYSxcbiAgLm1lbnUgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC8qIGxpbmUgODgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyAqL1xuICAubWVudSBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC8qIGxpbmUgMzY1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MgKi9cbiAgLm1lbnUsIC5tZW51Lmhvcml6b250YWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC8qIGxpbmUgMzcwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MgKi9cbiAgLm1lbnUudmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLyogbGluZSA5NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzICovXG4gIC5tZW51LmV4cGFuZGVkIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC8qIGxpbmUgMzgwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MgKi9cbiAgLm1lbnUuc2ltcGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLyogbGluZSAyMTQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyAqL1xuICAgIC5tZW51LnNpbXBsZSBsaSArIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gICAgLyogbGluZSAyMTgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyAqL1xuICAgIC5tZW51LnNpbXBsZSBhIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLyogbGluZSAzODYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyAqL1xuICAubWVudS5zbS1ob3Jpem9udGFsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAvKiBsaW5lIDM5MCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzICovXG4gIC5tZW51LnNtLXZlcnRpY2FsIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC8qIGxpbmUgOTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyAqL1xuICAubWVudS5zbS1leHBhbmRlZCBsaSB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAvKiBsaW5lIDk2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MgKi9cbiAgLm1lbnUuc20tc2ltcGxlIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLyogbGluZSAzODYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyAqL1xuICAgIC5tZW51Lm1kLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC8qIGxpbmUgMzkwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MgKi9cbiAgICAubWVudS5tZC12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAvKiBsaW5lIDk2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MgKi9cbiAgICAubWVudS5tZC1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLyogbGluZSA5NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzICovXG4gICAgLm1lbnUubWQtc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC8qIGxpbmUgMzg2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MgKi9cbiAgICAubWVudS5sZy1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAvKiBsaW5lIDM5MCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzICovXG4gICAgLm1lbnUubGctdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLyogbGluZSA5NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzICovXG4gICAgLm1lbnUubGctZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC8qIGxpbmUgOTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyAqL1xuICAgIC5tZW51LmxnLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gICAgLyogbGluZSAzODYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyAqL1xuICAgIC5tZW51LnhsLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC8qIGxpbmUgMzkwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MgKi9cbiAgICAubWVudS54bC12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAvKiBsaW5lIDk2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MgKi9cbiAgICAubWVudS54bC1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLyogbGluZSA5NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzICovXG4gICAgLm1lbnUueGwtc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICAvKiBsaW5lIDQwNCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzICovXG4gIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC8qIGxpbmUgMjQ0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MgKi9cbiAgLm1lbnUuaWNvbnMgYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAvKiBsaW5lIDI0NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzICovXG4gIC5tZW51Lmljb24tdG9wIGEsIC5tZW51Lmljb24tcmlnaHQgYSwgLm1lbnUuaWNvbi1ib3R0b20gYSwgLm1lbnUuaWNvbi1sZWZ0IGEge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLyogbGluZSAyNjQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyAqL1xuICAubWVudS5pY29uLWxlZnQgbGkgYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLyogbGluZSAyNjksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyAqL1xuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIHN2ZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgLyogbGluZSAyODEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyAqL1xuICAubWVudS5pY29uLXJpZ2h0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC8qIGxpbmUgMjg2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MgKi9cbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgLyogbGluZSAyOTgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyAqL1xuICAubWVudS5pY29uLXRvcCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAvKiBsaW5lIDMwNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzICovXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgc3ZnIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC8qIGxpbmUgMzIyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MgKi9cbiAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLyogbGluZSAzMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyAqL1xuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaSxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAvKiBsaW5lIDQ0NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzICovXG4gIC5tZW51IC5pcy1hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjc5NDFkO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC8qIGxpbmUgNDUwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MgKi9cbiAgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICNmNzk0MWQ7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLyogbGluZSA0NTYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyAqL1xuICAubWVudS5hbGlnbi1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLyogbGluZSAxMjMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyAqL1xuICAubWVudS5hbGlnbi1yaWdodCBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLyogbGluZSAxMjcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyAqL1xuICAgIC5tZW51LmFsaWduLXJpZ2h0IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAvKiBsaW5lIDEzMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzICovXG4gIC5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC8qIGxpbmUgMTM2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MgKi9cbiAgICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSAuc3VibWVudSBsaSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAvKiBsaW5lIDQ2NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzICovXG4gIC5tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAvKiBsaW5lIDE1NywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzICovXG4gIC5tZW51LmFsaWduLWNlbnRlciBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC8qIGxpbmUgMTYxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MgKi9cbiAgICAubWVudS5hbGlnbi1jZW50ZXIgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC8qIGxpbmUgNDc0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MgKi9cbiAgLm1lbnUgLm1lbnUtdGV4dCB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLyogbGluZSA0ODEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyAqL1xuLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC8qIGxpbmUgMTU3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MgKi9cbiAgLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC8qIGxpbmUgMTYxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MgKi9cbiAgICAubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4vKiBsaW5lIDQ5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzICovXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogbGluZSA3MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MgKi9cbi5pcy1kcmlsbGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLyogbGluZSA3NywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MgKi9cbiAgLmlzLWRyaWxsZG93biBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLyogbGluZSA4MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MgKi9cbiAgLmlzLWRyaWxsZG93bi5hbmltYXRlLWhlaWdodCB7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7IH1cblxuLyogbGluZSA4OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MgKi9cbi5kcmlsbGRvd24gYSB7XG4gIHBhZGRpbmc6IDEuMDYyNXJlbTtcbiAgYmFja2dyb3VuZDogIzU4NTk1YjsgfVxuXG4vKiBsaW5lIDk0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyAqL1xuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjNTg1OTViO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyOyB9XG4gIC8qIGxpbmUgMTA0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyAqL1xuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAvKiBsaW5lIDExMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MgKi9cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtY2xvc2luZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gIC8qIGxpbmUgMTE1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyAqL1xuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSBhIHtcbiAgICBwYWRkaW5nOiAxLjA2MjVyZW07IH1cblxuLyogbGluZSAxMjAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzICovXG4uZHJpbGxkb3duIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi8qIGxpbmUgMTI0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyAqL1xuLmRyaWxsZG93biAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICBtaW4taGVpZ2h0OiAxMDAlOyB9XG5cbi8qIGxpbmUgNDYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzICovXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC8qIGxpbmUgNDgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzICovXG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICByaWdodDogMXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHdoaXRlOyB9XG5cbi8qIGxpbmUgNTcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzICovXG4uZHJpbGxkb3duLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDFyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmNzk0MWQ7IH1cblxuLyogbGluZSA2MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MgKi9cbi5kcmlsbGRvd24uYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNmNzk0MWQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cblxuLyogbGluZSAxMzEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzICovXG4uZHJpbGxkb3duIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHdoaXRlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG5cbi8qIGxpbmUgNDgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyAqL1xuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNTAlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC8qIGxpbmUgMzUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyAqL1xuICAucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUsXG4gIC5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4gIC5yZXNwb25zaXZlLWVtYmVkIHZpZGVvLFxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC8qIGxpbmUgNTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyAqL1xuICAucmVzcG9uc2l2ZS1lbWJlZC5uaWNlLFxuICAuZmxleC12aWRlby5uaWNlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzUlOyB9XG4gIC8qIGxpbmUgNTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyAqL1xuICAucmVzcG9uc2l2ZS1lbWJlZC52ZXJ0aWNhbCxcbiAgLmZsZXgtdmlkZW8udmVydGljYWwge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNzcuNzc3NzglOyB9XG4gIC8qIGxpbmUgNTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyAqL1xuICAucmVzcG9uc2l2ZS1lbWJlZC5wYW5vcmFtYSxcbiAgLmZsZXgtdmlkZW8ucGFub3JhbWEge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMS42NDA2MiU7IH1cbiAgLyogbGluZSA1NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzICovXG4gIC5yZXNwb25zaXZlLWVtYmVkLnNxdWFyZSxcbiAgLmZsZXgtdmlkZW8uc3F1YXJlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTsgfVxuXG4vKiBsaW5lIDUxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzICovXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYmFja2dyb3VuZDogI2Y3OTQxZDtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLyogbGluZSA1OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyAqL1xuICAubGFiZWwucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogI2Y3OTQxZDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAvKiBsaW5lIDU4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzICovXG4gIC5sYWJlbC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICM1ODU5NWI7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLyogbGluZSA1OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyAqL1xuICAubGFiZWwudGVydGlhcnkge1xuICAgIGJhY2tncm91bmQ6ICNjMmMyYzI7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLyogbGluZSA1OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyAqL1xuICAubGFiZWwuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAvKiBsaW5lIDU4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzICovXG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC8qIGxpbmUgNTgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MgKi9cbiAgLmxhYmVsLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi8qIGxpbmUgOTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogbGluZSA5NywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDExO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQsIHZpc2liaWxpdHkgMC4zcyBlYXNlLWluLW91dDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjI1KTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC8qIGxpbmUgMTE1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy12aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLyogbGluZSAxMjAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLWNsb3NhYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLyogbGluZSAxMjQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAvKiBsaW5lIDEyOCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi8qIGxpbmUgNDQyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbi5vZmYtY2FudmFzLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogbGluZSA0NDcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuLm9mZi1jYW52YXMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMzMzOyB9XG4gIC8qIGxpbmUgMjAyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyAqL1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLyogbGluZSAxNTksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC8qIGxpbmUgMTc0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxMzsgfVxuICAgIC8qIGxpbmUgMTc3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC8qIGxpbmUgMTgzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLyogbGluZSA0NTgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMzMzOyB9XG4gIC8qIGxpbmUgMjAyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyAqL1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLyogbGluZSAxNTksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC8qIGxpbmUgMTc0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxMzsgfVxuICAgIC8qIGxpbmUgMTc3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC8qIGxpbmUgMTgzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLyogbGluZSA0NjMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuLnBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDI4NXB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI4NXB4KTsgfVxuICAvKiBsaW5lIDIwOCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yODVweCk7IH1cbiAgICAvKiBsaW5lIDIxNSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC8qIGxpbmUgMjIyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI4NXB4KTsgfVxuICAvKiBsaW5lIDM0NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gIC5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgLTEzcHggMCAyMHB4IC0xM3B4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7IH1cblxuLyogbGluZSA0NjQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuLnBvc2l0aW9uLXJpZ2h0IHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMjg1cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyODVweCk7IH1cbiAgLyogbGluZSAyNDUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjg1cHgpOyB9XG4gICAgLyogbGluZSAyNTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLyogbGluZSAyNTksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tcmlnaHQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yODVweCk7IH1cbiAgLyogbGluZSAzNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAxM3B4IDAgMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi8qIGxpbmUgNDY1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbi5wb3NpdGlvbi10b3Age1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAvKiBsaW5lIDQ2NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgLnBvc2l0aW9uLXRvcCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9IH1cbiAgLyogbGluZSAyODIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAvKiBsaW5lIDI4MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH0gfVxuICAgIC8qIGxpbmUgMjg4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAvKiBsaW5lIDI5NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi10b3AuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC8qIGxpbmUgMjk1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi10b3AuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfSB9XG4gIC8qIGxpbmUgMzQ0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTEzcHggMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi8qIGxpbmUgNDY2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbi5wb3NpdGlvbi1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC8qIGxpbmUgNDY2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgICAucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfSB9XG4gIC8qIGxpbmUgMzE4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAvKiBsaW5lIDMxOCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfSB9XG4gICAgLyogbGluZSAzMjQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC8qIGxpbmUgMzMxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWJvdHRvbS5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC8qIGxpbmUgMzMxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1ib3R0b20uaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH0gfVxuICAvKiBsaW5lIDM0NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gIC5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDEzcHggMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi8qIGxpbmUgNDY4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLyogbGluZSAzNjksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC8qIGxpbmUgMzc0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4vKiBsaW5lIDQ3NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4ucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXNtIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAvKiBsaW5lIDM5NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3Itc20gLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBsaW5lIDQwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1zbSB7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9XG4gIC8qIGxpbmUgNDA0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyODVweDsgfVxuICAvKiBsaW5lIDQwOSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3Itc20gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tbGVmdDogMjg1cHg7IH1cblxuLyogbGluZSA0ODAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3Itc20ge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC8qIGxpbmUgMzk1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3Itc20gLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBsaW5lIDQwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3Itc20ge1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAvKiBsaW5lIDQwNCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyODVweDsgfVxuICAvKiBsaW5lIDQwOSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXNtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyODVweDsgfVxuXG4vKiBsaW5lIDQ4NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4ucG9zaXRpb24tdG9wLnJldmVhbC1mb3Itc20ge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC8qIGxpbmUgMzk1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXNtIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSA0MDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1zbSB7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9XG4gIC8qIGxpbmUgNDA0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMjg1cHg7IH1cbiAgLyogbGluZSA0MDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3Itc20gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAyODVweDsgfVxuXG4vKiBsaW5lIDQ4OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4ucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3Itc20ge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC8qIGxpbmUgMzk1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXNtIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSA0MDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1zbSB7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9XG4gIC8qIGxpbmUgNDA0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjg1cHg7IH1cbiAgLyogbGluZSA0MDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3Itc20gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyODVweDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAvKiBsaW5lIDQ3NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWQge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAvKiBsaW5lIDM5NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZCAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDQwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1kIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC8qIGxpbmUgNDA0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjg1cHg7IH1cbiAgICAvKiBsaW5lIDQwOSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZCB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI4NXB4OyB9XG4gIC8qIGxpbmUgNDgwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWQge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAvKiBsaW5lIDM5NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWQgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLyogbGluZSA0MDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWQge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLyogbGluZSA0MDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI4NXB4OyB9XG4gICAgLyogbGluZSA0MDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1kIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI4NXB4OyB9XG4gIC8qIGxpbmUgNDg0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1kIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLyogbGluZSAzOTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZCAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDQwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWQge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLyogbGluZSA0MDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjg1cHg7IH1cbiAgICAvKiBsaW5lIDQwOSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1kIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyODVweDsgfVxuICAvKiBsaW5lIDQ4OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZCB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC8qIGxpbmUgMzk1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWQgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLyogbGluZSA0MDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1kIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC8qIGxpbmUgNDA0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI4NXB4OyB9XG4gICAgLyogbGluZSA0MDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZCB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjg1cHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAvKiBsaW5lIDQ3NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGcge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAvKiBsaW5lIDM5NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sZyAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDQwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxnIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC8qIGxpbmUgNDA0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjg1cHg7IH1cbiAgICAvKiBsaW5lIDQwOSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sZyB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI4NXB4OyB9XG4gIC8qIGxpbmUgNDgwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGcge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAvKiBsaW5lIDM5NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGcgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLyogbGluZSA0MDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGcge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLyogbGluZSA0MDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI4NXB4OyB9XG4gICAgLyogbGluZSA0MDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxnIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI4NXB4OyB9XG4gIC8qIGxpbmUgNDg0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxnIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLyogbGluZSAzOTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sZyAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDQwMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGcge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLyogbGluZSA0MDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjg1cHg7IH1cbiAgICAvKiBsaW5lIDQwOSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxnIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyODVweDsgfVxuICAvKiBsaW5lIDQ4OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sZyB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC8qIGxpbmUgMzk1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGcgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLyogbGluZSA0MDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxnIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC8qIGxpbmUgNDA0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI4NXB4OyB9XG4gICAgLyogbGluZSA0MDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sZyB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjg1cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgLyogbGluZSA0NzYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLyogbGluZSAzOTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGwgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLyogbGluZSA0MDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bCB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAvKiBsaW5lIDQwNCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI4NXB4OyB9XG4gICAgLyogbGluZSA0MDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGwgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyODVweDsgfVxuICAvKiBsaW5lIDQ4MCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLyogbGluZSAzOTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC8qIGxpbmUgNDAwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC8qIGxpbmUgNDA0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyODVweDsgfVxuICAgIC8qIGxpbmUgNDA5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14bCB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyODVweDsgfVxuICAvKiBsaW5lIDQ4NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bCB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC8qIGxpbmUgMzk1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGwgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLyogbGluZSA0MDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC8qIGxpbmUgNDA0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDI4NXB4OyB9XG4gICAgLyogbGluZSA0MDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bCB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjg1cHg7IH1cbiAgLyogbGluZSA0ODgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGwge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAvKiBsaW5lIDM5NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC8qIGxpbmUgNDAwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bCB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAvKiBsaW5lIDQwNCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyODVweDsgfVxuICAgIC8qIGxpbmUgNDA5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGwgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI4NXB4OyB9IH1cblxuLyogbGluZSA0OTksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1zbSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgd2lkdGg6IGluaGVyaXQ7XG4gIG92ZXJmbG93OiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gIC8qIGxpbmUgNDI1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1zbS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXNtLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXNtLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1zbS5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9XG4gIC8qIGxpbmUgNDMzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1zbSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC8qIGxpbmUgNDk5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZCB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAvKiBsaW5lIDQyNSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZC5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1kLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1kLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZC5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC8qIGxpbmUgNDMzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1kIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC8qIGxpbmUgNDk5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sZyB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAvKiBsaW5lIDQyNSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sZy5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxnLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxnLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sZy5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC8qIGxpbmUgNDMzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxnIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAvKiBsaW5lIDQ5OSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGwge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLyogbGluZSA0MjUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGwucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bC5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bC5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGwucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAvKiBsaW5lIDQzMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bCAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKiBsaW5lIDE2MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzICovXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC8qIGxpbmUgMTcwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyAqL1xuICAucGFnaW5hdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC8qIGxpbmUgMTgxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyAqL1xuICAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC8qIGxpbmUgODMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyAqL1xuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjA2MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDk0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MgKi9cbiAgICAucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLyogbGluZSA4MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzICovXG4gICAgICAucGFnaW5hdGlvbiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIC8qIGxpbmUgMTEyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MgKi9cbiAgLnBhZ2luYXRpb24gYSxcbiAgLnBhZ2luYXRpb24gYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC8qIGxpbmUgMTE5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MgKi9cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC8qIGxpbmUgMTY1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MgKi9cbiAgLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZjc5NDFkO1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAvKiBsaW5lIDE2OSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzICovXG4gIC5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjY2FjYWNhO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAvKiBsaW5lIDE0NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzICovXG4gICAgLnBhZ2luYXRpb24gLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC8qIGxpbmUgMTczLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MgKi9cbiAgLnBhZ2luYXRpb24gLmVsbGlwc2lzOjphZnRlciB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi8qIGxpbmUgMTc5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MgKi9cbi5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbi5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBjb250ZW50OiAnXFwwMGFiJzsgfVxuXG4vKiBsaW5lIDE4NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzICovXG4ucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIGNvbnRlbnQ6ICdcXDAwYmInOyB9XG5cbi8qIGxpbmUgMTI5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyAqL1xuYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogbGluZSAxMzQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzICovXG5odG1sLmlzLXJldmVhbC1vcGVuLFxuaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4vKiBsaW5lIDE0MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MgKi9cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4vKiBsaW5lIDE0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MgKi9cbi5yZXZlYWwge1xuICB6LWluZGV4OiAxMDA2O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3OTQxZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIC8qIGxpbmUgMjAyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyAqL1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gICAgb3V0bGluZTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC8qIGxpbmUgMTQ4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyAqL1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC8qIGxpbmUgODcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzICovXG4gIC5yZXZlYWwgLmNvbHVtbiwgLnJldmVhbCAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC8qIGxpbmUgOTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzICovXG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC8qIGxpbmUgMTQ4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyAqL1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDk4JTtcbiAgICAgIG1heC13aWR0aDogNTEuMjVyZW07IH0gfVxuICAvKiBsaW5lIDE1OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MgKi9cbiAgLnJldmVhbC5jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC8qIGxpbmUgMTYzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyAqL1xuICAgIC5yZXZlYWwudGlueSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWF4LXdpZHRoOiA1MS4yNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLyogbGluZSAxNjQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzICovXG4gICAgLnJldmVhbC5zbWFsbCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MS4yNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLyogbGluZSAxNjUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzICovXG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MS4yNXJlbTsgfSB9XG4gIC8qIGxpbmUgMTY4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyAqL1xuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAvKiBsaW5lIDE0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MgKi9cbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC8qIGxpbmUgMTc2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyAqL1xuICAucmV2ZWFsLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi8qIGxpbmUgMzA1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC8qIGxpbmUgMTExLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzICovXG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogc29saWQgI2MyYzJjMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOyB9XG4gIC8qIGxpbmUgMTE5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzICovXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAxLjI1cmVtIDAuMzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLyogbGluZSAxMjUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MgKi9cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XG4gICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgLyogbGluZSAxMzEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MgKi9cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNlZWVlZWU7XG4gICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgLyogbGluZSAxNDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MgKi9cbiAgdGhlYWQgdHIsXG4gIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAvKiBsaW5lIDE0NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyAqL1xuICB0aGVhZCB0aCxcbiAgdGhlYWQgdGQsXG4gIHRmb290IHRoLFxuICB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMC4zMTI1cmVtIDEuMjVyZW0gMC4zNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC8qIGxpbmUgMTU1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzICovXG4gIHRib2R5IHRoLFxuICB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMC4zMTI1cmVtIDEuMjVyZW0gMC4zNzVyZW07IH1cbiAgLyogbGluZSAxMDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MgKi9cbiAgdGJvZHkgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgI2MyYzJjMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOyB9XG4gIC8qIGxpbmUgODcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MgKi9cbiAgdGFibGUuc3RyaXBlZCB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLyogbGluZSAyODQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MgKi9cbiAgdGFibGUuc3RhY2sgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSAyODksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MgKi9cbiAgdGFibGUuc3RhY2sgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSAyOTMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MgKi9cbiAgdGFibGUuc3RhY2sgdHIsXG4gIHRhYmxlLnN0YWNrIHRoLFxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLyogbGluZSAyOTksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MgKi9cbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH0gfVxuXG4vKiBsaW5lIDMxNSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyAqL1xudGFibGUuc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbi8qIGxpbmUgMjIxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzICovXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7IH1cblxuLyogbGluZSAyMjgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MgKi9cbnRhYmxlLmhvdmVyIHRmb290IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZThlODsgfVxuXG4vKiBsaW5lIDIzNSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyAqL1xudGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZXNtb2tlOyB9XG5cbi8qIGxpbmUgMjU5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzICovXG50YWJsZS5ob3Zlci5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZThlODsgfVxuXG4vKiBsaW5lIDMyMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyAqL1xuLnRhYmxlLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLyogbGluZSAzMjYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MgKi9cbiAgLnRhYmxlLXNjcm9sbCB0YWJsZSB7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuLyogbGluZSAxNTMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyAqL1xuLmhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbi8qIGxpbmUgMTU3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MgKi9cbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArIDAuNjQ5NXJlbSk7XG4gIHotaW5kZXg6IDEyMDA7XG4gIG1heC13aWR0aDogMTByZW07XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1ODU5NWI7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAvKiBsaW5lIDc1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MgKi9cbiAgLnRvb2x0aXA6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC8qIGxpbmUgODAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyAqL1xuICAudG9vbHRpcC5ib3R0b206OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzU4NTk1YjtcbiAgICBib3R0b206IDEwMCU7IH1cbiAgLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9vbHRpcC5zY3NzICovXG4gIC50b29sdGlwLmJvdHRvbS5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAvKiBsaW5lIDkyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MgKi9cbiAgLnRvb2x0aXAudG9wOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICM1ODU5NWIgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bzsgfVxuICAvKiBsaW5lIDk4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MgKi9cbiAgLnRvb2x0aXAudG9wLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC8qIGxpbmUgMTA1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MgKi9cbiAgLnRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNTg1OTViO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLyogbGluZSAxMTAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyAqL1xuICAudG9vbHRpcC5sZWZ0LmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC8qIGxpbmUgMTE4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MgKi9cbiAgLnRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzU4NTk1YiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC8qIGxpbmUgMTI0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MgKi9cbiAgLnRvb2x0aXAucmlnaHQuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLyogbGluZSAxMzEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyAqL1xuICAudG9vbHRpcC5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlOyB9XG4gIC8qIGxpbmUgMTM2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MgKi9cbiAgLnRvb2x0aXAuYWxpZ24tYm90dG9tOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMTAlO1xuICAgIHRvcDogYXV0bzsgfVxuICAvKiBsaW5lIDE0MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9vbHRpcC5zY3NzICovXG4gIC50b29sdGlwLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC8qIGxpbmUgMTQ2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MgKi9cbiAgLnRvb2x0aXAuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlOyB9XG5cbi8qIGxpbmUgNDgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC11dGlsaXRpZXMuc2NzcyAqL1xuLnRleHQtaGlkZSB7XG4gIGZvbnQ6IDAvMCBhICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3RleHQtdXRpbGl0aWVzLnNjc3MgKi9cbi50ZXh0LXRydW5jYXRlIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDU2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3RleHQtdXRpbGl0aWVzLnNjc3MgKi9cbi50ZXh0LW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDYwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3RleHQtdXRpbGl0aWVzLnNjc3MgKi9cbi50ZXh0LXdyYXAge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDI5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3RleHQtdHJhbnNmb3JtYXRpb24uc2NzcyAqL1xuLnRleHQtbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgMjksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC10cmFuc2Zvcm1hdGlvbi5zY3NzICovXG4udGV4dC11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSAyOSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL190ZXh0LXRyYW5zZm9ybWF0aW9uLnNjc3MgKi9cbi50ZXh0LWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgMjksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC1kZWNvcmF0aW9uLnNjc3MgKi9cbi50ZXh0LW92ZXJsaW5lIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBvdmVybGluZSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgMjksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC1kZWNvcmF0aW9uLnNjc3MgKi9cbi50ZXh0LXVuZGVybGluZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSAyOSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL190ZXh0LWRlY29yYXRpb24uc2NzcyAqL1xuLnRleHQtbGluZS10aHJvdWdoIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2ggIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDU1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2ZvbnQtc3R5bGluZy5zY3NzICovXG4uZm9udC13aWRlIHtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMjVyZW07IH1cblxuLyogbGluZSA1OSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19mb250LXN0eWxpbmcuc2NzcyAqL1xuLmZvbnQtbm9ybWFsIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG4vKiBsaW5lIDYzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2ZvbnQtc3R5bGluZy5zY3NzICovXG4uZm9udC1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4vKiBsaW5lIDY3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2ZvbnQtc3R5bGluZy5zY3NzICovXG4uZm9udC1pdGFsaWMge1xuICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDQ4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2xpc3Qtc3R5bGUtdHlwZS5zY3NzICovXG51bC5saXN0LWRpc2Mge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDQ4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2xpc3Qtc3R5bGUtdHlwZS5zY3NzICovXG51bC5saXN0LWNpcmNsZSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSA0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19saXN0LXN0eWxlLXR5cGUuc2NzcyAqL1xudWwubGlzdC1zcXVhcmUge1xuICBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgNzEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fbGlzdC1zdHlsZS10eXBlLnNjc3MgKi9cbm9sLmxpc3QtZGVjaW1hbCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbCAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgNzEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fbGlzdC1zdHlsZS10eXBlLnNjc3MgKi9cbm9sLmxpc3QtbG93ZXItYWxwaGEge1xuICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSA3MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19saXN0LXN0eWxlLXR5cGUuc2NzcyAqL1xub2wubGlzdC1sb3dlci1sYXRpbiB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItbGF0aW4gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDcxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2xpc3Qtc3R5bGUtdHlwZS5zY3NzICovXG5vbC5saXN0LWxvd2VyLXJvbWFuIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbiAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgNzEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fbGlzdC1zdHlsZS10eXBlLnNjc3MgKi9cbm9sLmxpc3QtdXBwZXItYWxwaGEge1xuICBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLWFscGhhICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSA3MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19saXN0LXN0eWxlLXR5cGUuc2NzcyAqL1xub2wubGlzdC11cHBlci1sYXRpbiB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItbGF0aW4gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDcxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2xpc3Qtc3R5bGUtdHlwZS5zY3NzICovXG5vbC5saXN0LXVwcGVyLXJvbWFuIHtcbiAgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1yb21hbiAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgMzEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcm91bmRlZC5zY3NzICovXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwMDBweCAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgMzUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcm91bmRlZC5zY3NzICovXG4ucmFkaXVzIHtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtOyB9XG5cbi8qIGxpbmUgMzgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYm9yZGVyZWQuc2NzcyAqL1xuLmJvcmRlcmVkIHtcbiAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgI2NhY2FjYTsgfVxuXG4vKiBsaW5lIDI3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NoYWRvdy5zY3NzICovXG4uc2hhZG93IHtcbiAgYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE2KSwgMCAycHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cblxuLyogbGluZSAyOCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19hcnJvdy5zY3NzICovXG4uYXJyb3ctZG93biB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDAuNDM3NXJlbTtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cblxuLyogbGluZSAyOCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19hcnJvdy5zY3NzICovXG4uYXJyb3ctdXAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAwLjQzNzVyZW07XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMGEwYTBhOyB9XG5cbi8qIGxpbmUgMjgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYXJyb3cuc2NzcyAqL1xuLmFycm93LXJpZ2h0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgMC40Mzc1cmVtO1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTsgfVxuXG4vKiBsaW5lIDI4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2Fycm93LnNjc3MgKi9cbi5hcnJvdy1sZWZ0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgMC40Mzc1cmVtO1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4vKiBsaW5lIDY2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NlcGFyYXRvci5zY3NzICovXG4uc2VwYXJhdG9yLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC8qIGxpbmUgMTcwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyAqL1xuICAuc2VwYXJhdG9yLWNlbnRlcjo6YmVmb3JlLCAuc2VwYXJhdG9yLWNlbnRlcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC8qIGxpbmUgMTgxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyAqL1xuICAuc2VwYXJhdG9yLWNlbnRlcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC8qIGxpbmUgNDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc2VwYXJhdG9yLnNjc3MgKi9cbiAgLnNlcGFyYXRvci1jZW50ZXI6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCAjZjc5NDFkO1xuICAgIG1hcmdpbjogMXJlbSBhdXRvIDA7IH1cblxuLyogbGluZSA3MCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zZXBhcmF0b3Iuc2NzcyAqL1xuLnNlcGFyYXRvci1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC8qIGxpbmUgMTcwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyAqL1xuICAuc2VwYXJhdG9yLWxlZnQ6OmJlZm9yZSwgLnNlcGFyYXRvci1sZWZ0OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLyogbGluZSAxODEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzICovXG4gIC5zZXBhcmF0b3ItbGVmdDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC8qIGxpbmUgNDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc2VwYXJhdG9yLnNjc3MgKi9cbiAgLnNlcGFyYXRvci1sZWZ0OjphZnRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgI2Y3OTQxZDtcbiAgICBtYXJnaW46IDFyZW0gYXV0byAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSA3NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zZXBhcmF0b3Iuc2NzcyAqL1xuLnNlcGFyYXRvci1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLyogbGluZSAxNzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzICovXG4gIC5zZXBhcmF0b3ItcmlnaHQ6OmJlZm9yZSwgLnNlcGFyYXRvci1yaWdodDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC8qIGxpbmUgMTgxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyAqL1xuICAuc2VwYXJhdG9yLXJpZ2h0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLyogbGluZSA0OSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zZXBhcmF0b3Iuc2NzcyAqL1xuICAuc2VwYXJhdG9yLXJpZ2h0OjphZnRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgI2Y3OTQxZDtcbiAgICBtYXJnaW46IDFyZW0gYXV0byAwO1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgNDEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fb3ZlcmZsb3cuc2NzcyAqL1xuLm92ZXJmbG93LXZpc2libGUge1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fb3ZlcmZsb3cuc2NzcyAqL1xuLm92ZXJmbG93LXgtdmlzaWJsZSB7XG4gIG92ZXJmbG93LXg6IHZpc2libGUgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDQ3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX292ZXJmbG93LnNjc3MgKi9cbi5vdmVyZmxvdy15LXZpc2libGUge1xuICBvdmVyZmxvdy15OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSA0MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19vdmVyZmxvdy5zY3NzICovXG4ub3ZlcmZsb3ctaGlkZGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgNDQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fb3ZlcmZsb3cuc2NzcyAqL1xuLm92ZXJmbG93LXgtaGlkZGVuIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSA0NywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19vdmVyZmxvdy5zY3NzICovXG4ub3ZlcmZsb3cteS1oaWRkZW4ge1xuICBvdmVyZmxvdy15OiBoaWRkZW4gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDQxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX292ZXJmbG93LnNjc3MgKi9cbi5vdmVyZmxvdy1zY3JvbGwge1xuICBvdmVyZmxvdzogc2Nyb2xsICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSA0NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19vdmVyZmxvdy5zY3NzICovXG4ub3ZlcmZsb3cteC1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBzY3JvbGwgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDQ3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX292ZXJmbG93LnNjc3MgKi9cbi5vdmVyZmxvdy15LXNjcm9sbCB7XG4gIG92ZXJmbG93LXk6IHNjcm9sbCAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgMzEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fZGlzcGxheS5zY3NzICovXG4uZGlzcGxheS1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDMxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2Rpc3BsYXkuc2NzcyAqL1xuLmRpc3BsYXktaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSAzMSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19kaXNwbGF5LnNjc3MgKi9cbi5kaXNwbGF5LWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDMxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2Rpc3BsYXkuc2NzcyAqL1xuLmRpc3BsYXktdGFibGUge1xuICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgMzEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fZGlzcGxheS5zY3NzICovXG4uZGlzcGxheS10YWJsZS1jZWxsIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgNzUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcG9zaXRpb24uc2NzcyAqL1xuLnBvc2l0aW9uLXN0YXRpYyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDc1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3Bvc2l0aW9uLnNjc3MgKi9cbi5wb3NpdGlvbi1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgNzUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcG9zaXRpb24uc2NzcyAqL1xuLnBvc2l0aW9uLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSA3NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19wb3NpdGlvbi5zY3NzICovXG4ucG9zaXRpb24tZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDgxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3Bvc2l0aW9uLnNjc3MgKi9cbi5wb3NpdGlvbi1maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgdG9wOiAwcmVtICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDByZW0gIWltcG9ydGFudDtcbiAgei1pbmRleDogOTc1OyB9XG5cbi8qIGxpbmUgODQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcG9zaXRpb24uc2NzcyAqL1xuLnBvc2l0aW9uLWZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICByaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICBib3R0b206IDByZW0gIWltcG9ydGFudDtcbiAgbGVmdDogMHJlbSAhaW1wb3J0YW50O1xuICB6LWluZGV4OiA5NzU7IH1cblxuLyogbGluZSAxOSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3JkZXItYm94LnNjc3MgKi9cbi5ib3JkZXItYm94IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgMTksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYm9yZGVyLW5vbmUuc2NzcyAqL1xuLmJvcmRlci1ub25lIHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSA0MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zaXppbmcuc2NzcyAqL1xuLndpZHRoLTI1IHtcbiAgd2lkdGg6IDI1JSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgNDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc2l6aW5nLnNjc3MgKi9cbi53aWR0aC01MCB7XG4gIHdpZHRoOiA1MCUgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDQzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NpemluZy5zY3NzICovXG4ud2lkdGgtNzUge1xuICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSA0MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zaXppbmcuc2NzcyAqL1xuLndpZHRoLTEwMCB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSA0MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zaXppbmcuc2NzcyAqL1xuLmhlaWdodC0yNSB7XG4gIGhlaWdodDogMjUlICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSA0MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zaXppbmcuc2NzcyAqL1xuLmhlaWdodC01MCB7XG4gIGhlaWdodDogNTAlICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSA0MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zaXppbmcuc2NzcyAqL1xuLmhlaWdodC03NSB7XG4gIGhlaWdodDogNzUlICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSA0MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zaXppbmcuc2NzcyAqL1xuLmhlaWdodC0xMDAge1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDUwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NpemluZy5zY3NzICovXG4ubWF4LXdpZHRoLTEwMCB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgNTMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc2l6aW5nLnNjc3MgKi9cbi5tYXgtaGVpZ2h0LTEwMCB7XG4gIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDcwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NwYWNpbmcuc2NzcyAqL1xuLm1hcmdpbi0wIHtcbiAgbWFyZ2luLXRvcDogMHJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMHJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgNzQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc3BhY2luZy5zY3NzICovXG4ucGFkZGluZy0wIHtcbiAgcGFkZGluZy10b3A6IDByZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDByZW0gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDc5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NwYWNpbmcuc2NzcyAqL1xuLm1hcmdpbi10b3AtMCB7XG4gIG1hcmdpbi10b3A6IDByZW0gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDgzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NwYWNpbmcuc2NzcyAqL1xuLnBhZGRpbmctdG9wLTAge1xuICBwYWRkaW5nLXRvcDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgODgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc3BhY2luZy5zY3NzICovXG4ubWFyZ2luLXJpZ2h0LTAge1xuICBtYXJnaW4tcmlnaHQ6IDByZW0gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDkyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NwYWNpbmcuc2NzcyAqL1xuLnBhZGRpbmctcmlnaHQtMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDByZW0gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDk3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NwYWNpbmcuc2NzcyAqL1xuLm1hcmdpbi1ib3R0b20tMCB7XG4gIG1hcmdpbi1ib3R0b206IDByZW0gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDEwMSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MgKi9cbi5wYWRkaW5nLWJvdHRvbS0wIHtcbiAgcGFkZGluZy1ib3R0b206IDByZW0gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDEwNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MgKi9cbi5tYXJnaW4tbGVmdC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDByZW0gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDExMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MgKi9cbi5wYWRkaW5nLWxlZnQtMCB7XG4gIHBhZGRpbmctbGVmdDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgMTE1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NwYWNpbmcuc2NzcyAqL1xuLm1hcmdpbi1ob3Jpem9udGFsLTAge1xuICBtYXJnaW4tcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDByZW0gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDExOSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MgKi9cbi5wYWRkaW5nLWhvcml6b250YWwtMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSAxMjQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc3BhY2luZy5zY3NzICovXG4ubWFyZ2luLXZlcnRpY2FsLTAge1xuICBtYXJnaW4tdG9wOiAwcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDByZW0gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDEyOCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MgKi9cbi5wYWRkaW5nLXZlcnRpY2FsLTAge1xuICBwYWRkaW5nLXRvcDogMHJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgNzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc3BhY2luZy5zY3NzICovXG4ubWFyZ2luLTEge1xuICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSA3NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MgKi9cbi5wYWRkaW5nLTEge1xuICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgNzksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc3BhY2luZy5zY3NzICovXG4ubWFyZ2luLXRvcC0xIHtcbiAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgODMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc3BhY2luZy5zY3NzICovXG4ucGFkZGluZy10b3AtMSB7XG4gIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSA4OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MgKi9cbi5tYXJnaW4tcmlnaHQtMSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgOTIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc3BhY2luZy5zY3NzICovXG4ucGFkZGluZy1yaWdodC0xIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgOTcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc3BhY2luZy5zY3NzICovXG4ubWFyZ2luLWJvdHRvbS0xIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgMTAxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NwYWNpbmcuc2NzcyAqL1xuLnBhZGRpbmctYm90dG9tLTEge1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgMTA2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NwYWNpbmcuc2NzcyAqL1xuLm1hcmdpbi1sZWZ0LTEge1xuICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgMTEwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NwYWNpbmcuc2NzcyAqL1xuLnBhZGRpbmctbGVmdC0xIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSAxMTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc3BhY2luZy5zY3NzICovXG4ubWFyZ2luLWhvcml6b250YWwtMSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgMTE5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NwYWNpbmcuc2NzcyAqL1xuLnBhZGRpbmctaG9yaXpvbnRhbC0xIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDEyNCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MgKi9cbi5tYXJnaW4tdmVydGljYWwtMSB7XG4gIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgMTI4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NwYWNpbmcuc2NzcyAqL1xuLnBhZGRpbmctdmVydGljYWwtMSB7XG4gIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSA3MCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MgKi9cbi5tYXJnaW4tMiB7XG4gIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDJyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDc0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NwYWNpbmcuc2NzcyAqL1xuLnBhZGRpbmctMiB7XG4gIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDJyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSA3OSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MgKi9cbi5tYXJnaW4tdG9wLTIge1xuICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSA4MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MgKi9cbi5wYWRkaW5nLXRvcC0yIHtcbiAgcGFkZGluZy10b3A6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDg4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NwYWNpbmcuc2NzcyAqL1xuLm1hcmdpbi1yaWdodC0yIHtcbiAgbWFyZ2luLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSA5MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MgKi9cbi5wYWRkaW5nLXJpZ2h0LTIge1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSA5NywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MgKi9cbi5tYXJnaW4tYm90dG9tLTIge1xuICBtYXJnaW4tYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSAxMDEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc3BhY2luZy5zY3NzICovXG4ucGFkZGluZy1ib3R0b20tMiB7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSAxMDYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc3BhY2luZy5zY3NzICovXG4ubWFyZ2luLWxlZnQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSAxMTAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc3BhY2luZy5zY3NzICovXG4ucGFkZGluZy1sZWZ0LTIge1xuICBwYWRkaW5nLWxlZnQ6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDExNSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MgKi9cbi5tYXJnaW4taG9yaXpvbnRhbC0yIHtcbiAgbWFyZ2luLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSAxMTksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc3BhY2luZy5zY3NzICovXG4ucGFkZGluZy1ob3Jpem9udGFsLTIge1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgMTI0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NwYWNpbmcuc2NzcyAqL1xuLm1hcmdpbi12ZXJ0aWNhbC0yIHtcbiAgbWFyZ2luLXRvcDogMnJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSAxMjgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc3BhY2luZy5zY3NzICovXG4ucGFkZGluZy12ZXJ0aWNhbC0yIHtcbiAgcGFkZGluZy10b3A6IDJyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDJyZW0gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDcwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NwYWNpbmcuc2NzcyAqL1xuLm1hcmdpbi0zIHtcbiAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgNzQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc3BhY2luZy5zY3NzICovXG4ucGFkZGluZy0zIHtcbiAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDc5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NwYWNpbmcuc2NzcyAqL1xuLm1hcmdpbi10b3AtMyB7XG4gIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDgzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NwYWNpbmcuc2NzcyAqL1xuLnBhZGRpbmctdG9wLTMge1xuICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgODgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc3BhY2luZy5zY3NzICovXG4ubWFyZ2luLXJpZ2h0LTMge1xuICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDkyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NwYWNpbmcuc2NzcyAqL1xuLnBhZGRpbmctcmlnaHQtMyB7XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDk3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NwYWNpbmcuc2NzcyAqL1xuLm1hcmdpbi1ib3R0b20tMyB7XG4gIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDEwMSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MgKi9cbi5wYWRkaW5nLWJvdHRvbS0zIHtcbiAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDEwNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MgKi9cbi5tYXJnaW4tbGVmdC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDExMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MgKi9cbi5wYWRkaW5nLWxlZnQtMyB7XG4gIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgMTE1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NwYWNpbmcuc2NzcyAqL1xuLm1hcmdpbi1ob3Jpem9udGFsLTMge1xuICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDExOSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MgKi9cbi5wYWRkaW5nLWhvcml6b250YWwtMyB7XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSAxMjQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc3BhY2luZy5zY3NzICovXG4ubWFyZ2luLXZlcnRpY2FsLTMge1xuICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDEyOCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MgKi9cbi5wYWRkaW5nLXZlcnRpY2FsLTMge1xuICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgNzUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuLmFsaWduLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4vKiBsaW5lIDc1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MgKi9cbi5hbGlnbi1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4vKiBsaW5lIDc1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MgKi9cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi8qIGxpbmUgNzUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuLmFsaWduLXNwYWNlZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi8qIGxpbmUgODMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuLmFsaWduLXJpZ2h0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi8qIGxpbmUgODMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuLmFsaWduLWNlbnRlci52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLyogbGluZSA5MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzICovXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLyogbGluZSA5NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzICovXG4uYWxpZ24tc2VsZi10b3Age1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG5cbi8qIGxpbmUgOTEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuLmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4vKiBsaW5lIDk1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MgKi9cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi8qIGxpbmUgOTEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuLmFsaWduLW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLyogbGluZSA5NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzICovXG4uYWxpZ24tc2VsZi1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLyogbGluZSA5MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzICovXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi8qIGxpbmUgOTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cblxuLyogbGluZSAxMDEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuLmFsaWduLWNlbnRlci1taWRkbGUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG5cbi8qIGxpbmUgMTA5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MgKi9cbi5zbS1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLyogbGluZSAxMDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuLnNtLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4vKiBsaW5lIDEwOSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzICovXG4uc20tb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi8qIGxpbmUgMTA5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MgKi9cbi5zbS1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLyogbGluZSAxMDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuLnNtLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4vKiBsaW5lIDEwOSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzICovXG4uc20tb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC8qIGxpbmUgMTA5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MgKi9cbiAgLm1kLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC8qIGxpbmUgMTA5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MgKi9cbiAgLm1kLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC8qIGxpbmUgMTA5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MgKi9cbiAgLm1kLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC8qIGxpbmUgMTA5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MgKi9cbiAgLm1kLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC8qIGxpbmUgMTA5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MgKi9cbiAgLm1kLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC8qIGxpbmUgMTA5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MgKi9cbiAgLm1kLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLyogbGluZSAxMDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuICAubGctb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLyogbGluZSAxMDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuICAubGctb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLyogbGluZSAxMDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuICAubGctb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLyogbGluZSAxMDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuICAubGctb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLyogbGluZSAxMDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuICAubGctb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLyogbGluZSAxMDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuICAubGctb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgLyogbGluZSAxMDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuICAueGwtb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLyogbGluZSAxMDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuICAueGwtb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLyogbGluZSAxMDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuICAueGwtb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLyogbGluZSAxMDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuICAueGwtb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLyogbGluZSAxMDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuICAueGwtb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLyogbGluZSAxMDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuICAueGwtb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG4vKiBsaW5lIDE4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MgKi9cbi5mbGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLyogbGluZSAyMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzICovXG4uZmxleC1jaGlsZC1hdXRvIHtcbiAgZmxleDogMSAxIGF1dG87IH1cblxuLyogbGluZSAyNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzICovXG4uZmxleC1jaGlsZC1ncm93IHtcbiAgZmxleDogMSAwIGF1dG87IH1cblxuLyogbGluZSAzMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzICovXG4uZmxleC1jaGlsZC1zaHJpbmsge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuXG4vKiBsaW5lIDM1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MgKi9cbi5mbGV4LWRpci1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbi8qIGxpbmUgMzUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuLmZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi8qIGxpbmUgMzUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuLmZsZXgtZGlyLWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLyogbGluZSAzNSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzICovXG4uZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cblxuLyogbGluZSA0NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzICovXG4uc20tZmxleC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi8qIGxpbmUgNDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuLnNtLWZsZXgtY2hpbGQtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi8qIGxpbmUgNTMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuLnNtLWZsZXgtY2hpbGQtZ3JvdyB7XG4gIGZsZXg6IDEgMCBhdXRvOyB9XG5cbi8qIGxpbmUgNTcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuLnNtLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgZmxleDogMCAxIGF1dG87IH1cblxuLyogbGluZSA2MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzICovXG4uc20tZmxleC1kaXItcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4vKiBsaW5lIDYyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MgKi9cbi5zbS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4vKiBsaW5lIDYyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MgKi9cbi5zbS1mbGV4LWRpci1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi8qIGxpbmUgNjIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuLnNtLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC8qIGxpbmUgNDUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuICAubWQtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLyogbGluZSA0OSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzICovXG4gIC5tZC1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC8qIGxpbmUgNTMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuICAubWQtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAvKiBsaW5lIDU3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MgKi9cbiAgLm1kLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAvKiBsaW5lIDYyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MgKi9cbiAgLm1kLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAvKiBsaW5lIDYyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MgKi9cbiAgLm1kLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLyogbGluZSA2MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzICovXG4gIC5tZC1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLyogbGluZSA2MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzICovXG4gIC5tZC1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLyogbGluZSA0NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzICovXG4gIC5sZy1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAvKiBsaW5lIDQ5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MgKi9cbiAgLmxnLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLyogbGluZSA1MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzICovXG4gIC5sZy1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC8qIGxpbmUgNTcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuICAubGctZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC8qIGxpbmUgNjIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuICAubGctZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC8qIGxpbmUgNjIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuICAubGctZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAvKiBsaW5lIDYyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MgKi9cbiAgLmxnLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAvKiBsaW5lIDYyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MgKi9cbiAgLmxnLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgLyogbGluZSA0NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzICovXG4gIC54bC1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAvKiBsaW5lIDQ5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MgKi9cbiAgLnhsLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLyogbGluZSA1MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzICovXG4gIC54bC1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC8qIGxpbmUgNTcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuICAueGwtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC8qIGxpbmUgNjIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuICAueGwtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC8qIGxpbmUgNjIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyAqL1xuICAueGwtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAvKiBsaW5lIDYyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MgKi9cbiAgLnhsLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAvKiBsaW5lIDYyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MgKi9cbiAgLnhsLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG4vKiBsaW5lIDc1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3Bvc2l0aW9uLnNjc3MgKi9cbi5wb3NpdGlvbi1zdGF0aWMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSA3NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19wb3NpdGlvbi5zY3NzICovXG4ucG9zaXRpb24tcmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDc1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3Bvc2l0aW9uLnNjc3MgKi9cbi5wb3NpdGlvbi1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgNzUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcG9zaXRpb24uc2NzcyAqL1xuLnBvc2l0aW9uLWZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSA4MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19wb3NpdGlvbi5zY3NzICovXG4ucG9zaXRpb24tZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gIHRvcDogMHJlbSAhaW1wb3J0YW50O1xuICByaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICBsZWZ0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDk3NTsgfVxuXG4vKiBsaW5lIDg0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3Bvc2l0aW9uLnNjc3MgKi9cbi5wb3NpdGlvbi1maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbiAgYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDByZW0gIWltcG9ydGFudDtcbiAgei1pbmRleDogOTc1OyB9XG5cbi8qIGxpbmUgNjIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyAqL1xuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSA2NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzICovXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qIGxpbmUgNzMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyAqL1xuLmhpZGUtZm9yLXNtIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgNzcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyAqL1xuLnNob3ctZm9yLXNtIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAvKiBsaW5lIDgyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MgKi9cbiAgLmhpZGUtZm9yLXNtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAvKiBsaW5lIDg2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MgKi9cbiAgLnNob3ctZm9yLXNtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC8qIGxpbmUgNzMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyAqL1xuICAuaGlkZS1mb3ItbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAvKiBsaW5lIDc3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MgKi9cbiAgLnNob3ctZm9yLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC8qIGxpbmUgODIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyAqL1xuICAuaGlkZS1mb3ItbWQtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC8qIGxpbmUgODYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyAqL1xuICAuc2hvdy1mb3ItbWQtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLyogbGluZSA3MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzICovXG4gIC5oaWRlLWZvci1sZyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC8qIGxpbmUgNzcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyAqL1xuICAuc2hvdy1mb3ItbGcge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3Ny40Mzc1ZW0pIHtcbiAgLyogbGluZSA4MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzICovXG4gIC5oaWRlLWZvci1sZy1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAvKiBsaW5lIDg2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MgKi9cbiAgLnNob3ctZm9yLWxnLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAvKiBsaW5lIDczLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MgKi9cbiAgLmhpZGUtZm9yLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3Ny40Mzc1ZW0pIHtcbiAgLyogbGluZSA3NywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzICovXG4gIC5zaG93LWZvci14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gIC8qIGxpbmUgODIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyAqL1xuICAuaGlkZS1mb3IteGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcuNDM3NWVtKSB7XG4gIC8qIGxpbmUgODYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyAqL1xuICAuc2hvdy1mb3IteGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLyogbGluZSA5MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzICovXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7IH1cblxuLyogbGluZSAxMDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyAqL1xuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTsgfVxuXG4vKiBsaW5lIDEwNywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzICovXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC8qIGxpbmUgMTA3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MgKi9cbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC8qIGxpbmUgMTA3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MgKi9cbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBsaW5lIDEyMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzICovXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLyogbGluZSAxMjAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyAqL1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAvKiBsaW5lIDEyMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzICovXG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi8qIGxpbmUgMTAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MgKi9cbi5mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDE0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzICovXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDE4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzICovXG4uZmxvYXQtY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLyogbGluZSAxNzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzICovXG4uY2xlYXJmaXg6OmJlZm9yZSwgLmNsZWFyZml4OjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxOyB9XG5cbi8qIGxpbmUgMTgxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyAqL1xuLmNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEZWZhdWx0IGxheW91dCBwYXJ0aWFsc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogbGF5b3V0LnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKiBsaW5lIDE2LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19sYXlvdXQuc2NzcyAqL1xuYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogbGluZSAzMiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbGF5b3V0LnNjc3MgKi9cbi5vZmYtY2FudmFzIHtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi8qIGxpbmUgMzcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2xheW91dC5zY3NzICovXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogI2ZhZmFmYTtcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC8qIGxpbmUgNDEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2xheW91dC5zY3NzICovXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi10b3Age1xuICAgIGZpbHRlcjogYmx1cig1cHgpOyB9XG5cbi8qIGxpbmUgNDYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2xheW91dC5zY3NzICovXG4ubWFpbiB7XG4gIHBhZGRpbmctYm90dG9tOiAzLjQzNzVyZW07IH1cbiAgLyogbGluZSA1MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbGF5b3V0LnNjc3MgKi9cbiAgLmNpLWJsdWUgLm1haW4gaDEge1xuICAgIGNvbG9yOiAjMjVhYWUyOyB9XG4gIC8qIGxpbmUgNTUsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2xheW91dC5zY3NzICovXG4gIC5jaS1ncmVlbiAubWFpbiBoMSB7XG4gICAgY29sb3I6ICM3NGI3NGE7IH1cbiAgLyogbGluZSA1OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbGF5b3V0LnNjc3MgKi9cbiAgLmNpLWdyZXkgLm1haW4gaDEge1xuICAgIGNvbG9yOiAjNTg1OTViOyB9XG4gIC8qIGxpbmUgNjMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2xheW91dC5zY3NzICovXG4gIC5tYWluX19jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICAvKiBsaW5lIDY3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19sYXlvdXQuc2NzcyAqL1xuICAgIC5tYWluX19jb250ZW50LXdyYXAge1xuICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gICAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAgIC8qIGxpbmUgNzMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2xheW91dC5zY3NzICovXG4gICAgLm1haW5fX2NvbnRlbnQgLm5ld3MtaW1nLXdyYXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLyogbGluZSA3OSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbGF5b3V0LnNjc3MgKi9cbiAgLm1haW5fX2hlYWRlciArIC5tYWluX19jb250ZW50LXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cblxuLyogbGluZSA4NSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbGF5b3V0LnNjc3MgKi9cbi5idXR0b24sIGJ1dHRvbiB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLyogbGluZSA5NiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbGF5b3V0LnNjc3MgKi9cbi5jb250YWN0LWNvbHMgdGQgKyB0ZCB7XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cblxuLyogbGluZSAxMTEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2xheW91dC5zY3NzICovXG4ucm93LS1ibG9nICsgLnJvdyB7XG4gIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9XG5cbi8qIGxpbmUgMTE3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19sYXlvdXQuc2NzcyAqL1xuLmNvbHVtbiwgLmNvbHVtbnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLyogbGluZSAxMjAsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2xheW91dC5zY3NzICovXG4gIC5jb2x1bW4uYXJ0aWNsZSwgLmFydGljbGUuY29sdW1ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cblxuLyogbGluZSAxMjYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2xheW91dC5zY3NzICovXG4ubmF2LWZpbHRlciB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDEuMjVyZW07IH1cbiAgLyogbGluZSA4OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgLm5hdi1maWx0ZXIgbGkge1xuICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC8qIGxpbmUgMTMwLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19sYXlvdXQuc2NzcyAqL1xuICAubmF2LWZpbHRlcixcbiAgLm5hdi1maWx0ZXIgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLyogbGluZSAxMjYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2xheW91dC5zY3NzICovXG4gICAgLm5hdi1maWx0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAvKiBsaW5lIDEzOCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbGF5b3V0LnNjc3MgKi9cbiAgICAgIC5uYXYtZmlsdGVyIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuLyogbGluZSAxNDYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2xheW91dC5zY3NzICovXG4uc2VhcmNoLWZpbHRlcl9fbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLyogbGluZSAxNDksIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2xheW91dC5zY3NzICovXG4uc2VhcmNoLWZpbHRlcl9faXRlbSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLyogbGluZSAxNTEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2xheW91dC5zY3NzICovXG4gIC5zZWFyY2gtZmlsdGVyX19pdGVtOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBsaW5lIDE1NSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbGF5b3V0LnNjc3MgKi9cbi5zZWFyY2gtZmlsdGVyX19sYWJlbCB7XG4gIGNvbG9yOiAjMzMzMzMzOyB9XG5cbi8qIGxpbmUgMTYyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19sYXlvdXQuc2NzcyAqL1xuLmhpdCxcbi5zZWFyY2hwaHJhc2Uge1xuICBjb2xvcjogI2Y3OTQxZDtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4vKiBsaW5lIDE2OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbGF5b3V0LnNjc3MgKi9cbi5zZWFyY2gtdG9wIHtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBtYXJnaW4tdG9wOiAwLjgxMjVyZW07IH1cbiAgLyogbGluZSAxNzQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2xheW91dC5zY3NzICovXG4gIC5zZWFyY2gtdG9wIGlucHV0LFxuICAuc2VhcmNoLXRvcCBidXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLyogbGluZSAxNzksIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2xheW91dC5zY3NzICovXG4gIC5zZWFyY2gtdG9wIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6IDIzcmVtO1xuICAgIG1pbi13aWR0aDogMTcuODEyNXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwLjQzNzVyZW07XG4gICAgaGVpZ2h0OiAyLjE4NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuMTg3NXJlbTsgfVxuICAvKiBsaW5lIDE4OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbGF5b3V0LnNjc3MgKi9cbiAgLnNlYXJjaC10b3AgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDdkN2Q4ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICM1ODU5NWIgIWltcG9ydGFudDsgfVxuICAvKiBsaW5lIDE5MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbGF5b3V0LnNjc3MgKi9cbiAgLnNlYXJjaC10b3AtLWFjdGl2ZSAuc2VhcmNoLXRvcCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi8qIGxpbmUgMTk4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19sYXlvdXQuc2NzcyAqL1xuLmljb24tLXNlYXJjaCxcbi5zZWFyY2gtdG9wIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0OyB9XG5cbi8qIGxpbmUgMjA0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19sYXlvdXQuc2NzcyAqL1xuLnNlYXJjaC10b3AtLWFjdGl2ZSAuaWNvbi0tc2VhcmNoIHtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qIGxpbmUgMjEwLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19sYXlvdXQuc2NzcyAqL1xuLmljb24tLWJ1cmdlciB7XG4gIG1hcmdpbi1sZWZ0OiAwLjM3NXJlbTsgfVxuXG4vKiBsaW5lIDIxNCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbGF5b3V0LnNjc3MgKi9cbi5jb29raWUtZGlzY2xhaW1lciB7XG4gIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xOyB9XG4gIC8qIGxpbmUgMjIyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19sYXlvdXQuc2NzcyAqL1xuICAuY29va2llLWRpc2NsYWltZXIgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtOyB9XG4gIC8qIGxpbmUgMjI3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19sYXlvdXQuc2NzcyAqL1xuICAuY29va2llLWRpc2NsYWltZXIgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAtMC41NjI1cmVtIDAgMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLyogbGluZSAyMjcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2xheW91dC5zY3NzICovXG4gICAgICAuY29va2llLWRpc2NsYWltZXIgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuMDYyNXJlbTsgfSB9XG5cbi8qIGxpbmUgMjM2LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19sYXlvdXQuc2NzcyAqL1xuLmNvbnRlbnQtc3ViLWhlYWRlcl9faGVhZGxpbmUsXG4ubmF2LW1haW4gLmFjdGl2ZSBhLFxuLm5hdi1tYWluIC5hY3RpdmUgc3BhbixcbnNwYW4uY29sb3JlZCB7XG4gIGNvbG9yOiAjZjc5NDFkOyB9XG4gIC8qIGxpbmUgMjQyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19sYXlvdXQuc2NzcyAqL1xuICAuY2ktYmx1ZSAuY29udGVudC1zdWItaGVhZGVyX19oZWFkbGluZSwgLmNpLWJsdWVcbiAgLm5hdi1tYWluIC5hY3RpdmUgYSwgLmNpLWJsdWVcbiAgLm5hdi1tYWluIC5hY3RpdmUgc3BhbiwgLmNpLWJsdWVcbiAgc3Bhbi5jb2xvcmVkIHtcbiAgICBjb2xvcjogIzI1YWFlMiAhaW1wb3J0YW50OyB9XG4gIC8qIGxpbmUgMjQ1LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19sYXlvdXQuc2NzcyAqL1xuICAuY2ktZ3JlZW4gLmNvbnRlbnQtc3ViLWhlYWRlcl9faGVhZGxpbmUsIC5jaS1ncmVlblxuICAubmF2LW1haW4gLmFjdGl2ZSBhLCAuY2ktZ3JlZW5cbiAgLm5hdi1tYWluIC5hY3RpdmUgc3BhbiwgLmNpLWdyZWVuXG4gIHNwYW4uY29sb3JlZCB7XG4gICAgY29sb3I6ICM3NGI3NGEgIWltcG9ydGFudDsgfVxuICAvKiBsaW5lIDI0OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbGF5b3V0LnNjc3MgKi9cbiAgLmNpLWdyZXkgLmNvbnRlbnQtc3ViLWhlYWRlcl9faGVhZGxpbmUsIC5jaS1ncmV5XG4gIC5uYXYtbWFpbiAuYWN0aXZlIGEsIC5jaS1ncmV5XG4gIC5uYXYtbWFpbiAuYWN0aXZlIHNwYW4sIC5jaS1ncmV5XG4gIHNwYW4uY29sb3JlZCB7XG4gICAgY29sb3I6ICM1ODU5NWIgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDI1NCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbGF5b3V0LnNjc3MgKi9cbi5jaS1ibHVlIC5jb250ZW50LWhlYWRlcl9faGVhZGxpbmUgLmhlYWRsaW5lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1YWFlMiAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgMjU3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19sYXlvdXQuc2NzcyAqL1xuLmNpLWdyZWVuIC5jb250ZW50LWhlYWRlcl9faGVhZGxpbmUgLmhlYWRsaW5lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc0Yjc0YSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgMjYwLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19sYXlvdXQuc2NzcyAqL1xuLmNpLWdyZXkgLmNvbnRlbnQtaGVhZGVyX19oZWFkbGluZSAuaGVhZGxpbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTg1OTViICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSAyNjgsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2xheW91dC5zY3NzICovXG4uY2ktYmx1ZSAubWFpbiBhIC5ib3hfX2hlYWRsaW5lOmFmdGVyLCAuY2ktYmx1ZVxuLm1haW4gYTpub3QoLmJveCk6bm90KC5idXR0b24pIHtcbiAgY29sb3I6ICMyNWFhZTI7IH1cblxuLyogbGluZSAyNzEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2xheW91dC5zY3NzICovXG4uY2ktZ3JlZW4gLm1haW4gYSAuYm94X19oZWFkbGluZTphZnRlciwgLmNpLWdyZWVuXG4ubWFpbiBhOm5vdCguYm94KTpub3QoLmJ1dHRvbikge1xuICBjb2xvcjogIzc0Yjc0YTsgfVxuXG4vKiBsaW5lIDI3NCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbGF5b3V0LnNjc3MgKi9cbi5jaS1ncmV5IC5tYWluIGEgLmJveF9faGVhZGxpbmU6YWZ0ZXIsIC5jaS1ncmV5XG4ubWFpbiBhOm5vdCguYm94KTpub3QoLmJ1dHRvbikge1xuICBjb2xvcjogIzU4NTk1YjsgfVxuXG4vKiBsaW5lIDI3OSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbGF5b3V0LnNjc3MgKi9cbi5jaS1ibHVlIC5idXR0b246bm90KC5jdGEpIHtcbiAgYmFja2dyb3VuZDogIzI1YWFlMjsgfVxuXG4vKiBsaW5lIDI4MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbGF5b3V0LnNjc3MgKi9cbi5jaS1ncmVlbiAuYnV0dG9uOm5vdCguY3RhKSB7XG4gIGJhY2tncm91bmQ6ICM3NGI3NGE7IH1cblxuLyogbGluZSAyODUsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2xheW91dC5zY3NzICovXG4uY2ktZ3JleSAuYnV0dG9uOm5vdCguY3RhKSB7XG4gIGJhY2tncm91bmQ6ICM1ODU5NWI7IH1cblxuLyogbGluZSAyMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbi5maWx0ZXItZ3JpZCA+IC5tb2R1bGUge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNDM3NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjQzNzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAvKiBsaW5lIDIyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAgIC5maWx0ZXItZ3JpZCA+IC5tb2R1bGUge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC8qIGxpbmUgMjIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzICovXG4gICAgLmZpbHRlci1ncmlkID4gLm1vZHVsZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC8qIGxpbmUgNDYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzICovXG4gIC5maWx0ZXItZ3JpZCA+IC5tb2R1bGU6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAvKiBsaW5lIDUwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAuZmlsdGVyLWdyaWQgPiAubW9kdWxlOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAvKiBsaW5lIDU0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAuZmlsdGVyLWdyaWQgPiAubW9kdWxlOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi8qIGxpbmUgMjkyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19sYXlvdXQuc2NzcyAqL1xuLmZpbHRlci1ncmlkID4gLm1vZHVsZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC8qIGxpbmUgMjkyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19sYXlvdXQuc2NzcyAqL1xuICAgIC5maWx0ZXItZ3JpZCA+IC5tb2R1bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH0gfVxuXG4vKiBsaW5lIDMwMSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbGF5b3V0LnNjc3MgKi9cbi5ncmlkID4gLmNvbHVtbiwgLmdyaWQgPiAuY29sdW1ucyB7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC8qIGxpbmUgMzAxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19sYXlvdXQuc2NzcyAqL1xuICAgIC5ncmlkID4gLmNvbHVtbiwgLmdyaWQgPiAuY29sdW1ucyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfSB9XG5cbi8qIGxpbmUgMzEwLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19sYXlvdXQuc2NzcyAqL1xuLmFzaWRlID4gZGl2IHtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLyogbGluZSAzMTAsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2xheW91dC5zY3NzICovXG4gICAgLmFzaWRlID4gZGl2IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuLyogbGluZSAzMTgsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2xheW91dC5zY3NzICovXG50Ym9keSB7XG4gIGJvcmRlci13aWR0aDogMDsgfVxuXG4vKiBsaW5lIDMyMiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbGF5b3V0LnNjc3MgKi9cbnRmb290LCB0aGVhZCwgdGJvZHkgdHIge1xuICBib3JkZXItd2lkdGg6IDFweCAwOyB9XG5cbi8qIGxpbmUgMzI2LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19sYXlvdXQuc2NzcyAqL1xudGhlYWQge1xuICBib3JkZXItdG9wOiAycHggc29saWQgI2Y3OTQxZDsgfVxuICAvKiBsaW5lIDMyOSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbGF5b3V0LnNjc3MgKi9cbiAgdGhlYWQgdGgge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKiBsaW5lIDMzNSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbGF5b3V0LnNjc3MgKi9cbnRib2R5IHRyOmxhc3QtY2hpbGQge1xuICBib3JkZXItd2lkdGg6IDA7IH1cblxuLyogbGluZSAzNDAsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2xheW91dC5zY3NzICovXG4uZmxleC1jb2x1bW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi8qIGxpbmUgMzQ1LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19sYXlvdXQuc2NzcyAqL1xuLm5ld3Mtc2luZ2xlIHtcbiAgbWFyZ2luLXRvcDogLTEuODc1cmVtOyB9XG5cbi8qIGxpbmUgMzQ5LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19sYXlvdXQuc2NzcyAqL1xuLnJlc3VsdC11cmwge1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAvKiBsaW5lIDM2MywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbGF5b3V0LnNjc3MgKi9cbiAgLm1haW4ge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICAvKiBsaW5lIDM2NiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbGF5b3V0LnNjc3MgKi9cbiAgICAubWFpbl9fY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAvKiBsaW5lIDM3MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbGF5b3V0LnNjc3MgKi9cbiAgLmZpbHRlci1ncmlkID4gLm1vZHVsZSB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAvKiBsaW5lIDM3NywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbGF5b3V0LnNjc3MgKi9cbiAgOnRhcmdldDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA0LjY4NzVyZW07XG4gICAgbWFyZ2luOiAtNC42ODc1cmVtIDAgMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC8qIGxpbmUgMzg3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19sYXlvdXQuc2NzcyAqL1xuICAuZmlsdGVyLWdyaWQgPiAubW9kdWxlIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gIC8qIGxpbmUgMzkzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19sYXlvdXQuc2NzcyAqL1xuICAuZmlsdGVyLWdyaWQgPiAubW9kdWxlIHtcbiAgICB3aWR0aDogMjUlOyB9IH1cblxuLyoqXG4gKiB0eXBvLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgV2ViZm9udHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgR2xvYmFsIFR5cG8gU3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSA1NCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fdHlwby5zY3NzICovXG5oMSwgLmgxIHtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY29sb3I6ICNmNzk0MWQ7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC8qIGxpbmUgNTQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX3R5cG8uc2NzcyAqL1xuICAgIGgxLCAuaDEge1xuICAgICAgZm9udC1zaXplOiAzcmVtOyB9IH1cblxuLyogbGluZSA3MywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fdHlwby5zY3NzICovXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAvKiBsaW5lIDczLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL190eXBvLnNjc3MgKi9cbiAgICBoMiwgLmgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLyogbGluZSA3MywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fdHlwby5zY3NzICovXG4gICAgaDIsIC5oMiB7XG4gICAgICBmb250LXNpemU6IDIuMjVyZW07IH0gfVxuXG4vKiBsaW5lIDg3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL190eXBvLnNjc3MgKi9cbmgzLCAuaDMge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLyogbGluZSA4NywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fdHlwby5zY3NzICovXG4gICAgaDMsIC5oMyB7XG4gICAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAvKiBsaW5lIDg3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL190eXBvLnNjc3MgKi9cbiAgICBoMywgLmgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cblxuLyogbGluZSAxMDEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX3R5cG8uc2NzcyAqL1xuaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC8qIGxpbmUgMTAxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL190eXBvLnNjc3MgKi9cbiAgICBoNCwgLmg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLyogbGluZSAxMDEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX3R5cG8uc2NzcyAqL1xuICAgIGg0LCAuaDQge1xuICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfSB9XG5cbi8qIGxpbmUgMTE0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL190eXBvLnNjc3MgKi9cbmg1LCAuaDUge1xuICBmb250LXNpemU6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC8qIGxpbmUgMTE0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL190eXBvLnNjc3MgKi9cbiAgICBoNSwgLmg1IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC8qIGxpbmUgMTE0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL190eXBvLnNjc3MgKi9cbiAgICBoNSwgLmg1IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG5cbi8qIGxpbmUgMTI5LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL190eXBvLnNjc3MgKi9cbi5sZWFkIHtcbiAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAvKiBsaW5lIDEyOSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fdHlwby5zY3NzICovXG4gICAgLmxlYWQge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuXG4vKiBsaW5lIDE0NywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fdHlwby5zY3NzICovXG4ucmV2ZWFsIHVsLFxuLm1haW5fX2NvbnRlbnQtd3JhcCB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLyogbGluZSAxNTEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX3R5cG8uc2NzcyAqL1xuICAucmV2ZWFsIHVsIGxpLFxuICAubWFpbl9fY29udGVudC13cmFwIHVsIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLyogbGluZSAxNTUsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX3R5cG8uc2NzcyAqL1xuICAgIC5yZXZlYWwgdWwgbGk6YmVmb3JlLFxuICAgIC5tYWluX19jb250ZW50LXdyYXAgdWwgbGk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICfCuyc7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IDAuMDYyNXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IC0xcHg7IH1cblxuLyogbGluZSAxNzAsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX3R5cG8uc2NzcyAqL1xuLnJldmVhbCAuZmlsdGVyLXdyYXAgdWwgbGk6YmVmb3JlLFxuLm1haW5fX2NvbnRlbnQtd3JhcCAuZmlsdGVyLXdyYXAgdWwgbGk6YmVmb3JlIHtcbiAgY29udGVudDogbm9uZTsgfVxuXG4vKiBsaW5lIDE4MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fdHlwby5zY3NzICovXG4ucmV2ZWFsIHVsLnBhZ2luYXRpb24gbGksIC5yZXZlYWwgdWwubmF2LWZpbHRlciBsaSwgLnJldmVhbCB1bFtjbGFzcyo9XCJ0aGVtZS1cIl0gbGksIC5yZXZlYWwgdWwubWVudSBsaSxcbi5tYWluX19jb250ZW50LXdyYXAgdWwucGFnaW5hdGlvbiBsaSxcbi5tYWluX19jb250ZW50LXdyYXAgdWwubmF2LWZpbHRlciBsaSxcbi5tYWluX19jb250ZW50LXdyYXAgdWxbY2xhc3MqPVwidGhlbWUtXCJdIGxpLFxuLm1haW5fX2NvbnRlbnQtd3JhcCB1bC5tZW51IGxpIHtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC8qIGxpbmUgMTg0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL190eXBvLnNjc3MgKi9cbiAgLnJldmVhbCB1bC5wYWdpbmF0aW9uIGxpOmJlZm9yZSwgLnJldmVhbCB1bC5uYXYtZmlsdGVyIGxpOmJlZm9yZSwgLnJldmVhbCB1bFtjbGFzcyo9XCJ0aGVtZS1cIl0gbGk6YmVmb3JlLCAucmV2ZWFsIHVsLm1lbnUgbGk6YmVmb3JlLFxuICAubWFpbl9fY29udGVudC13cmFwIHVsLnBhZ2luYXRpb24gbGk6YmVmb3JlLFxuICAubWFpbl9fY29udGVudC13cmFwIHVsLm5hdi1maWx0ZXIgbGk6YmVmb3JlLFxuICAubWFpbl9fY29udGVudC13cmFwIHVsW2NsYXNzKj1cInRoZW1lLVwiXSBsaTpiZWZvcmUsXG4gIC5tYWluX19jb250ZW50LXdyYXAgdWwubWVudSBsaTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cblxuLyogbGluZSAxOTIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX3R5cG8uc2NzcyAqL1xuLnRleHQtYmxhY2sge1xuICBjb2xvcjogYmxhY2s7IH1cblxuLyogbGluZSAxOTYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX3R5cG8uc2NzcyAqL1xuaWZyYW1lIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qKlxuICogaWNvbi1mb250LnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSWNvbiBGb250IHNldHRpbmdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImljb25zXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaWNvbmZvbnQvZmluZXRlY2guZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2ljb25mb250L2ZpbmV0ZWNoLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2ljb25mb250L2ZpbmV0ZWNoLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvaWNvbmZvbnQvZmluZXRlY2gudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9pY29uZm9udC9maW5ldGVjaC5zdmcjc2hvcnR5XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi8qIGxpbmUgMzEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2ljb24tZm9udC5zY3NzICovXG5bY2xhc3NePVwiaWNvbi0tXCJdOmJlZm9yZSxcbltjbGFzcyo9XCIgaWNvbi0tXCJdOmJlZm9yZSwgLmljb24tLWxvY2tlZFtjbGFzc149XCJpY29uLS1cIl06YWZ0ZXIsXG4uaWNvbi0tbG9ja2VkW2NsYXNzKj1cIiBpY29uLS1cIl06YWZ0ZXIsIC51dGlsLWljb24tLWJlZm9yZTpiZWZvcmUsIC5uYXYtbWFpbl9fbW9iaWxlLXRyaWdnZXI6YmVmb3JlLCAubmF2LW1lZ2FfX2xpbmstLTM0MjpiZWZvcmUsIC5uYXYtbWVnYV9fbGluay0tMzQzOmJlZm9yZSwgLm5hdi1tZWdhX19saW5rLS0zNDg6YmVmb3JlLCAubmF2LW1lZ2FfX2xpbmstLTM0NzpiZWZvcmUsXG4udXRpbC1pY29uLS1hZnRlcjphZnRlciB7XG4gIGZvbnQtZmFtaWx5OiBcImljb25zXCIgIWltcG9ydGFudDtcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTAuMDYyNXJlbTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuLyogbGluZSA1MCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9faWNvbi1mb250LnNjc3MgKi9cbltjbGFzc149XCJpY29uLS1cIl0uaWNvbi0tbG9ja2VkLFxuW2NsYXNzKj1cIiBpY29uLS1cIl0uaWNvbi0tbG9ja2VkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC8qIGxpbmUgNTIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2ljb24tZm9udC5zY3NzICovXG4gIFtjbGFzc149XCJpY29uLS1cIl0uaWNvbi0tbG9ja2VkOmFmdGVyLFxuICBbY2xhc3MqPVwiIGljb24tLVwiXS5pY29uLS1sb2NrZWQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiaVwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBmb250LXNpemU6IDY1JTtcbiAgICBsZWZ0OiAtMC4xODc1cmVtO1xuICAgIGJvdHRvbTogLTAuMTI1cmVtOyB9XG5cbi8qIGxpbmUgNjQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2ljb24tZm9udC5zY3NzICovXG4uaWNvbi0tYnVyZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiYVwiO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTAuMTg3NXJlbTsgfVxuXG4vKiBsaW5lIDY0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19pY29uLWZvbnQuc2NzcyAqL1xuLmljb24tLW1haWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJiXCI7IH1cblxuLyogbGluZSA2NCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9faWNvbi1mb250LnNjc3MgKi9cbi5pY29uLS1saW5rZWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcImNcIjsgfVxuXG4vKiBsaW5lIDY0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19pY29uLWZvbnQuc2NzcyAqL1xuLmljb24tLXlvdXR1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJkXCI7IH1cblxuLyogbGluZSA2NCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9faWNvbi1mb250LnNjc3MgKi9cbi5pY29uLS1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcImVcIjsgfVxuXG4vKiBsaW5lIDY0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19pY29uLWZvbnQuc2NzcyAqL1xuLmljb24tLXR3aXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJmXCI7IH1cblxuLyogbGluZSA2NCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9faWNvbi1mb250LnNjc3MgKi9cbi5pY29uLS1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcImdcIjsgfVxuXG4vKiBsaW5lIDY0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19pY29uLWZvbnQuc2NzcyAqL1xuLmljb24tLXNlYXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcImhcIjsgfVxuXG4vKiBsaW5lIDY0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19pY29uLWZvbnQuc2NzcyAqL1xuLmljb24tLWxvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJpXCI7IH1cblxuLyogbGluZSA2NCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9faWNvbi1mb250LnNjc3MgKi9cbi5pY29uLS1jYWxlbmRhcjpiZWZvcmUge1xuICBjb250ZW50OiBcImpcIjsgfVxuXG4vKiBsaW5lIDY0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19pY29uLWZvbnQuc2NzcyAqL1xuLmljb24tLWdsb2JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwia1wiOyB9XG5cbi8qIGxpbmUgNjQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2ljb24tZm9udC5zY3NzICovXG4uaWNvbi0tcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJsXCI7IH1cblxuLyogbGluZSA2NCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9faWNvbi1mb250LnNjc3MgKi9cbi5pY29uLS1mYXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJtXCI7IH1cblxuLyogbGluZSA2NCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9faWNvbi1mb250LnNjc3MgKi9cbi5pY29uLS1za3lwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIm5cIjsgfVxuXG4vKiBsaW5lIDY0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19pY29uLWZvbnQuc2NzcyAqL1xuLmljb24tLWluZm86YmVmb3JlIHtcbiAgY29udGVudDogXCJvXCI7IH1cblxuLyogbGluZSA2NCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9faWNvbi1mb250LnNjc3MgKi9cbi5pY29uLS1hcnJvdy1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcInBcIjsgfVxuXG4vKiBsaW5lIDY0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19pY29uLWZvbnQuc2NzcyAqL1xuLmljb24tLXBkZjpiZWZvcmUge1xuICBjb250ZW50OiBcInFcIjsgfVxuXG4vKiBsaW5lIDY0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19pY29uLWZvbnQuc2NzcyAqL1xuLmljb24tLXdvcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJyXCI7IH1cblxuLyogbGluZSA2NCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9faWNvbi1mb250LnNjc3MgKi9cbi5pY29uLS1hcmNoaXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwic1wiOyB9XG5cbi8qIGxpbmUgNjQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2ljb24tZm9udC5zY3NzICovXG4uaWNvbi0tZXhjZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJ0XCI7IH1cblxuLyogbGluZSA2NCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9faWNvbi1mb250LnNjc3MgKi9cbi5pY29uLS1kb2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJ1XCI7IH1cblxuLyogbGluZSA2NCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9faWNvbi1mb250LnNjc3MgKi9cbi5pY29uLS1zcGlubmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwidlwiOyB9XG5cbi8qIGxpbmUgNjQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2ljb24tZm9udC5zY3NzICovXG4uaWNvbi0tdmlkZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJ3XCI7IH1cblxuLyogbGluZSA2NCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9faWNvbi1mb250LnNjc3MgKi9cbi5pY29uLS1yc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJ4XCI7IH1cblxuLyogbGluZSA3OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9faWNvbi1mb250LnNjc3MgKi9cbi51dGlsLWljb24tLWJlZm9yZS51dGlsLWljb24tLWJ1cmdlcjpiZWZvcmUsIC5uYXYtbWFpbl9fbW9iaWxlLXRyaWdnZXI6YmVmb3JlLCAudXRpbC1pY29uLS1idXJnZXIubmF2LW1lZ2FfX2xpbmstLTM0MjpiZWZvcmUsIC51dGlsLWljb24tLWJ1cmdlci5uYXYtbWVnYV9fbGluay0tMzQzOmJlZm9yZSwgLnV0aWwtaWNvbi0tYnVyZ2VyLm5hdi1tZWdhX19saW5rLS0zNDg6YmVmb3JlLCAudXRpbC1pY29uLS1idXJnZXIubmF2LW1lZ2FfX2xpbmstLTM0NzpiZWZvcmUsXG4udXRpbC1pY29uLS1hZnRlci51dGlsLWljb24tLWJ1cmdlcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiYVwiOyB9XG5cbi8qIGxpbmUgNzgsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2ljb24tZm9udC5zY3NzICovXG4udXRpbC1pY29uLS1iZWZvcmUudXRpbC1pY29uLS1tYWlsOmJlZm9yZSwgLnV0aWwtaWNvbi0tbWFpbC5uYXYtbWFpbl9fbW9iaWxlLXRyaWdnZXI6YmVmb3JlLCAudXRpbC1pY29uLS1tYWlsLm5hdi1tZWdhX19saW5rLS0zNDI6YmVmb3JlLCAudXRpbC1pY29uLS1tYWlsLm5hdi1tZWdhX19saW5rLS0zNDM6YmVmb3JlLCAudXRpbC1pY29uLS1tYWlsLm5hdi1tZWdhX19saW5rLS0zNDg6YmVmb3JlLCAudXRpbC1pY29uLS1tYWlsLm5hdi1tZWdhX19saW5rLS0zNDc6YmVmb3JlLFxuLnV0aWwtaWNvbi0tYWZ0ZXIudXRpbC1pY29uLS1tYWlsOmFmdGVyIHtcbiAgY29udGVudDogXCJiXCI7IH1cblxuLyogbGluZSA3OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9faWNvbi1mb250LnNjc3MgKi9cbi51dGlsLWljb24tLWJlZm9yZS51dGlsLWljb24tLWxpbmtlZGluOmJlZm9yZSwgLnV0aWwtaWNvbi0tbGlua2VkaW4ubmF2LW1haW5fX21vYmlsZS10cmlnZ2VyOmJlZm9yZSwgLm5hdi1tZWdhX19saW5rLS0zNDI6YmVmb3JlLCAudXRpbC1pY29uLS1saW5rZWRpbi5uYXYtbWVnYV9fbGluay0tMzQzOmJlZm9yZSwgLnV0aWwtaWNvbi0tbGlua2VkaW4ubmF2LW1lZ2FfX2xpbmstLTM0ODpiZWZvcmUsIC51dGlsLWljb24tLWxpbmtlZGluLm5hdi1tZWdhX19saW5rLS0zNDc6YmVmb3JlLFxuLnV0aWwtaWNvbi0tYWZ0ZXIudXRpbC1pY29uLS1saW5rZWRpbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiY1wiOyB9XG5cbi8qIGxpbmUgNzgsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2ljb24tZm9udC5zY3NzICovXG4udXRpbC1pY29uLS1iZWZvcmUudXRpbC1pY29uLS15b3V0dWJlOmJlZm9yZSwgLnV0aWwtaWNvbi0teW91dHViZS5uYXYtbWFpbl9fbW9iaWxlLXRyaWdnZXI6YmVmb3JlLCAudXRpbC1pY29uLS15b3V0dWJlLm5hdi1tZWdhX19saW5rLS0zNDI6YmVmb3JlLCAubmF2LW1lZ2FfX2xpbmstLTM0MzpiZWZvcmUsIC51dGlsLWljb24tLXlvdXR1YmUubmF2LW1lZ2FfX2xpbmstLTM0ODpiZWZvcmUsIC51dGlsLWljb24tLXlvdXR1YmUubmF2LW1lZ2FfX2xpbmstLTM0NzpiZWZvcmUsXG4udXRpbC1pY29uLS1hZnRlci51dGlsLWljb24tLXlvdXR1YmU6YWZ0ZXIge1xuICBjb250ZW50OiBcImRcIjsgfVxuXG4vKiBsaW5lIDc4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19pY29uLWZvbnQuc2NzcyAqL1xuLnV0aWwtaWNvbi0tYmVmb3JlLnV0aWwtaWNvbi0tZmFjZWJvb2s6YmVmb3JlLCAudXRpbC1pY29uLS1mYWNlYm9vay5uYXYtbWFpbl9fbW9iaWxlLXRyaWdnZXI6YmVmb3JlLCAudXRpbC1pY29uLS1mYWNlYm9vay5uYXYtbWVnYV9fbGluay0tMzQyOmJlZm9yZSwgLnV0aWwtaWNvbi0tZmFjZWJvb2submF2LW1lZ2FfX2xpbmstLTM0MzpiZWZvcmUsIC5uYXYtbWVnYV9fbGluay0tMzQ4OmJlZm9yZSwgLnV0aWwtaWNvbi0tZmFjZWJvb2submF2LW1lZ2FfX2xpbmstLTM0NzpiZWZvcmUsXG4udXRpbC1pY29uLS1hZnRlci51dGlsLWljb24tLWZhY2Vib29rOmFmdGVyIHtcbiAgY29udGVudDogXCJlXCI7IH1cblxuLyogbGluZSA3OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9faWNvbi1mb250LnNjc3MgKi9cbi51dGlsLWljb24tLWJlZm9yZS51dGlsLWljb24tLXR3aXR0ZXI6YmVmb3JlLCAudXRpbC1pY29uLS10d2l0dGVyLm5hdi1tYWluX19tb2JpbGUtdHJpZ2dlcjpiZWZvcmUsIC51dGlsLWljb24tLXR3aXR0ZXIubmF2LW1lZ2FfX2xpbmstLTM0MjpiZWZvcmUsIC51dGlsLWljb24tLXR3aXR0ZXIubmF2LW1lZ2FfX2xpbmstLTM0MzpiZWZvcmUsIC51dGlsLWljb24tLXR3aXR0ZXIubmF2LW1lZ2FfX2xpbmstLTM0ODpiZWZvcmUsIC5uYXYtbWVnYV9fbGluay0tMzQ3OmJlZm9yZSxcbi51dGlsLWljb24tLWFmdGVyLnV0aWwtaWNvbi0tdHdpdHRlcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiZlwiOyB9XG5cbi8qIGxpbmUgNzgsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2ljb24tZm9udC5zY3NzICovXG4udXRpbC1pY29uLS1iZWZvcmUudXRpbC1pY29uLS1jbG9zZTpiZWZvcmUsIC51dGlsLWljb24tLWNsb3NlLm5hdi1tYWluX19tb2JpbGUtdHJpZ2dlcjpiZWZvcmUsIC5vZmYtY2FudmFzLS1zaG93IC5uYXYtbWFpbl9fbW9iaWxlLXRyaWdnZXI6YmVmb3JlLCAudXRpbC1pY29uLS1jbG9zZS5uYXYtbWVnYV9fbGluay0tMzQyOmJlZm9yZSwgLnV0aWwtaWNvbi0tY2xvc2UubmF2LW1lZ2FfX2xpbmstLTM0MzpiZWZvcmUsIC51dGlsLWljb24tLWNsb3NlLm5hdi1tZWdhX19saW5rLS0zNDg6YmVmb3JlLCAudXRpbC1pY29uLS1jbG9zZS5uYXYtbWVnYV9fbGluay0tMzQ3OmJlZm9yZSxcbi51dGlsLWljb24tLWFmdGVyLnV0aWwtaWNvbi0tY2xvc2U6YWZ0ZXIge1xuICBjb250ZW50OiBcImdcIjsgfVxuXG4vKiBsaW5lIDc4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19pY29uLWZvbnQuc2NzcyAqL1xuLnV0aWwtaWNvbi0tYmVmb3JlLnV0aWwtaWNvbi0tc2VhcmNoOmJlZm9yZSwgLnV0aWwtaWNvbi0tc2VhcmNoLm5hdi1tYWluX19tb2JpbGUtdHJpZ2dlcjpiZWZvcmUsIC51dGlsLWljb24tLXNlYXJjaC5uYXYtbWVnYV9fbGluay0tMzQyOmJlZm9yZSwgLnV0aWwtaWNvbi0tc2VhcmNoLm5hdi1tZWdhX19saW5rLS0zNDM6YmVmb3JlLCAudXRpbC1pY29uLS1zZWFyY2gubmF2LW1lZ2FfX2xpbmstLTM0ODpiZWZvcmUsIC51dGlsLWljb24tLXNlYXJjaC5uYXYtbWVnYV9fbGluay0tMzQ3OmJlZm9yZSxcbi51dGlsLWljb24tLWFmdGVyLnV0aWwtaWNvbi0tc2VhcmNoOmFmdGVyIHtcbiAgY29udGVudDogXCJoXCI7IH1cblxuLyogbGluZSA3OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9faWNvbi1mb250LnNjc3MgKi9cbi51dGlsLWljb24tLWJlZm9yZS51dGlsLWljb24tLWxvY2s6YmVmb3JlLCAudXRpbC1pY29uLS1sb2NrLm5hdi1tYWluX19tb2JpbGUtdHJpZ2dlcjpiZWZvcmUsIC51dGlsLWljb24tLWxvY2submF2LW1lZ2FfX2xpbmstLTM0MjpiZWZvcmUsIC51dGlsLWljb24tLWxvY2submF2LW1lZ2FfX2xpbmstLTM0MzpiZWZvcmUsIC51dGlsLWljb24tLWxvY2submF2LW1lZ2FfX2xpbmstLTM0ODpiZWZvcmUsIC51dGlsLWljb24tLWxvY2submF2LW1lZ2FfX2xpbmstLTM0NzpiZWZvcmUsXG4udXRpbC1pY29uLS1hZnRlci51dGlsLWljb24tLWxvY2s6YWZ0ZXIge1xuICBjb250ZW50OiBcImlcIjsgfVxuXG4vKiBsaW5lIDc4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19pY29uLWZvbnQuc2NzcyAqL1xuLnV0aWwtaWNvbi0tYmVmb3JlLnV0aWwtaWNvbi0tY2FsZW5kYXI6YmVmb3JlLCAudXRpbC1pY29uLS1jYWxlbmRhci5uYXYtbWFpbl9fbW9iaWxlLXRyaWdnZXI6YmVmb3JlLCAudXRpbC1pY29uLS1jYWxlbmRhci5uYXYtbWVnYV9fbGluay0tMzQyOmJlZm9yZSwgLnV0aWwtaWNvbi0tY2FsZW5kYXIubmF2LW1lZ2FfX2xpbmstLTM0MzpiZWZvcmUsIC51dGlsLWljb24tLWNhbGVuZGFyLm5hdi1tZWdhX19saW5rLS0zNDg6YmVmb3JlLCAudXRpbC1pY29uLS1jYWxlbmRhci5uYXYtbWVnYV9fbGluay0tMzQ3OmJlZm9yZSxcbi51dGlsLWljb24tLWFmdGVyLnV0aWwtaWNvbi0tY2FsZW5kYXI6YWZ0ZXIge1xuICBjb250ZW50OiBcImpcIjsgfVxuXG4vKiBsaW5lIDc4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19pY29uLWZvbnQuc2NzcyAqL1xuLnV0aWwtaWNvbi0tYmVmb3JlLnV0aWwtaWNvbi0tZ2xvYmU6YmVmb3JlLCAudXRpbC1pY29uLS1nbG9iZS5uYXYtbWFpbl9fbW9iaWxlLXRyaWdnZXI6YmVmb3JlLCAudXRpbC1pY29uLS1nbG9iZS5uYXYtbWVnYV9fbGluay0tMzQyOmJlZm9yZSwgLnV0aWwtaWNvbi0tZ2xvYmUubmF2LW1lZ2FfX2xpbmstLTM0MzpiZWZvcmUsIC51dGlsLWljb24tLWdsb2JlLm5hdi1tZWdhX19saW5rLS0zNDg6YmVmb3JlLCAudXRpbC1pY29uLS1nbG9iZS5uYXYtbWVnYV9fbGluay0tMzQ3OmJlZm9yZSxcbi51dGlsLWljb24tLWFmdGVyLnV0aWwtaWNvbi0tZ2xvYmU6YWZ0ZXIge1xuICBjb250ZW50OiBcImtcIjsgfVxuXG4vKiBsaW5lIDc4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19pY29uLWZvbnQuc2NzcyAqL1xuLnV0aWwtaWNvbi0tYmVmb3JlLnV0aWwtaWNvbi0tcGhvbmU6YmVmb3JlLCAudXRpbC1pY29uLS1waG9uZS5uYXYtbWFpbl9fbW9iaWxlLXRyaWdnZXI6YmVmb3JlLCAudXRpbC1pY29uLS1waG9uZS5uYXYtbWVnYV9fbGluay0tMzQyOmJlZm9yZSwgLnV0aWwtaWNvbi0tcGhvbmUubmF2LW1lZ2FfX2xpbmstLTM0MzpiZWZvcmUsIC51dGlsLWljb24tLXBob25lLm5hdi1tZWdhX19saW5rLS0zNDg6YmVmb3JlLCAudXRpbC1pY29uLS1waG9uZS5uYXYtbWVnYV9fbGluay0tMzQ3OmJlZm9yZSxcbi51dGlsLWljb24tLWFmdGVyLnV0aWwtaWNvbi0tcGhvbmU6YWZ0ZXIge1xuICBjb250ZW50OiBcImxcIjsgfVxuXG4vKiBsaW5lIDc4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19pY29uLWZvbnQuc2NzcyAqL1xuLnV0aWwtaWNvbi0tYmVmb3JlLnV0aWwtaWNvbi0tZmF4OmJlZm9yZSwgLnV0aWwtaWNvbi0tZmF4Lm5hdi1tYWluX19tb2JpbGUtdHJpZ2dlcjpiZWZvcmUsIC51dGlsLWljb24tLWZheC5uYXYtbWVnYV9fbGluay0tMzQyOmJlZm9yZSwgLnV0aWwtaWNvbi0tZmF4Lm5hdi1tZWdhX19saW5rLS0zNDM6YmVmb3JlLCAudXRpbC1pY29uLS1mYXgubmF2LW1lZ2FfX2xpbmstLTM0ODpiZWZvcmUsIC51dGlsLWljb24tLWZheC5uYXYtbWVnYV9fbGluay0tMzQ3OmJlZm9yZSxcbi51dGlsLWljb24tLWFmdGVyLnV0aWwtaWNvbi0tZmF4OmFmdGVyIHtcbiAgY29udGVudDogXCJtXCI7IH1cblxuLyogbGluZSA3OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9faWNvbi1mb250LnNjc3MgKi9cbi51dGlsLWljb24tLWJlZm9yZS51dGlsLWljb24tLXNreXBlOmJlZm9yZSwgLnV0aWwtaWNvbi0tc2t5cGUubmF2LW1haW5fX21vYmlsZS10cmlnZ2VyOmJlZm9yZSwgLnV0aWwtaWNvbi0tc2t5cGUubmF2LW1lZ2FfX2xpbmstLTM0MjpiZWZvcmUsIC51dGlsLWljb24tLXNreXBlLm5hdi1tZWdhX19saW5rLS0zNDM6YmVmb3JlLCAudXRpbC1pY29uLS1za3lwZS5uYXYtbWVnYV9fbGluay0tMzQ4OmJlZm9yZSwgLnV0aWwtaWNvbi0tc2t5cGUubmF2LW1lZ2FfX2xpbmstLTM0NzpiZWZvcmUsXG4udXRpbC1pY29uLS1hZnRlci51dGlsLWljb24tLXNreXBlOmFmdGVyIHtcbiAgY29udGVudDogXCJuXCI7IH1cblxuLyogbGluZSA3OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9faWNvbi1mb250LnNjc3MgKi9cbi51dGlsLWljb24tLWJlZm9yZS51dGlsLWljb24tLWluZm86YmVmb3JlLCAudXRpbC1pY29uLS1pbmZvLm5hdi1tYWluX19tb2JpbGUtdHJpZ2dlcjpiZWZvcmUsIC51dGlsLWljb24tLWluZm8ubmF2LW1lZ2FfX2xpbmstLTM0MjpiZWZvcmUsIC51dGlsLWljb24tLWluZm8ubmF2LW1lZ2FfX2xpbmstLTM0MzpiZWZvcmUsIC51dGlsLWljb24tLWluZm8ubmF2LW1lZ2FfX2xpbmstLTM0ODpiZWZvcmUsIC51dGlsLWljb24tLWluZm8ubmF2LW1lZ2FfX2xpbmstLTM0NzpiZWZvcmUsXG4udXRpbC1pY29uLS1hZnRlci51dGlsLWljb24tLWluZm86YWZ0ZXIge1xuICBjb250ZW50OiBcIm9cIjsgfVxuXG4vKiBsaW5lIDc4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19pY29uLWZvbnQuc2NzcyAqL1xuLnV0aWwtaWNvbi0tYmVmb3JlLnV0aWwtaWNvbi0tYXJyb3ctcmlnaHQ6YmVmb3JlLCAudXRpbC1pY29uLS1hcnJvdy1yaWdodC5uYXYtbWFpbl9fbW9iaWxlLXRyaWdnZXI6YmVmb3JlLCAudXRpbC1pY29uLS1hcnJvdy1yaWdodC5uYXYtbWVnYV9fbGluay0tMzQyOmJlZm9yZSwgLnV0aWwtaWNvbi0tYXJyb3ctcmlnaHQubmF2LW1lZ2FfX2xpbmstLTM0MzpiZWZvcmUsIC51dGlsLWljb24tLWFycm93LXJpZ2h0Lm5hdi1tZWdhX19saW5rLS0zNDg6YmVmb3JlLCAudXRpbC1pY29uLS1hcnJvdy1yaWdodC5uYXYtbWVnYV9fbGluay0tMzQ3OmJlZm9yZSxcbi51dGlsLWljb24tLWFmdGVyLnV0aWwtaWNvbi0tYXJyb3ctcmlnaHQ6YWZ0ZXIge1xuICBjb250ZW50OiBcInBcIjsgfVxuXG4vKiBsaW5lIDc4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19pY29uLWZvbnQuc2NzcyAqL1xuLnV0aWwtaWNvbi0tYmVmb3JlLnV0aWwtaWNvbi0tcGRmOmJlZm9yZSwgLnV0aWwtaWNvbi0tcGRmLm5hdi1tYWluX19tb2JpbGUtdHJpZ2dlcjpiZWZvcmUsIC51dGlsLWljb24tLXBkZi5uYXYtbWVnYV9fbGluay0tMzQyOmJlZm9yZSwgLnV0aWwtaWNvbi0tcGRmLm5hdi1tZWdhX19saW5rLS0zNDM6YmVmb3JlLCAudXRpbC1pY29uLS1wZGYubmF2LW1lZ2FfX2xpbmstLTM0ODpiZWZvcmUsIC51dGlsLWljb24tLXBkZi5uYXYtbWVnYV9fbGluay0tMzQ3OmJlZm9yZSxcbi51dGlsLWljb24tLWFmdGVyLnV0aWwtaWNvbi0tcGRmOmFmdGVyIHtcbiAgY29udGVudDogXCJxXCI7IH1cblxuLyogbGluZSA3OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9faWNvbi1mb250LnNjc3MgKi9cbi51dGlsLWljb24tLWJlZm9yZS51dGlsLWljb24tLXdvcmQ6YmVmb3JlLCAudXRpbC1pY29uLS13b3JkLm5hdi1tYWluX19tb2JpbGUtdHJpZ2dlcjpiZWZvcmUsIC51dGlsLWljb24tLXdvcmQubmF2LW1lZ2FfX2xpbmstLTM0MjpiZWZvcmUsIC51dGlsLWljb24tLXdvcmQubmF2LW1lZ2FfX2xpbmstLTM0MzpiZWZvcmUsIC51dGlsLWljb24tLXdvcmQubmF2LW1lZ2FfX2xpbmstLTM0ODpiZWZvcmUsIC51dGlsLWljb24tLXdvcmQubmF2LW1lZ2FfX2xpbmstLTM0NzpiZWZvcmUsXG4udXRpbC1pY29uLS1hZnRlci51dGlsLWljb24tLXdvcmQ6YWZ0ZXIge1xuICBjb250ZW50OiBcInJcIjsgfVxuXG4vKiBsaW5lIDc4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19pY29uLWZvbnQuc2NzcyAqL1xuLnV0aWwtaWNvbi0tYmVmb3JlLnV0aWwtaWNvbi0tYXJjaGl2ZTpiZWZvcmUsIC51dGlsLWljb24tLWFyY2hpdmUubmF2LW1haW5fX21vYmlsZS10cmlnZ2VyOmJlZm9yZSwgLnV0aWwtaWNvbi0tYXJjaGl2ZS5uYXYtbWVnYV9fbGluay0tMzQyOmJlZm9yZSwgLnV0aWwtaWNvbi0tYXJjaGl2ZS5uYXYtbWVnYV9fbGluay0tMzQzOmJlZm9yZSwgLnV0aWwtaWNvbi0tYXJjaGl2ZS5uYXYtbWVnYV9fbGluay0tMzQ4OmJlZm9yZSwgLnV0aWwtaWNvbi0tYXJjaGl2ZS5uYXYtbWVnYV9fbGluay0tMzQ3OmJlZm9yZSxcbi51dGlsLWljb24tLWFmdGVyLnV0aWwtaWNvbi0tYXJjaGl2ZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwic1wiOyB9XG5cbi8qIGxpbmUgNzgsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2ljb24tZm9udC5zY3NzICovXG4udXRpbC1pY29uLS1iZWZvcmUudXRpbC1pY29uLS1leGNlbDpiZWZvcmUsIC51dGlsLWljb24tLWV4Y2VsLm5hdi1tYWluX19tb2JpbGUtdHJpZ2dlcjpiZWZvcmUsIC51dGlsLWljb24tLWV4Y2VsLm5hdi1tZWdhX19saW5rLS0zNDI6YmVmb3JlLCAudXRpbC1pY29uLS1leGNlbC5uYXYtbWVnYV9fbGluay0tMzQzOmJlZm9yZSwgLnV0aWwtaWNvbi0tZXhjZWwubmF2LW1lZ2FfX2xpbmstLTM0ODpiZWZvcmUsIC51dGlsLWljb24tLWV4Y2VsLm5hdi1tZWdhX19saW5rLS0zNDc6YmVmb3JlLFxuLnV0aWwtaWNvbi0tYWZ0ZXIudXRpbC1pY29uLS1leGNlbDphZnRlciB7XG4gIGNvbnRlbnQ6IFwidFwiOyB9XG5cbi8qIGxpbmUgNzgsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2ljb24tZm9udC5zY3NzICovXG4udXRpbC1pY29uLS1iZWZvcmUudXRpbC1pY29uLS1kb2M6YmVmb3JlLCAudXRpbC1pY29uLS1kb2MubmF2LW1haW5fX21vYmlsZS10cmlnZ2VyOmJlZm9yZSwgLnV0aWwtaWNvbi0tZG9jLm5hdi1tZWdhX19saW5rLS0zNDI6YmVmb3JlLCAudXRpbC1pY29uLS1kb2MubmF2LW1lZ2FfX2xpbmstLTM0MzpiZWZvcmUsIC51dGlsLWljb24tLWRvYy5uYXYtbWVnYV9fbGluay0tMzQ4OmJlZm9yZSwgLnV0aWwtaWNvbi0tZG9jLm5hdi1tZWdhX19saW5rLS0zNDc6YmVmb3JlLFxuLnV0aWwtaWNvbi0tYWZ0ZXIudXRpbC1pY29uLS1kb2M6YWZ0ZXIge1xuICBjb250ZW50OiBcInVcIjsgfVxuXG4vKiBsaW5lIDc4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19pY29uLWZvbnQuc2NzcyAqL1xuLnV0aWwtaWNvbi0tYmVmb3JlLnV0aWwtaWNvbi0tc3Bpbm5lcjpiZWZvcmUsIC51dGlsLWljb24tLXNwaW5uZXIubmF2LW1haW5fX21vYmlsZS10cmlnZ2VyOmJlZm9yZSwgLnV0aWwtaWNvbi0tc3Bpbm5lci5uYXYtbWVnYV9fbGluay0tMzQyOmJlZm9yZSwgLnV0aWwtaWNvbi0tc3Bpbm5lci5uYXYtbWVnYV9fbGluay0tMzQzOmJlZm9yZSwgLnV0aWwtaWNvbi0tc3Bpbm5lci5uYXYtbWVnYV9fbGluay0tMzQ4OmJlZm9yZSwgLnV0aWwtaWNvbi0tc3Bpbm5lci5uYXYtbWVnYV9fbGluay0tMzQ3OmJlZm9yZSxcbi51dGlsLWljb24tLWFmdGVyLnV0aWwtaWNvbi0tc3Bpbm5lcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwidlwiOyB9XG5cbi8qIGxpbmUgNzgsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2ljb24tZm9udC5zY3NzICovXG4udXRpbC1pY29uLS1iZWZvcmUudXRpbC1pY29uLS12aWRlbzpiZWZvcmUsIC51dGlsLWljb24tLXZpZGVvLm5hdi1tYWluX19tb2JpbGUtdHJpZ2dlcjpiZWZvcmUsIC51dGlsLWljb24tLXZpZGVvLm5hdi1tZWdhX19saW5rLS0zNDI6YmVmb3JlLCAudXRpbC1pY29uLS12aWRlby5uYXYtbWVnYV9fbGluay0tMzQzOmJlZm9yZSwgLnV0aWwtaWNvbi0tdmlkZW8ubmF2LW1lZ2FfX2xpbmstLTM0ODpiZWZvcmUsIC51dGlsLWljb24tLXZpZGVvLm5hdi1tZWdhX19saW5rLS0zNDc6YmVmb3JlLFxuLnV0aWwtaWNvbi0tYWZ0ZXIudXRpbC1pY29uLS12aWRlbzphZnRlciB7XG4gIGNvbnRlbnQ6IFwid1wiOyB9XG5cbi8qIGxpbmUgNzgsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2ljb24tZm9udC5zY3NzICovXG4udXRpbC1pY29uLS1iZWZvcmUudXRpbC1pY29uLS1yc3M6YmVmb3JlLCAudXRpbC1pY29uLS1yc3MubmF2LW1haW5fX21vYmlsZS10cmlnZ2VyOmJlZm9yZSwgLnV0aWwtaWNvbi0tcnNzLm5hdi1tZWdhX19saW5rLS0zNDI6YmVmb3JlLCAudXRpbC1pY29uLS1yc3MubmF2LW1lZ2FfX2xpbmstLTM0MzpiZWZvcmUsIC51dGlsLWljb24tLXJzcy5uYXYtbWVnYV9fbGluay0tMzQ4OmJlZm9yZSwgLnV0aWwtaWNvbi0tcnNzLm5hdi1tZWdhX19saW5rLS0zNDc6YmVmb3JlLFxuLnV0aWwtaWNvbi0tYWZ0ZXIudXRpbC1pY29uLS1yc3M6YWZ0ZXIge1xuICBjb250ZW50OiBcInhcIjsgfVxuXG4vKiBsaW5lIDg0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19pY29uLWZvbnQuc2NzcyAqL1xuLmljb24tLXdoaXRlIHtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi8qIGxpbmUgODgsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2ljb24tZm9udC5zY3NzICovXG4uaWNvbi0tY2xvc2Uge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIGxpbmUgMTExLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19idXJnZXIuc2NzcyAqL1xuLmMtYnVyZ2VyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDNyZW07XG4gIHdpZHRoOiAzcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgei1pbmRleDogNTI7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAvKiBsaW5lIDEyMSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fYnVyZ2VyLnNjc3MgKi9cbiAgLmMtYnVyZ2VyX19pY29uIHtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHJpZ2h0OiAwLjVyZW07IH1cbiAgICAvKiBsaW5lIDIyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19idXJnZXIuc2NzcyAqL1xuICAgIC5jLWJ1cmdlcl9faWNvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAvKiBsaW5lIDI2LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19idXJnZXIuc2NzcyAqL1xuICAgIC5jLWJ1cmdlcl9faWNvbiwgLmMtYnVyZ2VyX19pY29uOmJlZm9yZSwgLmMtYnVyZ2VyX19pY29uOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjc5NDFkO1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGgsIGJhY2tncm91bmQtY29sb3IsIHRyYW5zZm9ybTtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7IH1cbiAgICAvKiBsaW5lIDQ3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19idXJnZXIuc2NzcyAqL1xuICAgIC5jLWJ1cmdlcl9faWNvbjpiZWZvcmUsIC5jLWJ1cmdlcl9faWNvbjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgICAvKiBsaW5lIDU0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19idXJnZXIuc2NzcyAqL1xuICAgIC5jLWJ1cmdlcl9faWNvbjpiZWZvcmUge1xuICAgICAgdG9wOiAtNnB4OyB9XG4gICAgLyogbGluZSA1OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fYnVyZ2VyLnNjc3MgKi9cbiAgICAuYy1idXJnZXJfX2ljb246YWZ0ZXIge1xuICAgICAgdG9wOiA2cHg7IH1cblxuLyogbGluZSA5MywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fYnVyZ2VyLnNjc3MgKi9cbi5pcy1vcGVuLXJpZ2h0IC5jLWJ1cmdlcl9faWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qIGxpbmUgOTYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2J1cmdlci5zY3NzICovXG4uaXMtb3Blbi1yaWdodCAuYy1idXJnZXJfX2ljb246YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCkgcm90YXRlKDQ1ZGVnKTsgfVxuXG4vKiBsaW5lIDEwMiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fYnVyZ2VyLnNjc3MgKi9cbi5pcy1vcGVuLXJpZ2h0IC5jLWJ1cmdlcl9faWNvbjphZnRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCkgcm90YXRlKC00NWRlZyk7IH1cblxuLyogbGluZSAxMzYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX2J1cmdlci5zY3NzICovXG4uaXMtb3Blbi1yaWdodC5pbml0IC5jLWJ1cmdlcl9faWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogbGluZSAxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19hbmltYXRpb25zLnNjc3MgKi9cbi5zbGlkZS1hbmQtZmFkZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBjdXN0b20tMTsgfVxuXG5Aa2V5ZnJhbWVzIGN1c3RvbS0xIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLyogbGluZSAzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19mbHVpZF9zdHlsZWRfY29udGVudC5zY3NzICovXG4uY2UtdGV4dHBpYy5jZS1yaWdodCAuY2UtY29sdW1uIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLyogbGluZSA3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19mbHVpZF9zdHlsZWRfY29udGVudC5zY3NzICovXG4uY2UtdGV4dHBpYy5jZS1jZW50ZXIgLmNlLWNvbHVtbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogaGVhZGVyLnNjc3NcbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwczovL3d3dy5zaG9ydC1jdXRzLmRlL1xuICpcbiAqIERhdGU6IDIwMTctMDctMDRcbiAqIEF1dGhvcjogbWFyaW9kcmVuZ25lciAoKkBzaG9ydC1jdXRzLmRlKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyoqXG4gKiBmdW5jdGlvbnMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qKlxuICogUmV0dXJuIHNwZWNpZmljIGNvbG9yXG4gKi9cbi8qKlxuICogdmFyaWFibGVzLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPEBjb2xvcnMgKi9cbi8qIGNvbG9yc0A+ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSWNvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA8QGljb25zICovXG4vKiBpY29uc0A+ICovXG4vKlxuXHRGb3VuZGF0aW9uXG4gKi9cbi8qKlxuICogbWl4aW5zLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKiBsaW5lIDIwLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaGVhZGVyL2hlYWRlci5zY3NzICovXG4uaGVhZGVyIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAvKiBsaW5lIDIwLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaGVhZGVyL2hlYWRlci5zY3NzICovXG4gICAgLmhlYWRlciB7XG4gICAgICBoZWlnaHQ6IDNyZW07IH0gfVxuICAvKiBsaW5lIDMxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaGVhZGVyL2hlYWRlci5zY3NzICovXG4gIC5oZWFkZXItLWNsb25lIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgei1pbmRleDogMTtcbiAgICBib3gtc2hhZG93OiAwIDNweCA3cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02LjI1cmVtKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLyogbGluZSA0NCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2hlYWRlci9oZWFkZXIuc2NzcyAqL1xuICAgIC5zdGlja3ktLXNob3cgLmhlYWRlci0tY2xvbmUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgLyogbGluZSA0OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2hlYWRlci9oZWFkZXIuc2NzcyAqL1xuICAgIC5zdGlja3ktLXNob3cub2ZmLWNhbnZhcy0tc2hvdyAuaGVhZGVyLS1jbG9uZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjg1cHgsIDApOyB9XG4gIC8qIGxpbmUgNTMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9oZWFkZXIvaGVhZGVyLnNjc3MgKi9cbiAgLmhlYWRlcl9fYnJhbmRpbmcge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvbG9nby1maW5ldGVjaC5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB3aWR0aDogMTExcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbjogMC41NjI1cmVtIDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLyogbGluZSA1MywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2hlYWRlci9oZWFkZXIuc2NzcyAqL1xuICAgICAgLmhlYWRlcl9fYnJhbmRpbmcge1xuICAgICAgICB3aWR0aDogMTcwcHg7XG4gICAgICAgIGhlaWdodDogNDZweDtcbiAgICAgICAgbWFyZ2luOiAxLjA2MjVyZW0gMDsgfSB9XG4gICAgLyogbGluZSA2OSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2hlYWRlci9oZWFkZXIuc2NzcyAqL1xuICAgIC5zdGlja3ktLXNob3cgLmhlYWRlcl9fYnJhbmRpbmcge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9sb2dvLWZpbmV0ZWNoLXNpZ25ldC5wbmcpO1xuICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICBtYXJnaW46IDEuMDYyNXJlbSAwIDFyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC8qIGxpbmUgNjksIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9oZWFkZXIvaGVhZGVyLnNjc3MgKi9cbiAgICAgICAgLnN0aWNreS0tc2hvdyAuaGVhZGVyX19icmFuZGluZyB7XG4gICAgICAgICAgd2lkdGg6IDIxcHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgICAgICAgIG1hcmdpbjogMC44NzVyZW0gMCAwLjgxMjVyZW07IH0gfVxuICAvKiBsaW5lIDg0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaGVhZGVyL2hlYWRlci5zY3NzICovXG4gIC5oZWFkZXIgPiAucm93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAvKiBsaW5lIDg3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaGVhZGVyL2hlYWRlci5zY3NzICovXG4gICAgLmhlYWRlciA+IC5yb3c6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlN2U3ZTc7IH1cblxuLyogbGluZSAxMDIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9oZWFkZXIvaGVhZGVyLnNjc3MgKi9cbi5uYXYtdG9wIGEge1xuICBjb2xvcjogIzU4NTk1YjtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIC8qIGxpbmUgMjQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gIC5uYXYtdG9wIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjNTg1OTViOyB9XG4gIC8qIGxpbmUgMzMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gIC5uYXYtdG9wIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICM1ODU5NWI7IH1cbiAgLyogbGluZSA0MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgLm5hdi10b3AgYTphY3RpdmUge1xuICAgIGNvbG9yOiAjNTg1OTViOyB9XG4gIC8qIGxpbmUgNTEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gIC5uYXYtdG9wIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjNTg1OTViOyB9XG4gIC8qIGxpbmUgMTA1LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaGVhZGVyL2hlYWRlci5zY3NzICovXG4gIC5uYXYtdG9wIGE6bm90KC5idXR0b24pIHtcbiAgICBsaW5lLWhlaWdodDogNXJlbTsgfVxuICAgIC8qIGxpbmUgMTA3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaGVhZGVyL2hlYWRlci5zY3NzICovXG4gICAgLmhlYWRlci0tY2xvbmUgLm5hdi10b3AgYTpub3QoLmJ1dHRvbikge1xuICAgICAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtOyB9XG5cbi8qIGxpbmUgMTE2LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaGVhZGVyL2hlYWRlci5zY3NzICovXG4ubmF2LXRvcCAuYnV0dG9uIHtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nOiAwIDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjE4NzVyZW07XG4gIGJvcmRlcjogbm9uZTsgfVxuICAvKiBsaW5lIDI0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAubmF2LXRvcCAuYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAvKiBsaW5lIDMzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAubmF2LXRvcCAuYnV0dG9uOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC8qIGxpbmUgNDIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gIC5uYXYtdG9wIC5idXR0b246YWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAvKiBsaW5lIDUxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAubmF2LXRvcCAuYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4vKiBsaW5lIDEyNiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2hlYWRlci9oZWFkZXIuc2NzcyAqL1xuLm5hdi10b3BfX2xhbmcge1xuICBoZWlnaHQ6IDNyZW07XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIGZsb2F0OiByaWdodDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC8qIGxpbmUgMTI2LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaGVhZGVyL2hlYWRlci5zY3NzICovXG4gICAgLm5hdi10b3BfX2xhbmcge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTdlN2U3O1xuICAgICAgcGFkZGluZzogMCAxLjI1cmVtO1xuICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgZmxvYXQ6IG5vbmU7IH0gfVxuICAvKiBsaW5lIDE0MSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2hlYWRlci9oZWFkZXIuc2NzcyAqL1xuICAuaGVhZGVyLS1jbG9uZSAubmF2LXRvcF9fbGFuZyB7XG4gICAgaGVpZ2h0OiAzLjEyNXJlbTsgfVxuICAvKiBsaW5lIDE0OSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2hlYWRlci9oZWFkZXIuc2NzcyAqL1xuICAubmF2LXRvcF9fbGFuZyBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLyogbGluZSAxNTIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9oZWFkZXIvaGVhZGVyLnNjc3MgKi9cbiAgICAubmF2LXRvcF9fbGFuZyBsaSBzcGFuIHtcbiAgICAgIGNvbG9yOiAjYTdhOGE5O1xuICAgICAgbGluZS1oZWlnaHQ6IDNyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAvKiBsaW5lIDE1MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2hlYWRlci9oZWFkZXIuc2NzcyAqL1xuICAgICAgICAubmF2LXRvcF9fbGFuZyBsaSBzcGFuIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNXJlbTsgfSB9XG4gICAgICAvKiBsaW5lIDE2MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2hlYWRlci9oZWFkZXIuc2NzcyAqL1xuICAgICAgLmhlYWRlci0tY2xvbmUgLm5hdi10b3BfX2xhbmcgbGkgc3BhbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTsgfVxuICAgIC8qIGxpbmUgMTcxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaGVhZGVyL2hlYWRlci5zY3NzICovXG4gICAgLm5hdi10b3BfX2xhbmcgbGkuYWN0aXZlIHNwYW4ge1xuICAgICAgY29sb3I6ICNmNzk0MWQ7IH1cbiAgLyogbGluZSAxNzcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9oZWFkZXIvaGVhZGVyLnNjc3MgKi9cbiAgLm5hdi10b3BfX2xhbmcgc3BhbixcbiAgLm5hdi10b3BfX2xhbmcgYSB7XG4gICAgcGFkZGluZzogMCAwLjMxMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLyogbGluZSAxNzcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9oZWFkZXIvaGVhZGVyLnNjc3MgKi9cbiAgICAgIC5uYXYtdG9wX19sYW5nIHNwYW4sXG4gICAgICAubmF2LXRvcF9fbGFuZyBhIHtcbiAgICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTsgfSB9XG4gIC8qIGxpbmUgMTg2LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaGVhZGVyL2hlYWRlci5zY3NzICovXG4gIC5oZWFkZXItLWxhbmRpbmcgLm5hdi10b3BfX2xhbmcge1xuICAgIGJvcmRlcjogbm9uZTsgfVxuXG4vKiBsaW5lIDE5MSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2hlYWRlci9oZWFkZXIuc2NzcyAqL1xuLm5hdi10b3BfX21lbWJlciB7XG4gIHBhZGRpbmctbGVmdDogMS42ODc1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjg3NXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTdlN2U3O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTdlN2U3OyB9XG5cbi8qIGxpbmUgMjAwLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaGVhZGVyL2hlYWRlci5zY3NzICovXG4ubmF2LXRvcF9fYnVyZ2VyIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjY4NzVyZW07XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC8qIGxpbmUgMjAyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaGVhZGVyL2hlYWRlci5zY3NzICovXG4gIC5uYXYtdG9wX19idXJnZXIgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiA1cmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGNvbG9yOiAjZjc5NDFkOyB9XG4gICAgLyogbGluZSAyNCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAubmF2LXRvcF9fYnVyZ2VyIGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmNzk0MWQ7IH1cbiAgICAvKiBsaW5lIDMzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgIC5uYXYtdG9wX19idXJnZXIgYTp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjZjc5NDFkOyB9XG4gICAgLyogbGluZSA0MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAubmF2LXRvcF9fYnVyZ2VyIGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZjc5NDFkOyB9XG4gICAgLyogbGluZSA1MSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAubmF2LXRvcF9fYnVyZ2VyIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmNzk0MWQ7IH1cblxuLyogbGluZSAyMTYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9oZWFkZXIvaGVhZGVyLnNjc3MgKi9cbi5zZWFyY2gtdG9wIHtcbiAgbWFyZ2luLXRvcDogMS40Mzc1cmVtOyB9XG4gIC8qIGxpbmUgMjE4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaGVhZGVyL2hlYWRlci5zY3NzICovXG4gIC5oZWFkZXItLWNsb25lIC5zZWFyY2gtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cblxuLyogbGluZSAyMjMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9oZWFkZXIvaGVhZGVyLnNjc3MgKi9cbi5pY29uLS1zZWFyY2gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxLjI1cmVtO1xuICB0b3A6IDA7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLyogbGluZSAyMzMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9oZWFkZXIvaGVhZGVyLnNjc3MgKi9cbi5zdGlja3ktLXNob3cgLmxvZ29fX3RleHQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAvKiBsaW5lIDI0MCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2hlYWRlci9oZWFkZXIuc2NzcyAqL1xuICAubG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAvKiBsaW5lIDI0MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2hlYWRlci9oZWFkZXIuc2NzcyAqL1xuICAgIC5sb2dvX193cmFwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDguNXJlbTtcbiAgICAgIG1hcmdpbjogMC4zNzVyZW0gMDsgfVxuICAgICAgLyogbGluZSAyNDgsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9oZWFkZXIvaGVhZGVyLnNjc3MgKi9cbiAgICAgIC5zdGlja3ktLXNob3cgLmxvZ29fX3dyYXAge1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLyogbGluZSAyNTYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9oZWFkZXIvaGVhZGVyLnNjc3MgKi9cbiAgLmxvZ28ge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAuNjI1cmVtO1xuICAgIGhlaWdodDogNXJlbTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC8qIGxpbmUgMjYxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaGVhZGVyL2hlYWRlci5zY3NzICovXG4gICAgLmxvZ29fX3dyYXAge1xuICAgICAgd2lkdGg6IDEwLjYyNXJlbTtcbiAgICAgIGhlaWdodDogNXJlbTsgfVxuICAvKiBsaW5lIDI2OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2hlYWRlci9oZWFkZXIuc2NzcyAqL1xuICAuc3RpY2t5LS1zaG93IC5sb2dvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdG9wOiAwLjgxMjVyZW07IH1cbiAgICAvKiBsaW5lIDI3MywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2hlYWRlci9oZWFkZXIuc2NzcyAqL1xuICAgIC5zdGlja3ktLXNob3cgLmxvZ29fX3dyYXAge1xuICAgICAgaGVpZ2h0OiAzLjEyNXJlbTsgfVxuICAvKiBsaW5lIDI4MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2hlYWRlci9oZWFkZXIuc2NzcyAqL1xuICAuaGVhZGVyLS1jbG9uZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAvKiBsaW5lIDI4OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2hlYWRlci9oZWFkZXIuc2NzcyAqL1xuICAuaGVhZGVyID4gLnJvdzpiZWZvcmUge1xuICAgIGxlZnQ6IDAuOTM3NXJlbTtcbiAgICByaWdodDogMC45Mzc1cmVtOyB9IH1cblxuLyoqXG4gKiBmb290ZXIuc2Nzc1xuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHBzOi8vd3d3LnNob3J0LWN1dHMuZGUvXG4gKlxuICogRGF0ZTogMjAxNy0wNy0wNFxuICogQXV0aG9yOiBtYXJpb2RyZW5nbmVyICgqQHNob3J0LWN1dHMuZGUpXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKipcbiAqIGZ1bmN0aW9ucy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyoqXG4gKiBSZXR1cm4gc3BlY2lmaWMgY29sb3JcbiAqL1xuLyoqXG4gKiB2YXJpYWJsZXMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb2xvcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA8QGNvbG9ycyAqL1xuLyogY29sb3JzQD4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBJY29uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIDxAaWNvbnMgKi9cbi8qIGljb25zQD4gKi9cbi8qXG5cdEZvdW5kYXRpb25cbiAqL1xuLyoqXG4gKiBtaXhpbnMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qIGxpbmUgMjIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9mb290ZXIvZm9vdGVyLnNjc3MgKi9cbi5mb290ZXJfX2Nvb2tpZS1yZXZva2Uge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cbiAgLyogbGluZSAzMCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Zvb3Rlci9mb290ZXIuc2NzcyAqL1xuICAuZm9vdGVyX19jb29raWUtcmV2b2tlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAwLjA2MjVyZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTEuMjVyZW07IH1cbiAgLyogbGluZSAzOSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Zvb3Rlci9mb290ZXIuc2NzcyAqL1xuICAuZm9vdGVyX19jb29raWUtcmV2b2tlOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4vKiBsaW5lIDQ1LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvZm9vdGVyL2Zvb3Rlci5zY3NzICovXG4uZm9vdGVyLWJvdHRvbSB7XG4gIGJhY2tncm91bmQ6ICNhN2E4YTk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cbiAgLyogbGluZSA1MCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Zvb3Rlci9mb290ZXIuc2NzcyAqL1xuICAuZm9vdGVyLWJvdHRvbSBwIHtcbiAgICBtYXJnaW46IDAuNzVyZW0gMDtcbiAgICBjb2xvcjogIzU4NTk1YjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC8qIGxpbmUgNDUsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9mb290ZXIvZm9vdGVyLnNjc3MgKi9cbiAgICAuZm9vdGVyLWJvdHRvbSB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiB7XG4gIC8qIGxpbmUgNjMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9mb290ZXIvZm9vdGVyLnNjc3MgKi9cbiAgLmZvb3Rlci13cmFwIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMDsgfSB9XG5cbi8qKlxuICogbmF2LW1haW4uc2Nzc1xuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHBzOi8vd3d3LnNob3J0LWN1dHMuZGUvXG4gKlxuICogRGF0ZTogMjAxNy0wNy0wNFxuICogQXV0aG9yOiBtYXJpb2RyZW5nbmVyICgqQHNob3J0LWN1dHMuZGUpXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKipcbiAqIGZ1bmN0aW9ucy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyoqXG4gKiBSZXR1cm4gc3BlY2lmaWMgY29sb3JcbiAqL1xuLyoqXG4gKiB2YXJpYWJsZXMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb2xvcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA8QGNvbG9ycyAqL1xuLyogY29sb3JzQD4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBJY29uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIDxAaWNvbnMgKi9cbi8qIGljb25zQD4gKi9cbi8qXG5cdEZvdW5kYXRpb25cbiAqL1xuLyoqXG4gKiBtaXhpbnMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qIGxpbmUgMjAsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtbWFpbi9uYXYtbWFpbi5zY3NzICovXG4ubmF2LW1haW4ge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U3ZTdlNzsgfVxuICAvKiBsaW5lIDIyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LW1haW4vbmF2LW1haW4uc2NzcyAqL1xuICAubmF2LW1haW4gdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAvKiBsaW5lIDI4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LW1haW4vbmF2LW1haW4uc2NzcyAqL1xuICAubmF2LW1haW4gYSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxLjU2MjVyZW07IH1cbiAgLyogbGluZSAzNiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1tYWluL25hdi1tYWluLnNjc3MgKi9cbiAgLm5hdi1tYWluIGxpIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gICAgLyogbGluZSAzOSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1tYWluL25hdi1tYWluLnNjc3MgKi9cbiAgICAubmF2LW1haW4gbGkgYSB7XG4gICAgICBjb2xvcjogIzU4NTk1YjsgfVxuICAgICAgLyogbGluZSAyNCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAgIC5uYXYtbWFpbiBsaSBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICM1ODU5NWI7IH1cbiAgICAgIC8qIGxpbmUgMzMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gICAgICAubmF2LW1haW4gbGkgYTp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICM1ODU5NWI7IH1cbiAgICAgIC8qIGxpbmUgNDIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gICAgICAubmF2LW1haW4gbGkgYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogIzU4NTk1YjsgfVxuICAgICAgLyogbGluZSA1MSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAgIC5uYXYtbWFpbiBsaSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM1ODU5NWI7IH1cbiAgLyogbGluZSA0NiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1tYWluL25hdi1tYWluLnNjc3MgKi9cbiAgLm5hdi1tYWluIC5hY3RpdmUgYSB7XG4gICAgY29sb3I6ICNmNzk0MWQ7IH1cbiAgICAvKiBsaW5lIDI0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgIC5uYXYtbWFpbiAuYWN0aXZlIGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmNzk0MWQ7IH1cbiAgICAvKiBsaW5lIDMzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgIC5uYXYtbWFpbiAuYWN0aXZlIGE6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogI2Y3OTQxZDsgfVxuICAgIC8qIGxpbmUgNDIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gICAgLm5hdi1tYWluIC5hY3RpdmUgYTphY3RpdmUge1xuICAgICAgY29sb3I6ICNmNzk0MWQ7IH1cbiAgICAvKiBsaW5lIDUxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgIC5uYXYtbWFpbiAuYWN0aXZlIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmNzk0MWQ7IH1cbiAgLyogbGluZSA1MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1tYWluL25hdi1tYWluLnNjc3MgKi9cbiAgLm5hdi1tYWluX19tb2JpbGUtdHJpZ2dlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogM3JlbTtcbiAgICB3aWR0aDogMi4zNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDNyZW07XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHotaW5kZXg6IDUyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLyoqXG4gKiBuYXYtbWVnYS5zY3NzXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cHM6Ly93d3cuc2hvcnQtY3V0cy5kZS9cbiAqXG4gKiBEYXRlOiAyMDE3LTA3LTA0XG4gKiBBdXRob3I6IG1hcmlvZHJlbmduZXIgKCpAc2hvcnQtY3V0cy5kZSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qKlxuICogZnVuY3Rpb25zLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKipcbiAqIFJldHVybiBzcGVjaWZpYyBjb2xvclxuICovXG4vKipcbiAqIHZhcmlhYmxlcy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbG9yc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIDxAY29sb3JzICovXG4vKiBjb2xvcnNAPiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEljb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPEBpY29ucyAqL1xuLyogaWNvbnNAPiAqL1xuLypcblx0Rm91bmRhdGlvblxuICovXG4vKipcbiAqIG1peGlucy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyogbGluZSAyMCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1tZWdhL25hdi1tZWdhLnNjc3MgKi9cbi5uYXYtbWVnYSB7XG4gIGJhY2tncm91bmQ6ICM1ODU5NWI7IH1cbiAgLyogbGluZSAyNCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1tZWdhL25hdi1tZWdhLnNjc3MgKi9cbiAgLm5hdi1tZWdhIHN0cm9uZyB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiAjYTdhOGE5OyB9XG4gIC8qIGxpbmUgMjksIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtbWVnYS9uYXYtbWVnYS5zY3NzICovXG4gIC5uYXYtbWVnYSB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC8qIGxpbmUgODgsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gICAgLm5hdi1tZWdhIHVsIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC8qIGxpbmUgMzMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtbWVnYS9uYXYtbWVnYS5zY3NzICovXG4gICAgLm5hdi1tZWdhIHVsIGEge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAgIC8qIGxpbmUgMjQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gICAgICAubmF2LW1lZ2EgdWwgYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgLyogbGluZSAzMywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAgIC5uYXYtbWVnYSB1bCBhOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAgIC8qIGxpbmUgNDIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gICAgICAubmF2LW1lZ2EgdWwgYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAgIC8qIGxpbmUgNDcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gICAgICAubmF2LW1lZ2EgdWwgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjYTdhOGE5OyB9XG4gIC8qIGxpbmUgMzksIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtbWVnYS9uYXYtbWVnYS5zY3NzICovXG4gIC5uYXYtbWVnYV9fdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLyogbGluZSA0MywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1tZWdhL25hdi1tZWdhLnNjc3MgKi9cbiAgLm5hdi1tZWdhX19jb2xzIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzY3Njc2OTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzY3Njc2OTsgfVxuICAgIC8qIGxpbmUgNDgsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtbWVnYS9uYXYtbWVnYS5zY3NzICovXG4gICAgLm5hdi1tZWdhX19jb2xzIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAvKiBsaW5lIDg4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgICAgLm5hdi1tZWdhX19jb2xzIHVsIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZS1pbWFnZTogbm9uZTtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgLyogbGluZSA1MywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1tZWdhL25hdi1tZWdhLnNjc3MgKi9cbiAgICAgIC5uYXYtbWVnYV9fY29scyB1bCBsaSB7XG4gICAgICAgIG1hcmdpbjogMC4zMTI1cmVtIDA7XG4gICAgICAgIHBhZGRpbmc6IDAuMDYyNXJlbSAwOyB9XG4gICAgICAvKiBsaW5lIDU3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LW1lZ2EvbmF2LW1lZ2Euc2NzcyAqL1xuICAgICAgLm5hdi1tZWdhX19jb2xzIHVsIGEge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC8qIGxpbmUgNjIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtbWVnYS9uYXYtbWVnYS5zY3NzICovXG4gICAgICAubmF2LW1lZ2FfX2NvbHMgdWwgdWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC44NzVyZW07IH1cbiAgICAgICAgLyogbGluZSA2NCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1tZWdhL25hdi1tZWdhLnNjc3MgKi9cbiAgICAgICAgLm5hdi1tZWdhX19jb2xzIHVsIHVsIGEge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgIC8qIGxpbmUgNjYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtbWVnYS9uYXYtbWVnYS5zY3NzICovXG4gICAgICAgICAgLm5hdi1tZWdhX19jb2xzIHVsIHVsIGE6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IC0wLjgxMjVyZW07XG4gICAgICAgICAgICBjb250ZW50OiBcIsK7XCI7XG4gICAgICAgICAgICAvKiBJbnNlcnQgY29udGVudCB0aGF0IGxvb2tzIGxpa2UgYnVsbGV0cyAqL1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLyogbGluZSA3NywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1tZWdhL25hdi1tZWdhLnNjc3MgKi9cbiAgICAubmF2LW1lZ2FfX2NvbHMgLmNvbHVtbiwgLm5hdi1tZWdhX19jb2xzIC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgICAvKiBsaW5lIDgwLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LW1lZ2EvbmF2LW1lZ2Euc2NzcyAqL1xuICAgICAgLm5hdi1tZWdhX19jb2xzIC5jb2x1bW4gKyAuY29sdW1uLCAubmF2LW1lZ2FfX2NvbHMgLmNvbHVtbnMgKyAuY29sdW1uLCAubmF2LW1lZ2FfX2NvbHMgLmNvbHVtbiArIC5jb2x1bW5zLCAubmF2LW1lZ2FfX2NvbHMgLmNvbHVtbnMgKyAuY29sdW1ucyB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzY3Njc2OTsgfVxuICAvKiBsaW5lIDg4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LW1lZ2EvbmF2LW1lZ2Euc2NzcyAqL1xuICAubmF2LW1lZ2FfX2JveC0tc29jaWFsIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLyogbGluZSA4OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAubmF2LW1lZ2FfX2JveC0tc29jaWFsIHVsIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC8qIGxpbmUgOTEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtbWVnYS9uYXYtbWVnYS5zY3NzICovXG4gICAgLm5hdi1tZWdhX19ib3gtLXNvY2lhbCB1bCBhOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLyogbGluZSA5OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1tZWdhL25hdi1tZWdhLnNjc3MgKi9cbiAgLm5hdi1tZWdhX19ib3ggKyAubmF2LW1lZ2FfX2JveCB7XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9XG4gIC8qIGxpbmUgMTAyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LW1lZ2EvbmF2LW1lZ2Euc2NzcyAqL1xuICAubmF2LWZvb3RlciAubmF2LW1lZ2FfX2JveCB7XG4gICAgbWFyZ2luLXRvcDogMS41NjI1cmVtOyB9XG4gIC8qIGxpbmUgMTA4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LW1lZ2EvbmF2LW1lZ2Euc2NzcyAqL1xuICAubmF2LW1lZ2FfX2JvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC8qIGxpbmUgMTA4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LW1lZ2EvbmF2LW1lZ2Euc2NzcyAqL1xuICAgICAgLm5hdi1tZWdhX19ib3R0b20ge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAvKiBsaW5lIDExNiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1tZWdhL25hdi1tZWdhLnNjc3MgKi9cbiAgICAubmF2LW1lZ2FfX2JvdHRvbSBzdHJvbmcsXG4gICAgLm5hdi1tZWdhX19ib3R0b20gdWwsXG4gICAgLm5hdi1tZWdhX19ib3R0b20gbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLyogbGluZSAxMjIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtbWVnYS9uYXYtbWVnYS5zY3NzICovXG4gICAgLm5hdi1tZWdhX19ib3R0b20gdWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC8qIGxpbmUgMTIyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LW1lZ2EvbmF2LW1lZ2Euc2NzcyAqL1xuICAgICAgICAubmF2LW1lZ2FfX2JvdHRvbSB1bCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgICAvKiBsaW5lIDEzMCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1tZWdhL25hdi1tZWdhLnNjc3MgKi9cbiAgICAubmF2LW1lZ2FfX2JvdHRvbSBsaSB7XG4gICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAvKiBsaW5lIDEzMCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1tZWdhL25hdi1tZWdhLnNjc3MgKi9cbiAgICAgICAgLm5hdi1tZWdhX19ib3R0b20gbGkge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDEuMjVyZW07IH0gfVxuICAgIC8qIGxpbmUgMTM4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LW1lZ2EvbmF2LW1lZ2Euc2NzcyAqL1xuICAgIC5uYXYtbWVnYSAubmF2LW1lZ2FfX2JvdHRvbSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLyogbGluZSAxNDQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtbWVnYS9uYXYtbWVnYS5zY3NzICovXG4gIC5uYXYtbWVnYV9fbGluay0tMzQyLCAubmF2LW1lZ2FfX2xpbmstLTM0MywgLm5hdi1tZWdhX19saW5rLS0zNDgsIC5uYXYtbWVnYV9fbGluay0tMzQ3IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtOyB9XG4gICAgLyogbGluZSAxNTEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtbWVnYS9uYXYtbWVnYS5zY3NzICovXG4gICAgLm5hdi1tZWdhX19saW5rLS0zNDI6YmVmb3JlLCAubmF2LW1lZ2FfX2xpbmstLTM0MzpiZWZvcmUsIC5uYXYtbWVnYV9fbGluay0tMzQ4OmJlZm9yZSwgLm5hdi1tZWdhX19saW5rLS0zNDc6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDJweDsgfVxuICAvKiBsaW5lIDE4NywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1tZWdhL25hdi1tZWdhLnNjc3MgKi9cbiAgLm5hdi1tZWdhX19jb29raWUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cbiAgICAvKiBsaW5lIDE5NSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1tZWdhL25hdi1tZWdhLnNjc3MgKi9cbiAgICAubmF2LW1lZ2FfX2Nvb2tpZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDAuMDYyNXJlbTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC0xLjI1cmVtOyB9XG4gICAgLyogbGluZSAyMDQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtbWVnYS9uYXYtbWVnYS5zY3NzICovXG4gICAgLm5hdi1tZWdhX19jb29raWU6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7IH1cblxuLyogbGluZSAyMTIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtbWVnYS9uYXYtbWVnYS5zY3NzICovXG4uaWNvbi0tY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxLjU2MjVyZW07XG4gIHRvcDogMDtcbiAgbGluZS1oZWlnaHQ6IDVyZW07XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGNvbG9yOiB3aGl0ZTsgfVxuICAvKiBsaW5lIDI0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAuaWNvbi0tY2xvc2U6Zm9jdXMge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAvKiBsaW5lIDMzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAuaWNvbi0tY2xvc2U6dmlzaXRlZCB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gIC8qIGxpbmUgNDIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gIC5pY29uLS1jbG9zZTphY3RpdmUge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAvKiBsaW5lIDUxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAuaWNvbi0tY2xvc2U6aG92ZXIge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAvKiBsaW5lIDIyMCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1tZWdhL25hdi1tZWdhLnNjc3MgKi9cbiAgLnN0aWNreS0tc2hvdyAuaWNvbi0tY2xvc2Uge1xuICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAvKiBsaW5lIDIyNywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1tZWdhL25hdi1tZWdhLnNjc3MgKi9cbiAgI29mZkNhbnZhc1RvcCB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9IH1cblxuLyoqXG4gKiBuYXYtZm9vdGVyLnNjc3NcbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwczovL3d3dy5zaG9ydC1jdXRzLmRlL1xuICpcbiAqIERhdGU6IDIwMTctMDctMDVcbiAqIEF1dGhvcjogbWFyaW9kcmVuZ25lciAoKkBzaG9ydC1jdXRzLmRlKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyoqXG4gKiBmdW5jdGlvbnMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qKlxuICogUmV0dXJuIHNwZWNpZmljIGNvbG9yXG4gKi9cbi8qKlxuICogdmFyaWFibGVzLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPEBjb2xvcnMgKi9cbi8qIGNvbG9yc0A+ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSWNvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA8QGljb25zICovXG4vKiBpY29uc0A+ICovXG4vKlxuXHRGb3VuZGF0aW9uXG4gKi9cbi8qKlxuICogbWl4aW5zLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKiBsaW5lIDIwLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LWZvb3Rlci9uYXYtZm9vdGVyLnNjc3MgKi9cbi5uYXYtZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2JnX2Zvb3Rlci5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLyogbGluZSAyNiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1mb290ZXIvbmF2LWZvb3Rlci5zY3NzICovXG4gIC5uYXYtZm9vdGVyIHN0cm9uZyB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiAjYTdhOGE5OyB9XG4gIC8qIGxpbmUgMzEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtZm9vdGVyL25hdi1mb290ZXIuc2NzcyAqL1xuICAubmF2LWZvb3RlciB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC8qIGxpbmUgODgsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gICAgLm5hdi1mb290ZXIgdWwgbGkge1xuICAgICAgbGlzdC1zdHlsZS1pbWFnZTogbm9uZTtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLyogbGluZSAzNSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1mb290ZXIvbmF2LWZvb3Rlci5zY3NzICovXG4gICAgLm5hdi1mb290ZXIgdWwgYSB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgLyogbGluZSAyNCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAgIC5uYXYtZm9vdGVyIHVsIGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAgIC8qIGxpbmUgMzMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gICAgICAubmF2LWZvb3RlciB1bCBhOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAgIC8qIGxpbmUgNDIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gICAgICAubmF2LWZvb3RlciB1bCBhOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgLyogbGluZSA0NywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAgIC5uYXYtZm9vdGVyIHVsIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2E3YThhOTsgfVxuICAvKiBsaW5lIDQyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LWZvb3Rlci9uYXYtZm9vdGVyLnNjc3MgKi9cbiAgLm5hdi1mb290ZXIgLm5hdi1tZWdhX19ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuXG4vKipcbiAqIG5hdi1icmVhZGNydW1iLnNjc3NcbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwczovL3d3dy5zaG9ydC1jdXRzLmRlL1xuICpcbiAqIERhdGU6IDIwMTctMDctMDVcbiAqIEF1dGhvcjogbWFyaW9kcmVuZ25lciAoKkBzaG9ydC1jdXRzLmRlKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyoqXG4gKiBmdW5jdGlvbnMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qKlxuICogUmV0dXJuIHNwZWNpZmljIGNvbG9yXG4gKi9cbi8qKlxuICogdmFyaWFibGVzLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPEBjb2xvcnMgKi9cbi8qIGNvbG9yc0A+ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSWNvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA8QGljb25zICovXG4vKiBpY29uc0A+ICovXG4vKlxuXHRGb3VuZGF0aW9uXG4gKi9cbi8qKlxuICogbWl4aW5zLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKiBsaW5lIDIwLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LWJyZWFkY3J1bWIvbmF2LWJyZWFkY3J1bWIuc2NzcyAqL1xuLm5hdi1icmVhZGNydW1iIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlN2U3ZTc7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAvKiBsaW5lIDI1LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LWJyZWFkY3J1bWIvbmF2LWJyZWFkY3J1bWIuc2NzcyAqL1xuICAubmF2LWJyZWFkY3J1bWIgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjNTg1OTViOyB9XG4gICAgLyogbGluZSA4OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAubmF2LWJyZWFkY3J1bWIgdWwgbGkge1xuICAgICAgbGlzdC1zdHlsZS1pbWFnZTogbm9uZTtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLyogbGluZSAyOSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1icmVhZGNydW1iL25hdi1icmVhZGNydW1iLnNjc3MgKi9cbiAgICAubmF2LWJyZWFkY3J1bWIgdWwgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAvKiBsaW5lIDMyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LWJyZWFkY3J1bWIvbmF2LWJyZWFkY3J1bWIuc2NzcyAqL1xuICAgICAgLm5hdi1icmVhZGNydW1iIHVsIGxpICsgbGk6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjQzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjQzNzVyZW07XG4gICAgICAgIGNvbnRlbnQ6ICfCuyc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAwLjA2MjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTsgfVxuICAgICAgLyogbGluZSA0MCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1icmVhZGNydW1iL25hdi1icmVhZGNydW1iLnNjc3MgKi9cbiAgICAgIC5uYXYtYnJlYWRjcnVtYiB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLyogbGluZSA0NSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1icmVhZGNydW1iL25hdi1icmVhZGNydW1iLnNjc3MgKi9cbiAgLm5hdi1icmVhZGNydW1iIGEge1xuICAgIGNvbG9yOiAjNTg1OTViOyB9XG4gICAgLyogbGluZSAyNCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAubmF2LWJyZWFkY3J1bWIgYTpmb2N1cyB7XG4gICAgICBjb2xvcjogIzU4NTk1YjsgfVxuICAgIC8qIGxpbmUgMzMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gICAgLm5hdi1icmVhZGNydW1iIGE6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzU4NTk1YjsgfVxuICAgIC8qIGxpbmUgNDIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gICAgLm5hdi1icmVhZGNydW1iIGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjNTg1OTViOyB9XG4gICAgLyogbGluZSA1MSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAubmF2LWJyZWFkY3J1bWIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzU4NTk1YjsgfVxuICAvKiBsaW5lIDQ4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LWJyZWFkY3J1bWIvbmF2LWJyZWFkY3J1bWIuc2NzcyAqL1xuICAubmF2LWJyZWFkY3J1bWIgc3BhbiB7XG4gICAgY29sb3I6ICNmNzk0MWQ7IH1cbiAgICAvKiBsaW5lIDUxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LWJyZWFkY3J1bWIvbmF2LWJyZWFkY3J1bWIuc2NzcyAqL1xuICAgIC5jaS1ibHVlIC5uYXYtYnJlYWRjcnVtYiBzcGFuIHtcbiAgICAgIGNvbG9yOiAjMjVhYWUyOyB9XG4gICAgLyogbGluZSA1NSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1icmVhZGNydW1iL25hdi1icmVhZGNydW1iLnNjc3MgKi9cbiAgICAuY2ktZ3JlZW4gLm5hdi1icmVhZGNydW1iIHNwYW4ge1xuICAgICAgY29sb3I6ICM3NGI3NGE7IH1cbiAgICAvKiBsaW5lIDU5LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LWJyZWFkY3J1bWIvbmF2LWJyZWFkY3J1bWIuc2NzcyAqL1xuICAgIC5jaS1ncmV5IC5uYXYtYnJlYWRjcnVtYiBzcGFuIHtcbiAgICAgIGNvbG9yOiAjNTg1OTViOyB9XG5cbi8qKlxuICogYm94LnNjc3NcbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwczovL3d3dy5zaG9ydC1jdXRzLmRlL1xuICpcbiAqIERhdGU6IDIwMTctMDctMDVcbiAqIEF1dGhvcjogbWFyaW9kcmVuZ25lciAoKkBzaG9ydC1jdXRzLmRlKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyoqXG4gKiBmdW5jdGlvbnMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qKlxuICogUmV0dXJuIHNwZWNpZmljIGNvbG9yXG4gKi9cbi8qKlxuICogdmFyaWFibGVzLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPEBjb2xvcnMgKi9cbi8qIGNvbG9yc0A+ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSWNvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA8QGljb25zICovXG4vKiBpY29uc0A+ICovXG4vKlxuXHRGb3VuZGF0aW9uXG4gKi9cbi8qKlxuICogbWl4aW5zLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKiBsaW5lIDI0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYm94L2JveC5zY3NzICovXG4ubW9kdWxlLmZsaXAtbWUgLmNhcmQge1xuICB0cmFuc2l0aW9uOiAwLjZzO1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyB9XG5cbi8qIGxpbmUgMjgsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbi5tb2R1bGUuZmxpcC1tZTpob3ZlciAuY2FyZCB7XG4gIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpOyB9XG5cbi8qIGxpbmUgMzIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbi5tb2R1bGUuZmxpcC1tZSAuZnJvbnQsXG4ubW9kdWxlLmZsaXAtbWUgLmJhY2sge1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHBlcnNwZWN0aXZlOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi8qIGxpbmUgNDEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbi5tb2R1bGUuZmxpcC1tZS5oaWRlLWltYWdlIC5iYWNrIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4vKiBsaW5lIDQ2LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYm94L2JveC5zY3NzICovXG4ubW9kdWxlLmZsaXAtbWUgLmZyb250IHtcbiAgei1pbmRleDogMjsgfVxuICAvKiBsaW5lIDQ4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYm94L2JveC5zY3NzICovXG4gIC5tb2R1bGUuZmxpcC1tZSAuZnJvbnQgLmljb24tLWxvY2sge1xuICAgIGZvbnQtc2l6ZTogMjVweDsgfVxuXG4vKiBsaW5lIDUyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYm94L2JveC5zY3NzICovXG4ubW9kdWxlLmZsaXAtbWUgLmJhY2sge1xuICBib3gtc2hhZG93OiAwIDZweCAzNy4yNHB4IDAuNzZweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHotaW5kZXg6IDE7XG4gIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgfVxuICAvKiBsaW5lIDY1LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYm94L2JveC5zY3NzICovXG4gIC5tb2R1bGUuZmxpcC1tZSAuYmFjayAuZG93bmxvYWQtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjNDQ0O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzQ0NDtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEwcHg7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2UtaW47IH1cbiAgICAvKiBsaW5lIDc4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYm94L2JveC5zY3NzICovXG4gICAgLm1vZHVsZS5mbGlwLW1lIC5iYWNrIC5kb3dubG9hZC10ZXh0OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY4YTsgfVxuXG4vKiBsaW5lIDg2LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYm94L2JveC5zY3NzICovXG4uYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm94LXNoYWRvdzogMCAwLjA2MjVyZW0gMC42MjVyZW0gcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gIC8qIGxpbmUgMjQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gIC5ib3g6Zm9jdXMge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC8qIGxpbmUgMzMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gIC5ib3g6dmlzaXRlZCB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLyogbGluZSA0MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgLmJveDphY3RpdmUge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC8qIGxpbmUgNTEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gIC5ib3g6aG92ZXIge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC8qIGxpbmUgMTAzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYm94L2JveC5zY3NzICovXG4gIC5tb2R1bGUgLmJveCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLyogbGluZSAxMDcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgLmJveC0tY29udGFjdCB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgLyogbGluZSAxMTAsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgICAuYm94LS1jb250YWN0IGEge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAgIC8qIGxpbmUgMTEzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYm94L2JveC5zY3NzICovXG4gICAgICAuY2ktYmx1ZSAubWFpbiAuYm94LS1jb250YWN0IGEsXG4gICAgICAuY2ktZ3JlZW4gLm1haW4gLmJveC0tY29udGFjdCBhLFxuICAgICAgLmNpLWdyZXkgLm1haW4gLmJveC0tY29udGFjdCBhIHtcbiAgICAgICAgY29sb3I6ICNmNzk0MWQgIWltcG9ydGFudDsgfVxuICAvKiBsaW5lIDEyMSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2JveC9ib3guc2NzcyAqL1xuICAuYm94IGltZyB7XG4gICAgZmxleC1zaHJpbms6IDA7IH1cbiAgLyogbGluZSAxMjUsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgLmJveF9faW1nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAvKiBsaW5lIDEzMCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2JveC9ib3guc2NzcyAqL1xuICAgIC5yb3ctLWJsb2cgLmJveF9faW1nIHtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLyogbGluZSAxMzYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgICAuYm94X19pbWctLXZpZGVvOmJlZm9yZSwgLmJveF9faW1nLS12aWRlbzphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgLyogbGluZSAxNDYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgICAuYm94X19pbWctLXZpZGVvOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMy43NXJlbTtcbiAgICAgIGhlaWdodDogMy43NXJlbTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC45Mzc1cmVtOyB9XG4gICAgLyogbGluZSAxNTMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgICAuYm94X19pbWctLXZpZGVvOmFmdGVyIHtcbiAgICAgIGJvcmRlcjogMC43ODEyNXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1sZWZ0OiAxLjU2MjVyZW0gc29saWQgd2hpdGU7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMTI1cmVtOyB9XG4gIC8qIGxpbmUgMTY2LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYm94L2JveC5zY3NzICovXG4gIC5ib3hfX2lubmVyIHtcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIC8qIGxpbmUgMTcwLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYm94L2JveC5zY3NzICovXG4gICAgLm1vZHVsZSAuYm94X19pbm5lciB7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtIDEuODc1cmVtIDEuMjVyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLyogbGluZSAxNzUsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgICAgIC5tb2R1bGUgLmJveF9faW5uZXIgcCB7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gICAgICAvKiBsaW5lIDE3OSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2JveC9ib3guc2NzcyAqL1xuICAgICAgLm1vZHVsZSAuYm94X19pbm5lciAuYnV0dG9uIHtcbiAgICAgICAgZmxleDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLyogbGluZSAxODUsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgICAuYm94X19pbm5lciBwIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC8qIGxpbmUgMTg3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYm94L2JveC5zY3NzICovXG4gICAgICAuYm94X19pbm5lciBwOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLyogbGluZSAxOTIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgICAuYm94X19pbm5lciAuaWNvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuICAvKiBsaW5lIDIwMSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2JveC9ib3guc2NzcyAqL1xuICAuYm94X19oZWFkbGluZSwgLmJveF9fbmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAvKiBsaW5lIDIwOSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2JveC9ib3guc2NzcyAqL1xuICAuYm94X19sb2NhdGlvbiB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLyogbGluZSAyMTcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgLmJveF9fY29udGFjdC1kYXRhIHtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTsgfVxuICAvKiBsaW5lIDIyMywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2JveC9ib3guc2NzcyAqL1xuICAuYm94X19oZWFkbGluZSAuaWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH1cbiAgICAvKiBsaW5lIDIyNiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2JveC9ib3guc2NzcyAqL1xuICAgIC5ib3hfX2hlYWRsaW5lIC5pY29uLS1nbG9iZTpiZWZvcmUge1xuICAgICAgdmVydGljYWwtYWxpZ246IC0wLjE4NzVyZW07IH1cbiAgLyogbGluZSAyMzMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgYSAuYm94X19oZWFkbGluZTphZnRlciB7XG4gICAgY29udGVudDogJ+KAuic7XG4gICAgY29sb3I6ICNmNzk0MWQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogMC4wNjI1cmVtOyB9XG4gIC8qIGxpbmUgMjQyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYm94L2JveC5zY3NzICovXG4gIC5ib3hfX2hlYWRsaW5lLS1zdWIsIC5ib3hfX2hlYWRsaW5lLS1iaWcge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgLyogbGluZSAyNDYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgLmJveF9faGVhZGxpbmUtLWJpZyB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC8qIGxpbmUgMjQ2LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYm94L2JveC5zY3NzICovXG4gICAgICAuYm94X19oZWFkbGluZS0tYmlnIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAvKiBsaW5lIDI1MywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2JveC9ib3guc2NzcyAqL1xuICAgICAgLmJveC0taGlnaGxpZ2h0IC5ib3hfX2hlYWRsaW5lLS1iaWcge1xuICAgICAgICBmb250LXNpemU6IDIuMzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB9IH1cbiAgLyogbGluZSAyNjAsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgLmJveF9faGVhZGxpbmUtLW1lZGl1bSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBjb2xvcjogI2Y3OTQxZDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAvKiBsaW5lIDI2NSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2JveC9ib3guc2NzcyAqL1xuICAuYm94X19oZWFkbGluZS0tc3ViIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICNmNzk0MWQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLyogbGluZSAyNzIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgLmJveF9fZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTdlN2U3O1xuICAgIGNvbG9yOiAjNTg1OTViO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAgIC8qIGxpbmUgMjc4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYm94L2JveC5zY3NzICovXG4gICAgLmJveF9fZm9vdGVyIHN0cm9uZyB7XG4gICAgICBjb2xvcjogI2E3YThhOTsgfVxuICAgICAgLyogbGluZSAyODAsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgICAgIC5ib3hfX2Zvb3RlciBzdHJvbmcgYSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAgIC8qIGxpbmUgMjQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gICAgICAgIC5ib3hfX2Zvb3RlciBzdHJvbmcgYTpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgICAgLyogbGluZSAzMywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAgICAgLmJveF9fZm9vdGVyIHN0cm9uZyBhOnZpc2l0ZWQge1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAgIC8qIGxpbmUgNDIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gICAgICAgIC5ib3hfX2Zvb3RlciBzdHJvbmcgYTphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAgIC8qIGxpbmUgNTEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gICAgICAgIC5ib3hfX2Zvb3RlciBzdHJvbmcgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLyogbGluZSAyODYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgLmJveF9fYmFkZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0wLjkzNzVyZW07XG4gICAgcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgd2lkdGg6IDYuMjVyZW07XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC8qIGxpbmUgMzAwLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYm94L2JveC5zY3NzICovXG4gIC5ib3hfX2RhdGVzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMS4yNXJlbSAwIDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAgIC8qIGxpbmUgODgsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gICAgLmJveF9fZGF0ZXMgbGkge1xuICAgICAgbGlzdC1zdHlsZS1pbWFnZTogbm9uZTtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLyogbGluZSAzMDQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgICAuYm94X19kYXRlcyBzdHJvbmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07XG4gICAgICBjb2xvcjogI2Y3OTQxZDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiA3LjE4NzVyZW07XG4gICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgIC8qIGxpbmUgMzEyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYm94L2JveC5zY3NzICovXG4gICAgICAuYm94LS1ldmVudHMgLmJveF9fZGF0ZXMgc3Ryb25nIHtcbiAgICAgICAgd2lkdGg6IDEyLjE4NzVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC8qIGxpbmUgMzA0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYm94L2JveC5zY3NzICovXG4gICAgICAgIC5ib3hfX2RhdGVzIHN0cm9uZyB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH0gfVxuICAgIC8qIGxpbmUgMzIxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYm94L2JveC5zY3NzICovXG4gICAgLmJveF9fZGF0ZXMgc21hbGwge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gICAgLyogbGluZSAzMjUsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgICAuYm94X19kYXRlcyBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IC0wLjA2MjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC4xODc1cmVtOyB9XG4gICAgLyogbGluZSAzMzEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgICAuYm94X19kYXRlcyAuYXJ0aWNsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTdlN2U3OyB9XG4gIC8qIGxpbmUgMzM4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYm94L2JveC5zY3NzICovXG4gIC5ib3hfX2RhdGUge1xuICAgIGNvbG9yOiAjZjc5NDFkO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAvKiBsaW5lIDM0MywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2JveC9ib3guc2NzcyAqL1xuICAuYm94X19maWx0ZXIge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgaGVpZ2h0OiAwLjMxMjVyZW07IH1cbiAgICAvKiBsaW5lIDk1LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgIC5ib3hfX2ZpbHRlci0tZ3JlZW4tMSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzRiNzRhOyB9XG4gICAgLyogbGluZSA5NSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAuYm94X19maWx0ZXItLWdyZWVuLTIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FiZTA4YTsgfVxuICAgIC8qIGxpbmUgOTUsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gICAgLmJveF9fZmlsdGVyLS1ncmVlbi0zIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYjkxMTU7IH1cbiAgICAvKiBsaW5lIDk1LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgIC5ib3hfX2ZpbHRlci0tZ3JlZW4tNCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQ1ODAzOyB9XG4gICAgLyogbGluZSA5NSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAuYm94X19maWx0ZXItLWJsdWUtMSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjVhYWUyOyB9XG4gICAgLyogbGluZSA5NSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAuYm94X19maWx0ZXItLWJsdWUtMiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODJkOWZlOyB9XG4gICAgLyogbGluZSA5NSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAuYm94X19maWx0ZXItLWJsdWUtMyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDk4MjlhOyB9XG4gICAgLyogbGluZSA5NSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAuYm94X19maWx0ZXItLWJsdWUtNCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDEzNTRiOyB9XG4gICAgLyogbGluZSA5NSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAuYm94X19maWx0ZXItLW9yYW5nZS0xIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNzk0MWQ7IH1cbiAgICAvKiBsaW5lIDk1LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgIC5ib3hfX2ZpbHRlci0tb3JhbmdlLTIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhYzI3ZTsgfVxuICAgIC8qIGxpbmUgOTUsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gICAgLmJveF9fZmlsdGVyLS1vcmFuZ2UtMyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTU2MTBlOyB9XG4gICAgLyogbGluZSA5NSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAuYm94X19maWx0ZXItLW9yYW5nZS00IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2MzNkMDA7IH1cbiAgLyogbGluZSAzNzcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgLmJveF9fY3RhIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmNzk0MWQ7XG4gICAgcGFkZGluZy1ib3R0b206IC0wLjA2MjVyZW07IH1cbiAgLyogbGluZSAzODcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgLmJveCAuaWNvbi0tbG9jayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwLjQzNzVyZW07XG4gICAgYm90dG9tOiAwLjE4NzVyZW07IH1cbiAgLyogbGluZSAzOTUsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgLmJveC0tbmV3cyBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAvKiBsaW5lIDQwMSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2JveC9ib3guc2NzcyAqL1xuICAuYm94LS1oaWdobGlnaHQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAvKiBsaW5lIDQwMSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2JveC9ib3guc2NzcyAqL1xuICAgICAgLmJveC0taGlnaGxpZ2h0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH0gfVxuICAgIC8qIGxpbmUgNDEyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYm94L2JveC5zY3NzICovXG4gICAgLmJveC0taGlnaGxpZ2h0IC5ib3hfX2lubmVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICAvKiBsaW5lIDQxNiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2JveC9ib3guc2NzcyAqL1xuICAgIC5ib3gtLWhpZ2hsaWdodCAuYm94X19mb290ZXIge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIG1hcmdpbjogYXV0byAxLjg3NXJlbTtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwOyB9XG4gICAgLyogbGluZSA0MjIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgICAuYm94LS1oaWdobGlnaHQtd2hpdGUsIC5ib3gtLWhpZ2hsaWdodC1ib3JkZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MyYzJjMjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTsgfVxuICAgIC8qIGxpbmUgNDI4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYm94L2JveC5zY3NzICovXG4gICAgLmJveC0taGlnaGxpZ2h0LXdoaXRlIHtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9XG4gIC8qIGxpbmUgNDMzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYm94L2JveC5zY3NzICovXG4gIC5ib3ggaHIge1xuICAgIG1hcmdpbjogLTAuMjVyZW0gYXV0byAwLjgxMjVyZW07IH1cbiAgLyogbGluZSA0MzcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgLmJveCAubWQtNSB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLyogbGluZSA0NDAsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgLmJveCAubWQtNyB7XG4gICAgb3JkZXI6IDE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAvKiBsaW5lIDQ0NSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2JveC9ib3guc2NzcyAqL1xuICAgIC5ib3hfX2lubmVyIHtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9XG4gICAgLyogbGluZSA0NDksIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgICAuYm94X19mb290ZXIge1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMS44NzVyZW07IH1cbiAgICAvKiBsaW5lIDQ1MywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2JveC9ib3guc2NzcyAqL1xuICAgIC5ib3ggLm1kLTUge1xuICAgICAgb3JkZXI6IDE7IH1cbiAgICAvKiBsaW5lIDQ1NiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2JveC9ib3guc2NzcyAqL1xuICAgIC5ib3ggLm1kLTcge1xuICAgICAgb3JkZXI6IDI7IH0gfVxuXG4vKiBsaW5lIDQ2MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2JveC9ib3guc2NzcyAqL1xuYS5ib3gge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgZWFzZS1pbi1vdXQ7IH1cbiAgLyogbGluZSA0NjQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbiAgYS5ib3g6aG92ZXIsIGEuYm94OmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDZweCAzNy4yNHB4IDAuNzZweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLyogbGluZSA0NzEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9ib3gvYm94LnNjc3MgKi9cbmEgLnNob3ctbGluay1pY29uOmFmdGVyIHtcbiAgY29udGVudDogJ+KAuic7XG4gIGNvbG9yOiAjZjc5NDFkO1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtOyB9XG5cbi8qKlxuICogYnV0dG9ucy5zY3NzXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cHM6Ly93d3cuc2hvcnQtY3V0cy5kZS9cbiAqXG4gKiBEYXRlOiAyMDE3LTA3LTEwXG4gKiBBdXRob3I6IG1hcmlvZHJlbmduZXIgKCpAc2hvcnQtY3V0cy5kZSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qKlxuICogZnVuY3Rpb25zLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKipcbiAqIFJldHVybiBzcGVjaWZpYyBjb2xvclxuICovXG4vKipcbiAqIHZhcmlhYmxlcy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbG9yc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIDxAY29sb3JzICovXG4vKiBjb2xvcnNAPiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEljb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPEBpY29ucyAqL1xuLyogaWNvbnNAPiAqL1xuLypcblx0Rm91bmRhdGlvblxuICovXG4vKipcbiAqIG1peGlucy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyogbGluZSAxOSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2J1dHRvbnMvYnV0dG9ucy5zY3NzICovXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIC8qIGxpbmUgMjAyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyAqL1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ0biB7XG4gICAgb3V0bGluZTogMDsgfVxuICAvKiBsaW5lIDI1LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYnV0dG9ucy9idXR0b25zLnNjc3MgKi9cbiAgLmJ0bl9fZmlsdGVyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDdkN2Q4O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMC41cmVtIDEuODc1cmVtIDAuNXJlbSAwLjkzNzVyZW07XG4gICAgY29sb3I6ICNmNzk0MWQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gICAgLyogbGluZSAyNCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAuYnRuX19maWx0ZXI6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmNzk0MWQ7IH1cbiAgICAvKiBsaW5lIDMzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgIC5idG5fX2ZpbHRlcjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjZjc5NDFkOyB9XG4gICAgLyogbGluZSA0MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAuYnRuX19maWx0ZXI6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZjc5NDFkOyB9XG4gICAgLyogbGluZSA1MSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAuYnRuX19maWx0ZXI6aG92ZXIge1xuICAgICAgY29sb3I6ICNmNzk0MWQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLyogbGluZSAyNSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2J1dHRvbnMvYnV0dG9ucy5zY3NzICovXG4gICAgICAuYnRuX19maWx0ZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAgIC8qIGxpbmUgNDEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9idXR0b25zL2J1dHRvbnMuc2NzcyAqL1xuICAgIC5idG5fX2ZpbHRlcjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB6LWluZGV4OiAtMTsgfVxuICAgIC8qIGxpbmUgNTMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9idXR0b25zL2J1dHRvbnMuc2NzcyAqL1xuICAgIC5idG5fX2ZpbHRlcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMC4wNjI1cmVtO1xuICAgICAgcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgLyogbGluZSA5NywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAuYnRuX19maWx0ZXItLWdyZWVuLTE6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3NGI3NGE7IH1cbiAgICAvKiBsaW5lIDk3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgIC5idG5fX2ZpbHRlci0tZ3JlZW4tMjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FiZTA4YTsgfVxuICAgIC8qIGxpbmUgOTcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gICAgLmJ0bl9fZmlsdGVyLS1ncmVlbi0zOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I5MTE1OyB9XG4gICAgLyogbGluZSA5NywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAuYnRuX19maWx0ZXItLWdyZWVuLTQ6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZDU4MDM7IH1cbiAgICAvKiBsaW5lIDk3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgIC5idG5fX2ZpbHRlci0tYmx1ZS0xOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjVhYWUyOyB9XG4gICAgLyogbGluZSA5NywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAuYnRuX19maWx0ZXItLWJsdWUtMjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzgyZDlmZTsgfVxuICAgIC8qIGxpbmUgOTcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gICAgLmJ0bl9fZmlsdGVyLS1ibHVlLTM6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0OTgyOWE7IH1cbiAgICAvKiBsaW5lIDk3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgIC5idG5fX2ZpbHRlci0tYmx1ZS00OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDEzNTRiOyB9XG4gICAgLyogbGluZSA5NywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAuYnRuX19maWx0ZXItLW9yYW5nZS0xOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjc5NDFkOyB9XG4gICAgLyogbGluZSA5NywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAuYnRuX19maWx0ZXItLW9yYW5nZS0yOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFjMjdlOyB9XG4gICAgLyogbGluZSA5NywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAuYnRuX19maWx0ZXItLW9yYW5nZS0zOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTU2MTBlOyB9XG4gICAgLyogbGluZSA5NywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAuYnRuX19maWx0ZXItLW9yYW5nZS00OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjMzZDAwOyB9XG4gICAgLyogbGluZSA3MSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2J1dHRvbnMvYnV0dG9ucy5zY3NzICovXG4gICAgLmJ0bl9fZmlsdGVyLS1hY3RpdmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgLyogbGluZSAyNCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAgIC5idG5fX2ZpbHRlci0tYWN0aXZlOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgICAvKiBsaW5lIDMzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgICAgLmJ0bl9fZmlsdGVyLS1hY3RpdmU6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgLyogbGluZSA0MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAgIC5idG5fX2ZpbHRlci0tYWN0aXZlOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgLyogbGluZSA1MSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAgIC5idG5fX2ZpbHRlci0tYWN0aXZlOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgICAvKiBsaW5lIDc1LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYnV0dG9ucy9idXR0b25zLnNjc3MgKi9cbiAgICAgIC5idG5fX2ZpbHRlci0tYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC8qIGxpbmUgNzksIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9idXR0b25zL2J1dHRvbnMuc2NzcyAqL1xuICAgICAgLmJ0bl9fZmlsdGVyLS1hY3RpdmU6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgLyogbGluZSA4NiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2J1dHRvbnMvYnV0dG9ucy5zY3NzICovXG4gIC5mb3JtLS1sb2FkaW5nIC5idG5fX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC8qIGxpbmUgOTEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9idXR0b25zL2J1dHRvbnMuc2NzcyAqL1xuICAuYnRuX19sb2FkaW5nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLyogbGluZSA5MywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2J1dHRvbnMvYnV0dG9ucy5zY3NzICovXG4gICAgLmZvcm0tLWxvYWRpbmcgLmJ0bl9fbG9hZGluZyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAvKiBsaW5lIDE5LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYnV0dG9ucy9idXR0b25zLnNjc3MgKi9cbiAgICAuYnRuIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG5cbi8qIGxpbmUgMTAzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYnV0dG9ucy9idXR0b25zLnNjc3MgKi9cbi5idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLyogbGluZSAxMDYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9idXR0b25zL2J1dHRvbnMuc2NzcyAqL1xuICAuYnV0dG9uIHNwYW4ge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIC8qIGxpbmUgMTA4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYnV0dG9ucy9idXR0b25zLnNjc3MgKi9cbiAgICAuYnV0dG9uIHNwYW5bY2xhc3NePWljb25dIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC8qIGxpbmUgMTEzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYnV0dG9ucy9idXR0b25zLnNjc3MgKi9cbiAgLmJ1dHRvbiwgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAvKiBsaW5lIDI0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgIC5idXR0b246Zm9jdXMsIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAvKiBsaW5lIDMzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgIC5idXR0b246dmlzaXRlZCwgLmJ1dHRvbi5wcmltYXJ5OnZpc2l0ZWQge1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLyogbGluZSA0MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAuYnV0dG9uOmFjdGl2ZSwgLmJ1dHRvbi5wcmltYXJ5OmFjdGl2ZSB7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAvKiBsaW5lIDUxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgIC5idXR0b246aG92ZXIsIC5idXR0b24ucHJpbWFyeTpob3ZlciB7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgLyogbGluZSAxMTcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9idXR0b25zL2J1dHRvbnMuc2NzcyAqL1xuICAuYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSB7XG4gICAgY29sb3I6ICNmNzk0MWQ7IH1cbiAgICAvKiBsaW5lIDI0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgIC5idXR0b24uaG9sbG93OmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZjc5NDFkOyB9XG4gICAgLyogbGluZSAzMywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAuYnV0dG9uLmhvbGxvdzp2aXNpdGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICNmNzk0MWQ7IH1cbiAgICAvKiBsaW5lIDQyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgIC5idXR0b24uaG9sbG93OmFjdGl2ZSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTphY3RpdmUge1xuICAgICAgY29sb3I6ICNmNzk0MWQ7IH1cbiAgICAvKiBsaW5lIDUxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZjc5NDFkOyB9XG4gIC8qIGxpbmUgMTI0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYnV0dG9ucy9idXR0b25zLnNjc3MgKi9cbiAgLmJ1dHRvbi5ob2xsb3cgc3BhbiB7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gIC8qIGxpbmUgMTMwLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYnV0dG9ucy9idXR0b25zLnNjc3MgKi9cbiAgLmJ1dHRvbi5ob2xsb3ctLXdoaXRlIHtcbiAgICBib3JkZXItY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7IH1cbiAgLyogbGluZSAxMzksIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9idXR0b25zL2J1dHRvbnMuc2NzcyAqL1xuICAuYnV0dG9uLmN0YSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLyogbGluZSAxNDIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9idXR0b25zL2J1dHRvbnMuc2NzcyAqL1xuICAgIC5jdGEtdyAuYnV0dG9uLmN0YSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAvKiBsaW5lIDEzOSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2J1dHRvbnMvYnV0dG9ucy5zY3NzICovXG4gICAgICAuYnV0dG9uLmN0YSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDE4LjQzNzVyZW07IH0gfVxuICAgIC8qIGxpbmUgMTYyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYnV0dG9ucy9idXR0b25zLnNjc3MgKi9cbiAgICAuYXNpZGUgLmJ1dHRvbi5jdGEge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC8qIGxpbmUgMTY4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYnV0dG9ucy9idXR0b25zLnNjc3MgKi9cbiAgLmJ1dHRvbiBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfVxuICAvKiBsaW5lIDE3MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2J1dHRvbnMvYnV0dG9ucy5zY3NzICovXG4gIC5idXR0b24uaWNvbiBzcGFuIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuMTI1cmVtOyB9XG4gIC8qIGxpbmUgMTc3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYnV0dG9ucy9idXR0b25zLnNjc3MgKi9cbiAgLnJldmVhbCAuYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC8qIGxpbmUgMTc5LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYnV0dG9ucy9idXR0b25zLnNjc3MgKi9cbiAgICAucmV2ZWFsIC5idXR0b246bm90KC5leHBhbmRlZCkge1xuICAgICAgbWF4LXdpZHRoOiAxOC40Mzc1cmVtOyB9XG4gIC8qIGxpbmUgMTg0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYnV0dG9ucy9idXR0b25zLnNjc3MgKi9cbiAgLmJ1dHRvbjpub3QoLmhvbGxvdykuc2Vjb25kYXJ5IHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgLyogbGluZSAxODgsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9idXR0b25zL2J1dHRvbnMuc2NzcyAqL1xuICAuYnV0dG9uLmJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNWFhZTI7IH1cbiAgICAvKiBsaW5lIDE5MSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2J1dHRvbnMvYnV0dG9ucy5zY3NzICovXG4gICAgLmJ1dHRvbi5ibHVlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxOThiYmI7IH1cbiAgICAvKiBsaW5lIDE5NSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2J1dHRvbnMvYnV0dG9ucy5zY3NzICovXG4gICAgLmJ1dHRvbi5ibHVlLmhvbGxvdyB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzI1YWFlMjtcbiAgICAgIGNvbG9yOiAjMjVhYWUyOyB9XG4gICAgICAvKiBsaW5lIDI0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgICAgLmJ1dHRvbi5ibHVlLmhvbGxvdzpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjMjVhYWUyOyB9XG4gICAgICAvKiBsaW5lIDMzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgICAgLmJ1dHRvbi5ibHVlLmhvbGxvdzp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICMyNWFhZTI7IH1cbiAgICAgIC8qIGxpbmUgNDIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gICAgICAuYnV0dG9uLmJsdWUuaG9sbG93OmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjMjVhYWUyOyB9XG4gICAgICAvKiBsaW5lIDUxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgICAgLmJ1dHRvbi5ibHVlLmhvbGxvdzpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMjVhYWUyOyB9XG4gICAgICAvKiBsaW5lIDIwMCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2J1dHRvbnMvYnV0dG9ucy5zY3NzICovXG4gICAgICAuYnV0dG9uLmJsdWUuaG9sbG93OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE2N2FhNTtcbiAgICAgICAgY29sb3I6ICMxNjdhYTU7IH1cbiAgLyogbGluZSAyMDgsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9idXR0b25zL2J1dHRvbnMuc2NzcyAqL1xuICAuYnV0dG9uLmdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzRiNzRhOyB9XG4gICAgLyogbGluZSAyMTEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9idXR0b25zL2J1dHRvbnMuc2NzcyAqL1xuICAgIC5idXR0b24uZ3JlZW46aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVkOTMzYjsgfVxuICAgIC8qIGxpbmUgMjE1LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYnV0dG9ucy9idXR0b25zLnNjc3MgKi9cbiAgICAuYnV0dG9uLmdyZWVuLmhvbGxvdyB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzc0Yjc0YTtcbiAgICAgIGNvbG9yOiAjNzRiNzRhOyB9XG4gICAgICAvKiBsaW5lIDI0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgICAgLmJ1dHRvbi5ncmVlbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgICBjb2xvcjogIzc0Yjc0YTsgfVxuICAgICAgLyogbGluZSAzMywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAgIC5idXR0b24uZ3JlZW4uaG9sbG93OnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogIzc0Yjc0YTsgfVxuICAgICAgLyogbGluZSA0MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAgIC5idXR0b24uZ3JlZW4uaG9sbG93OmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjNzRiNzRhOyB9XG4gICAgICAvKiBsaW5lIDUxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgICAgLmJ1dHRvbi5ncmVlbi5ob2xsb3c6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzc0Yjc0YTsgfVxuICAgICAgLyogbGluZSAyMjAsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9idXR0b25zL2J1dHRvbnMuc2NzcyAqL1xuICAgICAgLmJ1dHRvbi5ncmVlbi5ob2xsb3c6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICM1MTgxMzM7XG4gICAgICAgIGNvbG9yOiAjNTE4MTMzOyB9XG4gIC8qIGxpbmUgMjI3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYnV0dG9ucy9idXR0b25zLnNjc3MgKi9cbiAgLmJ1dHRvbi5ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTg1OTViOyB9XG4gICAgLyogbGluZSAyMzAsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9idXR0b25zL2J1dHRvbnMuc2NzcyAqL1xuICAgIC5idXR0b24uZ3JleTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Y0MDQxOyB9XG4gICAgLyogbGluZSAyMzQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9idXR0b25zL2J1dHRvbnMuc2NzcyAqL1xuICAgIC5idXR0b24uZ3JleS5ob2xsb3cge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6ICM1ODU5NWI7XG4gICAgICBjb2xvcjogIzU4NTk1YjsgfVxuICAgICAgLyogbGluZSAyNCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAgIC5idXR0b24uZ3JleS5ob2xsb3c6Zm9jdXMge1xuICAgICAgICBjb2xvcjogIzU4NTk1YjsgfVxuICAgICAgLyogbGluZSAzMywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAgIC5idXR0b24uZ3JleS5ob2xsb3c6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAjNTg1OTViOyB9XG4gICAgICAvKiBsaW5lIDQyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgICAgLmJ1dHRvbi5ncmV5LmhvbGxvdzphY3RpdmUge1xuICAgICAgICBjb2xvcjogIzU4NTk1YjsgfVxuICAgICAgLyogbGluZSA1MSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAgIC5idXR0b24uZ3JleS5ob2xsb3c6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzU4NTk1YjsgfVxuICAgICAgLyogbGluZSAyMzksIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9idXR0b25zL2J1dHRvbnMuc2NzcyAqL1xuICAgICAgLmJ1dHRvbi5ncmV5LmhvbGxvdzpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzMyMzMzNDtcbiAgICAgICAgY29sb3I6ICMzMjMzMzQ7IH1cblxuLyogbGluZSAyNTAsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9idXR0b25zL2J1dHRvbnMuc2NzcyAqL1xuIC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjc5NDFkOyB9XG5cbi8qIGxpbmUgMjU0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYnV0dG9ucy9idXR0b25zLnNjc3MgKi9cbiAuYnV0dG9uLmJsdWU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjVhYWUyOyB9XG5cbi8qIGxpbmUgMjU5LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYnV0dG9ucy9idXR0b25zLnNjc3MgKi9cbiAuYnV0dG9uLmJsdWUuaG9sbG93OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogIzE2N2FhNTtcbiAgY29sb3I6ICMxNjdhYTU7IH1cblxuLyogbGluZSAyNjgsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9idXR0b25zL2J1dHRvbnMuc2NzcyAqL1xuIC5idXR0b24uZ3JlZW46aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzRiNzRhOyB9XG5cbi8qIGxpbmUgMjczLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYnV0dG9ucy9idXR0b25zLnNjc3MgKi9cbiAuYnV0dG9uLmdyZWVuLmhvbGxvdzpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICM1MTgxMzM7XG4gIGNvbG9yOiAjNTE4MTMzOyB9XG5cbi8qIGxpbmUgMjgyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYnV0dG9ucy9idXR0b25zLnNjc3MgKi9cbiAuYnV0dG9uLmdyZXk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTg1OTViOyB9XG5cbi8qIGxpbmUgMjg3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYnV0dG9ucy9idXR0b25zLnNjc3MgKi9cbiAuYnV0dG9uLmdyZXkuaG9sbG93OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogIzMyMzMzNDtcbiAgY29sb3I6ICMzMjMzMzQ7IH1cblxuLyogbGluZSAyOTksIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9idXR0b25zL2J1dHRvbnMuc2NzcyAqL1xuLmN0YS13ICsgLmN0YS13IHtcbiAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAvKiBsaW5lIDMwMywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2J1dHRvbnMvYnV0dG9ucy5zY3NzICovXG4gIC5jdGEtdyAuYnV0dG9uLmN0YSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuLyogbGluZSAzMTEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9idXR0b25zL2J1dHRvbnMuc2NzcyAqL1xuYnV0dG9uLmljb24tLWNsb3NlIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qKlxuICogcmV2ZWFsLnNjc3NcbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwczovL3d3dy5zaG9ydC1jdXRzLmRlL1xuICpcbiAqIERhdGU6IDIwMTctMDctMTFcbiAqIEF1dGhvcjogbWFyaW9kcmVuZ25lciAoKkBzaG9ydC1jdXRzLmRlKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyoqXG4gKiBmdW5jdGlvbnMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qKlxuICogUmV0dXJuIHNwZWNpZmljIGNvbG9yXG4gKi9cbi8qKlxuICogdmFyaWFibGVzLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPEBjb2xvcnMgKi9cbi8qIGNvbG9yc0A+ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSWNvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA8QGljb25zICovXG4vKiBpY29uc0A+ICovXG4vKlxuXHRGb3VuZGF0aW9uXG4gKi9cbi8qKlxuICogbWl4aW5zLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKiBsaW5lIDIwLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvcmV2ZWFsL3JldmVhbC5zY3NzICovXG4ucmV2ZWFsIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgLyogbGluZSAyNiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L3JldmVhbC9yZXZlYWwuc2NzcyAqL1xuICAucmV2ZWFsLS1mdWxsIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLyogbGluZSAzMSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L3JldmVhbC9yZXZlYWwuc2NzcyAqL1xuICAucmV2ZWFsIC5jbG9zZS1idXR0b24ge1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLyogbGluZSAyNCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAucmV2ZWFsIC5jbG9zZS1idXR0b246Zm9jdXMge1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAvKiBsaW5lIDMzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgIC5yZXZlYWwgLmNsb3NlLWJ1dHRvbjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLyogbGluZSA0MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAucmV2ZWFsIC5jbG9zZS1idXR0b246YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLyogbGluZSA1MSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAucmV2ZWFsIC5jbG9zZS1idXR0b246aG92ZXIge1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLyogbGluZSAzNSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L3JldmVhbC9yZXZlYWwuc2NzcyAqL1xuICAucmV2ZWFsIGhyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpOyB9XG4gIC8qIGxpbmUgMzksIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9yZXZlYWwvcmV2ZWFsLnNjc3MgKi9cbiAgLnJldmVhbCA+IC5yb3cge1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDEuMjVyZW07IH1cbiAgLyogbGluZSA0MywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L3JldmVhbC9yZXZlYWwuc2NzcyAqL1xuICAucmV2ZWFsIC5jb2x1bW4sIC5yZXZlYWwgLmNvbHVtbnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAvKiBsaW5lIDQ3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvcmV2ZWFsL3JldmVhbC5zY3NzICovXG4gIC5yZXZlYWxfX2hlYWRlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzU4NTk1YjsgfVxuICAgIC8qIGxpbmUgNTQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9yZXZlYWwvcmV2ZWFsLnNjc3MgKi9cbiAgICAuZnVsbCAucmV2ZWFsX19oZWFkZXIge1xuICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBoZWlnaHQ6IDYuMjVyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtOyB9XG4gIC8qIGxpbmUgNjMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9yZXZlYWwvcmV2ZWFsLnNjc3MgKi9cbiAgLnJldmVhbF9fY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogI2ZhZmFmYTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEwMDBweDsgfVxuICAgIC8qIGxpbmUgNjksIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9yZXZlYWwvcmV2ZWFsLnNjc3MgKi9cbiAgICAucmV2ZWFsX19jb250ZW50LS1mb3JtIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9iZ19mb3JtLmpwZ1wiKSA1MCUgNTAlL2NvdmVyIG5vLXJlcGVhdDsgfVxuICAgICAgLyogbGluZSA3MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L3JldmVhbC9yZXZlYWwuc2NzcyAqL1xuICAgICAgLmZ1bGwgLnJldmVhbF9fY29udGVudC0tZm9ybSB7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDA7IH1cbiAgLyogbGluZSA3OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L3JldmVhbC9yZXZlYWwuc2NzcyAqL1xuICAucmV2ZWFsLmZ1bGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIHRvcDogNTAlICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC8qIGxpbmUgODUsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9yZXZlYWwvcmV2ZWFsLnNjc3MgKi9cbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLyogbGluZSAyMCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L3JldmVhbC9yZXZlYWwuc2NzcyAqL1xuICAgIC5yZXZlYWwge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC8qIGxpbmUgOTQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9yZXZlYWwvcmV2ZWFsLnNjc3MgKi9cbiAgLnJldmVhbCAubWFpbl9fY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGZsZXg6IDE7IH1cbiAgLyogbGluZSA5OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L3JldmVhbC9yZXZlYWwuc2NzcyAqL1xuICAucmV2ZWFsIC5hc2lkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgMTA0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvcmV2ZWFsL3JldmVhbC5zY3NzICovXG4uaXMtcmV2ZWFsLW9wZW4gLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gIGZpbHRlcjogYmx1cig1cHgpOyB9XG5cbi8qKlxuICoganVtYm90cm9uLnNjc3NcbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwczovL3d3dy5zaG9ydC1jdXRzLmRlL1xuICpcbiAqIERhdGU6IDIwMTctMDctMTFcbiAqIEF1dGhvcjogbWFyaW9kcmVuZ25lciAoKkBzaG9ydC1jdXRzLmRlKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyoqXG4gKiBmdW5jdGlvbnMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qKlxuICogUmV0dXJuIHNwZWNpZmljIGNvbG9yXG4gKi9cbi8qKlxuICogdmFyaWFibGVzLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPEBjb2xvcnMgKi9cbi8qIGNvbG9yc0A+ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSWNvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA8QGljb25zICovXG4vKiBpY29uc0A+ICovXG4vKlxuXHRGb3VuZGF0aW9uXG4gKi9cbi8qKlxuICogbWl4aW5zLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKiBsaW5lIDIwLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvanVtYm90cm9uL2p1bWJvdHJvbi5zY3NzICovXG4uanVtYm90cm9uIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLyogbGluZSAyMCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2p1bWJvdHJvbi9qdW1ib3Ryb24uc2NzcyAqL1xuICAgIC5qdW1ib3Ryb24ge1xuICAgICAgZm9udC1zaXplOiAxLjc1cmVtOyB9IH1cbiAgLyogbGluZSAzNSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2p1bWJvdHJvbi9qdW1ib3Ryb24uc2NzcyAqL1xuICAuanVtYm90cm9uIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAvKiBsaW5lIDM1LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvanVtYm90cm9uL2p1bWJvdHJvbi5zY3NzICovXG4gICAgICAuanVtYm90cm9uIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLyogbGluZSA0MywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2p1bWJvdHJvbi9qdW1ib3Ryb24uc2NzcyAqL1xuICAuanVtYm90cm9uX19oZWFkZXIge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgZm9udC1zaXplOiAyLjA2MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLyogbGluZSA0MywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2p1bWJvdHJvbi9qdW1ib3Ryb24uc2NzcyAqL1xuICAgICAgLmp1bWJvdHJvbl9faGVhZGVyIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC8qIGxpbmUgNDMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9qdW1ib3Ryb24vanVtYm90cm9uLnNjc3MgKi9cbiAgICAgIC5qdW1ib3Ryb25fX2hlYWRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTsgfSB9XG4gIC8qIGxpbmUgNjEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9qdW1ib3Ryb24vanVtYm90cm9uLnNjc3MgKi9cbiAgLmp1bWJvdHJvbl9fb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC40KSwgcmdiYSgwLCAwLCAwLCAwLjQpIDUwJSwgcmdiYSgwLCAwLCAwLCAwLjcpIDUwJSwgcmdiYSgwLCAwLCAwLCAwLjcpKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMC4xMjVyZW07XG4gICAgcGFkZGluZzogMi41cmVtIDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLyogbGluZSA2MSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2p1bWJvdHJvbi9qdW1ib3Ryb24uc2NzcyAqL1xuICAgICAgLmp1bWJvdHJvbl9fb3ZlcmxheSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIHJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gICAgLyogbGluZSA4MSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2p1bWJvdHJvbi9qdW1ib3Ryb24uc2NzcyAqL1xuICAgIC5qdW1ib3Ryb25fX292ZXJsYXkgPiAucm93IHtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAvKiBsaW5lIDg2LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvanVtYm90cm9uL2p1bWJvdHJvbi5zY3NzICovXG4gIC5qdW1ib3Ryb25fX2N0YSB7XG4gICAgbWFyZ2luLXRvcDogMS44NzVyZW07IH1cbiAgICAvKiBsaW5lIDg5LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvanVtYm90cm9uL2p1bWJvdHJvbi5zY3NzICovXG4gICAgLmp1bWJvdHJvbl9fY3RhIC5idXR0b24ge1xuICAgICAgbWFyZ2luOiAwLjYyNXJlbSAwLjkzNzVyZW07IH1cblxuLyoqXG4gKiBjb250ZW50LWhlYWRlci5zY3NzXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cHM6Ly93d3cuc2hvcnQtY3V0cy5kZS9cbiAqXG4gKiBEYXRlOiAyMDE3LTA3LTEyXG4gKiBBdXRob3I6IG1hcmlvZHJlbmduZXIgKCpAc2hvcnQtY3V0cy5kZSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qKlxuICogZnVuY3Rpb25zLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKipcbiAqIFJldHVybiBzcGVjaWZpYyBjb2xvclxuICovXG4vKipcbiAqIHZhcmlhYmxlcy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbG9yc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIDxAY29sb3JzICovXG4vKiBjb2xvcnNAPiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEljb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPEBpY29ucyAqL1xuLyogaWNvbnNAPiAqL1xuLypcblx0Rm91bmRhdGlvblxuICovXG4vKipcbiAqIG1peGlucy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyogbGluZSAyMCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NvbnRlbnQtaGVhZGVyL2NvbnRlbnQtaGVhZGVyLnNjc3MgKi9cbi5jb250ZW50LWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLyogbGluZSAyNSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NvbnRlbnQtaGVhZGVyL2NvbnRlbnQtaGVhZGVyLnNjc3MgKi9cbiAgLmNvbnRlbnQtaGVhZGVyIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLyogbGluZSAzMSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NvbnRlbnQtaGVhZGVyL2NvbnRlbnQtaGVhZGVyLnNjc3MgKi9cbiAgLmNvbnRlbnQtaGVhZGVyIC5jb250ZW50LXZpZGVvIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXN0YXJ0LXBsYXliYWNrLWJ1dHRvbixcbiAgLmNvbnRlbnQtaGVhZGVyIC5jb250ZW50LXZpZGVvIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRpbWVsaW5lLFxuICAuY29udGVudC1oZWFkZXIgLmNvbnRlbnQtdmlkZW8gdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZnVsbHNjcmVlbi1idXR0b24sXG4gIC5jb250ZW50LWhlYWRlciAuY29udGVudC12aWRlbyB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1tdXRlLWJ1dHRvbixcbiAgLmNvbnRlbnQtaGVhZGVyIC5jb250ZW50LXZpZGVvIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXJldHVybi10by1yZWFsdGltZS1idXR0b24sXG4gIC5jb250ZW50LWhlYWRlciAuY29udGVudC12aWRlbyB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1wYW5lbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBsaW5lIDM5LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY29udGVudC1oZWFkZXIvY29udGVudC1oZWFkZXIuc2NzcyAqL1xuICAuY29udGVudC1oZWFkZXIgLmNvbnRlbnQtdmlkZW8gdmlkZW8ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC8qIGxpbmUgNDIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9jb250ZW50LWhlYWRlci9jb250ZW50LWhlYWRlci5zY3NzICovXG4gIC5jb250ZW50LWhlYWRlciAuY29udGVudC12aWRlbyBpbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSA0NywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NvbnRlbnQtaGVhZGVyL2NvbnRlbnQtaGVhZGVyLnNjc3MgKi9cbiAgLmNvbnRlbnQtaGVhZGVyX19oZWFkbGluZSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7IH1cbiAgICAvKiBsaW5lIDU0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY29udGVudC1oZWFkZXIvY29udGVudC1oZWFkZXIuc2NzcyAqL1xuICAgIC5jb250ZW50LWhlYWRlcl9faGVhZGxpbmUgLmhlYWRsaW5lIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMC40Mzc1cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3OTQxZDtcbiAgICAgIGJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAgIC8qIGxpbmUgNjQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9jb250ZW50LWhlYWRlci9jb250ZW50LWhlYWRlci5zY3NzICovXG4gICAgICAuY29udGVudC1oZWFkZXJfX2hlYWRsaW5lIC5oZWFkbGluZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMC45Mzc1cmVtIDAuNjI1cmVtOyB9XG4gICAgICAvKiBsaW5lIDY4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY29udGVudC1oZWFkZXIvY29udGVudC1oZWFkZXIuc2NzcyAqL1xuICAgICAgLmNvbG9yLS1ibHVlIC5jb250ZW50LWhlYWRlcl9faGVhZGxpbmUgLmhlYWRsaW5lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI1YWFlMjsgfVxuICAgICAgLyogbGluZSA3MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NvbnRlbnQtaGVhZGVyL2NvbnRlbnQtaGVhZGVyLnNjc3MgKi9cbiAgICAgIC5jb2xvci0tZ3JlZW4gLmNvbnRlbnQtaGVhZGVyX19oZWFkbGluZSAuaGVhZGxpbmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzRiNzRhOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC8qIGxpbmUgNDcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9jb250ZW50LWhlYWRlci9jb250ZW50LWhlYWRlci5zY3NzICovXG4gICAgICAuY29udGVudC1oZWFkZXJfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgICAgICAgLyogbGluZSA3OSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NvbnRlbnQtaGVhZGVyL2NvbnRlbnQtaGVhZGVyLnNjc3MgKi9cbiAgICAgICAgLmNvbnRlbnQtaGVhZGVyX19oZWFkbGluZSAuaGVhZGxpbmUge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAvKiBsaW5lIDQ3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY29udGVudC1oZWFkZXIvY29udGVudC1oZWFkZXIuc2NzcyAqL1xuICAgICAgLmNvbnRlbnQtaGVhZGVyX19oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTsgfSB9XG4gIC8qIGxpbmUgOTAsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9jb250ZW50LWhlYWRlci9jb250ZW50LWhlYWRlci5zY3NzICovXG4gIC5jb250ZW50LWhlYWRlcl9fc3VibGluZSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLyogbGluZSA5NSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NvbnRlbnQtaGVhZGVyL2NvbnRlbnQtaGVhZGVyLnNjc3MgKi9cbiAgICAuY29udGVudC1oZWFkZXJfX3N1YmxpbmUgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kOiAjNTg1OTViO1xuICAgICAgcGFkZGluZzogMC40Mzc1cmVtIDAuOTM3NXJlbSAwLjYyNXJlbTtcbiAgICAgIGJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC8qIGxpbmUgMTA1LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY29udGVudC1oZWFkZXIvY29udGVudC1oZWFkZXIuc2NzcyAqL1xuICAgIC5jb250ZW50LWhlYWRlcl9fb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEuODc1cmVtO1xuICAgICAgYm90dG9tOiAxLjg3NXJlbTtcbiAgICAgIGxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIHJpZ2h0OiAxLjg3NXJlbTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgICAvKiBsaW5lIDExMywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NvbnRlbnQtaGVhZGVyL2NvbnRlbnQtaGVhZGVyLnNjc3MgKi9cbiAgICAgIC5jb250ZW50LWhlYWRlcl9fb3ZlcmxheSA+IC5yb3cge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4vKipcbiAqIGNvbnRlbnQtaGVhZGVyLnNjc3NcbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwczovL3d3dy5zaG9ydC1jdXRzLmRlL1xuICpcbiAqIERhdGU6IDIwMTctMDctMTJcbiAqIEF1dGhvcjogbWFyaW9kcmVuZ25lciAoKkBzaG9ydC1jdXRzLmRlKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyoqXG4gKiBmdW5jdGlvbnMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qKlxuICogUmV0dXJuIHNwZWNpZmljIGNvbG9yXG4gKi9cbi8qKlxuICogdmFyaWFibGVzLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPEBjb2xvcnMgKi9cbi8qIGNvbG9yc0A+ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSWNvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA8QGljb25zICovXG4vKiBpY29uc0A+ICovXG4vKlxuXHRGb3VuZGF0aW9uXG4gKi9cbi8qKlxuICogbWl4aW5zLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKiBsaW5lIDIwLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY29udGVudC12aWRlby9jb250ZW50LXZpZGVvLnNjc3MgKi9cbi5jb250ZW50LXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC8qIGxpbmUgMjcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9jb250ZW50LXZpZGVvL2NvbnRlbnQtdmlkZW8uc2NzcyAqL1xuICAuY29udGVudC12aWRlbyB2aWRlbyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLyogbGluZSAzMiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NvbnRlbnQtdmlkZW8vY29udGVudC12aWRlby5zY3NzICovXG4gIC5jb250ZW50LXZpZGVvLS1idXR0b246YmVmb3JlLCAuY29udGVudC12aWRlby0tYnV0dG9uOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7XG4gICAgei1pbmRleDogMTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgb3BhY2l0eTogMTtcbiAgICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLyogbGluZSA0NSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NvbnRlbnQtdmlkZW8vY29udGVudC12aWRlby5zY3NzICovXG4gIC5jb250ZW50LXZpZGVvLS1idXR0b246YmVmb3JlIHtcbiAgICB3aWR0aDogNi4yNXJlbTtcbiAgICBoZWlnaHQ6IDYuMjVyZW07XG4gICAgYm9yZGVyOiAzcHggc29saWQgd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAvKiBsaW5lIDUzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY29udGVudC12aWRlby9jb250ZW50LXZpZGVvLnNjc3MgKi9cbiAgLmNvbnRlbnQtdmlkZW8tLWJ1dHRvbjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIGJvcmRlcjogMS40MDYyNXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogMi40MzU3cmVtIHNvbGlkIHdoaXRlO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNDM3NXJlbTsgfVxuICAvKiBsaW5lIDY4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY29udGVudC12aWRlby9jb250ZW50LXZpZGVvLnNjc3MgKi9cbiAgLmNvbnRlbnQtdmlkZW8tLXBsYXkuY29udGVudC12aWRlby0tYnV0dG9uOmJlZm9yZSwgLmNvbnRlbnQtdmlkZW8tLXBsYXkuY29udGVudC12aWRlby0tYnV0dG9uOmFmdGVyIHtcbiAgICBvcGFjaXR5OiAwOyB9XG5cbi8qKlxuICogZm9ybS5zY3NzXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cHM6Ly93d3cuc2hvcnQtY3V0cy5kZS9cbiAqXG4gKiBEYXRlOiAyMDE3LTA3LTEzXG4gKiBBdXRob3I6IG1hcmlvZHJlbmduZXIgKCpAc2hvcnQtY3V0cy5kZSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qKlxuICogZnVuY3Rpb25zLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKipcbiAqIFJldHVybiBzcGVjaWZpYyBjb2xvclxuICovXG4vKipcbiAqIHZhcmlhYmxlcy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbG9yc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIDxAY29sb3JzICovXG4vKiBjb2xvcnNAPiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEljb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPEBpY29ucyAqL1xuLyogaWNvbnNAPiAqL1xuLypcblx0Rm91bmRhdGlvblxuICovXG4vKipcbiAqIG1peGlucy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyogQ2hhbmdlIGF1dG9jb21wbGV0ZSBzdHlsZXMgaW4gV2ViS2l0ICovXG4vKiBsaW5lIDIxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvZm9ybS9mb3JtLnNjc3MgKi9cbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG50ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsLFxudGV4dGFyZWE6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbnRleHRhcmVhOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG5zZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbCxcbnNlbGVjdDotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogIzAwMDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAxMDAwcHggI2ZlZmVmZSBpbnNldDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA1MDAwcyBlYXNlLWluLW91dCAwczsgfVxuXG4vKiBsaW5lIDM4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvZm9ybS9mb3JtLnNjc3MgKi9cbi5mb3JtIHtcbiAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH1cbiAgLyogbGluZSA0MSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Zvcm0vZm9ybS5zY3NzICovXG4gIC5mb3JtLS1sb2FkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLyogbGluZSA0NiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Zvcm0vZm9ybS5zY3NzICovXG4gIC5mb3JtLS1sb2FkaW5nIC5mb3JtIC5wb3dlcm1haWxfZmllbGRzZXQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTAsIDI1MCwgMjUwLCAwLjgpO1xuICAgIHotaW5kZXg6IDU7IH1cbiAgLyogbGluZSA1OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Zvcm0vZm9ybS5zY3NzICovXG4gIC5mb3JtIC5jb2x1bW4sIC5mb3JtIC5jb2x1bW5zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLyogbGluZSA2MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Zvcm0vZm9ybS5zY3NzICovXG4gIC5mb3JtIC5pY29uLS1pbmZvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEuNTYyNXJlbTtcbiAgICBib3R0b206IDEuNzVyZW07XG4gICAgY29sb3I6ICM1ODU5NWI7IH1cbiAgLyogbGluZSA3MCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Zvcm0vZm9ybS5zY3NzICovXG4gIC5mb3JtIC5jaGVja2JveCAuaWNvbi0taW5mbyB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMC4xODc1cmVtO1xuICAgIHJpZ2h0OiAwLjkzNzVyZW07IH1cbiAgLyogbGluZSA3NywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Zvcm0vZm9ybS5zY3NzICovXG4gIC5mb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMC4xMjVyZW07IH1cbiAgLyogbGluZSA4MSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Zvcm0vZm9ybS5zY3NzICovXG4gIC5mb3JtIHNlbGVjdCArIGxhYmVsIC5mb3JtX19sYWJlbC1tYW5kYXRvcnkge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLyogbGluZSA4NSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Zvcm0vZm9ybS5zY3NzICovXG4gIC5mb3JtIHNlbGVjdFtyZXF1aXJlZF0gKyBsYWJlbCAuZm9ybV9fbGFiZWwtbWFuZGF0b3J5IHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC8qIGxpbmUgODksIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9mb3JtL2Zvcm0uc2NzcyAqL1xuICAuZm9ybV9fbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGxlZnQ6IDAuOTM3NXJlbTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmc6IDAgMC4xODc1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEuNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG4gICAgei1pbmRleDogLTE7IH1cbiAgICAvKiBsaW5lIDk5LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvZm9ybS9mb3JtLnNjc3MgKi9cbiAgICAuZm9ybV9fbGFiZWwtLXNob3cge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRvcDogMC4yNXJlbTtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAvKiBsaW5lIDEwNSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Zvcm0vZm9ybS5zY3NzICovXG4gICAgLmZvcm1fX2xhYmVsLS1maXJzdCwgLmZvcm1fX2xhYmVsLS12aXNpYmxlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAvKiBsaW5lIDExMiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Zvcm0vZm9ybS5zY3NzICovXG4gICAgLmZvcm1fX2xhYmVsLS1maXJzdCArIGlucHV0LFxuICAgIC5mb3JtX19sYWJlbC0tZmlyc3QgKyBzZWxlY3Qge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAvKiBsaW5lIDExOCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Zvcm0vZm9ybS5zY3NzICovXG4gICAgLmZvcm1fX2xhYmVsLS12aXNpYmxlIHtcbiAgICAgIG1hcmdpbjogMCAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICAgICAgLyogbGluZSAxMjEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9mb3JtL2Zvcm0uc2NzcyAqL1xuICAgICAgLmZvcm1fX2xhYmVsLS12aXNpYmxlIHNwYW4ge1xuICAgICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gIC8qIGxpbmUgMTMxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvZm9ybS9mb3JtLnNjc3MgKi9cbiAgLmZvcm0gdGV4dGFyZWE6Zm9jdXMgKyBsYWJlbCxcbiAgLmZvcm0gaW5wdXRbdHlwZT10ZXh0XTpmb2N1cyArIGxhYmVsLFxuICAuZm9ybSBpbnB1dFt0eXBlPXRlbF06Zm9jdXMgKyBsYWJlbCxcbiAgLmZvcm0gaW5wdXRbdHlwZT1lbWFpbF06Zm9jdXMgKyBsYWJlbCxcbiAgLmZvcm0gc2VsZWN0OmZvY3VzICsgbGFiZWwge1xuICAgIGNvbG9yOiAjZjc5NDFkOyB9XG4gIC8qIGxpbmUgMTM3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvZm9ybS9mb3JtLnNjc3MgKi9cbiAgLmZvcm0gLmctcmVjYXB0Y2hhIGlmcmFtZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk0KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7IH1cbiAgLyogbGluZSAxNDMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9mb3JtL2Zvcm0uc2NzcyAqL1xuICAuZm9ybSAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gIC8qIGxpbmUgMTQ3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvZm9ybS9mb3JtLnNjc3MgKi9cbiAgLnJldmVhbCAuZm9ybSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLyogbGluZSAxNTUsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9mb3JtL2Zvcm0uc2NzcyAqL1xuZmllbGRzZXQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4vKiBsaW5lIDE2MCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Zvcm0vZm9ybS5zY3NzICovXG4ucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX3JhZGlvIGxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4vKiBsaW5lIDE2MywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Zvcm0vZm9ybS5zY3NzICovXG4ucmFkaW8gbGFiZWwge1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbi8qIGxpbmUgMTY5LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvZm9ybS9mb3JtLnNjc3MgKi9cbi5jb250YWN0LXNlYXJjaCBzZWxlY3Qge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBsaW5lIDE3NSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Zvcm0vZm9ybS5zY3NzICovXG50ZXh0YXJlYVtyb3dzXSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHBhZGRpbmctdG9wOiAxLjM3NXJlbTsgfVxuXG4vKiBsaW5lIDE4MCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Zvcm0vZm9ybS5zY3NzICovXG4ucGFyc2xleS1lcnJvcnMtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuNjY2NjdyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBtYXJnaW46IDA7IH1cbiAgLyogbGluZSA4OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgLnBhcnNsZXktZXJyb3JzLWxpc3QgbGkge1xuICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC8qIGxpbmUgMTg3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvZm9ybS9mb3JtLnNjc3MgKi9cbiAgLnBhcnNsZXktZXJyb3JzLWxpc3QgbGkge1xuICAgIG1hcmdpbjogLTEuMzEyNXJlbSAwIDAuOTM3NXJlbSAwO1xuICAgIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtIDAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjY2M0YjM3OyB9XG5cbi8qIGxpbmUgMTk2LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvZm9ybS9mb3JtLnNjc3MgKi9cbi5wb3dlcm1haWxfY2hlY2tfb3V0ZXIgLnBhcnNsZXktZXJyb3JzLWxpc3QgbGksXG4ucG93ZXJtYWlsX3JhZGlvX291dGVyIC5wYXJzbGV5LWVycm9ycy1saXN0IGxpIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmNzk0MWQ7IH1cblxuLyogbGluZSAyMDUsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9mb3JtL2Zvcm0uc2NzcyAqL1xuLnBvd2VybWFpbF9pbnB1dC5wYXJzbGV5LWVycm9yIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNzsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLyogbGluZSAyMTEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9mb3JtL2Zvcm0uc2NzcyAqL1xuICAuZm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIHdpZHRoOiAyLjYyNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC8qIGxpbmUgMjIxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvZm9ybS9mb3JtLnNjc3MgKi9cbiAgLmZvcm1fX2xhYmVsIHtcbiAgICBsZWZ0OiAxLjQzNzVyZW07IH1cbiAgLyogbGluZSAyMjUsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9mb3JtL2Zvcm0uc2NzcyAqL1xuICAuZm9ybSAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuLyoqXG4gKiBuYXYtbW9iaWxlLnNjc3NcbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwczovL3d3dy5zaG9ydC1jdXRzLmRlL1xuICpcbiAqIERhdGU6IDIwMTctMDctMTRcbiAqIEF1dGhvcjogbWFyaW9kcmVuZ25lciAoKkBzaG9ydC1jdXRzLmRlKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyoqXG4gKiBmdW5jdGlvbnMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qKlxuICogUmV0dXJuIHNwZWNpZmljIGNvbG9yXG4gKi9cbi8qKlxuICogdmFyaWFibGVzLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPEBjb2xvcnMgKi9cbi8qIGNvbG9yc0A+ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSWNvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA8QGljb25zICovXG4vKiBpY29uc0A+ICovXG4vKlxuXHRGb3VuZGF0aW9uXG4gKi9cbi8qKlxuICogbWl4aW5zLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKiBsaW5lIDIwLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LW1vYmlsZS9uYXYtbW9iaWxlLnNjc3MgKi9cbi5uYXYtbW9iaWxlIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG4gIC8qIGxpbmUgMjMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtbW9iaWxlL25hdi1tb2JpbGUuc2NzcyAqL1xuICAubmF2LW1vYmlsZSBhIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAvKiBsaW5lIDI0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgIC5uYXYtbW9iaWxlIGE6Zm9jdXMge1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLyogbGluZSAzMywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAubmF2LW1vYmlsZSBhOnZpc2l0ZWQge1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLyogbGluZSA0MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgICAubmF2LW1vYmlsZSBhOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAvKiBsaW5lIDUxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19taXhpbnMuc2NzcyAqL1xuICAgIC5uYXYtbW9iaWxlIGE6aG92ZXIge1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gIC8qIGxpbmUgMjcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtbW9iaWxlL25hdi1tb2JpbGUuc2NzcyAqL1xuICAubmF2LW1vYmlsZV9fbGFuZyB7XG4gICAgbWFyZ2luOiAxLjI1cmVtIDA7IH1cbiAgLyogbGluZSAzMSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1tb2JpbGUvbmF2LW1vYmlsZS5zY3NzICovXG4gIC5uYXYtbW9iaWxlX19maXJzdCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgLyogbGluZSAzMywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1tb2JpbGUvbmF2LW1vYmlsZS5zY3NzICovXG4gICAgLm5hdi1tb2JpbGVfX2ZpcnN0ID4gYSB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgIC8qIGxpbmUgMzcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtbW9iaWxlL25hdi1tb2JpbGUuc2NzcyAqL1xuICAgIC5uYXYtbW9iaWxlX19maXJzdCArIGxpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB3aGl0ZTsgfVxuICAvKiBsaW5lIDQzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LW1vYmlsZS9uYXYtbW9iaWxlLnNjc3MgKi9cbiAgLm5hdi1tb2JpbGVfX3NlY29uZCA+IGEge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLyogbGluZSA0NywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1tb2JpbGUvbmF2LW1vYmlsZS5zY3NzICovXG4gIC5uYXYtbW9iaWxlX19zZWNvbmQgYSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTsgfVxuICAvKiBsaW5lIDUxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LW1vYmlsZS9uYXYtbW9iaWxlLnNjc3MgKi9cbiAgLm5hdi1tb2JpbGVfX3RoaXJkID4gYSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC8qIGxpbmUgNTYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtbW9iaWxlL25hdi1tb2JpbGUuc2NzcyAqL1xuICAubmF2LW1vYmlsZV9fc2VhcmNoIHtcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07XG4gICAgbWFyZ2luOiAwLjYyNXJlbSAwIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgIGJhY2tncm91bmQ6IGdyZXk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgLyogd2lkdGg6IGF1dG87ICovXG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAvKiBsaW5lIDY4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LW1vYmlsZS9uYXYtbW9iaWxlLnNjc3MgKi9cbiAgICAubmF2LW1vYmlsZV9fc2VhcmNoOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICM5OTk7IH1cbiAgLyogbGluZSA3NCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1tb2JpbGUvbmF2LW1vYmlsZS5zY3NzICovXG4gIC5uYXYtbW9iaWxlX19idG4tLXNlYXJjaCB7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAvKiBsaW5lIDc4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LW1vYmlsZS9uYXYtbW9iaWxlLnNjc3MgKi9cbiAgICAubmF2LW1vYmlsZV9fYnRuLS1zZWFyY2g6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAvKiBsaW5lIDg1LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LW1vYmlsZS9uYXYtbW9iaWxlLnNjc3MgKi9cbiAgLm5hdi1tb2JpbGVfX2ljb24tLXNlYXJjaCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtMC4yNXJlbTtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4vKiBsaW5lIDEwNCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1tb2JpbGUvbmF2LW1vYmlsZS5zY3NzICovXG4uaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSxcbi5pcy1zdWJtZW51LXBhcmVudC1pdGVtID4gYSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLyoqXG4gKiBuYXYtc3ViLnNjc3NcbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwczovL3d3dy5zaG9ydC1jdXRzLmRlL1xuICpcbiAqIERhdGU6IDIwMTctMDctMTdcbiAqIEF1dGhvcjogbWFyaW9kcmVuZ25lciAoKkBzaG9ydC1jdXRzLmRlKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyoqXG4gKiBmdW5jdGlvbnMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qKlxuICogUmV0dXJuIHNwZWNpZmljIGNvbG9yXG4gKi9cbi8qKlxuICogdmFyaWFibGVzLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPEBjb2xvcnMgKi9cbi8qIGNvbG9yc0A+ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSWNvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA8QGljb25zICovXG4vKiBpY29uc0A+ICovXG4vKlxuXHRGb3VuZGF0aW9uXG4gKi9cbi8qKlxuICogbWl4aW5zLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKiBsaW5lIDIyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LXN1Yi9uYXYtc3ViLnNjc3MgKi9cbi5uYXYtc3ViIHVsIHtcbiAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDAuNjI1cmVtOyB9XG5cbi8qIGxpbmUgMjgsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtc3ViL25hdi1zdWIuc2NzcyAqL1xuLm5hdi1zdWIgYSwgLm5hdi1zdWIgc3BhbiB7XG4gIGxpbmUtaGVpZ2h0OiAzLjYyNXJlbTtcbiAgcGFkZGluZzogMCAwLjYyNXJlbTtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi8qIGxpbmUgMzQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtc3ViL25hdi1zdWIuc2NzcyAqL1xuLm5hdi1zdWIgYSB7XG4gIGNvbG9yOiAjNTg1OTViOyB9XG4gIC8qIGxpbmUgMjQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gIC5uYXYtc3ViIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjNTg1OTViOyB9XG4gIC8qIGxpbmUgMzMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gIC5uYXYtc3ViIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICM1ODU5NWI7IH1cbiAgLyogbGluZSA0MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MgKi9cbiAgLm5hdi1zdWIgYTphY3RpdmUge1xuICAgIGNvbG9yOiAjNTg1OTViOyB9XG4gIC8qIGxpbmUgNTEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX21peGlucy5zY3NzICovXG4gIC5uYXYtc3ViIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjNTg1OTViOyB9XG5cbi8qIGxpbmUgMzksIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtc3ViL25hdi1zdWIuc2NzcyAqL1xuLm5hdi1zdWIgLmFjdGl2ZSBzcGFuIHtcbiAgY29sb3I6ICNmNzk0MWQ7IH1cblxuLyoqXG4gKiBjb250ZW50LXNlY3Rpb24uc2Nzc1xuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHBzOi8vd3d3LnNob3J0LWN1dHMuZGUvXG4gKlxuICogRGF0ZTogMjAxNy0wNy0xN1xuICogQXV0aG9yOiBtYXJpb2RyZW5nbmVyICgqQHNob3J0LWN1dHMuZGUpXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKipcbiAqIGZ1bmN0aW9ucy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyoqXG4gKiBSZXR1cm4gc3BlY2lmaWMgY29sb3JcbiAqL1xuLyoqXG4gKiB2YXJpYWJsZXMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb2xvcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA8QGNvbG9ycyAqL1xuLyogY29sb3JzQD4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBJY29uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIDxAaWNvbnMgKi9cbi8qIGljb25zQD4gKi9cbi8qXG5cdEZvdW5kYXRpb25cbiAqL1xuLyoqXG4gKiBtaXhpbnMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qIGxpbmUgMjIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9jb250ZW50LXNlY3Rpb24vY29udGVudC1zZWN0aW9uLnNjc3MgKi9cbi5jb250ZW50LXNlY3Rpb25fX2hlYWRlciB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLyogbGluZSAyMiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NvbnRlbnQtc2VjdGlvbi9jb250ZW50LXNlY3Rpb24uc2NzcyAqL1xuICAgIC5jb250ZW50LXNlY3Rpb25fX2hlYWRlciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgICAgLyogbGluZSAzMiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NvbnRlbnQtc2VjdGlvbi9jb250ZW50LXNlY3Rpb24uc2NzcyAqL1xuICAgICAgLmNvbnRlbnQtc2VjdGlvbl9faGVhZGVyIHNwYW4ge1xuICAgICAgICBwYWRkaW5nOiAwIDAuMzEyNXJlbTsgfSB9XG4gIC8qIGxpbmUgMzgsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9jb250ZW50LXNlY3Rpb24vY29udGVudC1zZWN0aW9uLnNjc3MgKi9cbiAgLmNvbnRlbnQtc2VjdGlvbl9faGVhZGVyOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgY29udGVudDogJyc7XG4gICAgbGVmdDogMC40Mzc1cmVtO1xuICAgIHJpZ2h0OiAwLjQzNzVyZW07XG4gICAgYm90dG9tOiAwLjkzNzVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5ODlhOTU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLyogbGluZSAzOCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NvbnRlbnQtc2VjdGlvbi9jb250ZW50LXNlY3Rpb24uc2NzcyAqL1xuICAgICAgLmNvbnRlbnQtc2VjdGlvbl9faGVhZGVyOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgdG9wOiAwLjM3NXJlbTtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDUwJTsgfSB9XG4gIC8qIGxpbmUgNTUsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9jb250ZW50LXNlY3Rpb24vY29udGVudC1zZWN0aW9uLnNjc3MgKi9cbiAgLmNvbnRlbnQtc2VjdGlvbl9faGVhZGVyIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC8qIGxpbmUgNjQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9jb250ZW50LXNlY3Rpb24vY29udGVudC1zZWN0aW9uLnNjc3MgKi9cbiAgLmNvbnRlbnQtc2VjdGlvbl9faGVhZGVyIHtcbiAgICBmb250LXNpemU6IDIuMzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIC8qIGxpbmUgNjksIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9jb250ZW50LXNlY3Rpb24vY29udGVudC1zZWN0aW9uLnNjc3MgKi9cbiAgICAuY29udGVudC1zZWN0aW9uX19oZWFkZXIgc3BhbiB7XG4gICAgICBwYWRkaW5nOiAwIDEuODc1cmVtOyB9XG4gICAgLyogbGluZSA3MywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NvbnRlbnQtc2VjdGlvbi9jb250ZW50LXNlY3Rpb24uc2NzcyAqL1xuICAgIC5jb250ZW50LXNlY3Rpb25fX2hlYWRlcjpiZWZvcmUge1xuICAgICAgdG9wOiAwLjM3NXJlbTsgfSB9XG5cbi8qKlxuICogbmF2LXBhZ2luYXRpb24uc2Nzc1xuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHBzOi8vd3d3LnNob3J0LWN1dHMuZGUvXG4gKlxuICogRGF0ZTogMjAxNy0wNy0xN1xuICogQXV0aG9yOiBtYXJpb2RyZW5nbmVyICgqQHNob3J0LWN1dHMuZGUpXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKipcbiAqIGZ1bmN0aW9ucy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyoqXG4gKiBSZXR1cm4gc3BlY2lmaWMgY29sb3JcbiAqL1xuLyoqXG4gKiB2YXJpYWJsZXMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb2xvcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA8QGNvbG9ycyAqL1xuLyogY29sb3JzQD4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBJY29uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIDxAaWNvbnMgKi9cbi8qIGljb25zQD4gKi9cbi8qXG5cdEZvdW5kYXRpb25cbiAqL1xuLyoqXG4gKiBtaXhpbnMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qIGxpbmUgMTksIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtcGFnaW5hdGlvbi9uYXYtcGFnaW5hdGlvbi5zY3NzICovXG4ubmF2LXBhZ2luYXRpb24ge1xuICBwYWRkaW5nOiAxLjg3NXJlbSAwOyB9XG4gIC8qIGxpbmUgMjEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtcGFnaW5hdGlvbi9uYXYtcGFnaW5hdGlvbi5zY3NzICovXG4gIC5uYXYtcGFnaW5hdGlvbiBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH1cbiAgICAvKiBsaW5lIDIzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LXBhZ2luYXRpb24vbmF2LXBhZ2luYXRpb24uc2NzcyAqL1xuICAgIC5uYXYtcGFnaW5hdGlvbiBsaSwgLm5hdi1wYWdpbmF0aW9uIGxpLmN1cnJlbnQsIC5uYXYtcGFnaW5hdGlvbiBsaS5kaXNhYmxlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIHdpZHRoOiAyLjVyZW07XG4gICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJveC1zaGFkb3c6IDAgMC4wNjI1cmVtIDAuMzEyNXJlbSByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cbiAgICAgIC8qIGxpbmUgMzUsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtcGFnaW5hdGlvbi9uYXYtcGFnaW5hdGlvbi5zY3NzICovXG4gICAgICAubmF2LXBhZ2luYXRpb24gbGkgYSwgLm5hdi1wYWdpbmF0aW9uIGxpLmN1cnJlbnQgYSwgLm5hdi1wYWdpbmF0aW9uIGxpLmRpc2FibGVkIGEge1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAvKiBsaW5lIDM4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LXBhZ2luYXRpb24vbmF2LXBhZ2luYXRpb24uc2NzcyAqL1xuICAgICAgLm5hdi1wYWdpbmF0aW9uIGxpID4gc3BhbiwgLm5hdi1wYWdpbmF0aW9uIGxpLmN1cnJlbnQgPiBzcGFuLCAubmF2LXBhZ2luYXRpb24gbGkuZGlzYWJsZWQgPiBzcGFuIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLyogbGluZSA0NiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1wYWdpbmF0aW9uL25hdi1wYWdpbmF0aW9uLnNjc3MgKi9cbiAgICAubmF2LXBhZ2luYXRpb24gbGkucGFnaW5hdGlvbi1wcmV2aW91czpiZWZvcmUsIC5uYXYtcGFnaW5hdGlvbiBsaS5wYWdpbmF0aW9uLXByZXZpb3VzOmFmdGVyLFxuICAgIC5uYXYtcGFnaW5hdGlvbiBsaS5wYWdpbmF0aW9uLXByZXZpb3VzIGE6YmVmb3JlLFxuICAgIC5uYXYtcGFnaW5hdGlvbiBsaS5wYWdpbmF0aW9uLXByZXZpb3VzIGE6YWZ0ZXIsIC5uYXYtcGFnaW5hdGlvbiBsaS5wYWdpbmF0aW9uLW5leHQ6YmVmb3JlLCAubmF2LXBhZ2luYXRpb24gbGkucGFnaW5hdGlvbi1uZXh0OmFmdGVyLFxuICAgIC5uYXYtcGFnaW5hdGlvbiBsaS5wYWdpbmF0aW9uLW5leHQgYTpiZWZvcmUsXG4gICAgLm5hdi1wYWdpbmF0aW9uIGxpLnBhZ2luYXRpb24tbmV4dCBhOmFmdGVyIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC8qIGxpbmUgNTYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtcGFnaW5hdGlvbi9uYXYtcGFnaW5hdGlvbi5zY3NzICovXG4gICAgLm5hdi1wYWdpbmF0aW9uIGxpLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6YmVmb3JlLFxuICAgIC5uYXYtcGFnaW5hdGlvbiBsaS5wYWdpbmF0aW9uLXByZXZpb3VzIGE6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICfigLknOyB9XG4gICAgLyogbGluZSA2NCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1wYWdpbmF0aW9uL25hdi1wYWdpbmF0aW9uLnNjc3MgKi9cbiAgICAubmF2LXBhZ2luYXRpb24gbGkucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOmFmdGVyLFxuICAgIC5uYXYtcGFnaW5hdGlvbiBsaS5wYWdpbmF0aW9uLW5leHQgYTphZnRlciB7XG4gICAgICBjb250ZW50OiAn4oC6JzsgfVxuICAgIC8qIGxpbmUgNzAsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtcGFnaW5hdGlvbi9uYXYtcGFnaW5hdGlvbi5zY3NzICovXG4gICAgLm5hdi1wYWdpbmF0aW9uIGxpLmN1cnJlbnQge1xuICAgICAgY29sb3I6ICNmNzk0MWQ7IH1cblxuLyogbGluZSA3OSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1wYWdpbmF0aW9uL25hdi1wYWdpbmF0aW9uLnNjc3MgKi9cbi5zZWFyY2gtcGFnZXMgdWwge1xuICBtYXgtd2lkdGg6IDc4Ljc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC8qIGxpbmUgMTcwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyAqL1xuICAuc2VhcmNoLXBhZ2VzIHVsOjpiZWZvcmUsIC5zZWFyY2gtcGFnZXMgdWw6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAvKiBsaW5lIDE4MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MgKi9cbiAgLnNlYXJjaC1wYWdlcyB1bDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi8qIGxpbmUgODMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtcGFnaW5hdGlvbi9uYXYtcGFnaW5hdGlvbi5zY3NzICovXG4uc2VhcmNoLXBhZ2VzIGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiBpbmhlcml0O1xuICBmbG9hdDogbGVmdDsgfVxuICAvKiBsaW5lIDg3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LXBhZ2luYXRpb24vbmF2LXBhZ2luYXRpb24uc2NzcyAqL1xuICAuc2VhcmNoLXBhZ2VzIGxpOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBsaW5lIDkzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LXBhZ2luYXRpb24vbmF2LXBhZ2luYXRpb24uc2NzcyAqL1xuLnNlYXJjaC1wYWdlcyBhLmN1cnJlbnQge1xuICBjb2xvcjogI2Y3OTQxZDtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKiBsaW5lIDk5LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LXBhZ2luYXRpb24vbmF2LXBhZ2luYXRpb24uc2NzcyAqL1xuLnNlYXJjaC1wYWdlcyBhLm5leHQsIC5zZWFyY2gtcGFnZXMgYS5wcmV2IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7IH1cbiAgLyogbGluZSAxMDMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtcGFnaW5hdGlvbi9uYXYtcGFnaW5hdGlvbi5zY3NzICovXG4gIC5zZWFyY2gtcGFnZXMgYS5uZXh0OmFmdGVyLCAuc2VhcmNoLXBhZ2VzIGEucHJldjphZnRlciB7XG4gICAgY29udGVudDogJ+KAuic7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0ZXh0LWluZGVudDogMDsgfVxuXG4vKiBsaW5lIDExNSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1wYWdpbmF0aW9uL25hdi1wYWdpbmF0aW9uLnNjc3MgKi9cbi5zZWFyY2gtcGFnZXMgYS5wcmV2OmFmdGVyIHtcbiAgY29udGVudDogJ+KAuSc7IH1cblxuLyogbGluZSAxMjEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtcGFnaW5hdGlvbi9uYXYtcGFnaW5hdGlvbi5zY3NzICovXG4ja2VzZWFyY2hfcGFnZWJyb3dzZXJfYm90dG9tIC5yZXN1bHRfdHh0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKipcbiAqIGNvbnRlbnQtc3ViLWhlYWRlci5zY3NzXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cHM6Ly93d3cuc2hvcnQtY3V0cy5kZS9cbiAqXG4gKiBEYXRlOiAyMDE3LTA3LTE5XG4gKiBBdXRob3I6IG1hcmlvZHJlbmduZXIgKCpAc2hvcnQtY3V0cy5kZSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qKlxuICogZnVuY3Rpb25zLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKipcbiAqIFJldHVybiBzcGVjaWZpYyBjb2xvclxuICovXG4vKipcbiAqIHZhcmlhYmxlcy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbG9yc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIDxAY29sb3JzICovXG4vKiBjb2xvcnNAPiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEljb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPEBpY29ucyAqL1xuLyogaWNvbnNAPiAqL1xuLypcblx0Rm91bmRhdGlvblxuICovXG4vKipcbiAqIG1peGlucy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyogbGluZSAyMCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NvbnRlbnQtc3ViLWhlYWRlci9jb250ZW50LXN1Yi1oZWFkZXIuc2NzcyAqL1xuLmNvbnRlbnQtc3ViLWhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICNmMGYwZjAgcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMCksIHJnYmEoMCwgMCwgMCwgMCkgMXB4LCByZ2JhKDAsIDAsIDAsIDAuMSkgMXB4LCByZ2JhKDAsIDAsIDAsIDAuMSkgMnB4KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICBwYWRkaW5nOiAxLjg3NXJlbSAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IC0xLjg3NXJlbTsgfVxuICAvKiBsaW5lIDM0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY29udGVudC1zdWItaGVhZGVyL2NvbnRlbnQtc3ViLWhlYWRlci5zY3NzICovXG4gIC5jb250ZW50LXN1Yi1oZWFkZXJfX2hlYWRsaW5lLFxuICAuY29udGVudC1zdWItaGVhZGVyX190ZXh0IHNwYW4ge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLyogbGluZSA0MCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NvbnRlbnQtc3ViLWhlYWRlci9jb250ZW50LXN1Yi1oZWFkZXIuc2NzcyAqL1xuICAuY29udGVudC1zdWItaGVhZGVyX19oZWFkbGluZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gICAgLyogbGluZSA0MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NvbnRlbnQtc3ViLWhlYWRlci9jb250ZW50LXN1Yi1oZWFkZXIuc2NzcyAqL1xuICAgIC5jb2xvci0tZGVmYXVsdCAuY29udGVudC1zdWItaGVhZGVyX19oZWFkbGluZSB7XG4gICAgICBjb2xvcjogI2Y3OTQxZDsgfVxuICAgIC8qIGxpbmUgNDUsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9jb250ZW50LXN1Yi1oZWFkZXIvY29udGVudC1zdWItaGVhZGVyLnNjc3MgKi9cbiAgICAuY29sb3ItLWdyZWVuIC5jb250ZW50LXN1Yi1oZWFkZXJfX2hlYWRsaW5lIHtcbiAgICAgIGNvbG9yOiAjNzRiNzRhOyB9XG4gICAgLyogbGluZSA0OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NvbnRlbnQtc3ViLWhlYWRlci9jb250ZW50LXN1Yi1oZWFkZXIuc2NzcyAqL1xuICAgIC5jb2xvci0tYmx1ZSAuY29udGVudC1zdWItaGVhZGVyX19oZWFkbGluZSB7XG4gICAgICBjb2xvcjogIzI1YWFlMjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC8qIGxpbmUgMjAsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9jb250ZW50LXN1Yi1oZWFkZXIvY29udGVudC1zdWItaGVhZGVyLnNjc3MgKi9cbiAgICAuY29udGVudC1zdWItaGVhZGVyIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTdlN2U3O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlN2U3ZTc7XG4gICAgICBtYXJnaW46IC0zLjEyNXJlbSAwIC0xLjI1cmVtOyB9XG4gICAgICAvKiBsaW5lIDU3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY29udGVudC1zdWItaGVhZGVyL2NvbnRlbnQtc3ViLWhlYWRlci5zY3NzICovXG4gICAgICAuY29udGVudC1zdWItaGVhZGVyX19oZWFkbGluZSwgLmNvbnRlbnQtc3ViLWhlYWRlcl9fdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBwYWRkaW5nOiAwIDIuMTg3NXJlbTsgfSB9XG5cbi8qKlxuICogY29udGFjdC1zZWFyY2guc2Nzc1xuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHBzOi8vd3d3LnNob3J0LWN1dHMuZGUvXG4gKlxuICogRGF0ZTogMjAxNy0wOS0yNVxuICogQXV0aG9yOiBtYXJpb2RyZW5nbmVyICgqQHNob3J0LWN1dHMuZGUpXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKipcbiAqIGZ1bmN0aW9ucy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyoqXG4gKiBSZXR1cm4gc3BlY2lmaWMgY29sb3JcbiAqL1xuLyoqXG4gKiB2YXJpYWJsZXMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb2xvcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA8QGNvbG9ycyAqL1xuLyogY29sb3JzQD4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBJY29uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIDxAaWNvbnMgKi9cbi8qIGljb25zQD4gKi9cbi8qXG5cdEZvdW5kYXRpb25cbiAqL1xuLyoqXG4gKiBtaXhpbnMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qIGxpbmUgMjAsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9jb250YWN0LXNlYXJjaC9jb250YWN0LXNlYXJjaC5zY3NzICovXG4uY29udGFjdC1zZWFyY2gge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWcvbWFwLnBuZ1wiKSA1MCUgMzBweC8xMDAlIG5vLXJlcGVhdDsgfVxuICAvKiBsaW5lIDIzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY29udGFjdC1zZWFyY2gvY29udGFjdC1zZWFyY2guc2NzcyAqL1xuICAuY29udGFjdC1zZWFyY2hfX2hlYWRsaW5lIHtcbiAgICBmb250LXNpemU6IDEuOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAvKiBsaW5lIDI4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY29udGFjdC1zZWFyY2gvY29udGFjdC1zZWFyY2guc2NzcyAqL1xuICAuY29udGFjdC1zZWFyY2gtLWxhbmRpbmcge1xuICAgIGJhY2tncm91bmQtc2l6ZTogNTAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMDsgfVxuXG4vKiBsaW5lIDQxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY29udGFjdC1zZWFyY2gvY29udGFjdC1zZWFyY2guc2NzcyAqL1xuLnJvdy0tZ3JpZCAuYm94IHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi8qIGxpbmUgNDQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9jb250YWN0LXNlYXJjaC9jb250YWN0LXNlYXJjaC5zY3NzICovXG4ucm93LS1ncmlkID4gLmNvbHVtbiwgLnJvdy0tZ3JpZCA+IC5jb2x1bW5zIHtcbiAgbWFyZ2luLXRvcDogMS44NzVyZW07IH1cblxuLyoqXG4gKiBxdW90ZS5zY3NzXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cHM6Ly93d3cuc2hvcnQtY3V0cy5kZS9cbiAqXG4gKiBEYXRlOiAyMDE3LTEwLTE3XG4gKiBBdXRob3I6IG1hcmlvZHJlbmduZXIgKCpAc2hvcnQtY3V0cy5kZSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qKlxuICogZnVuY3Rpb25zLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKipcbiAqIFJldHVybiBzcGVjaWZpYyBjb2xvclxuICovXG4vKipcbiAqIHZhcmlhYmxlcy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbG9yc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIDxAY29sb3JzICovXG4vKiBjb2xvcnNAPiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEljb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPEBpY29ucyAqL1xuLyogaWNvbnNAPiAqL1xuLypcblx0Rm91bmRhdGlvblxuICovXG4vKipcbiAqIG1peGlucy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyogbGluZSAyMCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L3F1b3RlL3F1b3RlLnNjc3MgKi9cbi5xdW90ZSB7XG4gIG1hcmdpbjogMS44NzVyZW0gMCAxLjg3NXJlbSAwLjc1cmVtOyB9XG4gIC8qIGxpbmUgMjMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9xdW90ZS9xdW90ZS5zY3NzICovXG4gIC5xdW90ZV9fcXVvdGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAvKiBsaW5lIDI0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvcXVvdGUvcXVvdGUuc2NzcyAqL1xuICAgIC5xdW90ZV9fcXVvdGUgcCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjODM4MzgzO1xuICAgICAgcGFkZGluZzogOHB4IDA7XG4gICAgICBsaW5lLWhlaWdodDogMi42O1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG4gICAgICBib3gtc2hhZG93OiAxMnB4IDAgMCAjODM4MzgzLCAtMTJweCAwIDAgIzgzODM4MzsgfVxuICAvKiBsaW5lIDM4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvcXVvdGUvcXVvdGUuc2NzcyAqL1xuICAucXVvdGVfX2ltZyB7XG4gICAgd2lkdGg6IDQuMDYyNXJlbTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtOyB9XG4gICAgLyogbGluZSAzOSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L3F1b3RlL3F1b3RlLnNjc3MgKi9cbiAgICAucXVvdGVfX2ltZy13cmFwIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuMDYyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjc1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLyogbGluZSA1MSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L3F1b3RlL3F1b3RlLnNjc3MgKi9cbiAgLnF1b3RlLS1ib3JkZXIge1xuICAgIGJvcmRlcjogMXB4ICNjMmMyYzI7XG4gICAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtOyB9XG4gIC8qIGxpbmUgNTcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9xdW90ZS9xdW90ZS5zY3NzICovXG4gIC5xdW90ZSAuaW5kZW50LW5vbmUge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC8qIGxpbmUgNjAsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9xdW90ZS9xdW90ZS5zY3NzICovXG4gIC5xdW90ZSAuaW5kZW50LXNtYWxsIHtcbiAgICBtYXJnaW4tbGVmdDogMzBweDsgfVxuICAvKiBsaW5lIDYzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvcXVvdGUvcXVvdGUuc2NzcyAqL1xuICAucXVvdGUgLmluZGVudC1tZWRpdW0ge1xuICAgIG1hcmdpbi1sZWZ0OiA2MHB4OyB9XG4gIC8qIGxpbmUgNjYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9xdW90ZS9xdW90ZS5zY3NzICovXG4gIC5xdW90ZSAuaW5kZW50LWxhcmdlIHtcbiAgICBtYXJnaW4tbGVmdDogOTBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC8qIGxpbmUgNzUsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9xdW90ZS9xdW90ZS5zY3NzICovXG4gICAgLnF1b3RlX19xdW90ZSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLyogbGluZSA3OSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L3F1b3RlL3F1b3RlLnNjc3MgKi9cbiAgICAucXVvdGUtLWJvcmRlcl9fcXVvdGUge1xuICAgICAgcGFkZGluZzogMy4xMjVyZW07IH0gfVxuXG4vKipcbiAqIGhpZ2hsaWdodC5zY3NzXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cHM6Ly93d3cuc2hvcnQtY3V0cy5kZS9cbiAqXG4gKiBEYXRlOiAyMDE3LTEwLTE4XG4gKiBBdXRob3I6IG1hcmlvZHJlbmduZXIgKCpAc2hvcnQtY3V0cy5kZSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qKlxuICogZnVuY3Rpb25zLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKipcbiAqIFJldHVybiBzcGVjaWZpYyBjb2xvclxuICovXG4vKipcbiAqIHZhcmlhYmxlcy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbG9yc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIDxAY29sb3JzICovXG4vKiBjb2xvcnNAPiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEljb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPEBpY29ucyAqL1xuLyogaWNvbnNAPiAqL1xuLypcblx0Rm91bmRhdGlvblxuICovXG4vKipcbiAqIG1peGlucy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyoqXG4gKiBkb3dubG9hZC5zY3NzXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cHM6Ly93d3cuc2hvcnQtY3V0cy5kZS9cbiAqXG4gKiBEYXRlOiAyMDE3LTEwLTI3XG4gKiBBdXRob3I6IG1hcmlvZHJlbmduZXIgKCpAc2hvcnQtY3V0cy5kZSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qKlxuICogZnVuY3Rpb25zLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKipcbiAqIFJldHVybiBzcGVjaWZpYyBjb2xvclxuICovXG4vKipcbiAqIHZhcmlhYmxlcy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbG9yc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIDxAY29sb3JzICovXG4vKiBjb2xvcnNAPiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEljb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPEBpY29ucyAqL1xuLyogaWNvbnNAPiAqL1xuLypcblx0Rm91bmRhdGlvblxuICovXG4vKipcbiAqIG1peGlucy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyogbGluZSAyMCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Rvd25sb2FkL2Rvd25sb2FkLnNjc3MgKi9cbi5kb3dubG9hZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIC8qIGxpbmUgMjYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9kb3dubG9hZC9kb3dubG9hZC5zY3NzICovXG4gIC5kb3dubG9hZF9faW5uZXIge1xuICAgIGJhY2tncm91bmQ6ICNmNzk0MWQ7IH1cbiAgLyogbGluZSAzMCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Rvd25sb2FkL2Rvd25sb2FkLnNjc3MgKi9cbiAgLmRvd25sb2FkID4gLnJvdyB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC8qIGxpbmUgMzQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9kb3dubG9hZC9kb3dubG9hZC5zY3NzICovXG4gIC5kb3dubG9hZF9faGVhZGxpbmUge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIG1hcmdpbi10b3A6IDEuNTYyNXJlbTsgfVxuICAvKiBsaW5lIDQzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvZG93bmxvYWQvZG93bmxvYWQuc2NzcyAqL1xuICAuZG93bmxvYWRfX3RleHQge1xuICAgIG1hcmdpbjogMS4yNXJlbSAwOyB9XG4gIC8qIGxpbmUgNDcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9kb3dubG9hZC9kb3dubG9hZC5zY3NzICovXG4gIC5kb3dubG9hZF9faWNvbnMge1xuICAgIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9XG4gICAgLyogbGluZSA0OSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Rvd25sb2FkL2Rvd25sb2FkLnNjc3MgKi9cbiAgICAuZG93bmxvYWRfX2ljb25zIC5pY29uLS1sb2NrIHtcbiAgICAgIGZvbnQtc2l6ZTogMy40Mzc1cmVtO1xuICAgICAgY29sb3I6ICM1ODU5NWI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAtMC4zMTI1cmVtO1xuICAgICAgYm90dG9tOiAtMC4zMTI1cmVtOyB9XG4gICAgLyogbGluZSA1NywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Rvd25sb2FkL2Rvd25sb2FkLnNjc3MgKi9cbiAgICAuZG93bmxvYWRfX2ljb25zIC5pY29uLS1iaWcge1xuICAgICAgZm9udC1zaXplOiA0Ljg3NXJlbTsgfVxuICAvKiBsaW5lIDYyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvZG93bmxvYWQvZG93bmxvYWQuc2NzcyAqL1xuICAuZG93bmxvYWRfX292ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpOyB9XG4gICAgLyogbGluZSA3MSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Rvd25sb2FkL2Rvd25sb2FkLnNjc3MgKi9cbiAgICAuZG93bmxvYWRfX292ZXJsYXkgPiAucm93IHtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAvKiBsaW5lIDc2LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvZG93bmxvYWQvZG93bmxvYWQuc2NzcyAqL1xuICAuZG93bmxvYWQgaHIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAvKiBsaW5lIDgyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvZG93bmxvYWQvZG93bmxvYWQuc2NzcyAqL1xuICAgIC5kb3dubG9hZF9fY3RhIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9XG4gICAgICAvKiBsaW5lIDg1LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvZG93bmxvYWQvZG93bmxvYWQuc2NzcyAqL1xuICAgICAgLmRvd25sb2FkX19jdGEgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMCAwLjkzNzVyZW07IH0gfVxuXG4vKipcbiAqIG5hdi1zaXRlbWFwLnNjc3NcbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwczovL3d3dy5zaG9ydC1jdXRzLmRlL1xuICpcbiAqIERhdGU6IDIwMTgtMDEtMzFcbiAqIEF1dGhvcjogbWFyaW9kcmVuZ25lciAoKkBzaG9ydC1jdXRzLmRlKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyoqXG4gKiBmdW5jdGlvbnMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qKlxuICogUmV0dXJuIHNwZWNpZmljIGNvbG9yXG4gKi9cbi8qKlxuICogdmFyaWFibGVzLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPEBjb2xvcnMgKi9cbi8qIGNvbG9yc0A+ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSWNvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA8QGljb25zICovXG4vKiBpY29uc0A+ICovXG4vKlxuXHRGb3VuZGF0aW9uXG4gKi9cbi8qKlxuICogbWl4aW5zLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKiBsaW5lIDIyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LXNpdGVtYXAvbmF2LXNpdGVtYXAuc2NzcyAqL1xuLm5hdi1zaXRlbWFwIGxpIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHotaW5kZXg6IDA7IH1cbiAgLyogbGluZSAyNSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1zaXRlbWFwL25hdi1zaXRlbWFwLnNjc3MgKi9cbiAgLm5hdi1zaXRlbWFwIGxpIGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC8qIGxpbmUgMjksIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtc2l0ZW1hcC9uYXYtc2l0ZW1hcC5zY3NzICovXG4gIC5uYXYtc2l0ZW1hcCBsaSBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAvKiBsaW5lIDMxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LXNpdGVtYXAvbmF2LXNpdGVtYXAuc2NzcyAqL1xuICAgIC5uYXYtc2l0ZW1hcCBsaSBsaTpiZWZvcmUsIC5uYXYtc2l0ZW1hcCBsaSBsaTphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiAnJzsgfVxuICAgIC8qIGxpbmUgMzYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtc2l0ZW1hcC9uYXYtc2l0ZW1hcC5zY3NzICovXG4gICAgLm5hdi1zaXRlbWFwIGxpIGxpOmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICNlN2U3ZTc7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgbGVmdDogLTAuNjI1cmVtO1xuICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICB0b3A6IDAuMTI1cmVtO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDFweDsgfVxuICAgIC8qIGxpbmUgNDcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9uYXYtc2l0ZW1hcC9uYXYtc2l0ZW1hcC5zY3NzICovXG4gICAgLm5hdi1zaXRlbWFwIGxpIGxpIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAvKiBsaW5lIDUyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LXNpdGVtYXAvbmF2LXNpdGVtYXAuc2NzcyAqL1xuICAubmF2LXNpdGVtYXAgbGkgOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGxlZnQ6IC0wLjYyNXJlbTtcbiAgICB0b3A6IDEuMzc1cmVtO1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ZhZmFmYTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuLyogbGluZSA2NCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L25hdi1zaXRlbWFwL25hdi1zaXRlbWFwLnNjc3MgKi9cbi5uYXYtc2l0ZW1hcCAubWVudS5uZXN0ZWQge1xuICBtYXJnaW4tbGVmdDogMy4xMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAvKiBsaW5lIDY3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvbmF2LXNpdGVtYXAvbmF2LXNpdGVtYXAuc2NzcyAqL1xuICAubmF2LXNpdGVtYXAgLm1lbnUubmVzdGVkOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGxlZnQ6IC0wLjYyNXJlbTtcbiAgICB0b3A6IDAuMTI1cmVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlN2U3ZTc7IH1cblxuLyoqXG4gKiBmb2xkaW5nLWN1YmUuc2Nzc1xuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHBzOi8vd3d3LnNob3J0LWN1dHMuZGUvXG4gKlxuICogRGF0ZTogMjAxOC0wMi0yOFxuICogQXV0aG9yOiBtYXJpb2RyZW5nbmVyICgqQHNob3J0LWN1dHMuZGUpXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKipcbiAqIGZ1bmN0aW9ucy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyoqXG4gKiBSZXR1cm4gc3BlY2lmaWMgY29sb3JcbiAqL1xuLyoqXG4gKiB2YXJpYWJsZXMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb2xvcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA8QGNvbG9ycyAqL1xuLyogY29sb3JzQD4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBJY29uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIDxAaWNvbnMgKi9cbi8qIGljb25zQD4gKi9cbi8qXG5cdEZvdW5kYXRpb25cbiAqL1xuLyoqXG4gKiBtaXhpbnMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbkBrZXlmcmFtZXMgZm9sZEN1YmVBbmdsZSB7XG4gIDAlLCAxMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTQwcHgpIHJvdGF0ZVgoLTE4MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAyNSUsIDc1JSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxNDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDkwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxNDBweCkgcm90YXRlWSgxODBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4vKiBsaW5lIDM0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvZm9sZGluZy1jdWJlL2ZvbGRpbmctY3ViZS5zY3NzICovXG4uZm9sZGluZy1jdWJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjUpO1xuICB6LWluZGV4OiAxMDtcbiAgbWFyZ2luOiAyMHB4IGF1dG87XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gIC8qIGxpbmUgNTAsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9mb2xkaW5nLWN1YmUvZm9sZGluZy1jdWJlLnNjc3MgKi9cbiAgLmZvcm0tLWxvYWRpbmcgLmZvbGRpbmctY3ViZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC8qIGxpbmUgNTUsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9mb2xkaW5nLWN1YmUvZm9sZGluZy1jdWJlLnNjc3MgKi9cbiAgLmZvbGRpbmctY3ViZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgei1pbmRleDogMTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooNDVkZWcpOyB9XG4gIC8qIGxpbmUgNjksIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9mb2xkaW5nLWN1YmUvZm9sZGluZy1jdWJlLnNjc3MgKi9cbiAgLmZvbGRpbmctY3ViZV9fY3ViZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgbWFyZ2luOiAzcHg7IH1cbiAgICAvKiBsaW5lIDc3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvZm9sZGluZy1jdWJlL2ZvbGRpbmctY3ViZS5zY3NzICovXG4gICAgLmZvbGRpbmctY3ViZV9fY3ViZTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTg1OTViO1xuICAgICAgYW5pbWF0aW9uOiBmb2xkQ3ViZUFuZ2xlIDIuNHMgaW5maW5pdGUgbGluZWFyIGJvdGg7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7IH1cbiAgICAvKiBsaW5lIDg5LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvZm9sZGluZy1jdWJlL2ZvbGRpbmctY3ViZS5zY3NzICovXG4gICAgLmZvbGRpbmctY3ViZV9fY3ViZS0tMiB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlWig5MGRlZyk7IH1cbiAgICAgIC8qIGxpbmUgOTEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9mb2xkaW5nLWN1YmUvZm9sZGluZy1jdWJlLnNjc3MgKi9cbiAgICAgIC5mb2xkaW5nLWN1YmVfX2N1YmUtLTI6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3OTQxZDtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjNzOyB9XG4gICAgLyogbGluZSA5NiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2ZvbGRpbmctY3ViZS9mb2xkaW5nLWN1YmUuc2NzcyAqL1xuICAgIC5mb2xkaW5nLWN1YmVfX2N1YmUtLTMge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZVooMTgwZGVnKTsgfVxuICAgICAgLyogbGluZSA5OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2ZvbGRpbmctY3ViZS9mb2xkaW5nLWN1YmUuc2NzcyAqL1xuICAgICAgLmZvbGRpbmctY3ViZV9fY3ViZS0tMzpiZWZvcmUge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuNnM7IH1cbiAgICAvKiBsaW5lIDEwMiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2ZvbGRpbmctY3ViZS9mb2xkaW5nLWN1YmUuc2NzcyAqL1xuICAgIC5mb2xkaW5nLWN1YmVfX2N1YmUtLTQge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZVooMjcwZGVnKTsgfVxuICAgICAgLyogbGluZSAxMDQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9mb2xkaW5nLWN1YmUvZm9sZGluZy1jdWJlLnNjc3MgKi9cbiAgICAgIC5mb2xkaW5nLWN1YmVfX2N1YmUtLTQ6YmVmb3JlIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjlzOyB9XG5cbi8qKlxuICogZ290b3Auc2Nzc1xuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHBzOi8vd3d3LnNob3J0LWN1dHMuZGUvXG4gKlxuICogRGF0ZTogMjAxOC0wNy0yNFxuICogQXV0aG9yOiBrYWlzZWxpZ2VyICgqQHNob3J0LWN1dHMuZGUpXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKipcbiAqIGZ1bmN0aW9ucy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyoqXG4gKiBSZXR1cm4gc3BlY2lmaWMgY29sb3JcbiAqL1xuLyoqXG4gKiB2YXJpYWJsZXMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb2xvcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA8QGNvbG9ycyAqL1xuLyogY29sb3JzQD4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBJY29uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIDxAaWNvbnMgKi9cbi8qIGljb25zQD4gKi9cbi8qXG5cdEZvdW5kYXRpb25cbiAqL1xuLyoqXG4gKiBtaXhpbnMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qIGxpbmUgMjIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9nb3RvcC9nb3RvcC5zY3NzICovXG4uZ290b3BfX2J1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoODgsIDg5LCA5MSwgMC43KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDQ1cHg7XG4gIGhlaWdodDogNDVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICByaWdodDogMC45Mzc1cmVtO1xuICBib3R0b206IDAuOTM3NXJlbTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiA5OTk7IH1cbiAgLyogbGluZSAzNiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2dvdG9wL2dvdG9wLnNjc3MgKi9cbiAgLmdvdG9wX19idXR0b246YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJ+KMgyc7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICB0b3A6IDNweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIC8qIGxpbmUgNTIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9nb3RvcC9nb3RvcC5zY3NzICovXG4gIC5nb3RvcF9fYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNTg1OTViOyB9XG4gIC8qIGxpbmUgNTYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9nb3RvcC9nb3RvcC5zY3NzICovXG4gIC5nb3RvcF9fYnV0dG9uLS1zaG93IHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gICAgLyogbGluZSA1OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2dvdG9wL2dvdG9wLnNjc3MgKi9cbiAgICAuZ290b3BfX2J1dHRvbi0tc2hvdzpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuXG4vKipcbiAqIHRhZy1jbG91ZC5zY3NzXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cHM6Ly93d3cuc2hvcnQtY3V0cy5kZS9cbiAqXG4gKiBEYXRlOiAyMDE4LTA4LTAzXG4gKiBBdXRob3I6IG1hcmlvZHJlbmduZXIgKCpAc2hvcnQtY3V0cy5kZSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qKlxuICogZnVuY3Rpb25zLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKipcbiAqIFJldHVybiBzcGVjaWZpYyBjb2xvclxuICovXG4vKipcbiAqIHZhcmlhYmxlcy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbG9yc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIDxAY29sb3JzICovXG4vKiBjb2xvcnNAPiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEljb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPEBpY29ucyAqL1xuLyogaWNvbnNAPiAqL1xuLypcblx0Rm91bmRhdGlvblxuICovXG4vKipcbiAqIG1peGlucy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyogbGluZSAyMCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L3RhZy1jbG91ZC90YWctY2xvdWQuc2NzcyAqL1xuLnRhZy1jbG91ZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAxLjI1cmVtIGF1dG87IH1cbiAgLyogbGluZSAyNSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L3RhZy1jbG91ZC90YWctY2xvdWQuc2NzcyAqL1xuICAudGFnLWNsb3VkX19pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMC4wNjI1cmVtIDAuNDM3NXJlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3MsIHRyYW5zZm9ybSAuM3M7IH1cbiAgICAvKiBsaW5lIDMyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvdGFnLWNsb3VkL3RhZy1jbG91ZC5zY3NzICovXG4gICAgLnRhZy1jbG91ZF9faXRlbS0tcHJpby0xIHtcbiAgICAgIGZvbnQtc2l6ZTogMjMuOHB4OyB9XG4gICAgLyogbGluZSAzMiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L3RhZy1jbG91ZC90YWctY2xvdWQuc2NzcyAqL1xuICAgIC50YWctY2xvdWRfX2l0ZW0tLXByaW8tMiB7XG4gICAgICBmb250LXNpemU6IDIyLjZweDsgfVxuICAgIC8qIGxpbmUgMzIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC90YWctY2xvdWQvdGFnLWNsb3VkLnNjc3MgKi9cbiAgICAudGFnLWNsb3VkX19pdGVtLS1wcmlvLTMge1xuICAgICAgZm9udC1zaXplOiAyMS40cHg7IH1cbiAgICAvKiBsaW5lIDMyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvdGFnLWNsb3VkL3RhZy1jbG91ZC5zY3NzICovXG4gICAgLnRhZy1jbG91ZF9faXRlbS0tcHJpby00IHtcbiAgICAgIGZvbnQtc2l6ZTogMjAuMnB4OyB9XG4gICAgLyogbGluZSAzMiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L3RhZy1jbG91ZC90YWctY2xvdWQuc2NzcyAqL1xuICAgIC50YWctY2xvdWRfX2l0ZW0tLXByaW8tNSB7XG4gICAgICBmb250LXNpemU6IDE5cHg7IH1cbiAgICAvKiBsaW5lIDMyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvdGFnLWNsb3VkL3RhZy1jbG91ZC5zY3NzICovXG4gICAgLnRhZy1jbG91ZF9faXRlbS0tcHJpby02IHtcbiAgICAgIGZvbnQtc2l6ZTogMTcuOHB4OyB9XG4gICAgLyogbGluZSAzMiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L3RhZy1jbG91ZC90YWctY2xvdWQuc2NzcyAqL1xuICAgIC50YWctY2xvdWRfX2l0ZW0tLXByaW8tNyB7XG4gICAgICBmb250LXNpemU6IDE2LjZweDsgfVxuICAgIC8qIGxpbmUgMzIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC90YWctY2xvdWQvdGFnLWNsb3VkLnNjc3MgKi9cbiAgICAudGFnLWNsb3VkX19pdGVtLS1wcmlvLTgge1xuICAgICAgZm9udC1zaXplOiAxNS40cHg7IH1cbiAgICAvKiBsaW5lIDMyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvdGFnLWNsb3VkL3RhZy1jbG91ZC5zY3NzICovXG4gICAgLnRhZy1jbG91ZF9faXRlbS0tcHJpby05IHtcbiAgICAgIGZvbnQtc2l6ZTogMTQuMnB4OyB9XG4gICAgLyogbGluZSAzOSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L3RhZy1jbG91ZC90YWctY2xvdWQuc2NzcyAqL1xuICAgIC50YWctY2xvdWRfX2l0ZW0tLWZvbnQtMzAwIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICAvKiBsaW5lIDQyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvdGFnLWNsb3VkL3RhZy1jbG91ZC5zY3NzICovXG4gICAgLnRhZy1jbG91ZF9faXRlbS0tZm9udC00MDAge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC8qIGxpbmUgNDUsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC90YWctY2xvdWQvdGFnLWNsb3VkLnNjc3MgKi9cbiAgICAudGFnLWNsb3VkX19pdGVtLS1mb250LTcwMCB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLyogbGluZSA0OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L3RhZy1jbG91ZC90YWctY2xvdWQuc2NzcyAqL1xuICAgIC50YWctY2xvdWRfX2l0ZW0tLWZvbnQtODAwIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7IH1cbiAgICAvKiBsaW5lIDU0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvdGFnLWNsb3VkL3RhZy1jbG91ZC5zY3NzICovXG4gICAgLnRhZy1jbG91ZF9faXRlbS0tY29sb3ItYmx1ZSB7XG4gICAgICBjb2xvcjogIzI1YWFlMjsgfVxuICAgIC8qIGxpbmUgNTcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC90YWctY2xvdWQvdGFnLWNsb3VkLnNjc3MgKi9cbiAgICAudGFnLWNsb3VkX19pdGVtLS1jb2xvci1ncmVlbiB7XG4gICAgICBjb2xvcjogIzc0Yjc0YTsgfVxuICAgIC8qIGxpbmUgNjAsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC90YWctY2xvdWQvdGFnLWNsb3VkLnNjc3MgKi9cbiAgICAudGFnLWNsb3VkX19pdGVtLS1jb2xvci1ncmV5IHtcbiAgICAgIGNvbG9yOiAjNTg1OTViOyB9XG4gICAgLyogbGluZSA2MywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L3RhZy1jbG91ZC90YWctY2xvdWQuc2NzcyAqL1xuICAgIC50YWctY2xvdWRfX2l0ZW0tLWNvbG9yLXByaW1hcnkge1xuICAgICAgY29sb3I6ICNmNzk0MWQ7IH1cbiAgICAvKiBsaW5lIDY2LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvdGFnLWNsb3VkL3RhZy1jbG91ZC5zY3NzICovXG4gICAgLnRhZy1jbG91ZF9faXRlbS0tY29sb3Itc2Vjb25kYXJ5IHtcbiAgICAgIGNvbG9yOiAjMzMzOyB9XG4gICAgLyogbGluZSA2OSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L3RhZy1jbG91ZC90YWctY2xvdWQuc2NzcyAqL1xuICAgIC50YWctY2xvdWRfX2l0ZW0tLWNvbG9yLXRlcnRpYXJ5IHtcbiAgICAgIGNvbG9yOiAjY2NjOyB9XG4gIC8qIGxpbmUgNzcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC90YWctY2xvdWQvdGFnLWNsb3VkLnNjc3MgKi9cbiAgYTpob3ZlciAudGFnLWNsb3VkX19pdGVtLS1jb2xvci1ibHVlIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOyB9XG4gIC8qIGxpbmUgODEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC90YWctY2xvdWQvdGFnLWNsb3VkLnNjc3MgKi9cbiAgYTpob3ZlciAudGFnLWNsb3VkX19pdGVtLS1jb2xvci1ncmVlbiB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuICAvKiBsaW5lIDg1LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvdGFnLWNsb3VkL3RhZy1jbG91ZC5zY3NzICovXG4gIGE6aG92ZXIgLnRhZy1jbG91ZF9faXRlbS0tY29sb3ItZ3JleSB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuICAvKiBsaW5lIDg5LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvdGFnLWNsb3VkL3RhZy1jbG91ZC5zY3NzICovXG4gIGE6aG92ZXIgLnRhZy1jbG91ZF9faXRlbS0tY29sb3ItcHJpbWFyeSB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuICAvKiBsaW5lIDkzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvdGFnLWNsb3VkL3RhZy1jbG91ZC5zY3NzICovXG4gIGE6aG92ZXIgLnRhZy1jbG91ZF9faXRlbS0tY29sb3Itc2Vjb25kYXJ5IHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOyB9XG4gIC8qIGxpbmUgOTcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC90YWctY2xvdWQvdGFnLWNsb3VkLnNjc3MgKi9cbiAgYTpob3ZlciAudGFnLWNsb3VkX19pdGVtLS1jb2xvci10ZXJ0aWFyeSB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuXG4vKipcbiAqIGJhc2xpZGVyLnNjc3NcbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwczovL3d3dy5zaG9ydC1jdXRzLmRlL1xuICpcbiAqIERhdGU6IDIwMjAtMTItMDFcbiAqIEF1dGhvcjoga2Fpc2VsaWdlciAoKkBzaG9ydC1jdXRzLmRlKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyoqXG4gKiBmdW5jdGlvbnMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qKlxuICogUmV0dXJuIHNwZWNpZmljIGNvbG9yXG4gKi9cbi8qKlxuICogdmFyaWFibGVzLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPEBjb2xvcnMgKi9cbi8qIGNvbG9yc0A+ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSWNvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA8QGljb25zICovXG4vKiBpY29uc0A+ICovXG4vKlxuXHRGb3VuZGF0aW9uXG4gKi9cbi8qKlxuICogbWl4aW5zLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKiBsaW5lIDIwLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYmFzbGlkZXIvYmFzbGlkZXIuc2NzcyAqL1xuLmJhc2xpZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLyogbGluZSAyMywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Jhc2xpZGVyL2Jhc2xpZGVyLnNjc3MgKi9cbiAgLmJhc2xpZGVyIC5iZWVyLXJldmVhbFtkYXRhLWJlZXItbGFiZWxdOmFmdGVyLFxuICAuYmFzbGlkZXIgLmJlZXItc2xpZGVyW2RhdGEtYmVlci1sYWJlbF06YWZ0ZXIge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC8qIGxpbmUgMzAsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9iYXNsaWRlci9iYXNsaWRlci5zY3NzICovXG4gIC5iYXNsaWRlci0tbGFiZWwtc21hbGwgLmJlZXItcmV2ZWFsW2RhdGEtYmVlci1sYWJlbF06YWZ0ZXIsXG4gIC5iYXNsaWRlci0tbGFiZWwtc21hbGwgLmJlZXItc2xpZGVyW2RhdGEtYmVlci1sYWJlbF06YWZ0ZXIge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgcGFkZGluZzogMC4zMTI1cmVtIDAuNXJlbTsgfVxuICAvKiBsaW5lIDM4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYmFzbGlkZXIvYmFzbGlkZXIuc2NzcyAqL1xuICAuYmFzbGlkZXItLWxhYmVsLW1lZGl1bSAuYmVlci1yZXZlYWxbZGF0YS1iZWVyLWxhYmVsXTphZnRlcixcbiAgLmJhc2xpZGVyLS1sYWJlbC1tZWRpdW0gLmJlZXItc2xpZGVyW2RhdGEtYmVlci1sYWJlbF06YWZ0ZXIge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBwYWRkaW5nOiAwLjQzNzVyZW0gMC42MjVyZW07IH1cbiAgLyogbGluZSA0NiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Jhc2xpZGVyL2Jhc2xpZGVyLnNjc3MgKi9cbiAgLmJhc2xpZGVyLS1sYWJlbC1sYXJnZSAuYmVlci1yZXZlYWxbZGF0YS1iZWVyLWxhYmVsXTphZnRlcixcbiAgLmJhc2xpZGVyLS1sYWJlbC1sYXJnZSAuYmVlci1zbGlkZXJbZGF0YS1iZWVyLWxhYmVsXTphZnRlciB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuODc1cmVtOyB9XG4gIC8qIGxpbmUgNTQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9iYXNsaWRlci9iYXNsaWRlci5zY3NzICovXG4gIC5iYXNsaWRlci0tbGFiZWwtYmVmb3JlLXdoaXRlIC5iZWVyLXNsaWRlcltkYXRhLWJlZXItbGFiZWxdOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gIC8qIGxpbmUgNjAsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9iYXNsaWRlci9iYXNsaWRlci5zY3NzICovXG4gIC5iYXNsaWRlci0tbGFiZWwtYmVmb3JlLWdyZWVuIC5iZWVyLXNsaWRlcltkYXRhLWJlZXItbGFiZWxdOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNzRiNzRhO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC8qIGxpbmUgNjcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9iYXNsaWRlci9iYXNsaWRlci5zY3NzICovXG4gIC5iYXNsaWRlci0tbGFiZWwtYmVmb3JlLWJsdWUgLmJlZXItc2xpZGVyW2RhdGEtYmVlci1sYWJlbF06YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICMyNWFhZTI7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLyogbGluZSA3NCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Jhc2xpZGVyL2Jhc2xpZGVyLnNjc3MgKi9cbiAgLmJhc2xpZGVyLS1sYWJlbC1iZWZvcmUtb3JhbmdlIC5iZWVyLXNsaWRlcltkYXRhLWJlZXItbGFiZWxdOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjc5NDFkO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC8qIGxpbmUgODEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9iYXNsaWRlci9iYXNsaWRlci5zY3NzICovXG4gIC5iYXNsaWRlci0tbGFiZWwtYmVmb3JlLXJlZCAuYmVlci1zbGlkZXJbZGF0YS1iZWVyLWxhYmVsXTphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzllMTcyNjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAvKiBsaW5lIDg4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYmFzbGlkZXIvYmFzbGlkZXIuc2NzcyAqL1xuICAuYmFzbGlkZXItLWxhYmVsLWJlZm9yZS1ncmV5IC5iZWVyLXNsaWRlcltkYXRhLWJlZXItbGFiZWxdOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNTg1OTViO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC8qIGxpbmUgOTYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9iYXNsaWRlci9iYXNsaWRlci5zY3NzICovXG4gIC5iYXNsaWRlci0tbGFiZWwtYWZ0ZXItd2hpdGUgLmJlZXItcmV2ZWFsW2RhdGEtYmVlci1sYWJlbF06YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgLyogbGluZSAxMDIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9iYXNsaWRlci9iYXNsaWRlci5zY3NzICovXG4gIC5iYXNsaWRlci0tbGFiZWwtYWZ0ZXItZ3JlZW4gLmJlZXItcmV2ZWFsW2RhdGEtYmVlci1sYWJlbF06YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM3NGI3NGE7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLyogbGluZSAxMDksIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9iYXNsaWRlci9iYXNsaWRlci5zY3NzICovXG4gIC5iYXNsaWRlci0tbGFiZWwtYWZ0ZXItYmx1ZSAuYmVlci1yZXZlYWxbZGF0YS1iZWVyLWxhYmVsXTphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzI1YWFlMjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAvKiBsaW5lIDExNiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Jhc2xpZGVyL2Jhc2xpZGVyLnNjc3MgKi9cbiAgLmJhc2xpZGVyLS1sYWJlbC1hZnRlci1vcmFuZ2UgLmJlZXItcmV2ZWFsW2RhdGEtYmVlci1sYWJlbF06YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmNzk0MWQ7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLyogbGluZSAxMjMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9iYXNsaWRlci9iYXNsaWRlci5zY3NzICovXG4gIC5iYXNsaWRlci0tbGFiZWwtYWZ0ZXItcmVkIC5iZWVyLXJldmVhbFtkYXRhLWJlZXItbGFiZWxdOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOWUxNzI2O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC8qIGxpbmUgMTMwLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYmFzbGlkZXIvYmFzbGlkZXIuc2NzcyAqL1xuICAuYmFzbGlkZXItLWxhYmVsLWFmdGVyLWdyZXkgLmJlZXItcmV2ZWFsW2RhdGEtYmVlci1sYWJlbF06YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM1ODU5NWI7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLyogbGluZSAxMzcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9iYXNsaWRlci9iYXNsaWRlci5zY3NzICovXG4gIC5iYXNsaWRlci0taGFuZGxlLWRlZmF1bHQgLmJlZXItaGFuZGxlIHtcbiAgICB3aWR0aDogMy4wNjI1cmVtO1xuICAgIGhlaWdodDogMy4wNjI1cmVtOyB9XG4gIC8qIGxpbmUgMTQ0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYmFzbGlkZXIvYmFzbGlkZXIuc2NzcyAqL1xuICAuYmFzbGlkZXItLWhhbmRsZS1zbWFsbCAuYmVlci1oYW5kbGUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDAuNzUpO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4wNjI1cmVtOyB9XG4gIC8qIGxpbmUgMTU3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYmFzbGlkZXIvYmFzbGlkZXIuc2NzcyAqL1xuICAuYmFzbGlkZXItLWFsaWdubWVudC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC8qIGxpbmUgMTYxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYmFzbGlkZXIvYmFzbGlkZXIuc2NzcyAqL1xuICAuYmFzbGlkZXItLWFsaWdubWVudC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAvKiBsaW5lIDE2NSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Jhc2xpZGVyL2Jhc2xpZGVyLnNjc3MgKi9cbiAgLmJhc2xpZGVyLS1hbGlnbm1lbnQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC8qIGxpbmUgMTY5LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYmFzbGlkZXIvYmFzbGlkZXIuc2NzcyAqL1xuICAuYmFzbGlkZXIgLmJlZXItcmV2ZWFsIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZmZmOyB9XG4gIC8qIGxpbmUgMTczLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYmFzbGlkZXIvYmFzbGlkZXIuc2NzcyAqL1xuICAuYmFzbGlkZXIgLmJlZXItaGFuZGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50OyB9XG4gIC8qIGxpbmUgMTc4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvYmFzbGlkZXIvYmFzbGlkZXIuc2NzcyAqL1xuICAuYmFzbGlkZXJfX2ZpZ2NhcHRpb24ge1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwIDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAvKiBsaW5lIDE4MywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2Jhc2xpZGVyL2Jhc2xpZGVyLnNjc3MgKi9cbiAgLmJhc2xpZGVyX19sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4vKipcbiAqIGltYWdlLW1hcmtlci5zY3NzXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cHM6Ly93d3cuc2hvcnQtY3V0cy5kZS9cbiAqXG4gKiBEYXRlOiAyMDIwLTEyLTAxXG4gKiBBdXRob3I6IGthaXNlbGlnZXIgKCpAc2hvcnQtY3V0cy5kZSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qKlxuICogZnVuY3Rpb25zLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKipcbiAqIFJldHVybiBzcGVjaWZpYyBjb2xvclxuICovXG4vKipcbiAqIHZhcmlhYmxlcy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbG9yc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIDxAY29sb3JzICovXG4vKiBjb2xvcnNAPiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEljb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPEBpY29ucyAqL1xuLyogaWNvbnNAPiAqL1xuLypcblx0Rm91bmRhdGlvblxuICovXG4vKipcbiAqIG1peGlucy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyogbGluZSAyMCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2ltYWdlLW1hcmtlci9pbWFnZS1tYXJrZXIuc2NzcyAqL1xuLmltYWdlLW1hcmtlciB7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIC8qIGxpbmUgMjMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9pbWFnZS1tYXJrZXIvaW1hZ2UtbWFya2VyLnNjc3MgKi9cbiAgLmltYWdlLW1hcmtlcl9faG9sZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLyogbGluZSAyNywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2ltYWdlLW1hcmtlci9pbWFnZS1tYXJrZXIuc2NzcyAqL1xuICAuaW1hZ2UtbWFya2VyX19maWdjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMCAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLyogbGluZSAzMiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2ltYWdlLW1hcmtlci9pbWFnZS1tYXJrZXIuc2NzcyAqL1xuICAuaW1hZ2UtbWFya2VyX19maWd1cmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDsgfVxuICAvKiBsaW5lIDQxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaW1hZ2UtbWFya2VyL2ltYWdlLW1hcmtlci5zY3NzICovXG4gIC5pbWFnZS1tYXJrZXJfX3Nwb3Qge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyMDsgfVxuICAgIC8qIGxpbmUgNDUsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9pbWFnZS1tYXJrZXIvaW1hZ2UtbWFya2VyLnNjc3MgKi9cbiAgICAuaW1hZ2UtbWFya2VyX19zcG90LS1zbWFsbCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTVweCwgLTE1cHgpOyB9XG4gICAgLyogbGluZSA0OSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2ltYWdlLW1hcmtlci9pbWFnZS1tYXJrZXIuc2NzcyAqL1xuICAgIC5pbWFnZS1tYXJrZXJfX3Nwb3QtLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTcuNXB4LCAtMTcuNXB4KTsgfVxuICAgIC8qIGxpbmUgNTMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9pbWFnZS1tYXJrZXIvaW1hZ2UtbWFya2VyLnNjc3MgKi9cbiAgICAuaW1hZ2UtbWFya2VyX19zcG90LS1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTIwcHgpOyB9XG4gICAgLyogbGluZSA1NywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2ltYWdlLW1hcmtlci9pbWFnZS1tYXJrZXIuc2NzcyAqL1xuICAgIC5pbWFnZS1tYXJrZXJfX3Nwb3Q6aG92ZXIge1xuICAgICAgei1pbmRleDogMTAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAvKiBsaW5lIDYwLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaW1hZ2UtbWFya2VyL2ltYWdlLW1hcmtlci5zY3NzICovXG4gICAgICAgIC5pbWFnZS1tYXJrZXJfX3Nwb3Q6aG92ZXIgLmltYWdlLW1hcmtlcl9fc3BvdC1pbmZvIHtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgLyogbGluZSA3MCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2ltYWdlLW1hcmtlci9pbWFnZS1tYXJrZXIuc2NzcyAqL1xuICAuaW1hZ2UtbWFya2VyX19zcG90LWlubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiAxMDAlOyB9XG4gIC8qIGxpbmUgNzYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9pbWFnZS1tYXJrZXIvaW1hZ2UtbWFya2VyLnNjc3MgKi9cbiAgLmltYWdlLW1hcmtlcl9fc3BvdC1udW1iZXIge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgICBhbmltYXRpb246IGltYWdlLW1hcmtlci1wdWxzZSAycyBpbmZpbml0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTA7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwcHggMHB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTUpKTsgfVxuICAgIC8qIGxpbmUgODksIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9pbWFnZS1tYXJrZXIvaW1hZ2UtbWFya2VyLnNjc3MgKi9cbiAgICAuaW1hZ2UtbWFya2VyX19zcG90LW51bWJlci0tc21hbGwge1xuICAgICAgd2lkdGg6IDEuODc1cmVtO1xuICAgICAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTsgfVxuICAgIC8qIGxpbmUgOTUsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9pbWFnZS1tYXJrZXIvaW1hZ2UtbWFya2VyLnNjc3MgKi9cbiAgICAuaW1hZ2UtbWFya2VyX19zcG90LW51bWJlci0tbWVkaXVtIHtcbiAgICAgIHdpZHRoOiAyLjE4NzVyZW07XG4gICAgICBoZWlnaHQ6IDIuMTg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjE4NzVyZW07IH1cbiAgICAvKiBsaW5lIDEwMSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2ltYWdlLW1hcmtlci9pbWFnZS1tYXJrZXIuc2NzcyAqL1xuICAgIC5pbWFnZS1tYXJrZXJfX3Nwb3QtbnVtYmVyLS1sYXJnZSB7XG4gICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi41cmVtOyB9XG4gICAgLyogbGluZSAxMDcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9pbWFnZS1tYXJrZXIvaW1hZ2UtbWFya2VyLnNjc3MgKi9cbiAgICAuaW1hZ2UtbWFya2VyX19zcG90LW51bWJlci0td2hpdGUge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgIC8qIGxpbmUgMTExLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaW1hZ2UtbWFya2VyL2ltYWdlLW1hcmtlci5zY3NzICovXG4gICAgLmltYWdlLW1hcmtlcl9fc3BvdC1udW1iZXItLWdyZWVuIHtcbiAgICAgIGJhY2tncm91bmQ6ICM3NGI3NGE7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC8qIGxpbmUgMTE2LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaW1hZ2UtbWFya2VyL2ltYWdlLW1hcmtlci5zY3NzICovXG4gICAgLmltYWdlLW1hcmtlcl9fc3BvdC1udW1iZXItLWJsdWUge1xuICAgICAgYmFja2dyb3VuZDogIzI1YWFlMjtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLyogbGluZSAxMjEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9pbWFnZS1tYXJrZXIvaW1hZ2UtbWFya2VyLnNjc3MgKi9cbiAgICAuaW1hZ2UtbWFya2VyX19zcG90LW51bWJlci0tb3JhbmdlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmNzk0MWQ7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC8qIGxpbmUgMTI2LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaW1hZ2UtbWFya2VyL2ltYWdlLW1hcmtlci5zY3NzICovXG4gICAgLmltYWdlLW1hcmtlcl9fc3BvdC1udW1iZXItLXJlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjOWUxNzI2O1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAvKiBsaW5lIDEzMSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2ltYWdlLW1hcmtlci9pbWFnZS1tYXJrZXIuc2NzcyAqL1xuICAgIC5pbWFnZS1tYXJrZXJfX3Nwb3QtbnVtYmVyLS1ncmV5IHtcbiAgICAgIGJhY2tncm91bmQ6ICM1ODU5NWI7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAvKiBsaW5lIDEzOCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2ltYWdlLW1hcmtlci9pbWFnZS1tYXJrZXIuc2NzcyAqL1xuICAuaW1hZ2UtbWFya2VyX19zcG90LWluZm8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7IH1cbiAgICAvKiBsaW5lIDE0NiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2ltYWdlLW1hcmtlci9pbWFnZS1tYXJrZXIuc2NzcyAqL1xuICAgIC5pbWFnZS1tYXJrZXJfX3Nwb3QtaW5mby0tbGVmdC10b3Age1xuICAgICAgbGVmdDogMC43NXJlbTtcbiAgICAgIGJvdHRvbTogMC43NXJlbTsgfVxuICAgIC8qIGxpbmUgMTUxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaW1hZ2UtbWFya2VyL2ltYWdlLW1hcmtlci5zY3NzICovXG4gICAgLmltYWdlLW1hcmtlcl9fc3BvdC1pbmZvLS1yaWdodC10b3Age1xuICAgICAgcmlnaHQ6IDAuNzVyZW07XG4gICAgICBib3R0b206IDAuNzVyZW07IH1cbiAgICAvKiBsaW5lIDE1NiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2ltYWdlLW1hcmtlci9pbWFnZS1tYXJrZXIuc2NzcyAqL1xuICAgIC5pbWFnZS1tYXJrZXJfX3Nwb3QtaW5mby0tbGVmdC1ib3Qge1xuICAgICAgbGVmdDogMC43NXJlbTtcbiAgICAgIHRvcDogMC43NXJlbTsgfVxuICAgIC8qIGxpbmUgMTYxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaW1hZ2UtbWFya2VyL2ltYWdlLW1hcmtlci5zY3NzICovXG4gICAgLmltYWdlLW1hcmtlcl9fc3BvdC1pbmZvLS1yaWdodC1ib3Qge1xuICAgICAgcmlnaHQ6IDAuNzVyZW07XG4gICAgICB0b3A6IDAuNzVyZW07IH1cbiAgLyogbGluZSAxNjcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9pbWFnZS1tYXJrZXIvaW1hZ2UtbWFya2VyLnNjc3MgKi9cbiAgLmltYWdlLW1hcmtlcl9fY2FyZCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB3aWR0aDogMTguNzVyZW07XG4gICAgcGFkZGluZzogMS4yNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gICAgYm94LXNoYWRvdzogMHB4IC0xMHB4IDIwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuICAvKiBsaW5lIDE3NSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2ltYWdlLW1hcmtlci9pbWFnZS1tYXJrZXIuc2NzcyAqL1xuICAuaW1hZ2UtbWFya2VyX19jYXJkLWZpZ3VyZSB7XG4gICAgbWFyZ2luOiAtMS4yNXJlbSAtMS4yNXJlbSAxLjI1cmVtOyB9XG4gIC8qIGxpbmUgMTc5LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaW1hZ2UtbWFya2VyL2ltYWdlLW1hcmtlci5zY3NzICovXG4gIC5pbWFnZS1tYXJrZXJfX2NhcmQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC8qIGxpbmUgMTg0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaW1hZ2UtbWFya2VyL2ltYWdlLW1hcmtlci5zY3NzICovXG4gIC5pbWFnZS1tYXJrZXJfX2NhcmQtY29udGVudCB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgLyogbGluZSAxODgsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9pbWFnZS1tYXJrZXIvaW1hZ2UtbWFya2VyLnNjc3MgKi9cbiAgICAuaW1hZ2UtbWFya2VyX19jYXJkLWNvbnRlbnQgcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLyogbGluZSAxOTQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9pbWFnZS1tYXJrZXIvaW1hZ2UtbWFya2VyLnNjc3MgKi9cbiAgLmltYWdlLW1hcmtlcl9faW5mb3Mge1xuICAgIHBhZGRpbmc6IDAgMCAwIDEuMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLyogbGluZSAxOTQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9pbWFnZS1tYXJrZXIvaW1hZ2UtbWFya2VyLnNjc3MgKi9cbiAgICAgIC5pbWFnZS1tYXJrZXJfX2luZm9zIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC8qIGxpbmUgMjAyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaW1hZ2UtbWFya2VyL2ltYWdlLW1hcmtlci5zY3NzICovXG4gIC5pbWFnZS1tYXJrZXJfX2luZm8ge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMS44NzVyZW0gMi4xODc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbiAgICBib3gtc2hhZG93OiAwcHggLTEwcHggMjBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDEuODc1cmVtIDA7IH1cbiAgLyogbGluZSAyMTEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9pbWFnZS1tYXJrZXIvaW1hZ2UtbWFya2VyLnNjc3MgKi9cbiAgLmltYWdlLW1hcmtlcl9faW5mby1udW1iZXIge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB3aWR0aDogMS44NzVyZW07XG4gICAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgICBhbmltYXRpb246IGltYWdlLW1hcmtlci1wdWxzZSAycyBpbmZpbml0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgei1pbmRleDogMTA7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwcHggMHB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTUpKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTE1cHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC8qIGxpbmUgMjMxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaW1hZ2UtbWFya2VyL2ltYWdlLW1hcmtlci5zY3NzICovXG4gIC5pbWFnZS1tYXJrZXJfX2luZm8tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC8qIGxpbmUgMjM2LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvaW1hZ2UtbWFya2VyL2ltYWdlLW1hcmtlci5zY3NzICovXG4gIC5pbWFnZS1tYXJrZXJfX2luZm8tY29udGVudCB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgLyogbGluZSAyNDAsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9pbWFnZS1tYXJrZXIvaW1hZ2UtbWFya2VyLnNjc3MgKi9cbiAgICAuaW1hZ2UtbWFya2VyX19pbmZvLWNvbnRlbnQgcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuQGtleWZyYW1lcyBpbWFnZS1tYXJrZXItcHVsc2Uge1xuICAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7IH1cbiAgNzAlIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxNXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7IH1cbiAgMTAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOyB9IH1cblxuLyoqXG4gKiBjYy5zY3NzXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cHM6Ly93d3cuc2hvcnQtY3V0cy5kZS9cbiAqXG4gKiBEYXRlOiAyMDIxLTA3LTIwXG4gKiBBdXRob3I6IGthaXNlbGlnZXIgKCpAc2hvcnQtY3V0cy5kZSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbi8qKlxuICogZnVuY3Rpb25zLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG4vKipcbiAqIFJldHVybiBzcGVjaWZpYyBjb2xvclxuICovXG4vKipcbiAqIHZhcmlhYmxlcy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbG9yc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIDxAY29sb3JzICovXG4vKiBjb2xvcnNAPiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEljb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPEBpY29ucyAqL1xuLyogaWNvbnNAPiAqL1xuLypcblx0Rm91bmRhdGlvblxuICovXG4vKipcbiAqIG1peGlucy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuLyogbGluZSAyMSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NjL2NjLnNjc3MgKi9cbi5jYy13aW5kb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3R0b206IDA7XG4gIGNvbG9yOiAjMDAwO1xuICBib3gtc2hhZG93OiAwIDEwcHggMzBweCAwIHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlO1xuICB6LWluZGV4OiA5OTk5O1xuICBtYXgtaGVpZ2h0OiA5NiU7XG4gIG92ZXJmbG93OiBzY3JvbGw7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAvKiBsaW5lIDIxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY2MvY2Muc2NzcyAqL1xuICAgIC5jYy13aW5kb3cge1xuICAgICAgbGVmdDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAzNy41cmVtO1xuICAgICAgcmlnaHQ6IDEuMjVyZW07XG4gICAgICBib3R0b206IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgcGFkZGluZzogMi41cmVtOyB9XG4gICAgICAvKiBsaW5lIDQ2LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY2MvY2Muc2NzcyAqL1xuICAgICAgLmNjLXdpbmRvdyBiIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgLyogbGluZSA1MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NjL2NjLnNjc3MgKi9cbiAgLmNjLXdpbmRvdyAuZHAtLWNvb2tpZS1jaGVjayB7XG4gICAgbWFyZ2luOiAxcmVtIDA7IH1cbiAgICAvKiBsaW5lIDU1LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY2MvY2Muc2NzcyAqL1xuICAgIC5jYy13aW5kb3cgLmRwLS1jb29raWUtY2hlY2sgbGFiZWwge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwLjkzNzVyZW07XG4gICAgICBtYXJnaW46IDAuNjI1cmVtIC0wLjkzNzVyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC8qIGxpbmUgNTUsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9jYy9jYy5zY3NzICovXG4gICAgICAgIC5jYy13aW5kb3cgLmRwLS1jb29raWUtY2hlY2sgbGFiZWwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gICAgICAvKiBsaW5lIDY5LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY2MvY2Muc2NzcyAqL1xuICAgICAgLmNjLXdpbmRvdyAuZHAtLWNvb2tpZS1jaGVjayBsYWJlbDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMyk7IH1cbiAgICAvKiBsaW5lIDc0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY2MvY2Muc2NzcyAqL1xuICAgIC5jYy13aW5kb3cgLmRwLS1jb29raWUtY2hlY2sgc21hbGwge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGNvbG9yOiAjNjY2O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAvKiBsaW5lIDgzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY2MvY2Muc2NzcyAqL1xuICAuY2Mtd2luZG93IC5kcC0tY2hlY2stYm94IHtcbiAgICBtYXJnaW46IDAgMC4yNXJlbSAwIDA7IH1cblxuLyogbGluZSA4OSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NjL2NjLnNjc3MgKi9cbi5jYy1pbnZpc2libGUge1xuICBvcGFjaXR5OiAwOyB9XG5cbi8qIGxpbmUgOTMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9jYy9jYy5zY3NzICovXG4uY2MtbWVzc2FnZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC8qIGxpbmUgOTYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9jYy9jYy5zY3NzICovXG4gIC5jYy1tZXNzYWdlIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiBpbmhlcml0OyB9XG4gIC8qIGxpbmUgMTAyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY2MvY2Muc2NzcyAqL1xuICAuY2MtbWVzc2FnZSBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4vKiBsaW5lIDEwOCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NjL2NjLnNjc3MgKi9cbi5jYy1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6ICNmNzk0MWQ7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAwLjYyNXJlbSAwIDA7IH1cbiAgLyogbGluZSAyMDIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzICovXG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2MtYnRuIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC8qIGxpbmUgMTIzLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY2MvY2Muc2NzcyAqL1xuICAuY2MtYnRuOmhvdmVyLCAuY2MtYnRuOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZDk3YTA4ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyogbGluZSAxMzEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9jYy9jYy5zY3NzICovXG4uY2MtYWxsb3cge1xuICBjb2xvcjogIzU4NTk1YiAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBsaW5lIDEzOCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NjL2NjLnNjc3MgKi9cbiAgLmNjLWFsbG93LS1zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAvKiBsaW5lIDE0MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NjL2NjLnNjc3MgKi9cbiAgLmNjLWFsbG93OmhvdmVyIHtcbiAgICBjb2xvcjogIzU4NTk1YiAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBsaW5lIDE1MCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NjL2NjLnNjc3MgKi9cbi5jYy1kaXNtaXNzIHtcbiAgYm9yZGVyLWNvbG9yOiAhaW1wb3J0YW50O1xuICBjb2xvcjogIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAvKiBsaW5lIDE1NSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NjL2NjLnNjc3MgKi9cbiAgLmNjLWRpc21pc3M6aG92ZXIsIC5jYy1kaXNtaXNzOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgMTYxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY2MvY2Muc2NzcyAqL1xuLmNjLXJldm9rZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDE2NSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NjL2NjLnNjc3MgKi9cbi5jYy1jb21wbGlhbmNlIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDAuOTM3NXJlbSAwIDAgMDsgfVxuICAvKiBsaW5lIDE3MiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NjL2NjLnNjc3MgKi9cbiAgLmNjLWNvbXBsaWFuY2UgYTpudGgtY2hpbGQoMSkge1xuICAgIG9yZGVyOiAyOyB9XG5cbi8qIGxpbmUgMTc5LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY2MvY2Muc2NzcyAqL1xuLmNjLXNldHRpbmdzLS1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIGxpbmUgMTg2LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY2MvY2Muc2NzcyAqL1xuYm9keTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogOTk5ODtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMDBtcywgdmlzaWJpbGl0eSAxMDBtczsgfVxuXG4vKiBsaW5lIDIwMiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NjL2NjLnNjc3MgKi9cbmJvZHkuZHAtLWNvb2tpZS1jb25zZW50OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLyogbGluZSAyMDksIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9jYy9jYy5zY3NzICovXG5bZGF0YS1yZXZva2VdIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qIGxpbmUgMjE2LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY2MvY2Muc2NzcyAqL1xuLmRwLS1jb29raWUtY2hlY2sge1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07IH1cbiAgLyogbGluZSAyMjIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9jYy9jYy5zY3NzICovXG4gIC5kcC0tY29va2llLWNoZWNrIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtOyB9XG4gICAgLyogbGluZSAyMjYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9jYy9jYy5zY3NzICovXG4gICAgLmRwLS1jb29raWUtY2hlY2sgbGFiZWwgaW5wdXQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG5cbi8qIGxpbmUgMjMyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY2MvY2Muc2NzcyAqL1xuLmRwLS1sb2FkZWQge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAvKiBsaW5lIDIzNSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvY29tcG9uZW50L2NjL2NjLnNjc3MgKi9cbiAgLmRwLS1sb2FkZWQgKyAuZHAtLW92ZXJsYXkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogbGluZSAyNDAsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9jYy9jYy5zY3NzICovXG4uZHAtLWlmcmFtZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSAyNDMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9jYy9jYy5zY3NzICovXG4gIC5kcC0taWZyYW1lLmRwLS1sb2FkZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIGxpbmUgMjQ4LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY2MvY2Muc2NzcyAqL1xuLmRwLS1vdmVybGF5IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBib3R0b206IDA7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMy4xMjVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiAwOyB9XG4gIC8qIGxpbmUgMjYyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY2MvY2Muc2NzcyAqL1xuICAuZHAtLW92ZXJsYXktaGVhZGVyIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC8qIGxpbmUgMjY2LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY2MvY2Muc2NzcyAqL1xuICAuZHAtLW92ZXJsYXktZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLyogbGluZSAyNjYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9jYy9jYy5zY3NzICovXG4gICAgICAuZHAtLW92ZXJsYXktZGVzY3JpcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC8qIGxpbmUgMjc2LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY2MvY2Muc2NzcyAqL1xuICAuZHAtLW92ZXJsYXktYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgLyogbGluZSAyODAsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL2NvbXBvbmVudC9jYy9jYy5zY3NzICovXG4gIC5kcC0tb3ZlcmxheSBidXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjZjc5NDFkO1xuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIDAgMCAwLjYyNXJlbTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLyogbGluZSAyMDIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzICovXG4gICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5kcC0tb3ZlcmxheSBidXR0b24ge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAgIC8qIGxpbmUgMjg3LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9jb21wb25lbnQvY2MvY2Muc2NzcyAqL1xuICAgIC5kcC0tb3ZlcmxheSBidXR0b246aG92ZXIsIC5kcC0tb3ZlcmxheSBidXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogI2Q5N2EwOCAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVXRpbGl0eSBjbGFzc2VzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSAxLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19wcmludC5zY3NzICovXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLyogbGluZSA0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19wcmludC5zY3NzICovXG4gICoge1xuICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAvKiBsaW5lIDExLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19wcmludC5zY3NzICovXG4gIGh0bWwsXG4gIGJvZHkge1xuICAgIGZvbnQtc2l6ZTogODAlOyB9XG4gIC8qIGxpbmUgMTUsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX3ByaW50LnNjc3MgKi9cbiAgYm9keSxcbiAgLm9mZi1jYW52YXMtY29udGVudCxcbiAgLmNvbnRlbnQtc3ViLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogd2hpdGUgICFpbXBvcnRhbnQ7IH1cbiAgLyogbGluZSAyMSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fcHJpbnQuc2NzcyAqL1xuICAuY29udGVudC1zdWItaGVhZGVyIHtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuICAvKiBsaW5lIDI0LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19wcmludC5zY3NzICovXG4gIGJvZHkge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgLyogbGluZSAyOCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fcHJpbnQuc2NzcyAqL1xuICAuaGVhZGVyLS1jbG9uZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBsaW5lIDMyLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19wcmludC5zY3NzICovXG4gIC5oZWFkZXI6bm90KC5oZWFkZXItLWxhbmRpbmcpOm5vdCguaGVhZGVyLS1jbG9uZSkgPiAucm93OmJlZm9yZSB7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLyogbGluZSAzNiwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fcHJpbnQuc2NzcyAqL1xuICAubWFpbl9fY29udGVudCB7XG4gICAgZmxleDogMCAwIDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbSAhaW1wb3J0YW50OyB9XG4gIC8qIGxpbmUgNDEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX3ByaW50LnNjc3MgKi9cbiAgLmFzaWRlIHtcbiAgICBtYXJnaW4tbGVmdDogMSUgIWltcG9ydGFudDsgfVxuICAvKiBsaW5lIDQ1LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19wcmludC5zY3NzICovXG4gIC5ib3gge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgLyogbGluZSA1MCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fcHJpbnQuc2NzcyAqL1xuICAuYm94LCAuc3Ige1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLyogbGluZSA1NywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fcHJpbnQuc2NzcyAqL1xuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLyogbGluZSA1OCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fcHJpbnQuc2NzcyAqL1xuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAvKiBsaW5lIDYwLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19wcmludC5zY3NzICovXG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIC8qIGxpbmUgNjEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX3ByaW50LnNjc3MgKi9cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIC8qIGxpbmUgNjIsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX3ByaW50LnNjc3MgKi9cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIC8qIGxpbmUgNjMsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX3ByaW50LnNjc3MgKi9cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIC8qIGxpbmUgNjQsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX3ByaW50LnNjc3MgKi9cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAvKiBsaW5lIDY1LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19wcmludC5zY3NzICovXG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgLyogbGluZSA2NywgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fcHJpbnQuc2NzcyAqL1xuICAuY29udGVudC1zZWN0aW9uX19oZWFkZXIge1xuICAgIHBhZ2UtYnJlYWstYmVmb3JlOiBhbHdheXM7IH1cbiAgICAvKiBsaW5lIDY5LCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3BhcnRpYWxzL19wcmludC5zY3NzICovXG4gICAgLmNvbnRlbnQtc2VjdGlvbl9faGVhZGVyIHNwYW4ge1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7IH1cbiAgLyogbGluZSA3NCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fcHJpbnQuc2NzcyAqL1xuICAuZmlsdGVyLWdyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAgIC8qIGxpbmUgNzgsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX3ByaW50LnNjc3MgKi9cbiAgICAuZmlsdGVyLWdyaWQgPiAubW9kdWxlIHtcbiAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMzJTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgIC8qIGxpbmUgODcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX3ByaW50LnNjc3MgKi9cbiAgICAgIC5maWx0ZXItZ3JpZCA+IC5tb2R1bGUgPiAuYm94IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLyogbGluZSA5NCwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fcHJpbnQuc2NzcyAqL1xuICAubmF2LWZpbHRlciAuYnRuIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLyogbGluZSA5OSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9wYXJ0aWFscy9fcHJpbnQuc2NzcyAqL1xuICBoMSwgLmgxIHtcbiAgICBmb250LXNpemU6IDJyZW07IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y20gMS41Y20gMC41Y20gMi41Y207IH1cbiAgLyogbGluZSAxNDcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3MvcGFydGlhbHMvX3ByaW50LnNjc3MgKi9cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87IH0gfVxuXG4vKiBsaW5lIDQsIGJvd2VyX2NvbXBvbmVudHMvYmVlcnNsaWRlci9zcmMvc3R5bGUuc2NzcyAqL1xuLmJlZXItc2xpZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLyogbGluZSA1LCBib3dlcl9jb21wb25lbnRzL2JlZXJzbGlkZXIvc3JjL3N0eWxlLnNjc3MgKi9cbiAgLmJlZXItc2xpZGVyICosIC5iZWVyLXNsaWRlcjpiZWZvcmUsIC5iZWVyLXNsaWRlcjphZnRlcixcbiAgLmJlZXItc2xpZGVyICo6YmVmb3JlLFxuICAuYmVlci1zbGlkZXIgKjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAvKiBsaW5lIDE2LCBib3dlcl9jb21wb25lbnRzL2JlZXJzbGlkZXIvc3JjL3N0eWxlLnNjc3MgKi9cbiAgLmJlZXItc2xpZGVyIGltZywgLmJlZXItc2xpZGVyIHN2ZyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfVxuICAvKiBsaW5lIDE5LCBib3dlcl9jb21wb25lbnRzL2JlZXJzbGlkZXIvc3JjL3N0eWxlLnNjc3MgKi9cbiAgLmJlZXItc2xpZGVyID4gKiB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC8qIGxpbmUgMjIsIGJvd2VyX2NvbXBvbmVudHMvYmVlcnNsaWRlci9zcmMvc3R5bGUuc2NzcyAqL1xuICAuYmVlci1zbGlkZXIgPiBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuLyogbGluZSAyNywgYm93ZXJfY29tcG9uZW50cy9iZWVyc2xpZGVyL3NyYy9zdHlsZS5zY3NzICovXG4uYmVlci1yZXZlYWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDUwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjM1czsgfVxuICAvKiBsaW5lIDM2LCBib3dlcl9jb21wb25lbnRzL2JlZXJzbGlkZXIvc3JjL3N0eWxlLnNjc3MgKi9cbiAgLmJlZXItcmV2ZWFsID4gOmZpcnN0LWNoaWxkIHtcbiAgICB3aWR0aDogMjAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC8qIGxpbmUgNDEsIGJvd2VyX2NvbXBvbmVudHMvYmVlcnNsaWRlci9zcmMvc3R5bGUuc2NzcyAqL1xuICAuYmVlci1yZXZlYWwgPiBpbWc6Zmlyc3QtY2hpbGQge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG4vKiBsaW5lIDQ2LCBib3dlcl9jb21wb25lbnRzL2JlZXJzbGlkZXIvc3JjL3N0eWxlLnNjc3MgKi9cbi5iZWVyLXJhbmdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIGxlZnQ6IC0xcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogc2xpZGVyLWhvcml6b250YWwgIWltcG9ydGFudDtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBhdXRvO1xuICB0b3VjaC1hY3Rpb246IGF1dG87IH1cbiAgLyogbGluZSA2MiwgYm93ZXJfY29tcG9uZW50cy9iZWVyc2xpZGVyL3NyYy9zdHlsZS5zY3NzICovXG4gIC5iZWVyLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGhlaWdodDogMzAwdmg7IH1cbiAgLyogbGluZSA2NiwgYm93ZXJfY29tcG9uZW50cy9iZWVyc2xpZGVyL3NyYy9zdHlsZS5zY3NzICovXG4gIC5iZWVyLXJhbmdlOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgaGVpZ2h0OiAzMDB2aDsgfVxuICAvKiBsaW5lIDcwLCBib3dlcl9jb21wb25lbnRzL2JlZXJzbGlkZXIvc3JjL3N0eWxlLnNjc3MgKi9cbiAgLmJlZXItcmFuZ2U6Oi1tcy10b29sdGlwIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIGxpbmUgNzYsIGJvd2VyX2NvbXBvbmVudHMvYmVlcnNsaWRlci9zcmMvc3R5bGUuc2NzcyAqL1xuLmJlZXItaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgd2lkdGg6IDQ4cHg7XG4gIGhlaWdodDogNDhweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3gtc2hhZG93OiAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcywgYm94LXNoYWRvdyAwLjNzLCBvcGFjaXR5IDAuNXMgMC4yNXM7IH1cbiAgLyogbGluZSA5MiwgYm93ZXJfY29tcG9uZW50cy9iZWVyc2xpZGVyL3NyYy9zdHlsZS5zY3NzICovXG4gIC5iZWVyLWhhbmRsZTpiZWZvcmUsIC5iZWVyLWhhbmRsZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICB0b3A6IDUwJTtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAycHg7XG4gICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDJweDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7IH1cbiAgLyogbGluZSAxMDMsIGJvd2VyX2NvbXBvbmVudHMvYmVlcnNsaWRlci9zcmMvc3R5bGUuc2NzcyAqL1xuICAuYmVlci1oYW5kbGU6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgLyogbGluZSAxMDcsIGJvd2VyX2NvbXBvbmVudHMvYmVlcnNsaWRlci9zcmMvc3R5bGUuc2NzcyAqL1xuICAuYmVlci1oYW5kbGU6YWZ0ZXIge1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7IH1cblxuLyogbGluZSAxMTMsIGJvd2VyX2NvbXBvbmVudHMvYmVlcnNsaWRlci9zcmMvc3R5bGUuc2NzcyAqL1xuLmJlZXItcmFuZ2U6Zm9jdXMgfiAuYmVlci1oYW5kbGUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xuICBib3gtc2hhZG93OiAwIDAgM3B4IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuXG4vKiBsaW5lIDExOCwgYm93ZXJfY29tcG9uZW50cy9iZWVyc2xpZGVyL3NyYy9zdHlsZS5zY3NzICovXG4uYmVlci1zbGlkZXJbZGF0YS1iZWVyLWxhYmVsXTphZnRlcixcbi5iZWVyLXJldmVhbFtkYXRhLWJlZXItbGFiZWxdOmFmdGVyIHtcbiAgY29udGVudDogYXR0cihkYXRhLWJlZXItbGFiZWwpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTsgfVxuXG4vKiBsaW5lIDEyOCwgYm93ZXJfY29tcG9uZW50cy9iZWVyc2xpZGVyL3NyYy9zdHlsZS5zY3NzICovXG4uYmVlci1zbGlkZXJbZGF0YS1iZWVyLWxhYmVsXTphZnRlciB7XG4gIHJpZ2h0OiAxLjVyZW07IH1cblxuLyogbGluZSAxMzEsIGJvd2VyX2NvbXBvbmVudHMvYmVlcnNsaWRlci9zcmMvc3R5bGUuc2NzcyAqL1xuLmJlZXItcmV2ZWFsW2RhdGEtYmVlci1sYWJlbF06YWZ0ZXIge1xuICBsZWZ0OiAxLjVyZW07IH1cblxuLyogbGluZSAxMzQsIGJvd2VyX2NvbXBvbmVudHMvYmVlcnNsaWRlci9zcmMvc3R5bGUuc2NzcyAqL1xuLmJlZXItc2xpZGVyW2RhdGEtYmVlci1sYWJlbD1cIlwiXTphZnRlcixcbi5iZWVyLXJldmVhbFtkYXRhLWJlZXItbGFiZWw9XCJcIl06YWZ0ZXIge1xuICBjb250ZW50OiBub25lOyB9XG5cbi8qIGxpbmUgMTQwLCBib3dlcl9jb21wb25lbnRzL2JlZXJzbGlkZXIvc3JjL3N0eWxlLnNjc3MgKi9cbi5iZWVyLXJlYWR5IC5iZWVyLXJldmVhbCwgLmJlZXItcmVhZHkgLmJlZXItaGFuZGxlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKipcbiAqIFRPRE86IFRoaXMgaXMgc2hpdHR5IGhlcmUuLi5cbiAqL1xuLyogbGluZSAxNDcsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3Mvc2NyZWVuLnNjc3MgKi9cbi5jaS1ibHVlIC5uYXYtZmlsdGVyIC5idG4ge1xuICBjb2xvcjogIzI1YWFlMjsgfVxuXG4vKiBsaW5lIDE1MSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9zY3JlZW4uc2NzcyAqL1xuLmNpLWdyZWVuIC5uYXYtZmlsdGVyIC5idG4ge1xuICBjb2xvcjogIzc0Yjc0YTsgfVxuXG4vKiBsaW5lIDE1NSwgUmVzb3VyY2VzL1ByaXZhdGUvRnJvbnRlbmQvc2Fzcy9zY3JlZW4uc2NzcyAqL1xuLmNpLWdyZXkgLm5hdi1maWx0ZXIgLmJ0biB7XG4gIGNvbG9yOiAjNTg1OTViOyB9XG5cbi8qIGxpbmUgMTYwLCBSZXNvdXJjZXMvUHJpdmF0ZS9Gcm9udGVuZC9zYXNzL3NjcmVlbi5zY3NzICovXG4ubmF2LWZpbHRlciAuYnRuX19maWx0ZXItLWFjdGl2ZSB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSAxNjYsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3Mvc2NyZWVuLnNjc3MgKi9cbi5idXR0b24gPiBhIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyogbGluZSAxNzEsIFJlc291cmNlcy9Qcml2YXRlL0Zyb250ZW5kL3Nhc3Mvc2NyZWVuLnNjc3MgKi9cbi5idXR0b24uaG9sbG93ID4gYSB7XG4gIGNvbG9yOiAjZjc5NDFkOyB9XG4iLCJAY2hhcnNldCBcInV0Zi04XCI7XG4vKipcbiAqIHNjcmVlbi5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKHNlbGlnZXJAc2hvcnQtY3V0cy5kZSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29yZSBmdW5jdGlvbnMsIHZhcmlhYmxlcyBhbmQgbWl4aW5zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQGltcG9ydCAndXRpbC91dGlsJztcbkBpbXBvcnQgXCJwYXJ0aWFscy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy9taXhpbnNcIjtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmVzZXQgYW5kIGRlcGVuZGVuY2llc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gbm9ybWFsaXplLnNjc3Ncbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9ndWVycmVyby9ub3JtYWxpemUuc2Nzc1xuLy8gZGVmaW5lZCBpbiBndWxwZmlsZS5qcyBpbmNsdWRlUGF0aHNcbkBpbXBvcnQgJ25vcm1hbGl6ZSc7XG5cbi8vIGZvdW5kYXRpb24tc2l0ZXNcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXNcbi8vIGRlZmluZWQgaW4gZ3VscGZpbGUuanMgaW5jbHVkZVBhdGhzXG5AaW1wb3J0ICdmb3VuZGF0aW9uJztcbkBpbXBvcnQgJ21vdGlvbi11aSc7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzKFxuICAgICAgICAkYmFzZS1ncmlkOiB0cnVlLFxuICAgICAgICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICAgICAgICRwYWRkaW5nLWdyaWQ6IHRydWUsXG4gICAgICAgICRibG9jay1ncmlkOiB0cnVlLFxuICAgICAgICAkY29sbGFwc2U6IHRydWUsXG4gICAgICAgICRvZmZzZXQ6IHRydWUsXG4gICAgICAgICR2ZXJ0aWNhbC1ncmlkOiB0cnVlXG4pO1xuIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlO1xuIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzO1xuIEBpbmNsdWRlIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQ7XG4gQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAvL0BpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbiBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtcG9zaXRpb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGVmYXVsdCBsYXlvdXQgcGFydGlhbHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AaW1wb3J0IFwicGFydGlhbHMvbGF5b3V0XCI7XG5AaW1wb3J0IFwicGFydGlhbHMvdHlwb1wiO1xuQGltcG9ydCBcInBhcnRpYWxzL2ljb24tZm9udFwiO1xuQGltcG9ydCBcInBhcnRpYWxzL2J1cmdlclwiO1xuQGltcG9ydCBcInBhcnRpYWxzL2FuaW1hdGlvbnNcIjtcblxuQGltcG9ydCBcInBhcnRpYWxzL2ZsdWlkX3N0eWxlZF9jb250ZW50XCI7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIi4uL2NvbXBvbmVudC9oZWFkZXIvaGVhZGVyXCI7XG5AaW1wb3J0IFwiLi4vY29tcG9uZW50L2Zvb3Rlci9mb290ZXJcIjtcbkBpbXBvcnQgXCIuLi9jb21wb25lbnQvbmF2LW1haW4vbmF2LW1haW5cIjtcbkBpbXBvcnQgXCIuLi9jb21wb25lbnQvbmF2LW1lZ2EvbmF2LW1lZ2FcIjtcbkBpbXBvcnQgXCIuLi9jb21wb25lbnQvbmF2LWZvb3Rlci9uYXYtZm9vdGVyXCI7XG5AaW1wb3J0IFwiLi4vY29tcG9uZW50L25hdi1icmVhZGNydW1iL25hdi1icmVhZGNydW1iXCI7XG5AaW1wb3J0IFwiLi4vY29tcG9uZW50L2JveC9ib3hcIjtcbkBpbXBvcnQgXCIuLi9jb21wb25lbnQvYnV0dG9ucy9idXR0b25zXCI7XG5AaW1wb3J0IFwiLi4vY29tcG9uZW50L3JldmVhbC9yZXZlYWxcIjtcbkBpbXBvcnQgXCIuLi9jb21wb25lbnQvanVtYm90cm9uL2p1bWJvdHJvblwiO1xuQGltcG9ydCBcIi4uL2NvbXBvbmVudC9jb250ZW50LWhlYWRlci9jb250ZW50LWhlYWRlclwiO1xuQGltcG9ydCBcIi4uL2NvbXBvbmVudC9jb250ZW50LXZpZGVvL2NvbnRlbnQtdmlkZW9cIjtcbkBpbXBvcnQgXCIuLi9jb21wb25lbnQvZm9ybS9mb3JtXCI7XG5AaW1wb3J0IFwiLi4vY29tcG9uZW50L25hdi1tb2JpbGUvbmF2LW1vYmlsZVwiO1xuQGltcG9ydCBcIi4uL2NvbXBvbmVudC9uYXYtc3ViL25hdi1zdWJcIjtcbkBpbXBvcnQgXCIuLi9jb21wb25lbnQvY29udGVudC1zZWN0aW9uL2NvbnRlbnQtc2VjdGlvblwiO1xuQGltcG9ydCBcIi4uL2NvbXBvbmVudC9uYXYtcGFnaW5hdGlvbi9uYXYtcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIi4uL2NvbXBvbmVudC9jb250ZW50LXN1Yi1oZWFkZXIvY29udGVudC1zdWItaGVhZGVyXCI7XG5AaW1wb3J0IFwiLi4vY29tcG9uZW50L2NvbnRhY3Qtc2VhcmNoL2NvbnRhY3Qtc2VhcmNoXCI7XG5AaW1wb3J0IFwiLi4vY29tcG9uZW50L3F1b3RlL3F1b3RlXCI7XG5AaW1wb3J0IFwiLi4vY29tcG9uZW50L2hpZ2hsaWdodC9oaWdobGlnaHRcIjtcbkBpbXBvcnQgXCIuLi9jb21wb25lbnQvZG93bmxvYWQvZG93bmxvYWRcIjtcbkBpbXBvcnQgXCIuLi9jb21wb25lbnQvbmF2LXNpdGVtYXAvbmF2LXNpdGVtYXBcIjtcbkBpbXBvcnQgXCIuLi9jb21wb25lbnQvZm9sZGluZy1jdWJlL2ZvbGRpbmctY3ViZVwiO1xuQGltcG9ydCBcIi4uL2NvbXBvbmVudC9nb3RvcC9nb3RvcFwiO1xuQGltcG9ydCBcIi4uL2NvbXBvbmVudC90YWctY2xvdWQvdGFnLWNsb3VkXCI7XG5AaW1wb3J0IFwiLi4vY29tcG9uZW50L2Jhc2xpZGVyL2Jhc2xpZGVyXCI7XG5AaW1wb3J0IFwiLi4vY29tcG9uZW50L2ltYWdlLW1hcmtlci9pbWFnZS1tYXJrZXJcIjtcbkBpbXBvcnQgXCIuLi9jb21wb25lbnQvY2MvY2NcIjsvLyA8QG5ld0NvbXBvbmVudEA+XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBVdGlsaXR5IGNsYXNzZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vLyBAaW1wb3J0IFwicGFydGlhbHMvdXRpbHNcIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy9wcmludFwiO1xuQGltcG9ydCBcImJvd2VyX2NvbXBvbmVudHMvYmVlcnNsaWRlci9zcmMvc3R5bGUuc2Nzc1wiO1xuXG4vKipcbiAqIFRPRE86IFRoaXMgaXMgc2hpdHR5IGhlcmUuLi5cbiAqL1xuLm5hdi1maWx0ZXIge1xuXHQuYnRuIHtcblx0XHQuY2ktYmx1ZSAmIHtcblx0XHRcdGNvbG9yOiBjb2xvcignY2ktYmx1ZScpO1xuXHRcdH1cblxuXHRcdC5jaS1ncmVlbiAmIHtcblx0XHRcdGNvbG9yOiBjb2xvcignY2ktZ3JlZW4nKTtcblx0XHR9XG5cblx0XHQuY2ktZ3JleSAmIHtcblx0XHRcdGNvbG9yOiBjb2xvcignY2ktZ3JleScpO1xuXHRcdH1cblx0fVxuXG5cdC5idG5fX2ZpbHRlci0tYWN0aXZlIHtcblx0XHRjb2xvcjogY29sb3IoJ3doaXRlJykgIWltcG9ydGFudDtcblx0fVxufVxuXG4uYnV0dG9uIHtcblx0PiBhIHtcblx0XHRjb2xvcjogY29sb3IoJ3doaXRlJyk7XG5cdH1cblxuXHQmLmhvbGxvdyB7XG5cdFx0PiBhIHtcblx0XHRcdGNvbG9yOiBjb2xvcigncHJpbWFyeScpO1xuXHRcdH1cblx0fVxufSIsIkBjaGFyc2V0IFwidXRmLThcIjtcbi8qKlxuICogZnVuY3Rpb25zLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG5cbi8qKlxuICogUmV0dXJuIHNwZWNpZmljIGNvbG9yXG4gKi9cblxuQGZ1bmN0aW9uIG9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9ucykge1xuXHQkb3Bwb3NpdGUtZGlyZWN0aW9uczogKCk7XG5cdCRkaXJlY3Rpb24tbWFwOiAoXG5cdFx0XHRcdFx0J3RvcCc6ICAgICdib3R0b20nLFxuXHRcdFx0XHRcdCdyaWdodCc6ICAnbGVmdCcsXG5cdFx0XHRcdFx0J2JvdHRvbSc6ICd0b3AnLFxuXHRcdFx0XHRcdCdsZWZ0JzogICAncmlnaHQnLFxuXHRcdFx0XHRcdCdjZW50ZXInOiAnY2VudGVyJyxcblx0XHRcdFx0XHQnbHRyJzogICAgJ3J0bCcsXG5cdFx0XHRcdFx0J3J0bCc6ICAgICdsdHInXG5cdCk7XG5cblx0QGVhY2ggJGRpcmVjdGlvbiBpbiAkZGlyZWN0aW9ucyB7XG5cdFx0JGRpcmVjdGlvbjogdG8tbG93ZXItY2FzZSgkZGlyZWN0aW9uKTtcblxuXHRcdEBpZiBtYXAtaGFzLWtleSgkZGlyZWN0aW9uLW1hcCwgJGRpcmVjdGlvbikge1xuXHRcdFx0JG9wcG9zaXRlLWRpcmVjdGlvbnM6IGFwcGVuZCgkb3Bwb3NpdGUtZGlyZWN0aW9ucywgdW5xdW90ZShtYXAtZ2V0KCRkaXJlY3Rpb24tbWFwLCAkZGlyZWN0aW9uKSkpO1xuXHRcdH0gQGVsc2Uge1xuXHRcdFx0QHdhcm4gXCJObyBvcHBvc2l0ZSBkaXJlY3Rpb24gY2FuIGJlIGZvdW5kIGZvciBgI3skZGlyZWN0aW9ufWAuIERpcmVjdGlvbiBvbWl0dGVkLlwiO1xuXHRcdH1cblx0fVxuXG5cdEByZXR1cm4gJG9wcG9zaXRlLWRpcmVjdGlvbnM7XG59XG5cbkBmdW5jdGlvbiBzcXJ0KCRyKSB7XG5cdCR4MDogMTtcblx0JHgxOiAkeDA7XG5cblx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMCB7XG5cdFx0JHgxOiAkeDAgLSAoJHgwICogJHgwIC0gYWJzKCRyKSkgLyAoMiAqICR4MCk7XG5cdFx0JHgwOiAkeDE7XG5cdH1cblxuXHRAcmV0dXJuICR4MTtcbn1cblxuQGZ1bmN0aW9uIGNvbG9yKCRjb2xvcikge1xuXHRAcmV0dXJuIG1hcC1nZXQoJGNvbG9ycywgJGNvbG9yKTtcbn1cblxuQG1peGluIGZpbHRlci1jb2xvcigkY29sb3IsICRudW1iZXIpIHtcblxuXHRAZGVidWcgKG1hcC1nZXQoJGZpbHRlci1jb2xvcnMsICRjb2xvcikpO1xuXHQvL0ByZXR1cm4gbWFwLWdldCgkY29sb3JzLCAkY29sb3IpO1xuXHQvL0BlYWNoICR0eXBlLCAkc2lnbiBpbiAkc2lnbnMge1xuXHQvL1x0QGVhY2ggJG51bWJlciwgJHBvc2l0aW9uIGluICRzaWduIHtcblx0Ly9cdFx0JGxlZnQ6IG50aCgkcG9zaXRpb24sMSk7XG5cdC8vXHRcdCR0b3A6IG50aCgkcG9zaXRpb24sMikgKyAkb2Zmc2V0O1xuXHQvL1x0XHQjc2lnbi0jeyR0eXBlfS0jeyRudW1iZXJ9IHtcblx0Ly9cdFx0XHR0b3A6IHZQZXJjZW50YWdlKCR0b3ApO1xuXHQvL1x0XHRcdGxlZnQ6IGhQZXJjZW50YWdlKCRsZWZ0KTtcblx0Ly9cdFx0fVxuXHQvL1x0fVxuXHQvL31cbn0iLCJAY2hhcnNldCBcInV0Zi04XCI7XG4vKipcbiAqIHZhcmlhYmxlcy5zY3NzXG4gKlxuICogWW91ciBkZXNjcmlwdGlvblxuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHA6Ly93d3cuc2hvcnQtY3V0cy5kZVxuICpcbiAqIERhdGU6IDIwMTYtMTItMzFcbiAqIEF1dGhvcjogS2FpIFNlbGlnZXIgKGhlbGxvQHllc2pvYXIuY29tKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjYwKTtcbiRib2R5LWZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiAzMDAgIWRlZmF1bHQ7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiA3MDAgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTU7XG4kYm9keS1iYWNrZ3JvdW5kOiAjZmFmYWZhO1xuJGJvZHktZm9udC1jb2xvcjogIzMzMzMzMztcblxuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICAgICAgICBzbTogMTRweCxcbiAgICAgICAgbWQ6IDMwcHgsXG4gICAgICAgIGxnOiAzMHB4LFxuKTtcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG4kYnJlYWtwb2ludHM6IChcbiAgICAgICAgc21hbGw6IDAsXG4gICAgICAgIG1lZGl1bTogNjQwcHgsXG4gICAgICAgIGxhcmdlOiAxMDI0cHgsXG4gICAgICAgIHNtOiAwLFxuICAgICAgICBtZDogNjQwcHgsXG4gICAgICAgIGxnOiAxMDI0cHgsXG4gICAgICAgIHhsOiAxMjQwcHgsXG4pO1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc207XG5cbiRwcmludC1icmVha3BvaW50OiAnbGcnO1xuJHByaW50LWhyZWZzOiBmYWxzZTtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogZmFsc2U7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoJ3NtJywgJ21kJywgJ2xnJywgJ3hsJyk7XG5cbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICAgICAgICBkZWZhdWx0OiAyMCBieSAxMCxcbiAgICAgICAgbmljZTogNCBieSAzLFxuICAgICAgICB2ZXJ0aWNhbDogOSBieSAxNixcbiAgICAgICAgcGFub3JhbWE6IDI1NiBieSA4MSxcbiAgICAgICAgc3F1YXJlOiAxIGJ5IDEsXG4pO1xuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiAwO1xuXG4vLyBCdXR0b25zXG4kYnV0dG9uLXJhZGl1czogcmVtLWNhbGMoNCk7XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiRidXR0b24tZm9udC13ZWlnaHQ6IDcwMDtcbiRidXR0b24tc2l6ZXM6IChcbiAgICAgICAgdGlueTogcmVtLWNhbGMoMTApLFxuICAgICAgICBkZWZhdWx0OiByZW0tY2FsYygyMCksXG4gICAgICAgIGxhcmdlOiByZW0tY2FsYygzMClcbik7XG5cbiRidXR0b24tcGFkZGluZzogcmVtLWNhbGMoMTIgMjApO1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiA8QGNvbG9ycyAqL1xuJGNvbG9yczogKFxuICAgICAgICAncHJpbWFyeSc6ICNmNzk0MWQsXG4gICAgICAgICdzZWNvbmRhcnknOiAjNTg1OTViLFxuICAgICAgICAnYmxhY2snOiAjMDAwLFxuICAgICAgICAnd2hpdGUnOiAjZmZmLFxuICAgICAgICAnZ3JleSc6ICM2NjYsXG4gICAgICAgICdncmV5LWRhcmsnOiAjMzMzLFxuICAgICAgICAnZ3JleS1saWdodCc6ICNjY2MsXG4gICAgICAgICdncmV5LWxpZ2h0ZXN0JzogI2ZhZmFmYSxcbiAgICAgICAgJ3BsYWNlaG9sZGVyJzogIzk5OSxcbiAgICAgICAgJ2NpJzogI2Y3OTQxZCxcbiAgICAgICAgJ2NpLWhvdmVyJzogI2Y3OTQxZCxcbiAgICAgICAgJ2NpLWdyZWVuJzojNzRiNzRhLFxuICAgICAgICAnY2ktYmx1ZSc6IzI1YWFlMixcbiAgICAgICAgJ2NpLWdyZXknOiM1ODU5NWIsXG4gICAgICAgICdlcnJvcic6ICM5ZTE3MjYsXG4gICAgICAgICdzdWNjZXNzJzogIzEwQjA0NCxcbiAgICAgICAgJ3dhcm5pbmcnOiAjZjBhZDRlLFxuICAgICAgICAnaW5mbyc6ICMyOTg5RDgsXG4gICAgICAgICduYXYtbWFpbic6ICM1ODU5NWIsXG4gICAgICAgICduYXYtbWFpbi1ib3JkZXInOiAjZTdlN2U3LFxuICAgICAgICAnbmF2LW1lZ2EtYm9yZGVyJzogIzY3Njc2OSxcbiAgICAgICAgJ25hdi1zdWItYmcnOiAjZjBmMGYwLFxuICAgICAgICAnZm9vdGVyLWJvdHRvbS1iZyc6ICNhN2E4YTksXG4gICAgICAgICdmb290ZXItYm90dG9tLXRleHQnOiAjNTg1OTViLFxuICAgICAgICAnYnV0dG9uLWZpbHRlci1ib3JkZXInOiAjZDdkN2Q4LFxuKTtcbi8qIGNvbG9yc0A+ICovXG5cbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgICAgICAgcHJpbWFyeTogY29sb3IocHJpbWFyeSksXG4gICAgICAgIHNlY29uZGFyeTogY29sb3Ioc2Vjb25kYXJ5KSxcbiAgICAgICAgdGVydGlhcnk6ICNjMmMyYzIsXG4gICAgICAgIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gICAgICAgIHdhcm5pbmc6ICNmZmFlMDAsXG4gICAgICAgIGFsZXJ0OiAjY2M0YjM3LFxuKTtcblxuXG4kZmlsdGVyLWNvbG9yczogKFxuICAgICAgICBncmVlbjogKFxuICAgICAgICAgICAgICAgIDE6ICM3NGI3NGEsXG4gICAgICAgICAgICAgICAgMjogI2FiZTA4YSxcbiAgICAgICAgICAgICAgICAzOiAjM2I5MTE1LFxuICAgICAgICAgICAgICAgIDQ6ICMxZDU4MDNcbiAgICAgICAgKSxcbiAgICAgICAgYmx1ZTogKFxuICAgICAgICAgICAgICAgIDE6ICMyNWFhZTIsXG4gICAgICAgICAgICAgICAgMjogIzgyZDlmZSxcbiAgICAgICAgICAgICAgICAzOiAjNDk4MjlhLFxuICAgICAgICAgICAgICAgIDQ6ICMwMTM1NGJcbiAgICAgICAgKSxcbiAgICAgICAgb3JhbmdlOiAoXG4gICAgICAgICAgICAgICAgMTogI2Y3OTQxZCxcbiAgICAgICAgICAgICAgICAyOiAjZmFjMjdlLFxuICAgICAgICAgICAgICAgIDM6ICNhNTYxMGUsXG4gICAgICAgICAgICAgICAgNDogIzYzM2QwMFxuICAgICAgICApXG4pO1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSWNvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIDxAaWNvbnMgKi9cbiRpY29uczogKFxuICAgICAgICBidXJnZXI6IFwiXFw2MVwiLFxuICAgICAgICBtYWlsOiBcIlxcNjJcIixcbiAgICAgICAgbGlua2VkaW46IFwiXFw2M1wiLFxuICAgICAgICB5b3V0dWJlOiBcIlxcNjRcIixcbiAgICAgICAgZmFjZWJvb2s6IFwiXFw2NVwiLFxuICAgICAgICB0d2l0dGVyOiBcIlxcNjZcIixcbiAgICAgICAgY2xvc2U6IFwiXFw2N1wiLFxuICAgICAgICBzZWFyY2g6IFwiXFw2OFwiLFxuICAgICAgICBsb2NrOiBcIlxcNjlcIixcbiAgICAgICAgY2FsZW5kYXI6IFwiXFw2YVwiLFxuICAgICAgICBnbG9iZTogXCJcXDZiXCIsXG4gICAgICAgIHBob25lOiBcIlxcNmNcIixcbiAgICAgICAgZmF4OiBcIlxcNmRcIixcbiAgICAgICAgc2t5cGU6IFwiXFw2ZVwiLFxuICAgICAgICBpbmZvOiBcIlxcNmZcIixcbiAgICAgICAgYXJyb3ctcmlnaHQ6IFwiXFw3MFwiLFxuICAgICAgICBwZGY6IFwiXFw3MVwiLFxuICAgICAgICB3b3JkOiBcIlxcNzJcIixcbiAgICAgICAgYXJjaGl2ZTogXCJcXDczXCIsXG4gICAgICAgIGV4Y2VsOiBcIlxcNzRcIixcbiAgICAgICAgZG9jOiBcIlxcNzVcIixcbiAgICAgICAgc3Bpbm5lcjogXCJcXDc2XCIsXG4gICAgICAgIHZpZGVvOiBcIlxcNzdcIixcbiAgICAgICAgcnNzOiBcIlxcNzhcIlxuKTtcbi8qIGljb25zQD4gKi9cblxuLypcblx0Rm91bmRhdGlvblxuICovXG5cbiRoZWFkZXItc3R5bGVzOiAoXG4gICAgICAgIHNtOiAoXG4gICAgICAgICAgICAgICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgICAgICAgICAgICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgICAgICAgICAgICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgICAgICAgICAgICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgICAgICAgICAgICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgICAgICAgICAgICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICAgICAgICksXG4gICAgICAgIG1kOiAoXG4gICAgICAgICAgICAgICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCwgJ21hcmdpbi1ib3R0b20nOiAzMCksXG4gICAgICAgICAgICAgICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgICAgICAgICAgICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgICAgICAgICAgICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgICAgICAgICAgICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgICAgICAgICAgICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICAgICAgICksXG4pO1xuXG4kbGVhZC1mb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiRsZWFkLWxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UtaW4tb3V0O1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplOiAxMDAlO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC4zcztcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogY29sb3IoZ3JleS1kYXJrKTtcbiRvZmZjYW52YXMtc2hhZG93OiBub25lO1xuJG9mZmNhbnZhcy1zaXplczogKFxuICAgICAgICBzbWFsbCA6IDI4NXB4XG4pO1xuXG4kcmV2ZWFsLXBhZGRpbmc6IDA7XG4kcmV2ZWFsLWJvcmRlcjogbm9uZTtcblxuJHJldmVhbC13aWR0aDogOTglO1xuJHJldmVhbC1tYXgtd2lkdGg6IHJlbS1jYWxjKDgyMCk7XG5cbiRyZXZlYWwtYmFja2dyb3VuZDogY29sb3IoY2kpO1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC41KTtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiBjb2xvcihwbGFjZWhvbGRlcik7XG4kZm9ybS1sYWJlbC1jb2xvcjogY29sb3IoYmxhY2spO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMjApO1xuXG4kaW5wdXQtc2hhZG93OiBub25lO1xuJGlucHV0LWxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG4kaW5wdXQtcGFkZGluZzogcmVtLWNhbGMoMTAgMTAgMCk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAkaW5wdXQtc2hhZG93O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkIGNvbG9yKGNpKTtcblxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiBjb2xvcihuYXYtbWFpbik7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogY29sb3IobmF2LW1haW4pO1xuJGRyaWxsZG93bi1wYWRkaW5nOiByZW0tY2FsYygxNyk7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiB3aGl0ZTtcblxuLy8gNTAuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogc29saWQgI2MyYzJjMjtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg1IDIwIDYpO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogZmFsc2U7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogbm9uZTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6IGNvbG9yKG5hdi1tYWluKTtcblxuJGJsb2NrcXVvdGUtYm9yZGVyOiBub25lO1xuJGJsb2NrcXVvdGUtY29sb3I6IGNvbG9yKG5hdi1tYWluKTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDMwKTtcblxuXG4vLyRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuLyoqXG4gKiBtaXhpbnMuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cblxuXG5AbWl4aW4gbGluay1jb2xvcnMoJG5vcm1hbCwgJGhvdmVyOiBmYWxzZSwgJGFjdGl2ZTogZmFsc2UsICR2aXNpdGVkOiBmYWxzZSwgJGZvY3VzOiBmYWxzZSkge1xuICBjb2xvcjogJG5vcm1hbDtcbiAgQGlmICRmb2N1cyB7XG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGZvY3VzO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJG5vcm1hbDtcbiAgICB9XG4gIH1cbiAgQGlmICR2aXNpdGVkIHtcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICR2aXNpdGVkO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAkbm9ybWFsO1xuICAgIH1cbiAgfVxuICBAaWYgJGFjdGl2ZSB7XG4gICAgJjphY3RpdmUge1xuICAgICAgY29sb3I6ICRhY3RpdmU7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJG5vcm1hbDtcbiAgICB9XG4gIH1cbiAgQGlmICRob3ZlciB7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGhvdmVyO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJG5vcm1hbDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRyaWFuZ2xlKCRwb2ludGluZywgJGJhc2UtbGVuZ3RoLCAkYWx0aXR1ZGUsICRjb2xvcikge1xuICAvLyBNYXAgJHBvaW50aW5nIHt1cDogdG9wLCBkb3duOiBib3R0b219XG4gIEBpZiAkcG9pbnRpbmcgPT0gdXAge1xuICAgICRwb2ludGluZzogdG9wO1xuICB9XG4gIEBlbHNlIGlmICRwb2ludGluZyA9PSBkb3duIHtcbiAgICAkcG9pbnRpbmc6IGJvdHRvbTtcbiAgfVxuICAvLyBGb3IgYW4gZXF1aWxhdGVyYWwgdHJpYW5nbGUsIGNhbGN1bGF0ZSB0aGUgYWx0aXR1ZGUgKHdvb2hvbywgZ2VvbWV0cnkhKVxuICBAaWYgJGFsdGl0dWRlID09IHRydWUge1xuICAgICRhbHRpdHVkZTogc3FydCgzKSAvIDIgKiAkYmFzZS1sZW5ndGg7XG4gIH1cbiAgLy8gVGhlIGJhc2UgaXMgbWFkZSB1cCBvZiAyIG9wcG9zaXRlIGJvcmRlcnMsIHNvIGhhbHZlIGl0XG4gICRiYXNlLWxlbmd0aDogJGJhc2UtbGVuZ3RoIC8gMjtcbiAgJGJhc2U6IG9wcG9zaXRlLWRpcmVjdGlvbigkcG9pbnRpbmcpO1xuICAvLyBDcmVhdGUgdGhlIHRyaWFuZ2xlXG4gIGJvcmRlcjogJGJhc2UtbGVuZ3RoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItI3skYmFzZX06ICRhbHRpdHVkZSBzb2xpZCAkY29sb3I7XG4gIGJvcmRlci0jeyRwb2ludGluZ306IDA7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWl4aW4gbm8tYnVsbGV0IHtcbiAgbGlzdC1zdHlsZS1pbWFnZTogbm9uZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG5AbWl4aW4gbm8tYnVsbGV0cyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpIHtcbiAgICBAaW5jbHVkZSBuby1idWxsZXQ7IH0gfVxuXG5cbkBtaXhpbiBnZXQtZmlsdGVyLWNvbG9ycygkYXR0cmlidXRlLCAkcHNldWRvOiBmYWxzZSkge1xuICBAZWFjaCAkZmlsdGVyLWNvbG9yLCAkY29sb3JzIGluICRmaWx0ZXItY29sb3JzIHtcbiAgICBAZWFjaCAkbnVtYmVyLCAkY29sb3IgaW4gJGNvbG9ycyB7XG4gICAgICAmLS0jeyRmaWx0ZXItY29sb3J9LSN7JG51bWJlcn0ge1xuICAgICAgICBAaWYgKCRwc2V1ZG8pIHtcbiAgICAgICAgICAmOiN7JHBzZXVkb30ge1xuICAgICAgICAgICAgI3skYXR0cmlidXRlfTogI3skY29sb3J9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgI3skYXR0cmlidXRlfTogI3skY29sb3J9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8vQGVhY2hcbiAgICAvL2JhY2tncm91bmQtY29sb3I6IGZpbHRlci1jb2xvcihibHVlKTtcbiAgfVxufSIsIi8qISBub3JtYWxpemUuc2NzcyB2MC4xLjAgfCBNSVQgTGljZW5zZSB8IGJhc2VkIG9uIGdpdC5pby9ub3JtYWxpemUgKi9cblxuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICogYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gIG1hcmdpbjogMDsgLyogMyAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICpcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICovXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNC4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJy4uL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIFNldHRpbmdzXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIFNhc3MgdXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5cbiAgQGlmICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbiAgfVxuXG4gIEBpZiAkcHJvdG90eXBlIHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gIH1cbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG9sZC16Zi1zaXplICE9IG51bGwge1xuICAgIC8vIFJlc3RvcmUgdGhlIG9sZCBicmVha3BvaW50IHNpemVcbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkLXpmLXNpemU6IG51bGwgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW5nIC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2luZy5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cblxuLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4vLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcblxuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG4gIC8vIFtUT0RPXSBJcyB0aGlzIG5lY2Vzc2FyeT9cbiAgYm9keS5pcy1yZXZlYWwtb3BlbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBodG1sIGdldHMgdGhpcyBjbGFzcyBvbmx5IGluIGlPU1xuICBodG1sLmlzLXJldmVhbC1vcGVuLFxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHRoZSBub3JtYWxpemUoKSBtaXhpbi5cbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24sICRleGNsdWRlOiBudWxsKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGdsb2JhbCB2YXJpYWJsZXMgbmVlZGVkIGJ5IHRoaXMgZnVuY3Rpb24uXG4gIEBpZiBub3QgZ2xvYmFsX3ZhcmlhYmxlX2V4aXN0cyhfbm9ybWFsaXplLWluY2x1ZGUpIHtcbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiAoKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6ICgpICFnbG9iYWw7XG4gIH1cbiAgLy8gU2luY2Ugd2UgYXJlIGdpdmVuIDIgcGFyYW1ldGVycywgc2V0IHRoZSBnbG9iYWwgdmFyaWFibGVzLlxuICBAaWYgJGV4Y2x1ZGUgIT0gbnVsbCB7XG4gICAgJGluY2x1ZGU6ICRzZWN0aW9uO1xuICAgIC8vIFNhc3MgZG9lc24ndCBoYXZlIHN0YXRpYyB2YXJpYWJsZXMsIHNvIHRoZSB3b3JrLWFyb3VuZCBpcyB0byBzdHVmZiB0aGVzZVxuICAgIC8vIHZhbHVlcyBpbnRvIGdsb2JhbCB2YXJpYWJsZXMgc28gd2UgY2FuIGFjY2VzcyB0aGVtIGluIGZ1dHVyZSBjYWxscy5cbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6IGlmKHR5cGUtb2YoJGV4Y2x1ZGUpID09ICdsaXN0JywgJGV4Y2x1ZGUsICgkZXhjbHVkZSkpICFnbG9iYWw7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGhlbHBlciBmdW5jdGlvbiBieSBwYXNzaW5nIGl0IHRoaXMgbWl4aW4ncyBwYXJhbWV0ZXJzLlxuICAkaW5pdDogX25vcm1hbGl6ZS1pbmNsdWRlKCRpbmNsdWRlLCAkZXhjbHVkZSk7XG5cbiAgLy8gSWYgd2UndmUgY3VzdG9taXplZCBhbnkgZm9udCB2YXJpYWJsZXMsIHdlJ2xsIG5lZWQgZXh0cmEgcHJvcGVydGllcy5cbiAgQGlmICRiYXNlLWZvbnQtc2l6ZSAhPSAxNnB4XG4gICAgb3IgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xuICAgIG9yICRoMS1mb250LXNpemUgIT0gMiAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNC1mb250LXNpemUgIT0gMSAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xuICAgIC8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cblxuICAgIGh0bWwge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvLyBDb3JyZWN0IG9sZCBicm93c2VyIGJ1ZyB0aGF0IHByZXZlbnRlZCBhY2Nlc3NpYmxlIHJlc2l6aW5nIG9mIHRleHRcbiAgICAgICAgLy8gd2hlbiByb290IGZvbnQtc2l6ZSBpcyBzZXQgd2l0aCBweCBvciBlbS5cbiAgICAgICAgZm9udC1zaXplOiAoJGJhc2UtZm9udC1zaXplIC8gMTZweCkgKiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcbiAgICAvKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIG5hdixcbiAgICBzZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDItZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDUtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICBkbCxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYTphY3RpdmUsXG4gICAgYTpob3ZlciB7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3ViLFxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAxICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgICB9XG4gICAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHsgLyogMSAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqL1xuXG4gICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5cbiAgICBpbnB1dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqL1xuXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGxlZ2VuZCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5cbiAgICBwcm9ncmVzcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGludGVyYWN0aXZlKSB7XG4gICAgLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBkZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIDEuIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgICAqIDIuIFNldCBjb25zaXN0ZW50IHNwYWNlIGZvciB0aGUgbGlzdCBzdHlsZSBpbWFnZS5cbiAgICAgICAgICovXG5cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApOyAvKiAxICovXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50OyAvKiAyICovXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICAgKi9cblxuICAgICAgICBtZW51ICYsXG4gICAgICAgIG9sICYsXG4gICAgICAgIHVsICYge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2NyaXB0aW5nKSB7XG4gICAgLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgY2FudmFzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRlbXBsYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShoaWRkZW4pIHtcbiAgICAvKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBWYXJpYWJsZXNcbi8vXG4vLyBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHZhbHVlcyBieSBzZXR0aW5nIHRoZSB2YXJpYWJsZXMgaW4geW91ciBTYXNzXG4vLyBiZWZvcmUgaW1wb3J0aW5nIHRoZSBub3JtYWxpemUtc2NzcyBsaWJyYXJ5LlxuXG4vLyBUaGUgZm9udCBzaXplIHNldCBvbiB0aGUgcm9vdCBodG1sIGVsZW1lbnQuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBsZW5ndGggdW5pdCBpbiB3aGljaCB0byBvdXRwdXQgdmVydGljYWwgcmh5dGhtIHZhbHVlcy5cbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHB4LCBlbSwgcmVtLlxuJGJhc2UtdW5pdDogJ2VtJyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBmYW1pbHkuXG4kYmFzZS1mb250LWZhbWlseTogc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgc2l6ZXMgZm9yIGgxLWg2LlxuJGgxLWZvbnQtc2l6ZTogMiAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IDEuNSAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjE3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMSAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDAuODMgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjY3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLyBUaGUgYW1vdW50IGxpc3RzIGFuZCBibG9ja3F1b3RlcyBhcmUgaW5kZW50ZWQuXG4kaW5kZW50LWFtb3VudDogNDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbGxvd2luZyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIG5vcm1hbGl6ZS1zY3NzIHdpbGwgb3V0cHV0XG4vLyBmb250LXNpemVzLCBsaW5lLWhlaWdodHMgYW5kIGJsb2NrLWxldmVsIHRvcC9ib3R0b20gbWFyZ2lucyB0aGF0IGZvcm0gYSBiYXNpY1xuLy8gdmVydGljYWwgcmh5dGhtIG9uIHRoZSBwYWdlLCB3aGljaCBkaWZmZXJzIGZyb20gdGhlIG9yaWdpbmFsIE5vcm1hbGl6ZS5jc3MuXG4vLyBIb3dldmVyLCBjaGFuZ2luZyBhbnkgb2YgdGhlIHZhcmlhYmxlcyBhYm92ZSB3aWxsIGNhdXNlXG4vLyAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB0byBiZSBhdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlLlxuJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IGZhbHNlICFkZWZhdWx0O1xuIiwiLy9cbi8vIFZlcnRpY2FsIFJoeXRobVxuLy9cbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXG4vLyBDU1MuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSByb2J1c3Qgc29sdXRpb24sIGxvb2sgYXQgdGhlIGV4Y2VsbGVudCBUeXBleVxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XG5cbkBmdW5jdGlvbiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUsICR1bml0OiAkYmFzZS11bml0KSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIEBpZiAkdW5pdCA9PSByZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xuICB9XG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbm9ybWFsaXplLWZvbnQtc2l6ZSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1yaHl0aG0oJHByb3BlcnR5LCAkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAkdmFsdWUtbGlzdDogJHZhbHVlcztcbiAgJHNlcDogc3BhY2U7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XG4gICAgJHNlcDogbGlzdC1zZXBhcmF0b3IoJHZhbHVlcyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWx1ZS1saXN0OiBhcHBlbmQoKCksICR2YWx1ZXMpO1xuICB9XG5cbiAgJG5vcm1hbGl6ZWQtdmFsdWVzOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZS1saXN0IHtcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xuICAgIH1cbiAgICAkbm9ybWFsaXplZC12YWx1ZXM6IGFwcGVuZCgkbm9ybWFsaXplZC12YWx1ZXMsICR2YWx1ZSwgJHNlcCk7XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkbm9ybWFsaXplZC12YWx1ZXM7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbWFyZ2luKCR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XG4gIC8vIElmIGxpbmVzIGFyZSBjcmFtcGVkIGluY2x1ZGUgc29tZSBleHRyYSBsZWFkaW5nLlxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xuICB9XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtYXR0cmlidXRlLW5lc3RpbmcsIGZvcmNlLXBzZXVkby1uZXN0aW5nLCBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG4kcHJpbWFyeS1jb2xvcjogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJHNlY29uZGFyeS1jb2xvcjogZ2V0LWNvbG9yKHNlY29uZGFyeSk7XG4kc3VjY2Vzcy1jb2xvcjogZ2V0LWNvbG9yKHN1Y2Nlc3MpO1xuJHdhcm5pbmctY29sb3I6IGdldC1jb2xvcih3YXJuaW5nKTtcbiRhbGVydC1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICBAaW5jbHVkZSBub3JtYWxpemUoKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vLyBcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGZvciB0aGlzIHJvdy4gSWYgc2V0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpLCB0aGUgZ2xvYmFsIGNvbHVtbiBjb3VudCB3aWxsIGJlIHVzZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IGJhc2ljIHN0eWxlcyBmcm9tIGJlaW5nIG91dHB1dC4gVXNlZnVsIGlmIHlvdSdyZSBjYWxsaW5nIHRoaXMgbWl4aW4gb24gdGhlIHNhbWUgZWxlbWVudCB0d2ljZSwgYXMgaXQgcHJldmVudHMgZHVwbGljYXRlIENTUyBvdXRwdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93KFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmFzZTogdHJ1ZSxcbiAgJHdyYXA6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGJhc2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgJHdyYXA7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zLCAkYmFzZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBgZmxleGAgcHJvcGVydHkgZm9yIGEgZmxleCBncmlkIGNvbHVtbi4gSXQgYWNjZXB0cyBhbGwgb2YgdGhlIHNhbWUgdmFsdWVzIGFzIHRoZSBiYXNpYyBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIGFsb25nIHdpdGggdHdvIGV4dHJhczpcbi8vLyAgIC0gYGV4cGFuZGAgKHRoZSBkZWZhdWx0KSB3aWxsIG1ha2UgdGhlIGNvbHVtbiBleHBhbmQgdG8gZmlsbCBzcGFjZS5cbi8vLyAgIC0gYHNocmlua2Agd2lsbCBtYWtlIHRoZSBjb2x1bW4gY29udHJhY3QsIHNvIGl0IG9ubHkgdGFrZXMgdXAgdGhlIGhvcml6b250YWwgc3BhY2UgaXQgbmVlZHMuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uXG5AZnVuY3Rpb24gZmxleC1ncmlkLWNvbHVtbigkY29sdW1uczogZXhwYW5kKSB7XG4gICRmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuXG4gIEBpZiAkY29sdW1ucyA9PSBzaHJpbmsge1xuICAgICRmbGV4OiAwIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAkY29sdW1ucyAhPSBleHBhbmQge1xuICAgICRmbGV4OiAwIDAgZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG5cbiAgQHJldHVybiAkZmxleDtcbn1cblxuLy8vIENyZWF0ZXMgYSBjb2x1bW4gZm9yIGEgZmxleCBncmlkLiBCeSBkZWZhdWx0LCB0aGUgY29sdW1uIHdpbGwgc3RyZXRjaCB0byB0aGUgZnVsbCB3aWR0aCBvZiBpdHMgY29udGFpbmVyLCBidXQgdGhpcyBjYW4gYmUgb3ZlcnJpZGRlbiB3aXRoIHNpemluZyBjbGFzc2VzLCBvciBieSB1c2luZyB0aGUgYHVuc3RhY2tgIGNsYXNzIG9uIHRoZSBwYXJlbnQgZmxleCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycyB3aWR0aC4gU2VlIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyYCBtaXhpbi5cbkBtaXhpbiBmbGV4LWdyaWQtY29sdW1uKFxuICAkY29sdW1uczogZXhwYW5kLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIC8vIEJhc2UgcHJvcGVydGllc1xuICBAaW5jbHVkZSBmbGV4LWdyaWQtc2l6ZSgkY29sdW1ucyk7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBmaXhlcyByZWNlbnQgQ2hyb21lIHZlcnNpb24gbm90IGxpbWl0aW5nIGNoaWxkIHdpZHRoXG4gIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM0OTM0NTg2L3doaXRlLXNwYWNlLW5vd3JhcC1hbmQtZmxleGJveC1kaWQtbm90LXdvcmstaW4tY2hyb21lXG4gIEBpZiAkY29sdW1ucyA9PSBleHBhbmQge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGJsb2NrIGdyaWQgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBjb2x1bW5zIHRvIGRpc3BsYXkgb24gZWFjaCByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciAtIFNlbGVjdG9yIHRvIHVzZSB0byB0YXJnZXQgY29sdW1ucyB3aXRoaW4gdGhlIHJvdy5cbkBtaXhpbiBmbGV4LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbidcbikge1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICRwY3Q6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICBmbGV4OiAwIDAgJHBjdDtcbiAgICBtYXgtd2lkdGg6ICRwY3Q7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHdpZHRoIGZsZXggZ3JpZCBjb2x1bW4uXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBmbGV4LWdyaWQtc2l6ZSgkY29sdW1uczogbnVsbCkge1xuICAkY29sdW1uczogJGNvbHVtbnMgb3IgZXhwYW5kO1xuXG4gIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuXG4gIC8vIG1heC13aWR0aCBmaXhlcyBJRSAxMC8xMSBub3QgcmVzcGVjdGluZyB0aGUgZmxleC1iYXNpcyBwcm9wZXJ0eVxuICBAaWYgJGNvbHVtbnMgIT0gZXhwYW5kIGFuZCAkY29sdW1ucyAhPSBzaHJpbmsge1xuICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG59XG5cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1ncmlkIHtcbiAgLy8gUm93XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XG5cbiAgICAvLyBOZXN0aW5nIGJlaGF2aW9yXG4gICAgJiAucm93IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3cobmVzdCwgJGJhc2U6IGZhbHNlKTtcblxuICAgICAgJi5jb2xsYXBzZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgcm93XG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG5cbiAgICAgIC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5leHBhbmRlZCkgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG4gICAgfVxuXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVbmRvIG5lZ2F0aXZlIG1hcmdpbnNcbiAgICAvLyBGcm9tIGNvbGxhcHNlZCBjaGlsZFxuICAgICYuaXMtY29sbGFwc2UtY2hpbGQsXG4gICAgJi5jb2xsYXBzZSA+IC5jb2x1bW4gPiAucm93IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuY29sdW1uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uO1xuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC5jb2x1bW4ucm93LnJvdyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLnJvdyAuY29sdW1uLnJvdy5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRpKTtcbiAgICAgICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1sYXlvdXQoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLy8gU2l6aW5nIChleHBhbmQpXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAuI3skLXpmLXNpemV9LWV4cGFuZCB7XG4gICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEF1dG8tc3RhY2tpbmcvdW5zdGFja2luZ1xuICAgICAgQGF0LXJvb3QgKHdpdGhvdXQ6IG1lZGlhKSB7XG4gICAgICAgIC5yb3cuI3skLXpmLXNpemV9LXVuc3RhY2sge1xuICAgICAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKDEwMCUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS1jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tdW5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJC16Zi1zaXplKTsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNpemluZyAoc2hyaW5rKVxuICAuc2hyaW5rIHtcbiAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKHNocmluayk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC5jb2x1bW4tYmxvY2sge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIC5jb2x1bW5zIHtcbiAgICBAZXh0ZW5kIC5jb2x1bW47IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgcGxhY2Vob2xkZXItaW4tZXh0ZW5kXG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQgIWdsb2JhbDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgJG1hcmdpbjogcmVtLWNhbGMoLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtc2l6ZSkpIC8gMiAqIC0xO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXQgYSBncmlkIHJvdyBzaXplXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG5AbWl4aW4gZ3JpZC1yb3ctc2l6ZSgkc2l6ZTogJGdyaWQtcm93LXdpZHRoKSB7XG4gIEBpZiAkc2l6ZSA9PSBleHBhbmQge1xuICAgICRzaXplOiBub25lO1xuICB9XG5cbiAgbWF4LXdpZHRoOiAkc2l6ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtblxuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRndXR0ZXIgW2F1dG9dXG4vLy8gICBTcGFjaW5nIGJldHdlZW4gY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJGd1dHRlcnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIGd1dHRlciByZXNwb25zaXZlLCB1c2luZyB0aGUgJGd1dHRlcnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGd1dHRlciwgJGd1dHRlcnMpIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgfVxufVxuXG4vLy8gQ29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmVtb3ZpbmcgdGhlIHBhZGRpbmcuICoqTm90ZToqKiBvbmx5IHVzZSB0aGlzIG1peGluIHdpdGhpbiBhIGJyZWFrcG9pbnQuIFRvIGNvbGxhcHNlIGEgY29sdW1uJ3MgZ3V0dGVycyBvbiBhbGwgc2NyZWVuIHNpemVzLCB1c2UgdGhlIGAkZ3V0dGVyYCBwYXJhbWV0ZXIgb2YgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIGdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKDApO1xufVxuXG4vLy8gVW4tY29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmUtYWRkaW5nIHRoZSBwYWRkaW5nLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGdyaWQtY29sdW1uLWd1dHRlcigpLiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWd1dHRlclxuQG1peGluIGdyaWQtY29sLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlciwgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1jb2xsYXBzZTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVuY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZ3JpZC1jb2wtZ3V0dGVyKCkuIGdyaWQtY29sLXVuY29sbGFwc2UoKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgkZ3V0dGVyKTtcbn1cblxuLy8vIFNldHMgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMgdG8gbWF0Y2ggZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRtYXJnaW4gW2F1dG9dXG4vLy8gICBUaGUgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRtYXJnaW5zIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBtYXJnaW4gcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRtYXJnaW5zIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFyZ2lucyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1tYXJnaW4gKFxuICAkbWFyZ2luOiBhdXRvLFxuICAkbWFyZ2luczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRtYXJnaW4sICRtYXJnaW5zKSB7XG4gICAgJG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBsaXN0IG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiAod2l0aG91dCBxdW90ZXMpIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgJHdpZHRoOiAwJTtcblxuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgYW5kIGNvbHVtbiBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkY29sdW1ucykgPT0gJyUnIHtcbiAgICAgICR3aWR0aDogJGNvbHVtbnM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRjb2x1bW5zIDwgMSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKG50aCgkY29sdW1ucywgMSkgLyBudGgoJGNvbHVtbnMsIDMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIERpcmVjdGlvbiBhbmQgYW1vdW50IHRvIG1vdmUuIFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50IHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZSBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuIFNldCB0byBjZW50ZXIgdG8gY2VudGVyIHRoZSBjb2x1bW4uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoJHBvc2l0aW9uIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIG9yIGNlbnRlci4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodCBieSBgJG5gIGNvbHVtbnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBXaWR0aCB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ3JpZC1jb2x1bW4oJG4pO1xufVxuXG4vLy8gRGlzYWJsZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgYWxpZ25pbmcgdG8gdGhlIG9wcG9zaXRlIGVkZ2UuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZW5kIHtcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcbiAgJjpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXBvcygkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVucG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC11bnBvcyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLW9mZnNldFxuQG1peGluIGdyaWQtY29sLW9mZigkbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1lbmRcbkBtaXhpbiBncmlkLWNvbC1lbmQge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoKTtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkZ3JpZC1jb2x1bW5zLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICAgICYuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgfVxuXG4gICAgJi5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gIH1cbiAgLmdyaWQteCB7XG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHdpZHRoIHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi14YCBub3Qgb24gYC5ncmlkLXhgXG4gIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teWAgbm90IG9uIGAuZ3JpZC15YFxuICAuZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGNsYXNzLWJyZWFrcG9pbnQsICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsKSB7XG4gICRwcmVmaXg6IGlmKCRjbGFzcy1icmVha3BvaW50ID09ICQtemYtemVyby1icmVha3BvaW50LCAnJywgJyN7JGNsYXNzLWJyZWFrcG9pbnR9LScpO1xuICA+IC4jeyRwcmVmaXh9YXV0byB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gID4gLiN7JHByZWZpeH1zaHJpbmsge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICRjbGFzc25hbWU6IGlmKCR2ZXJ0aWNhbCwgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nKTtcblxuICAgID4gI3skY2xhc3NuYW1lfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoXG4gICRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICR3cmFwcGluZy1zZWxlY3RvcjogJy5ncmlkLW1hcmdpbi14J1xuKXtcbiAgI3skd3JhcHBpbmctc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogJGd1dHRlci1wb3NpdGlvbik7XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gYmFzZSBzdHlsZXMgbmVlZCB0byBhbGwgYmUgYmVmb3JlIHRoZSBhdXRvIGFuZCBzaHJpbmsgc3R5bGVzXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkgYW5kICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuXG4gICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGJwLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFkZGluZyBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XG4gIC5ncmlkLXBhZGRpbmcteCB7XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgIC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBncmlkcyB3aXRoaW4gYGdyaWQtY29udGFpbmVyL2dyaWQtY29udGFpbmVyLmZsdWlkYFxuICAgIC8vIFRoaXMgYWxsb3dzIG1hcmdpbiBhbmQgcGFkZGluZyBncmlkcyB0byBsaW5lIHVwIHdpdGggZWFjaG90aGVyXG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAmIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JGJwfS11cC0jeyRpfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xsYXBzZSBjbGFzc2VzXG5AbWl4aW4geHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgICAuI3skYnB9LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBtYXJnaW4sICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgICAuI3skYnB9LXBhZGRpbmctY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogcGFkZGluZywgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPZmZzZXQgY2xhc3Nlc1xuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQtbWFyZ2luLXggPiAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVmVydGljYWwgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICB9XG4gIH1cblxuICAuZ3JpZC15IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKHZlcnRpY2FsLCBmYWxzZSk7XG5cblxuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xuICAgIH1cblxuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyBhbmQgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJHZlcnRpY2FsOiB0cnVlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICAgID4gLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgfVxuXG59XG5cbkBtaXhpbiB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQ6IHRydWUsICRtYXJnaW4tZ3JpZDogdHJ1ZSkge1xuICAvLyBGcmFtZWQgZ3JpZCBzdHlsZXNcbiAgLmdyaWQtZnJhbWUge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gIH1cblxuICAuY2VsbCAuZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gIH1cblxuICAuY2VsbC1ibG9jayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICB9XG5cbiAgLmNlbGwtYmxvY2steSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgfVxuXG5cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICB9XG5cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG5cbiAgICAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgICB9XG5cbiAgICAuY2VsbCAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLXkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHZlcnRpY2FsLWdyaWQge1xuICAgIC5ncmlkLXkge1xuICAgICAgJi5ncmlkLWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgJi4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgLmdyaWQteS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGluY2x1ZGUtYmFzZTogZmFsc2UpO1xuICAgIH1cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAuZ3JpZC1tYXJnaW4teS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmluYWwgY2xhc3Nlc1xuQG1peGluIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzKFxuICAkYmFzZS1ncmlkOiB0cnVlLFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWUsXG4gICRibG9jay1ncmlkOiB0cnVlLFxuICAkY29sbGFwc2U6IHRydWUsXG4gICRvZmZzZXQ6IHRydWUsXG4gICR2ZXJ0aWNhbC1ncmlkOiB0cnVlLFxuICAkZnJhbWUtZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICBAaWYoJGJhc2UtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJhc2UtZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBNYXJnaW4gZ3JpZFxuICBAaWYoJG1hcmdpbi1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gUGFkZGluZyBncmlkXG4gIEBpZigkcGFkZGluZy1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktcGFkZGluZy1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWRcbiAgQGlmKCRibG9jay1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBDb2xsYXBzZSBndXR0ZXJzXG4gIEBpZigkY29sbGFwc2UpIHtcbiAgICBAaW5jbHVkZSB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIE9mZnNldCBndXR0ZXJzXG4gIEBpZigkb2Zmc2V0KSB7XG4gICAgQGluY2x1ZGUgeHktb2Zmc2V0LWNlbGwtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JpZFxuICBAaWYoJHZlcnRpY2FsLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIEBpZiAoJGZyYW1lLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQsICRtYXJnaW4tZ3JpZClcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06ICN7JG9wZXJhdG9yfSRndXR0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06ICN7JG9wZXJhdG9yfSRndXR0ZXI7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgbWF4IHdpZHRoIGNvbnRhaW5lciwgZGVzaWduZWQgdG8gaG91c2UgeW91ciBncmlkIGNvbnRlbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1jb250YWluZXJdIC0gYSB3aWR0aCB0byBsaW1pdCB0aGUgY29udGFpbmVyIHRvLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgeW91ciBmbGV4IGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtob3Jpem9udGFsXSAtIEVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGRpcmVjdGlvbiBvZiBjZWxscyB3aXRoaW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBJZiB0aGUgY2VsbHMgd2l0aGluIHNob3VsZCB3cmFwIG9yIG5vdC5cbkBtaXhpbiB4eS1ncmlkKFxuICAkZGlyZWN0aW9uOiBob3Jpem9udGFsLFxuICAkd3JhcDogdHJ1ZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnLCByb3csIGNvbHVtbik7XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkc2l6ZSBbJGdyaWQtY29sdW1uc10gLSBTaXplIHRvIG1ha2UgdGhlIGNlbGwuIFlvdSBjYW4gcGFzcyBhIHZhbHVlIGluIG11bHRpcGxlIGZvcm1hdHMsIHN1Y2ggYXMgYDZgLCBgNTAlYCwgYDEgb2YgMiBvciAxLzMuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBuIG9mIG4gYW5kIG51bWJlciBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJHNpemUpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkc2l6ZSkgPT0gJyUnIHtcbiAgICAgICRzaXplOiAkc2l6ZTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJHNpemUgPCAxIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUgLyAkZ3JpZC1jb2x1bW5zKTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgb3IgXCJuL25cIiBleHByZXNzaW9uc1xuICBAZWxzZWlmIHR5cGUtb2YoJHNpemUpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkc2l6ZSkgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgeHktY2VsbC1zaXplKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIgb3IgXCJuL25cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZShudGgoJHNpemUsIDEpIC8gbnRoKCRzaXplLCAzKSk7XG4gICAgfVxuICB9XG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgeHktY2VsbC1zaXplKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIiAvIFwibi9uXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHNpemU7XG59XG5cbi8vLyBTZXRzIGJhc2UgZmxleCBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gIG9yIGBzaHJpbmtgLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgYmFzZSBzdHlsZSwgYWxsIG90aGVycyBpbmhlcml0IGZyb20gaXRcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG59XG5cbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB3aWR0aCwgaGVpZ2h0KTtcbiAgI3skZGlyZWN0aW9ufTogYXV0bztcbn1cblxuLy8gU2V0cyBvdXIgY2VsbCB3aWR0aHMgb3IgaGVpZ2h0cyBkZXBlbmRpbmcgb24gZ3V0dGVyIHR5cGUuXG5AbWl4aW4gLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJG1hcmdpbi1ndXR0ZXIsICR2ZXJ0aWNhbCkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICAjeyRkaXJlY3Rpb259OiAkdmFsO1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9LCBjYWxjKCN7eHktY2VsbC1zaXplKCRzaXplKX0gLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICAjeyRkaXJlY3Rpb259OiAkdmFsO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIEBpZigkYnJlYWtwb2ludCA9PSBudWxsKSB7XG4gICAgLy8gSWYgYCRicC1zaXplYCBpcyBhdmFpbGFibGUgdGhlbiB1c2UgdGhpcywgb3RoZXJ3aXNlIHJldmVydCB0byB0aGUgc21hbGxlc3QgYnAuXG4gICAgQGlmKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXNpemU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgICB9XG4gIH1cblxuICAvLyBHZXQgb3VyIGd1dHRlcnMgZnJvbSBtYXAgaWYgYXZhaWxhYmxlLCBpZiBub3QgbWFwIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZS5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAvLyBCYXNlIGZsZXggcHJvcGVydGllc1xuICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgQGlmICRndXR0ZXItb3V0cHV0IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcblxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG5cbiAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRndXR0ZXIsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsIDAsICR2ZXJ0aWNhbCk7XG4gIH1cblxuICAvLyBJZiB3ZSB3YW50IHRvIG91dHB1dCB0aGUgZ3V0dGVyc1xuICBAaWYoJGd1dHRlci1vdXRwdXQpIHtcbiAgICAvLyBUT0RPOiBGaWd1cmUgb3V0IGlmIHdlIG5lZWQgdG8gcGFzcyBicmVha3BvaW50IGluIGhlcmUgdG9vLlxuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCBvciBgcGFkZGluZ2AuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZSgxLyRuKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlcyB0aGUgZ3JpZCBhIGNlbGxzIHdpdGhpbiBpdC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWy5jZWxsXSAtIFRoZSBjaGlsZCBlbGVtZW50IHRvIHJlbW92ZSB0aGUgZ3V0dGVyIGZyb20uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gcmVtb3ZlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb25zIHRvIHJlbW92ZSBndXR0ZXJzIGZyb20uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuQG1peGluIHh5LWdyaWQtY29sbGFwc2UoXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRtaW4tYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnRcbikge1xuICAvLyBGaXJzdCwgbGV0cyBuZWdhdGUgYW55IG1hcmdpbnMgb24gdGhlIHRvcCBsZXZlbFxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICRleGNsdWRlZC1icHM6IC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJG1pbi1icmVha3BvaW50KTtcblxuICAgIC8vIE91dHB1dCBuZXcgd2lkdGhzIHRvIG5vdCBpbmNsdWRlIGd1dHRlcnNcbiAgICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYoc2wtY29udGFpbigkZXhjbHVkZWQtYnBzLCAkYnApKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gXG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIHBhZGRpbmctI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodC9ib3R0b20gYnkgYCRuYCBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHpmLWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIG9mZnNldC4gSWYgc2V0IHRvIHRydWUgd2lsbCBhcHBseSBtYXJnaW4tdG9wIGluc3RlYWQuXG5AbWl4aW4geHktY2VsbC1vZmZzZXQoXG4gJG4sXG4gJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsLCAndG9wJywgJGdsb2JhbC1sZWZ0KTtcblxuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkYnJlYWtwb2ludCwgJGd1dHRlcnMpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG4gICAgJHNpemU6IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgY2FsYygje3h5LWNlbGwtc2l6ZSgkbil9ICsgI3skZ3V0dGVyfSksICN7eHktY2VsbC1zaXplKCRuKX0pO1xuXG4gICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICN7JHNpemV9O1xuICB9XG59XG4iLCIvLy8gTW9kaWZpZXMgYSBncmlkIHRvIGdpdmUgaXQgXCJmcmFtZVwiIGJlaGF2aW9yIChubyBvdmVyZmxvdywgbm8gd3JhcCwgc3RyZXRjaCBiZWhhdmlvcilcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3RlZCBbZmFsc2VdIC0gSXMgZ3JpZCBuZXN0ZWQgb3Igbm90LiBJZiBuZXN0ZWQgaXMgdHJ1ZSB0aGlzIHNldHMgdGhlIGZyYW1lIHRvIDEwMCUgaGVpZ2h0LCBvdGhlcndpc2Ugd2lsbCBiZSAxMDB2aC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFtudWxsXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbmNsdWRlLWJhc2UgW3RydWVdIC0gSW5jbHVkZSB0aGUgYmFzZSBzdHlsZXMgdGhhdCBkb24ndCB2YXJ5IHBlciBicmVha3BvaW50LlxuQG1peGluIHh5LWdyaWQtZnJhbWUoXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRuZXN0ZWQ6IGZhbHNlLFxuICAkZ3V0dGVyczogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICRpbmNsdWRlLWJhc2U6IHRydWVcbikge1xuXG4gIEBpZiAkaW5jbHVkZS1iYXNlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuXG4gIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIGFuZCB0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJyB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUoJHZlcnRpY2FsLCAkbmVzdGVkLCAkZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBHZXQgb3VyIGd1dHRlcnMgaWYgYXBwbGljYWJsZVxuICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgICAvLyBJZiB3ZSBoYXZlIGEgZ3V0dGVyLCBhZGQgaXQgdG8gdGhlIHdpZHRoL2hlaWdodFxuICAgIEBpZiAkZ3V0dGVyIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIGhlaWdodDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgIGhlaWdodDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgd2lkdGg6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTW9kaWZpZXMgYSBjZWxsIHRvIGdpdmUgaXQgXCJibG9ja1wiIGJlaGF2aW9yIChvdmVyZmxvdyBhdXRvLCBpbmVydGlhbCBzY3JvbGxpbmcpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrKFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHByb3BlcnR5OiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgJ292ZXJmbG93LXknLCAnb3ZlcmZsb3cteCcpO1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpOyAgXG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSwgLmgxLFxuICBoMiwgLmgyLFxuICBoMywgLmgzLFxuICBoNCwgLmg0LFxuICBoNSwgLmg1LFxuICBoNiwgLmg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0sIC4jeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2l0YXRpb25zXG4gIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciwgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBcbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuXG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgdWwsIG9sIHtcbiAgICAvLyBVc2UgdG8gcmVtb3ZlIG51bWJlcnMgZnJvbSBvcmRlcmVkIGxpc3QgJiBidWxsZXRzIGZyb20gdW5vcmRlcmVkIGxpc3RcbiAgICAmLm5vLWJ1bGxldCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBsaW5lLWhlaWdodDogMS4zO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG5cbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgICYsXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkKCRjb2xvciwgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENsZWFyIHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBjbGVhciB7XG4gICAgICAmLmNsZWFyIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcblxuICAgICAgICAgICAgJiwgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAmLmRpc2FibGVkLFxuICAgICAgICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cbiAgYS5idXR0b24ge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBib3JkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTGlzdFxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIGhlaWdodC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuICAmLmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxcmVtO1xuICB9XG4gICYuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG59XG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG5cbiAgLmFjY29yZGlvbi1tZW51IHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4gICAgfVxuICAgIFxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbiwgcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudSBsaSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICB9XG5cbiAgLy8gU3VibWVudSB0b2dnbGVcbiAgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgd2lkdGg6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICAgIGhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0O1xuXG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI7XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFkZCB0aGUgYXJyb3cgdG8gdGhlIHRvZ2dsZVxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcblxuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJvdGF0ZSB0aGUgYXJyb3cgd2hlbiBtZW51IGlzIG9wZW5cbiAgLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB9XG5cbiAgLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBhbiBob3ZlcmVkIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBhY3RpdmVgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgY2VudGVyZWQuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGAubWVudS1jZW50ZXJlZCA+IC5tZW51YCB3aXRoIGAubWVudS5hbGlnbi1jZW50ZXJgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHBvc2l0aW9uIGNsYXNzZXMgZm9yIGljb25zIHdpdGhpbiBhIG1lbnUuXG5AbWl4aW4gbWVudS1pY29uLXBvc2l0aW9uKCRwb3NpdGlvbjogbGVmdCwgJHNwYWNpbmc6ICRtZW51LWljb24tc3BhY2luZykge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAkc3BhY2luZyBhdXRvIDA7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBwYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcblxuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gbWVudS1zdGF0ZS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICBjb2xvcjogJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEJyZWFrcG9pbnQgc3BlY2lmaWMgdmVyc2lvbnNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogZmFsc2UpIHtcbiAgICAgICYuI3skLXpmLXNpemV9LWhvcml6b250YWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXNpbXBsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJhc2UgU3R5bGVzXG4gICAgJi5pY29ucyB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1pY29ucy1iYWNrLWNvbXBhdCB7XG4gICAgICAmLmljb24tdG9wLFxuICAgICAgJi5pY29uLXJpZ2h0LFxuICAgICAgJi5pY29uLWJvdHRvbSxcbiAgICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJY29uIExlZnRcbiAgICAmLmljb24tbGVmdCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBSaWdodFxuICAgICYuaWNvbi1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xuICAgIH1cblxuICAgIC8vIEljb24gVG9wXG4gICAgJi5pY29uLXRvcCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24odG9wKTtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJvdHRvbVxuICAgICYuaWNvbi1ib3R0b20ge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGJvdHRvbSk7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgfVxuICAgIFxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1zdGF0ZS1iYWNrLWNvbXBhdCB7XG4gICAgICAuYWN0aXZlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGxlZnRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1sZWZ0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24ocmlnaHQpO1xuXG4gICAgICAubmVzdGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJG5lc3RlZC1hbGlnbm1lbnQ6IHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBjZW50ZXJcbiAgICAmLmFsaWduLWNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLm1lbnUtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0IHtcbiAgICAubWVudS1jZW50ZXJlZCB7XG4gICAgICA+IC5tZW51IHtcbiAgICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBpbm5lciBwYWRkaW5nIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGNhbGxvdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoMC41cmVtKTtcbiAgICB9XG5cbiAgICAmLmxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgzcmVtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKHNtYWxsKSB9XG4gICAgJiwgJi5tZWRpdW0geyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShtZWRpdW0pIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZyBpbiB0aGUgc3VibWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcblxuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLyBXQVJOSU5HOiBXaWxsIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiA2LjRcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvOiBkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8ge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQoKS4gZm91bmRhdGlvbi1mbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbn1cblxuQG1peGluIGZsZXgtdmlkZW8oJHJhdGlvOiAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbykge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSByZXNwb25zaXZlLWVtYmVkKCkuIGZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW8pO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgLy92aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBPdmVybGFwIG9ubHkgc3R5bGVzLlxuICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDtcblxuICAgICYuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBTZXRzIHRyYW5zZm9ybSB0byAwIHRvIHNob3cgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbiAgJi5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gcG9zaXRpb24gYW4gb2ZmLWNhbnZhcyBwYW5lbCB0byB0aGUgbGVmdC9yaWdodC90b3AvYm90dG9tLlxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJG9yaWVudGF0aW9uOiBob3Jpem9udGFsLFxuICAkc2l6ZXM6IGlmKCRvcmllbnRhdGlvbiA9PSBob3Jpem9udGFsLCAkb2ZmY2FudmFzLXNpemVzLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzKVxuKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUgaXMgc2V0LCBhZGQgaW5uZXIgYm94LXNoYWRvdy5cbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXG4gIEBpZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhyaWdodCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cobGVmdCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGJvdHRvbSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHRvcCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vLyBTZXRzIHRoZSBzdHlsZXMgZm9yIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIFRyYW5zZm9ybSBzY29wZSB1bnRpbCB0aGUgZWxlbWVudCBpcyBjbG9zZWQgKG1ha2VzIHN1cmUgdHJhbnNpdGlvbmVuZCBnZXRzIHRyaWdnZXJlZClcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIGVsZW1lbnQgJiBjb250ZW50LCBuZXN0ZWQgaW4gYW5vdGhlciBjb250ZW50XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzcyxcbiRicmVha3BvaW50OiBzbWFsbFxuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICB3aWR0aDogaW5oZXJpdDtcbiAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gIHRyYW5zaXRpb246IGluaGVyaXQ7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbCh0b3AsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGluLWNhbnZhcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheSB0aGUgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUgZXZlbiBpZiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYGZhbHNlYC5cbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxuLy8vIGl0IHdpbGwgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYWdlIG51bWJlciB2aXNpYmlsaXR5IHdoZW4gYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGB0cnVlYC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGFiJztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYmInO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWVsZW1lbnQtbmVzdGluZywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGN1cnNvciBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoYXMtdGlwLWN1cnNvcjogaGVscCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXggd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIGN1cnNvcjogJGhhcy10aXAtY3Vyc29yO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgei1pbmRleDogMTIwMDtcblxuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmLmJvdHRvbSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnRvcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnJpZ2h0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7XG4gIH1cblxuICAmLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LXV0aWxpdGllc1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgdGV4dCB1dGlsaXRpZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IFZhbHVlIGZvciBgdGV4dC1vdmVyZmxvd2AgdmFyaWFibGVcbi8vLyBAdHlwZSBTdHJpbmdcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXMgIWRlZmF1bHQ7XG5cbi8vLyBJbWFnZSBSZXBsYWNlbWVudCB1dGlsaXR5LiBgdGV4dC1oaWRlYFxuQG1peGluIHRleHQtaGlkZSB7XG4gIGZvbnQ6IDAvMCBhICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbn1cblxuLy8vIFRydW5jYXRpbmcgdGhlIHRleHQsIGVsaXBzaXMgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG92ZXJmbG93IFskcHJvdG90eXBlLXRleHQtb3ZlcmZsb3ddIFRleHQgVHJ1bmNhdGVcbkBtaXhpbiB0ZXh0LXRydW5jYXRlKFxuICAkb3ZlcmZsb3c6ICRwcm90b3R5cGUtdGV4dC1vdmVyZmxvd1xuKSB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIHRleHQtb3ZlcmZsb3c6ICRvdmVyZmxvdzsgXG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLy8vIE5vIHdyYXBwaW5nIG9mIHRoZSB0ZXh0LiBgdGV4dC1ub3dyYXBgXG5AbWl4aW4gdGV4dC1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBXcmFwcGluZyBvZiB0aGUgdGV4dC4gYHRleHQtd3JhcGBcbkBtaXhpbiB0ZXh0LXdyYXAge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtdXRpbGl0aWVzIHtcbiAgLnRleHQtaGlkZSB7XG4gICAgQGluY2x1ZGUgdGV4dC1oaWRlO1xuICB9XG5cbiAgLnRleHQtdHJ1bmNhdGUge1xuICAgIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7XG4gIH1cblxuICAudGV4dC1ub3dyYXAge1xuICAgIEBpbmNsdWRlIHRleHQtbm93cmFwO1xuICB9XG5cbiAgLnRleHQtd3JhcCB7XG4gICAgQGluY2x1ZGUgdGV4dC13cmFwO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtaGlkZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LWhpZGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtdHJ1bmNhdGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC1ub3dyYXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1ub3dyYXA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtd3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXdyYXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvblxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgdGV4dCB0cmFuc2Zvcm1hdGlvbiBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGB0ZXh0LXRyYW5zZm9ybWF0aW9uYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcbiAgbG93ZXJjYXNlLFxuICB1cHBlcmNhc2UsXG4gIGNhcGl0YWxpemVcbikgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IFRyYW5zZm9ybWF0aW9uLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb25gXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR0cmFuc2Zvcm1hdGlvbiBbXSBUZXh0IFRyYW5zZm9ybWF0aW9uXG5AbWl4aW4gdGV4dC10cmFuc2Zvcm0oJHRyYW5zZm9ybWF0aW9uKSB7XG4gIHRleHQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtYXRpb24gIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICBAZWFjaCAkdHJhbnNmb3JtYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uIHtcbiAgICAudGV4dC0jeyR0cmFuc2Zvcm1hdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgdGV4dC10cmFuc2Zvcm0oJHRyYW5zZm9ybWF0aW9uKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICBcdEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkdHJhbnNmb3JtYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skdHJhbnNmb3JtYXRpb259IHtcbiAgXHRcdFx0ICAgICAgQGluY2x1ZGUgdGV4dC10cmFuc2Zvcm0oJHRyYW5zZm9ybWF0aW9uKTtcbiAgXHRcdFx0ICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb25cbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHRleHQgZGVjb3JhdGlvbiBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHRleHQtZGVjb3JhdGlvbmAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgRGVjb3JhdGlvbiwgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb25gXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWNvcmF0aW9uIFtdIFRleHQgRGVjb3JhdGlvblxuQG1peGluIHRleHQtZGVjb3JhdGlvbigkZGVjb3JhdGlvbikge1xuICB0ZXh0LWRlY29yYXRpb246ICRkZWNvcmF0aW9uICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LWRlY29yYXRpb24ge1xuICBAZWFjaCAkZGVjb3JhdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgLnRleHQtI3skZGVjb3JhdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcmF0aW9uKCRkZWNvcmF0aW9uKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRkZWNvcmF0aW9uIGluICRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skZGVjb3JhdGlvbn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yYXRpb24oJGRlY29yYXRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWZvbnQtc3R5bGluZ1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgZm9udCBzdHlsaW5nIHR5cGVzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIExldHRlciBzcGFjaW5nIGZvciBgLmZvbnQtd2lkZWBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdlaWdodCBmb3IgYC5mb250LW5vcm1hbGAsIGRlZmF1bHRlZCB0byBgZ2xvYmFsLXdlaWdodC1ub3JtYWxgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdlaWdodCBmb3IgYC5mb250LWJvbGRgLCBkZWZhdWx0ZWQgdG8gYGdsb2JhbC13ZWlnaHQtYm9sZGBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3aWRlIGxldHRlciBzcGFjaW5nIVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGV0dGVyLXNwYWNpbmcgWyRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZ10gV2lkZSBsZXR0ZXIgc3BhY2luZyBmb3IgdGhlIGZvbnRcbkBtaXhpbiBmb250LXdpZGUoXG4gICRsZXR0ZXItc3BhY2luZzogJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nXG4pIHtcbiAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZztcbn1cblxuLy8vIEZvbnQgV2VpZ2h0IE5vcm1hbCwgZGVmYXVsdCB2YWx1ZSBjb21pbmcgdGhyb3VnaCBgZ2xvYmFsLXdlaWdodC1ub3JtYWxgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWyRwcm90b3R5cGUtZm9udC1ub3JtYWxdIFdlaWdodCBvZiB0aGUgZm9udCAobm9ybWFsKVxuQG1peGluIGZvbnQtbm9ybWFsKFxuICAkd2VpZ2h0OiAkcHJvdG90eXBlLWZvbnQtbm9ybWFsXG4pIHtcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG59XG5cbi8vLyBGb250IFdlaWdodCBCb2xkLCBkZWZhdWx0IHZhbHVlIGNvbWluZyB0aHJvdWdoIGBnbG9iYWwtd2VpZ2h0LWJvbGRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWyRwcm90b3R5cGUtZm9udC1ib2xkXSBXZWlnaHQgb2YgdGhlIGZvbnQgKGJvbGQpXG5AbWl4aW4gZm9udC1ib2xkKFxuICAkd2VpZ2h0OiAkcHJvdG90eXBlLWZvbnQtYm9sZFxuKSB7XG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xufVxuXG4vLy8gRm9udCBTdHlsZSBJdGFsaWNcbkBtaXhpbiBmb250LWl0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtZm9udC1zdHlsaW5nIHtcbiAgLmZvbnQtd2lkZXtcbiAgICBAaW5jbHVkZSBmb250LXdpZGU7XG4gIH1cblxuICAuZm9udC1ub3JtYWwge1xuICAgIEBpbmNsdWRlIGZvbnQtbm9ybWFsO1xuICB9XG5cbiAgLmZvbnQtYm9sZCB7XG4gICAgQGluY2x1ZGUgZm9udC1ib2xkO1xuICB9XG5cbiAgLmZvbnQtaXRhbGljIHtcbiAgICBAaW5jbHVkZSBmb250LWl0YWxpYztcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC13aWRle1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC13aWRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mb250LW5vcm1hbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LW5vcm1hbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC1ib2xkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtYm9sZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC1pdGFsaWMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1pdGFsaWM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtbGlzdC1zdHlsZS10eXBlXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBsaXN0IHN0eWxpbmcgdHlwZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgc3R5bGUtdHlwZS11bm9yZGVyZWRgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbikgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBzdHlsZS10eXBlLW9yZGVyZWRgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gIGRlY2ltYWwsXG4gIGxvd2VyLWFscGhhLFxuICBsb3dlci1sYXRpbixcbiAgbG93ZXItcm9tYW4sXG4gIHVwcGVyLWFscGhhLFxuICB1cHBlci1sYXRpbixcbiAgdXBwZXItcm9tYW5cbikgIWRlZmF1bHQ7XG5cblxuLy8vIFN0eWxlIHR5cGUgZm9yIHVub3JkZXJlZCBMaXN0cywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZGBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0eWxlLXR5cGUtdW5vcmRlcmVkIFtdIFN0eWxlIHR5cGUgZm9yIHVub3JkZXJlZCBMaXN0c1xuQG1peGluIHN0eWxlLXR5cGUtdW5vcmRlcmVkKCRzdHlsZS10eXBlLXVub3JkZXJlZCkge1xuICBsaXN0LXN0eWxlLXR5cGU6ICRzdHlsZS10eXBlLXVub3JkZXJlZCAhaW1wb3J0YW50O1xufVxuXG4vLy8gU3R5bGUgdHlwZSBmb3Igb3JkZXJlZCBMaXN0cywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWRgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHlsZS10eXBlLW9yZGVyZWQgW10gU3R5bGUgdHlwZSBmb3Igb3JkZXJlZCBMaXN0c1xuQG1peGluIHN0eWxlLXR5cGUtb3JkZXJlZCgkc3R5bGUtdHlwZS1vcmRlcmVkKSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogJHN0eWxlLXR5cGUtb3JkZXJlZCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gbGlzdC11bm9yZGVyZWQge1xuICBAZWFjaCAkc3R5bGUtdHlwZS11bm9yZGVyZWQgaW4gJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZCB7XG4gICAgdWwubGlzdC0jeyRzdHlsZS10eXBlLXVub3JkZXJlZH0ge1xuICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS11bm9yZGVyZWQoJHN0eWxlLXR5cGUtdW5vcmRlcmVkKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRzdHlsZS10eXBlLXVub3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgdWwuI3skc2l6ZX0tbGlzdC0jeyRzdHlsZS10eXBlLXVub3JkZXJlZH0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLXVub3JkZXJlZCgkc3R5bGUtdHlwZS11bm9yZGVyZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbGlzdC1vcmRlcmVkIHtcbiAgQGVhY2ggJHN0eWxlLXR5cGUtb3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZCB7XG4gICAgb2wubGlzdC0jeyRzdHlsZS10eXBlLW9yZGVyZWR9IHtcbiAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtb3JkZXJlZCgkc3R5bGUtdHlwZS1vcmRlcmVkKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRzdHlsZS10eXBlLW9yZGVyZWQgaW4gJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBvbC4jeyRzaXplfS1saXN0LSN7JHN0eWxlLXR5cGUtb3JkZXJlZH0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLW9yZGVyZWQoJHN0eWxlLXR5cGUtb3JkZXJlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1saXN0LXN0eWxlLXR5cGUge1xuICBAaW5jbHVkZSBsaXN0LXVub3JkZXJlZDtcbiAgQGluY2x1ZGUgbGlzdC1vcmRlcmVkO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXJvdW5kZWRcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHJvdW5kZWQgdXRpbGl0eS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItcmFkaXVzYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKSAhZGVmYXVsdDtcblxuLy8vIFJvdW5kZWQgdXRpbGl0eSAoYWxsIGNvcm5lcnMpOiBBZGRzIHJhZGl1cyBjb3JuZXJzIChhbGwgY29ybmVycykgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmFkaXVzIFskcHJvdG90eXBlLWJvcmRlci1yYWRpdXNdIEJvcmRlciByYWRpdXMgKGFsbCBjb3JuZXJzKVxuQG1peGluIGJvcmRlci1yYWRpdXMoXG4gICRyYWRpdXM6ICRwcm90b3R5cGUtYm9yZGVyLXJhZGl1c1xuKSB7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbi8vLyBSb3VuZGVkIHNxdWFyZSB1dGlsaXR5IG9yIHJlY3RhbmdsZSB1dGlsaXR5IChhbGwgY29ybmVycyk6IFJvdW5kcyBhbGwgY29ybmVycyB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQgdG8gbWFrZSBhIHBpbGwgc2hhcGUuXG5AbWl4aW4gYm9yZGVyLXJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiA1MDAwcHggIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXJvdW5kZWQge1xuICAucm91bmRlZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJvdW5kZWQ7XG4gIH1cblxuICAucmFkaXVzIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1yb3VuZGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yb3VuZGVkO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuI3skc2l6ZX0tcmFkaXVzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYm9yZGVyZWRcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGJvcmRlcmVkIHV0aWxpdHkuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci13aWR0aGBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLXR5cGVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLWNvbG9yYCBkZWZhdWx0ZWQgdG8gYG1lZGl1bS1ncmF5YFxuLy8vIEB0eXBlIENvbG9yXG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyZWQgVXRpbGl0eTogQWRkcyBhIGxpZ2h0IGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJHByb3RvdHlwZS1ib3JkZXItd2lkdGhdIFdpZHRoIG9mIHRoZSBib3JkZXJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHR5cGUgWyRwcm90b3R5cGUtYm9yZGVyLXR5cGVdIFR5cGUgb2YgdGhlIGJvcmRlclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJHByb3RvdHlwZS1ib3JkZXItY29sb3JdIENvbG9yIG9mIHRoZSBib3JkZXJcbkBtaXhpbiBib3JkZXJlZChcbiAgJHdpZHRoOiAkcHJvdG90eXBlLWJvcmRlci13aWR0aCxcbiAgJHR5cGU6ICRwcm90b3R5cGUtYm9yZGVyLXR5cGUsXG4gICRjb2xvcjogJHByb3RvdHlwZS1ib3JkZXItY29sb3Jcbikge1xuICBib3JkZXI6ICR3aWR0aCAkdHlwZSAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXJlZCB7XG4gIC5ib3JkZXJlZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyZWQ7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1ib3JkZXJlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXJlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zaGFkb3dcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNoYWRvdyB1dGlsaXR5LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm94LXNoYWRvd2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxuICAgICAgICAgICAgICAgICAgICAgICAwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpICFkZWZhdWx0O1xuXG4vLy8gU2hhZG93IFV0aWxpdHk6IEFkZHMgYSBsaWdodCBib3ggc2hhZG93IHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNoYWRvdyBbJHByb3RvdHlwZS1ib3gtc2hhZG93XSBCb3ggU2hhZG93IG9mIGEgY29tcG9uZW50XG5AbWl4aW4gc2hhZG93KFxuICAkc2hhZG93OiAkcHJvdG90eXBlLWJveC1zaGFkb3dcbikge1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc2hhZG93IHtcbiAgLnNoYWRvdyB7XG4gICAgQGluY2x1ZGUgc2hhZG93O1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXNoYWRvdyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3c7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYXJyb3dcbi8vLy9cblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYGFycm93YCBkaXJlY3Rpb25cbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbikgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiB0aGUgQXJyb3csIGAwLjQzNzVyZW1gIGJ5IGRlZmF1bHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcblxuLy8vIENvbG9yIG9mIHRoZSBBcnJvdywgYCRibGFja2AgYnkgZGVmYXVsdC5cbi8vLyBAdHlwZSBDb2xvclxuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYXJyb3cge1xuICBAZWFjaCAkcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbiBpbiAkcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnMge1xuICAgIC5hcnJvdy0jeyRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9ufSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoXG4gICAgICAgICRwcm90b3R5cGUtYXJyb3ctc2l6ZSwgXG4gICAgICAgICRwcm90b3R5cGUtYXJyb3ctY29sb3IsIFxuICAgICAgICAkcHJvdG90eXBlLWFycm93LWRpcmVjdGlvblxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zZXBhcmF0b3Jcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFsaWdubWVudCBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVG9wIE1hcmdpbiBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGl0bGUgc2VwYXJhdG9yIFV0aWxpdHksIG1vc3RseSB1c2VkIHRvIHN0eWxlIHRoZSBtYWluIGhlYWRpbmcgb2YgYSBzZWN0aW9uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRhbGlnbiBbJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ25dIC0gc2VwYXJhdG9yIEFsaWdubWVudFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFskcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHRdIC0gV2lkdGhcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aF0gLSBIZWlnaHRcbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgWyRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3BdIC0gTWFyZ2luIFRvcFxuQG1peGluIHNlcGFyYXRvciAoXG4gICRhbGlnbjogJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ24sXG4gICRoZWlnaHQ6ICRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodCxcbiAgJHdpZHRoOiAkcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aCxcbiAgJGJhY2tncm91bmQ6ICRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQsXG4gICR0b3A6ICRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3Bcbikge1xuICB0ZXh0LWFsaWduOiAkYWxpZ24gIWltcG9ydGFudDtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlKTtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGJhY2tncm91bmQ7XG4gICAgbWFyZ2luOiAkdG9wIGF1dG8gMDtcblxuICAgIEBpZiAkYWxpZ24gPT0gbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpZiAkYWxpZ24gPT0gcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zZXBhcmF0b3Ige1xuXHQuc2VwYXJhdG9yLWNlbnRlciB7XG5cdFx0QGluY2x1ZGUgc2VwYXJhdG9yKGNlbnRlcik7XG5cdH1cblxuICAuc2VwYXJhdG9yLWxlZnQge1xuICAgIEBpbmNsdWRlIHNlcGFyYXRvcihsZWZ0KTtcbiAgfVxuXG4gIC5zZXBhcmF0b3ItcmlnaHQge1xuICAgIEBpbmNsdWRlIHNlcGFyYXRvcihyaWdodCk7XG4gIH1cblxuXHRAaWYgKCRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tc2VwYXJhdG9yLWNlbnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IoY2VudGVyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXNlcGFyYXRvci1sZWZ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlcGFyYXRvcihsZWZ0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXNlcGFyYXRvci1yaWdodCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IocmlnaHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXBvc2l0aW9uXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwb3NpdGlvbiBoZWxwZXJzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBwb3NpdGlvbmAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbikgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBmaXhlZCBwb3NpdGlvbmluZ1xuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzUgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbiBjbGFzc2VzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXBvc2l0aW9uYCwgd2hlcmVhcyBhbGwgdGhlIG9mZnNldCB2YWx1ZXMgYXJlIG11bHRpcGxpZWQgYnkgYCRnbG9iYWwtcG9zaXRpb25gIHdoaWNoIGJ5IGRlZmF1bHQgaXMgZXF1YWwgdG8gYDFyZW1gLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcG9zaXRpb24gW10gUG9zaXRpb24gY2xhc3NlcywgRWl0aGVyIGBzdGF0aWNgLCBgcmVsYXRpdmVgLCBgYWJzb2x1dGVgIG9yIGBmaXhlZGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBUb3Agb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBSaWdodCBvZmZzZXRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBCb3R0b20gb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIExlZnQgb2Zmc2V0XG5AbWl4aW4gcG9zaXRpb24oXG4gICRwb3NpdGlvbixcbiAgJHRvcDogbnVsbCxcbiAgJHJpZ2h0OiBudWxsLFxuICAkYm90dG9tOiBudWxsLFxuICAkbGVmdDogbnVsbFxuKSB7XG4gIHBvc2l0aW9uOiAkcG9zaXRpb24gIWltcG9ydGFudDtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgdG9wOiAkdG9wICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkcmlnaHQgIT0gbnVsbCB7XG4gICAgcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBib3R0b206ICRib3R0b20gKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIGxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBQb3NpdGlvbiBGaXhlZCBvbiB0b3AgY29ybmVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkei1pbmRleCBbJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XSB6LWluZGV4IGZvciBgcG9zaXRpb24tZml4ZWQtdG9wYFxuQG1peGluIHBvc2l0aW9uLWZpeGVkLXRvcChcbiAgJHotaW5kZXg6ICRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleFxuKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwLCAwLCBudWxsLCAwKTtcbiAgei1pbmRleDogJHotaW5kZXg7XG59XG5cbi8vLyBQb3NpdGlvbiBGaXhlZCBvbiBib3R0b20gY29ybmVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkei1pbmRleCBbJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XSB6LWluZGV4IGZvciBgcG9zaXRpb24tZml4ZWQtYm90dG9tYFxuQG1peGluIHBvc2l0aW9uLWZpeGVkLWJvdHRvbShcbiAgJHotaW5kZXg6ICRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleFxuKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCBudWxsLCAwLCAwLCAwKTtcbiAgei1pbmRleDogJHotaW5kZXg7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1wb3NpdGlvbiB7XG4gIC8vIFBvc2l0aW9uOiBTdGF0aWMsIFJlbGF0aXZlLCBGaXhlZCwgQWJzb2x1dGVcbiAgQGVhY2ggJHBvc2l0aW9uIGluICRwcm90b3R5cGUtcG9zaXRpb24ge1xuICAgIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oJHBvc2l0aW9uKTtcbiAgICB9XG4gIH1cblxuICAvLyBQb3NpdGlvbjogRml4ZWQgVG9wLCBGaXhlZCBCb3R0b21cbiAgLnBvc2l0aW9uLWZpeGVkLXRvcCB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtdG9wO1xuICB9XG4gIC5wb3NpdGlvbi1maXhlZC1ib3R0b20ge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLWJvdHRvbTtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIC8vIFBvc2l0aW9uOiBTdGF0aWMsIFJlbGF0aXZlLCBGaXhlZCwgQWJzb2x1dGVcbiAgICAgICAgQGVhY2ggJHBvc2l0aW9uIGluICRwcm90b3R5cGUtcG9zaXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oJHBvc2l0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQb3NpdGlvbjogRml4ZWQgVG9wLCBGaXhlZCBCb3R0b21cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tZml4ZWQtdG9wIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLXRvcDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tZml4ZWQtYm90dG9tIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLWJvdHRvbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1vdmVyZmxvd1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igb3ZlcmZsb3cgaGVscGVyIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYG92ZXJmbG93YCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pICFkZWZhdWx0O1xuXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1vdmVyZmxvd2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG92ZXJmbG93IFtdIE92ZXJmbG93IGNsYXNzZXNcbkBtaXhpbiBvdmVyZmxvdygkb3ZlcmZsb3cpIHtcbiAgb3ZlcmZsb3c6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xufVxuXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcyBvbiBob3Jpem9udGFsIGF4aXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzIChob3Jpem9udGFsIGF4aXMpXG5AbWl4aW4gb3ZlcmZsb3cteCgkb3ZlcmZsb3cpIHtcbiAgb3ZlcmZsb3cteDogJG92ZXJmbG93ICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBPdmVyZmxvdyBjbGFzc2VzIG9uIHZlcnRpY2FsIGF4aXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzICh2ZXJ0aWNhbCBheGlzKVxuQG1peGluIG92ZXJmbG93LXkoJG92ZXJmbG93KSB7XG4gIG92ZXJmbG93LXk6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtb3ZlcmZsb3cge1xuICBAZWFjaCAkb3ZlcmZsb3cgaW4gJHByb3RvdHlwZS1vdmVyZmxvdyB7XG4gICAgLm92ZXJmbG93LSN7JG92ZXJmbG93fSB7XG4gICAgICBAaW5jbHVkZSBvdmVyZmxvdygkb3ZlcmZsb3cpO1xuICAgIH1cbiAgICAub3ZlcmZsb3cteC0jeyRvdmVyZmxvd30ge1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteCgkb3ZlcmZsb3cpO1xuICAgIH1cbiAgICAub3ZlcmZsb3cteS0jeyRvdmVyZmxvd30ge1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteSgkb3ZlcmZsb3cpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRvdmVyZmxvdyBpbiAkcHJvdG90eXBlLW92ZXJmbG93IHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LW92ZXJmbG93LSN7JG92ZXJmbG93fSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG92ZXJmbG93KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3cteC0jeyRvdmVyZmxvd30ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvdmVyZmxvdy14KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3cteS0jeyRvdmVyZmxvd30ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvdmVyZmxvdy15KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtZGlzcGxheVxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgZGlzcGxheSBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYGRpc3BsYXlgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGlzcGxheSBjbGFzc2VzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLWRpc3BsYXlgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IFtdIERpc3BsYXkgY2xhc3Nlc1xuQG1peGluIGRpc3BsYXkoJGRpc3BsYXkpIHtcbiAgZGlzcGxheTogJGRpc3BsYXkgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWRpc3BsYXkge1xuICBAZWFjaCAkZGlzcGxheSBpbiAkcHJvdG90eXBlLWRpc3BsYXkge1xuICAgIC5kaXNwbGF5LSN7JGRpc3BsYXl9IHtcbiAgICAgIEBpbmNsdWRlIGRpc3BsYXkoJGRpc3BsYXkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJGRpc3BsYXkgaW4gJHByb3RvdHlwZS1kaXNwbGF5IHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LWRpc3BsYXktI3skZGlzcGxheX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBkaXNwbGF5KCRkaXNwbGF5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1ib3JkZXItYm94XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBib3JkZXIgYm94LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYm94IHV0aWxpdHlcbkBtaXhpbiBib3JkZXItYm94IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyLWJveCB7XG4gIC5ib3JkZXItYm94IHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm94O1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1ib3JkZXItYm94IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3g7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYm9yZGVyLW5vbmVcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGJvcmRlciBub25lLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIG5vbmUgdXRpbGl0eVxuQG1peGluIGJvcmRlci1ub25lIHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXItbm9uZSB7XG4gIC5ib3JkZXItbm9uZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLW5vbmU7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1ib3JkZXItbm9uZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zaXppbmdcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNwYWNpbmcgY2xhc3NlcyAobWFyZ2luIGFuZCBwYWRkaW5nKVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHNpemluZ2AgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKSAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgc2l6ZXMuXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKSAhZGVmYXVsdDtcblxuLy8vIE1heCBXaWR0aCAxMDAgdXRpbGl0eS5cbkBtaXhpbiBtYXgtd2lkdGgtMTAwIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBNYXggSGVpZ2h0IDEwMCB1dGlsaXR5LlxuQG1peGluIG1heC1oZWlnaHQtMTAwIHtcbiAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc2l6aW5nIHtcbiAgLy8gRWxlbWVudCBTaXppbmdcbiAgQGVhY2ggJHNpemluZyBpbiAkcHJvdG90eXBlLXNpemluZyB7XG4gICAgQGVhY2ggJGxlbmd0aCwgJHBlcmNlbnRhZ2UgaW4gJHByb3RvdHlwZS1zaXplcyB7XG4gICAgICAuI3skc2l6aW5nfS0jeyRsZW5ndGh9IHtcbiAgICAgICAgI3skc2l6aW5nfTogJHBlcmNlbnRhZ2UgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNYXggd2lkdGggJiBoZWlnaHRcbiAgLm1heC13aWR0aC0xMDAge1xuICAgIEBpbmNsdWRlIG1heC13aWR0aC0xMDA7XG4gIH1cbiAgLm1heC1oZWlnaHQtMTAwIHtcbiAgICBAaW5jbHVkZSBtYXgtaGVpZ2h0LTEwMDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIEBlYWNoICRzaXppbmcgaW4gJHByb3RvdHlwZS1zaXppbmcge1xuICAgICAgICAgICAgQGVhY2ggJGxlbmd0aCwgJHBlcmNlbnRhZ2UgaW4gJHByb3RvdHlwZS1zaXplcyB7XG4gICAgICAgICAgICAgIC4jeyRzaXplfS0jeyRzaXppbmd9LSN7JGxlbmd0aH0ge1xuICAgICAgICAgICAgICAgICN7JHNpemluZ306ICRwZXJjZW50YWdlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zcGFjaW5nXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzcGFjaW5nIGNsYXNzZXMgKG1hcmdpbiBhbmQgcGFkZGluZylcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBudW1iZXIgb2Ygc3BhY2VycyBjb3VudCAobWFyZ2luIGFuZCBwYWRkaW5nKVxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGhlbHBlciBtaXhpbiwgYWxsIHRoZSB2YWx1ZXMgYXJlIG11bHRpcGxpZWQgYnkgYCRnbG9iYWwtbWFyZ2luYCB3aGljaCBieSBkZWZhdWx0IGlzIGVxdWFsIHRvIGAxcmVtYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFtudWxsXSAtIE1hcmdpbiBUb3Bcbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpZ2h0IFtudWxsXSAtIE1hcmdpbiBSaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYm90dG9tIFtudWxsXSAtIE1hcmdpbiBCb3R0b21cbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQgW251bGxdIC0gTWFyZ2luIExlZnRcbkBtaXhpbiBtYXJnaW4oXG4gICR0b3A6IG51bGwsXG4gICRyaWdodDogbnVsbCxcbiAgJGJvdHRvbTogbnVsbCxcbiAgJGxlZnQ6IG51bGxcbikge1xuICBAaWYgJHRvcCAhPSBudWxsIHtcbiAgICBtYXJnaW4tdG9wOiAkdG9wICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJHJpZ2h0ICE9IG51bGwge1xuICAgIG1hcmdpbi1yaWdodDogJHJpZ2h0ICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYm90dG9tICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGxlZnQgIT0gbnVsbCB7XG4gICAgbWFyZ2luLWxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gUGFkZGluZyBoZWxwZXIgbWl4aW4sIGFsbCB0aGUgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLXBhZGRpbmdgIHdoaWNoIGJ5IGRlZmF1bHQgaXMgZXF1YWwgdG8gYDFyZW1gXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgW251bGxdIC0gUGFkZGluZyBUb3Bcbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpZ2h0IFtudWxsXSAtIFBhZGRpbmcgUmlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBQYWRkaW5nIEJvdHRvbVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGVmdCBbbnVsbF0gLSBQYWRkaW5nIExlZnRcbkBtaXhpbiBwYWRkaW5nKFxuICAkdG9wOiBudWxsLFxuICAkcmlnaHQ6IG51bGwsXG4gICRib3R0b206IG51bGwsXG4gICRsZWZ0OiBudWxsXG4pIHtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgcGFkZGluZy10b3A6ICR0b3AgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJHJpZ2h0ICE9IG51bGwge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkYm90dG9tICE9IG51bGwge1xuICAgIHBhZGRpbmctYm90dG9tOiAkYm90dG9tICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIHBhZGRpbmctbGVmdDogJGxlZnQgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc3BhY2luZyB7XG4gIEBmb3IgJHNwYWNlciBmcm9tIDAgdGhyb3VnaCAkcHJvdG90eXBlLXNwYWNlcnMtY291bnQge1xuICAgIC8vIEFsbCBTaWRlc1xuICAgIC5tYXJnaW4tI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlcik7XG4gICAgfVxuXG4gICAgLnBhZGRpbmctI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKCRzcGFjZXIsICRzcGFjZXIsICRzcGFjZXIsICRzcGFjZXIpO1xuICAgIH1cblxuICAgIC8vIFRvcCBTaWRlXG4gICAgLm1hcmdpbi10b3AtI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oJHNwYWNlciwgbnVsbCwgbnVsbCwgbnVsbCk7XG4gICAgfVxuXG4gICAgLnBhZGRpbmctdG9wLSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZygkc3BhY2VyLCBudWxsLCBudWxsLCBudWxsKTtcbiAgICB9XG5cbiAgICAvLyBSaWdodCBTaWRlXG4gICAgLm1hcmdpbi1yaWdodC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbihudWxsLCAkc3BhY2VyLCBudWxsLCBudWxsKTtcbiAgICB9XG5cbiAgICAucGFkZGluZy1yaWdodC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCwgJHNwYWNlciwgbnVsbCwgbnVsbCk7XG4gICAgfVxuXG4gICAgLy8gQm90dG9tIFNpZGVcbiAgICAubWFyZ2luLWJvdHRvbS0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbihudWxsLCBudWxsLCAkc3BhY2VyLCBudWxsKTtcbiAgICB9XG5cbiAgICAucGFkZGluZy1ib3R0b20tI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKG51bGwsIG51bGwsICRzcGFjZXIsIG51bGwpO1xuICAgIH1cblxuICAgIC8vIExlZnQgU2lkZVxuICAgIC5tYXJnaW4tbGVmdC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbihudWxsLCBudWxsLCBudWxsLCAkc3BhY2VyKTtcbiAgICB9XG5cbiAgICAucGFkZGluZy1sZWZ0LSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsLCBudWxsLCBudWxsLCAkc3BhY2VyKTtcbiAgICB9XG5cbiAgICAvLyBIb3Jpem9udGFsIEF4ZXNcbiAgICAubWFyZ2luLWhvcml6b250YWwtI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCwgJHNwYWNlciwgbnVsbCwgJHNwYWNlcik7XG4gICAgfVxuXG4gICAgLnBhZGRpbmctaG9yaXpvbnRhbC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCwgJHNwYWNlciwgbnVsbCwgJHNwYWNlcik7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgQXhlc1xuICAgIC5tYXJnaW4tdmVydGljYWwtI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oJHNwYWNlciwgbnVsbCwgJHNwYWNlciwgbnVsbClcbiAgICB9XG5cbiAgICAucGFkZGluZy12ZXJ0aWNhbC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcoJHNwYWNlciwgbnVsbCwgJHNwYWNlciwgbnVsbClcbiAgICB9XG5cbiAgICBAaWYgKCRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAvLyBBbGwgU2lkZXNcbiAgICAgICAgICAgIC4jeyRzaXplfS1tYXJnaW4tI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbigkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLiN7JHNpemV9LXBhZGRpbmctI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmcoJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFRvcCBTaWRlXG4gICAgICAgICAgICAuI3skc2l6ZX0tbWFyZ2luLXRvcC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luKCRzcGFjZXIsIG51bGwsIG51bGwsIG51bGwpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuI3skc2l6ZX0tcGFkZGluZy10b3AtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmcoJHNwYWNlciwgbnVsbCwgbnVsbCwgbnVsbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFJpZ2h0IFNpZGVcbiAgICAgICAgICAgIC4jeyRzaXplfS1tYXJnaW4tcmlnaHQtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbihudWxsLCAkc3BhY2VyLCBudWxsLCBudWxsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLiN7JHNpemV9LXBhZGRpbmctcmlnaHQtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCwgJHNwYWNlciwgbnVsbCwgbnVsbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEJvdHRvbSBTaWRlXG4gICAgICAgICAgICAuI3skc2l6ZX0tbWFyZ2luLWJvdHRvbS0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwsIG51bGwsICRzcGFjZXIsIG51bGwpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuI3skc2l6ZX0tcGFkZGluZy1ib3R0b20tI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCwgbnVsbCwgJHNwYWNlciwgbnVsbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIExlZnQgU2lkZVxuICAgICAgICAgICAgLiN7JHNpemV9LW1hcmdpbi1sZWZ0LSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCwgbnVsbCwgbnVsbCwgJHNwYWNlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC4jeyRzaXplfS1wYWRkaW5nLWxlZnQtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCwgbnVsbCwgbnVsbCwgJHNwYWNlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEhvcml6b250YWwgQXhlc1xuICAgICAgICAgICAgLiN7JHNpemV9LW1hcmdpbi1ob3Jpem9udGFsLSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCwgJHNwYWNlciwgbnVsbCwgJHNwYWNlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC4jeyRzaXplfS1wYWRkaW5nLWhvcml6b250YWwtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCwgJHNwYWNlciwgbnVsbCwgJHNwYWNlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFZlcnRpY2FsIEF4ZXNcbiAgICAgICAgICAgIC4jeyRzaXplfS1tYXJnaW4tdmVydGljYWwtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbigkc3BhY2VyLCBudWxsLCAkc3BhY2VyLCBudWxsKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuI3skc2l6ZX0tcGFkZGluZy12ZXJ0aWNhbC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZygkc3BhY2VyLCBudWxsLCAkc3BhY2VyLCBudWxsKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0Jykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0JywgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEgeyBcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCIkLXpmLWZsZXgtanVzdGlmeTogKFxuICAnbGVmdCc6IGZsZXgtc3RhcnQsXG4gICdyaWdodCc6IGZsZXgtZW5kLFxuICAnY2VudGVyJzogY2VudGVyLFxuICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4pO1xuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwidXRmLThcIjtcbi8qKlxuICogbGF5b3V0LnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG5cbmJvZHkge1xuXHQmLmlzLXJldmVhbC1vcGVuIHtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHR9XG59XG5cbi8vcCB7XG5cdC8vaHlwaGVuczogYXV0bztcblx0Ly90ZXh0LWFsaWduOiBqdXN0aWZ5O1xuLy99XG5cbi8vaHRtbCxcbi8vYm9keSxcbi8vLm9mZi1jYW52YXMtd3JhcHBlciB7XG4vLyAgaGVpZ2h0OiAxMDAlO1xuLy99XG4vL1xuLm9mZi1jYW52YXMge1xuICAvL292ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuXHRiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXHR6LWluZGV4OiAxO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCYuaXMtb3Blbi10b3Age1xuXHRcdGZpbHRlcjogYmx1cig1cHgpO1xuXHR9XG59XG4gXG4ubWFpbiB7XG5cdC8vZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdC8vb3ZlcmZsb3c6IGF1dG87XG5cdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1NSk7XG5cblx0aDEge1xuXHRcdC5jaS1ibHVlICYge1xuXHRcdFx0Y29sb3I6IGNvbG9yKGNpLWJsdWUpO1xuXHRcdH1cblx0XHQuY2ktZ3JlZW4gJiB7XG5cdFx0XHRjb2xvcjogY29sb3IoY2ktZ3JlZW4pO1xuXHRcdH1cblx0XHQuY2ktZ3JleSAmIHtcblx0XHRcdGNvbG9yOiBjb2xvcihjaS1ncmV5KTtcblx0XHR9XG5cdH1cblx0XG5cdCZfX2NvbnRlbnQge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcblx0XHQvL3BhZGRpbmctbGVmdDogcmVtLWNhbGMoNDApO1xuXG5cdFx0Ji13cmFwIHtcblx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXHRcdH1cblxuXG5cdFx0Lm5ld3MtaW1nLXdyYXAge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG5cdFx0fVxuXHR9XG5cblx0Jl9faGVhZGVyIHtcblx0XHQrIC5tYWluX19jb250ZW50LXdyYXAge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG5cdH1cbn1cblxuLmJ1dHRvbiwgYnV0dG9uIHtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuc3Ryb25nIHtcblx0Ly9mb250LWZhbWlseTogXCJcIjtcbn1cblxuLmNvbnRhY3Qge1xuXHQmLWNvbHMge1xuXHRcdHRkIHtcblx0XHRcdCsgdGQge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEwKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLnJvdyB7XG5cdCYtLWdyaWQge1xuXHRcdC5jb2x1bW4ge1xuXG5cdFx0fVxuXHR9XG5cblx0Ji0tYmxvZyB7XG5cdFx0KyAucm93IHtcblx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcblx0XHR9XG5cdH1cbn1cblxuLmNvbHVtbiB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmLmFydGljbGUge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcblx0fVxufVxuXG4ubmF2IHtcblx0Ji1maWx0ZXIge1xuXHRcdEBpbmNsdWRlIG5vLWJ1bGxldHM7XG5cdFx0bWFyZ2luOiByZW0tY2FsYygwIDAgMjApO1xuXG5cdFx0Jixcblx0XHRsaSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0XHRcdGxpIHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uc2VhcmNoLWZpbHRlciB7XG5cdCZfX2xpc3Qge1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdH1cblx0Jl9faXRlbSB7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXHQmX19sYWJlbCB7XG5cdFx0Y29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cdH1cbn1cblxuXG5cbi5oaXQsXG4uc2VhcmNocGhyYXNlIHtcblx0Y29sb3I6IGNvbG9yKGNpKTtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLnNlYXJjaC10b3Age1xuXHRvcGFjaXR5OiAwO1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cblx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTMpO1xuXG5cdGlucHV0LFxuXHRidXR0b24ge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHR9XG5cblx0aW5wdXQge1xuXHRcdG1heC13aWR0aDogcmVtLWNhbGMoMzY4KTtcblx0XHRtaW4td2lkdGg6IHJlbS1jYWxjKDI4NSk7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDAgNyk7XG5cdFx0aGVpZ2h0OiByZW0tY2FsYygzNSk7XG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM1KTtcblx0fVxuXG5cdGJ1dHRvbiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogY29sb3IoYnV0dG9uLWZpbHRlci1ib3JkZXIpICFpbXBvcnRhbnQ7XG5cdFx0Y29sb3I6IGNvbG9yKGZvb3Rlci1ib3R0b20tdGV4dCkgIWltcG9ydGFudDtcblx0fVxuXHQmLS1hY3RpdmUgJiB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHR9XG59XG5cbi5pY29uLS1zZWFyY2gsXG4uc2VhcmNoLXRvcCB7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLmljb24tLXNlYXJjaCB7XG5cdC5zZWFyY2gtdG9wLS1hY3RpdmUgJiB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdH1cbn1cblxuLmljb24tLWJ1cmdlciB7XG5cdG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg2KVxufVxuXG4uY29va2llLWRpc2NsYWltZXIge1xuXHRiYWNrZ3JvdW5kOiBjb2xvcihuYXYtc3ViLWJnKTtcblx0ei1pbmRleDogMTA7XG5cblx0cGFkZGluZzogcmVtLWNhbGMoMjApO1xuXG5cdGxpbmUtaGVpZ2h0OiAxLjE7XG5cblx0cCB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGZvbnQtc2l6ZTogMC45cmVtO1xuXHR9XG5cblx0LmJ1dHRvbiB7XG5cdFx0bWFyZ2luOiByZW0tY2FsYygtOSAwIDApO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbSBvbmx5KSB7XG5cdFx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygxKTtcblx0XHR9XG5cdH1cbn1cblxuLmNvbnRlbnQtc3ViLWhlYWRlcl9faGVhZGxpbmUsXG4ubmF2LW1haW4gLmFjdGl2ZSBhLFxuLm5hdi1tYWluIC5hY3RpdmUgc3BhbixcbnNwYW4uY29sb3JlZCB7XG5cdGNvbG9yOiBjb2xvcihjaSk7XG5cblx0LmNpLWJsdWUgJiB7XG5cdFx0Y29sb3I6IGNvbG9yKGNpLWJsdWUpICFpbXBvcnRhbnQ7XG5cdH1cblx0LmNpLWdyZWVuICYge1xuXHRcdGNvbG9yOiBjb2xvcihjaS1ncmVlbikgIWltcG9ydGFudDtcblx0fVxuXHQuY2ktZ3JleSAmIHtcblx0XHRjb2xvcjogY29sb3IoY2ktZ3JleSkgIWltcG9ydGFudDtcblx0fVxufVxuXG4uY29udGVudC1oZWFkZXJfX2hlYWRsaW5lIC5oZWFkbGluZSB7XG5cdC5jaS1ibHVlICYge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNpLWJsdWUpICFpbXBvcnRhbnQ7XG5cdH1cblx0LmNpLWdyZWVuICYge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNpLWdyZWVuKSAhaW1wb3J0YW50O1xuXHR9XG5cdC5jaS1ncmV5ICYge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNpLWdyZXkpICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuLm1haW4ge1xuXHRhIC5ib3hfX2hlYWRsaW5lOmFmdGVyLFxuXHRhOm5vdCguYm94KTpub3QoLmJ1dHRvbikge1xuXHRcdC5jaS1ibHVlICYge1xuXHRcdFx0Y29sb3I6IGNvbG9yKGNpLWJsdWUpO1xuXHRcdH1cblx0XHQuY2ktZ3JlZW4gJiB7XG5cdFx0XHRjb2xvcjogY29sb3IoY2ktZ3JlZW4pO1xuXHRcdH1cblx0XHQuY2ktZ3JleSAmIHtcblx0XHRcdGNvbG9yOiBjb2xvcihjaS1ncmV5KTtcblx0XHR9XG5cdH1cbn1cbi5jaS1ibHVlIC5idXR0b246bm90KC5jdGEpe1xuXHRiYWNrZ3JvdW5kOiBjb2xvcihjaS1ibHVlKTtcbn1cbi5jaS1ncmVlbiAuYnV0dG9uOm5vdCguY3RhKXtcblx0YmFja2dyb3VuZDogY29sb3IoY2ktZ3JlZW4pO1xufVxuLmNpLWdyZXkgLmJ1dHRvbjpub3QoLmN0YSl7XG5cdGJhY2tncm91bmQ6IGNvbG9yKGNpLWdyZXkpO1xufVxuXG4uZmlsdGVyLWdyaWQge1xuXHRAaW5jbHVkZSBncmlkLWxheW91dCgxLCAnLm1vZHVsZScsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuXG5cdD4gLm1vZHVsZSB7XG5cdCAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuXHQgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG5cdCAgfVxuXHR9XG59XG5cbi5ncmlkIHtcblx0PiAuY29sdW1uIHtcblx0ICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG5cdCAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcblx0ICB9XG5cdH1cbn1cblxuLmFzaWRlIHtcblx0PiBkaXYge1xuXHQgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcblx0ICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuXHQgIH1cblx0fVxufVxuXG50Ym9keSB7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cblxudGZvb3QsIHRoZWFkLCB0Ym9keSB0ciB7XG5cdGJvcmRlci13aWR0aDogMXB4IDA7XG59XG5cbnRoZWFkIHtcblx0Ym9yZGVyLXRvcDogMnB4IHNvbGlkIGNvbG9yKGNpKTtcblxuXHR0aCB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG59XG5cbnRib2R5IHRyIHtcbiAgJjpsYXN0LWNoaWxkIHtcblx0Ym9yZGVyLXdpZHRoOiAwO1xuICB9XG59XG5cbi5mbGV4LWNvbHVtbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5uZXdzLXNpbmdsZSB7XG5cdG1hcmdpbi10b3A6IHJlbS1jYWxjKC0zMCk7XG59XG5cbi5yZXN1bHQtdXJsIHtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoc20gb25seSkge1xuXHQvL2h0bWwsXG5cdC8vYm9keSB7XG5cdC8vICBmb250LXNpemU6IDgwJTtcblx0Ly99XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcblx0Lm1haW4ge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuXG5cdFx0Jl9fY29udGVudCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG5cdFx0XHQvL3BhZGRpbmctbGVmdDogcmVtLWNhbGMoNDApO1xuXHRcdH1cblx0fVxuXG5cdC5maWx0ZXItZ3JpZCA+IC5tb2R1bGUge1xuXHRcdHdpZHRoOiA1MCU7XG5cdH1cblxuXHQ6dGFyZ2V0IHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OlwiXCI7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0aGVpZ2h0OiByZW0tY2FsYyg3NSk7XG5cdFx0XHRtYXJnaW46IHJlbS1jYWxjKC03NSAwIDApO1xuXHRcdH1cblx0fVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KGxnKSB7XG5cdC5maWx0ZXItZ3JpZCA+IC5tb2R1bGUge1xuXHRcdHdpZHRoOiAzMy4zMzMzMyU7XG5cdH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCh4bCkge1xuXHQuZmlsdGVyLWdyaWQgPiAubW9kdWxlIHtcblx0XHR3aWR0aDogMjUlO1xuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4ge1xuXG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jb2x1bW4nXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGd1dHRlclxuLy8vICAgVGhlIGd1dHRlciB0byBhcHBseSB0byBjaGlsZCBlbGVtZW50cy4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtICRncmlkLWNvbHVtbi1ndXR0ZXIgd2lsbCB1c2UgdGhlIHZhbHVlcyBpbiB0aGUgJGdyaWQtY29sdW1uLWd1dHRlciBtYXAsIGluY2x1ZGluZyBicmVha3BvaW50IHNpemVzLlxuLy8vICAgLSBBIGZpeGVkIG51bWVyaWMgdmFsdWUgd2lsbCBhcHBseSB0aGlzIGd1dHRlciB0byBhbGwgYnJlYWtwb2ludHMuXG5AbWl4aW4gZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJyxcbiAgJGd1dHRlcjogbnVsbFxuKSB7XG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICAvLyBJZiBhICRndXR0ZXIgdmFsdWUgaXMgcGFzc2VkXG4gICAgQGlmKCRndXR0ZXIpIHtcbiAgICAgIC8vIEd1dHRlcnNcbiAgICAgIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCRndXR0ZXIpID4gMCB7XG4gICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoI3skbn1uKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBleHRyYSBDU1MgdG8gYmxvY2sgZ3JpZCBjaGlsZHJlbiBzbyB0aGUgbGFzdCBpdGVtcyBpbiB0aGUgcm93IGNlbnRlciBhdXRvbWF0aWNhbGx5LiBBcHBseSB0aGlzIHRvIHRoZSBjb2x1bW5zLCBub3QgdGhlIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBpdGVtcyB0aGF0IGFwcGVhciBpbiBlYWNoIHJvdy5cbkBtaXhpbiBncmlkLWxheW91dC1jZW50ZXItbGFzdCgkbikge1xuICBAZm9yICRpIGZyb20gMSB0byAkbiB7XG4gICAgQGlmICRpID09IDEge1xuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuLyoqXG4gKiB0eXBvLnNjc3NcbiAqXG4gKiBZb3VyIGRlc2NyaXB0aW9uXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cDovL3d3dy5zaG9ydC1jdXRzLmRlXG4gKlxuICogRGF0ZTogMjAxNi0xMi0zMVxuICogQXV0aG9yOiBLYWkgU2VsaWdlciAoaGVsbG9AeWVzam9hci5jb20pXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBXZWJmb250c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8vQGZvbnQtZmFjZSB7XG4vLyAgZm9udC1mYW1pbHk6IFwiRElOIFByb1wiO1xuLy8gIC8vc3JjOiB1cmwoXCIuLi9mb250cy9ESU5PZmZjUHJvLmVvdFwiKTtcbi8vICAvL3NyYzogdXJsKFwiLi4vZm9udHMvRElOT2ZmY1Byby5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuLy8gIC8vdXJsKFwiLi4vZm9udHMvRElOT2ZmY1Byby53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXG4vLyAgc3JjOiB1cmwoXCIuLi9mb250cy9ESU5PZmZjUHJvLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbi8vICAvL3VybChcIi4uL2ZvbnRzL0RJTk9mZmNQcm8uc3ZnXCIpIGZvcm1hdChcInN2Z1wiKTtcbi8vICBmb250LXdlaWdodDogbm9ybWFsO1xuLy8gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbi8vfVxuLy9cbi8vQGZvbnQtZmFjZSB7XG4vLyAgZm9udC1mYW1pbHk6IFwiRElOIFBybyBCb2xkXCI7XG4vLyAgLy9zcmM6IHVybChcIi4uL2ZvbnRzL0RJTk9mZmNQcm8uZW90XCIpO1xuLy8gIC8vc3JjOiB1cmwoXCIuLi9mb250cy9ESU5PZmZjUHJvLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4vLyAgLy91cmwoXCIuLi9mb250cy9ESU5PZmZjUHJvLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcbi8vICBzcmM6IHVybChcIi4uL2ZvbnRzL0RJTk9mZmNQcm8tQm9sZC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG4vLyAgLy91cmwoXCIuLi9mb250cy9ESU5PZmZjUHJvLnN2Z1wiKSBmb3JtYXQoXCJzdmdcIik7XG4vLyAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbi8vICBmb250LXN0eWxlOiBub3JtYWw7XG4vL31cbi8vQGZvbnQtZmFjZSB7XG4vLyAgZm9udC1mYW1pbHk6IFwiRElOIFBybyBMaWdodFwiO1xuLy8gIC8vc3JjOiB1cmwoXCIuLi9mb250cy9ESU5PZmZjUHJvLmVvdFwiKTtcbi8vICAvL3NyYzogdXJsKFwiLi4vZm9udHMvRElOT2ZmY1Byby5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuLy8gIC8vdXJsKFwiLi4vZm9udHMvRElOT2ZmY1Byby53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXG4vLyAgc3JjOiB1cmwoXCIuLi9mb250cy9ESU5PZmZjUHJvLUxpZ2h0LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbi8vICAvL3VybChcIi4uL2ZvbnRzL0RJTk9mZmNQcm8uc3ZnXCIpIGZvcm1hdChcInN2Z1wiKTtcbi8vICBmb250LXdlaWdodDogbm9ybWFsO1xuLy8gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbi8vfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgR2xvYmFsIFR5cG8gU3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5oMSxcbi5oMSB7XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdGNvbG9yOiBjb2xvcihjaSk7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc20pIHtcblxuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuXG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxnKSB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYyg0OCk7XG5cdH1cbn1cblxuaDIsXG4uaDIge1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGcpIHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDM2KTtcblx0fVxufVxuXG5oMyxcbi5oMyB7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsZykge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuXHR9XG59XG5cbmg0LFxuLmg0IHtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxnKSB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMik7XG5cdH1cbn1cblxuaDUsXG4uaDUge1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsZykge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuXHR9XG59XG5cbi5sZWFkIHtcblx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuXHRmb250LXdlaWdodDogNzAwO1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG5cblx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsZykge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuXHR9XG59XG5cbnAge1xufVxuXG4ucmV2ZWFsLFxuLm1haW5fX2NvbnRlbnQtd3JhcCB7XG5cblx0dWwge1xuXHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0XHRtYXJnaW4tbGVmdDogMDtcblxuXHRcdGxpIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMTVweDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiAnwrsnO1xuXHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogcmVtLWNhbGMoMSk7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0dG9wOiAtMXB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHR9XG5cblx0LmZpbHRlci13cmFwIHtcblx0XHR1bCB7XG5cdFx0XHRsaSB7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRjb250ZW50OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0dWwge1xuXHRcdCYucGFnaW5hdGlvbixcblx0XHQmLm5hdi1maWx0ZXIsXG5cdFx0JltjbGFzcyo9XCJ0aGVtZS1cIl0sXG5cdFx0Ji5tZW51IHtcblx0XHRcdGxpIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0Y29udGVudDogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4udGV4dC1ibGFjayB7XG5cdGNvbG9yOiBibGFjaztcbn1cblxuaWZyYW1lIHtcblx0Ym9yZGVyOiAwO1xufVxuIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuLyoqXG4gKiBpY29uLWZvbnQuc2Nzc1xuICpcbiAqIFlvdXIgZGVzY3JpcHRpb25cbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwOi8vd3d3LnNob3J0LWN1dHMuZGVcbiAqXG4gKiBEYXRlOiAyMDE2LTEyLTMxXG4gKiBBdXRob3I6IEthaSBTZWxpZ2VyIChoZWxsb0B5ZXNqb2FyLmNvbSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSWNvbiBGb250IHNldHRpbmdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6IFwiaWNvbnNcIjtcblx0c3JjOiB1cmwoXCIuLi9mb250cy9pY29uZm9udC9maW5ldGVjaC5lb3RcIik7XG5cdHNyYzogdXJsKFwiLi4vZm9udHMvaWNvbmZvbnQvZmluZXRlY2guZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcblx0XHQgdXJsKFwiLi4vZm9udHMvaWNvbmZvbnQvZmluZXRlY2gud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxuXHRcdCB1cmwoXCIuLi9mb250cy9pY29uZm9udC9maW5ldGVjaC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG5cdFx0IHVybChcIi4uL2ZvbnRzL2ljb25mb250L2ZpbmV0ZWNoLnN2ZyNzaG9ydHlcIikgZm9ybWF0KFwic3ZnXCIpO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbiV1dGlsLWljb24ge1xuXHRmb250LWZhbWlseTogXCJpY29uc1wiICFpbXBvcnRhbnQ7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuXHRmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG5cdGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XG5cdHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG5cdHNwZWFrOiBub25lO1xuXHRsaW5lLWhlaWdodDogMTtcblx0dmVydGljYWwtYWxpZ246IHJlbS1jYWxjKC0xKTtcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbltjbGFzc149XCJpY29uLS1cIl0sXG5bY2xhc3MqPVwiIGljb24tLVwiXSB7XG5cdCY6YmVmb3JlIHtcblx0XHRAZXh0ZW5kICV1dGlsLWljb247XG5cdH1cblxuXHQmLmljb24tLWxvY2tlZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgQGV4dGVuZCAldXRpbC1pY29uO1xuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRpY29ucywgbG9jayk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZm9udC1zaXplOiA2NSU7XG5cdCAgXHRsZWZ0OnJlbS1jYWxjKC0zKTtcblx0XHRib3R0b206cmVtLWNhbGMoLTIpO1xuICAgICAgfVxuXHR9XG59XG5cbkBlYWNoICRuYW1lLCAkY2hhciBpbiAkaWNvbnMge1xuXHQuaWNvbi0tI3skbmFtZX06YmVmb3JlIHtcblx0XHRjb250ZW50OiAkY2hhcjtcblx0XHRAaWYgKCRuYW1lID09IGJ1cmdlcikge1xuXHRcdFx0dmVydGljYWwtYWxpZ246IHJlbS1jYWxjKC0zKTtcblx0XHR9XG5cdH1cbn1cblxuLnV0aWwtaWNvbi0tYmVmb3JlOmJlZm9yZSxcbi51dGlsLWljb24tLWFmdGVyOmFmdGVyIHtcblx0QGV4dGVuZCAldXRpbC1pY29uO1xufVxuXG5AZWFjaCAkbmFtZSwgJGNoYXIgaW4gJGljb25zIHtcblx0LnV0aWwtaWNvbi0tYmVmb3JlLnV0aWwtaWNvbi0tI3skbmFtZX06YmVmb3JlLFxuXHQudXRpbC1pY29uLS1hZnRlci51dGlsLWljb24tLSN7JG5hbWV9OmFmdGVyIHtcblx0XHRjb250ZW50OiAkY2hhcjtcblx0fVxufVxuXG4uaWNvbi0td2hpdGUge1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbi5pY29uLS1jbG9zZSB7XG5cdG91dGxpbmU6IG5vbmU7XG59IiwiLy8gQnVyZ2VyIHBhcnRzXG4vL1xuLy8gKC0tLSkgdG9wICAgIC0+ICY6OmJlZm9yZVxuLy8gWy0tLV0gbWlkZGxlIC0+ICZcbi8vICgtLS0pIGJvdHRvbSAtPiAmOjphZnRlclxuXG4vLyBWZW5kb3IgcHJlZml4ZXNcbiRzYXNzLWJ1cmdlci1hZGQtdmVuZG9yLXByZWZpeGVzOiBmYWxzZTtcblxuLy8gQnVyZ2VyXG5AbWl4aW4gYnVyZ2VyKCR3aWR0aDogMzBweCwgJGhlaWdodDogNXB4LCAkZ3V0dGVyOiAzcHgsICRjb2xvcjogIzAwMCwgJGJvcmRlci1yYWRpdXM6IDAsICR0cmFuc2l0aW9uLWR1cmF0aW9uOiAuM3MpIHtcbiAgJGJ1cmdlci1oZWlnaHQ6ICRoZWlnaHQgIWdsb2JhbDtcbiAgJGJ1cmdlci1ndXR0ZXI6ICRndXR0ZXIgIWdsb2JhbDtcblxuICBAaWYgJHNhc3MtYnVyZ2VyLWFkZC12ZW5kb3ItcHJlZml4ZXMge1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgJiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgJixcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICBAaWYgJGJvcmRlci1yYWRpdXMgIT0gMCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICBAaWYgJHNhc3MtYnVyZ2VyLWFkZC12ZW5kb3ItcHJlZml4ZXMge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgfVxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoLCBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc2Zvcm07XG5cbiAgICBAaWYgJHNhc3MtYnVyZ2VyLWFkZC12ZW5kb3ItcHJlZml4ZXMge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb247XG4gICAgfVxuICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICB9XG5cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIHRvcDogLSgkaGVpZ2h0ICsgJGd1dHRlcik7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICB0b3A6ICRoZWlnaHQgKyAkZ3V0dGVyO1xuICB9XG59XG5cblxuLy8gU2VsZWN0IHBhcnRzIG9mIHRoZSBidXJnZXJcbkBtaXhpbiBidXJnZXItcGFydHMge1xuICAmLFxuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJ1cmdlci10b3Age1xuICAmOmJlZm9yZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJ1cmdlci1taWRkbGUge1xuICAmIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnVyZ2VyLWJvdHRvbSB7XG4gICY6YWZ0ZXIge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEJ1cmdlciBhbmltYXRpb25zXG5AbWl4aW4gYnVyZ2VyLXRvLWNyb3NzIHtcbiAgJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgJjpiZWZvcmUge1xuICAgIEBpZiAkc2Fzcy1idXJnZXItYWRkLXZlbmRvci1wcmVmaXhlcyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkgcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpIHJvdGF0ZSg0NWRlZyk7XG4gIH1cbiAgJjphZnRlciB7XG4gICAgQGlmICRzYXNzLWJ1cmdlci1hZGQtdmVuZG9yLXByZWZpeGVzIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0oJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkpIHJvdGF0ZSgtNDVkZWcpO1xuICB9XG59XG5cbi5jLWJ1cmdlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiByZW0tY2FsYyg0OCk7XG4gIHdpZHRoOiByZW0tY2FsYyg0OCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvL2JvcmRlci1yYWRpdXM6IDVweDtcbiAgei1pbmRleDogNTI7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmX19pY29uIHtcbiAgICBAaW5jbHVkZSBidXJnZXIoMzJweCwgM3B4LCAzcHgsIGNvbG9yKGNpKSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICByaWdodDogcmVtLWNhbGMoOCk7XG4gIH1cbn1cblxuLmlzLW9wZW4tcmlnaHQge1xuICAuYy1idXJnZXJfX2ljb24ge1xuICAgIEBpbmNsdWRlIGJ1cmdlci10by1jcm9zcztcblxuICB9XG4gICYuaW5pdCB7XG4gICAgLmMtYnVyZ2VyX19pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59IiwiLnNsaWRlLWFuZC1mYWRlIHtcbiAgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzbGlkZSwgZmFkZSk7XG59IiwiLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGVsZW1lbnQgYnkgYWRkaW5nIHRoZSBgYW5pbWF0aW9uLW5hbWVgIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktYW5pbWF0aW9uKCRhcmdzLi4uKSB7XG4gICRuYW1lOiBtYXAtZ2V0KC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSwgbmFtZSk7XG4gIEBpbmNsdWRlIG11aS1rZXlmcmFtZXMoJG5hbWUsICRhcmdzLi4uKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVucXVvdGUoJG5hbWUpO1xufVxuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXG4kLW11aS1jdXN0b206IDA7XG5cbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGtleWZyYW1lLlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkZWZmZWN0cy4uLikge1xuICAkb2JqOiAtbXVpLXByb2Nlc3MtYXJncygkZWZmZWN0cy4uLik7XG4gICRvYmo6IG1hcC1yZW1vdmUoJG9iaiwgbmFtZSk7XG5cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgLy8gTm93IGl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICBAZWFjaCAkcGN0LCAkcHJvcHMgaW4gJG9iaiB7XG4gICAgICAjey1tdWkta2V5ZnJhbWUtcGN0KCRwY3QpfSB7XG4gICAgICAgIC8vIExhc3RseSwgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggQ1NTIHByb3BlcnR5IHdpdGhpbiBhIHBlcmNlbnRhZ2UgYW5kIHByaW50IGl0IG91dFxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wcyB7XG4gICAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHN0cmluZyBmb3IgYSBDU1Mga2V5ZnJhbWUsIGJ5IGNvbnZlcnRpbmcgYSBsaXN0IG9mIG51bWJlcnMgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkaW5wdXQgLSBMaXN0IG9mIG51bWJlcnMgdG8gdXNlLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZXQgb2YgY29tbWEtc2VwYXJhdGVkIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtcGN0KCRpbnB1dCkge1xuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgdHlwZS1vZigkaW5wdXQpID09ICdudW1iZXInIHtcbiAgICAkb3V0cHV0OiAoJGlucHV0ICogMSUpO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbGlzdCcge1xuICAgIEBlYWNoICRpIGluICRpbnB1dCB7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgKCRpICogMSUpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRrZXkgLSBLZXkgaW4gdGhlIG1hcCB0byBwcmludCB0aGUgQ1NTIG9mLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xuICAkbWFwOiBtYXAtZ2V0KCRrZiwgJGtleSk7XG5cbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcbiAgICAvLyBTb21lIGtleWZyYW1lIG1hcHMgc3RvcmUgdHJhbnNmb3JtcyBhcyBxdW90ZWQgc3RyaW5nc1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XG4gICAgfVxuICAgICN7JHByb3B9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNwbGl0IHVwLlxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBTcGxpdCBrZXlzIHdpdGggbXVsdGlwbGUgdmFsdWVzIGludG8gaW5kaXZpZHVhbCBrZXlzXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcblxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XG4gICAgfSBAZWxzZSBpZiAka2V5LXR5cGUgPT0gJ2xpc3QnIHtcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiB0eXBlLW9mKCRtYXApID09ICdzdHJpbmcnIHtcbiAgICAgICRtYXA6IGNhbGwoJG1hcCk7XG4gICAgfVxuXG4gICAgJG1hcDogLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKTtcblxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIGluIHRoZSBtYXBcbiAgICAvLyAka2V5IGlzIHRoZSBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgLy8gJHZhbHVlIGlzIGEgbWFwIG9mIENTUyBwcm9wZXJ0aWVzXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgJG5ldy12YWx1ZTogKCk7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbmV3LW1hcCwgJGtleSkge1xuICAgICAgICAvLyBJZiB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBrZXlmcmFtZSAlLCBhcHBlbmQgdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAtbXVpLW1lcmdlLXByb3BlcnRpZXMobWFwLWdldCgkbmV3LW1hcCwgJGtleSksICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgbWFwIHdpdGggdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmFsbHksIG1lcmdlIHRoZSBtb2RpZmllZCBrZXlmcmFtZSB2YWx1ZSBpbnRvIHRoZSBvdXRwdXQgbWFwXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJG5ldy12YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBuYW1lIGZvciB0aGUga2V5ZnJhbWVzXG4gICQtbXVpLWN1c3RvbTogJC1tdWktY3VzdG9tICsgMSAhZ2xvYmFsO1xuICAkbWFwLW5hbWU6IChuYW1lOiAnY3VzdG9tLSN7JC1tdWktY3VzdG9tfScpO1xuICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAkbWFwLW5hbWUpO1xuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyB0d28gbWFwcyBvZiBDU1MgcHJvcGVydGllcyBpbnRvIG9uZSBtYXAuIElmIGJvdGggbWFwcyBoYXZlIGEgdHJhbnNmb3JtIHByb3BlcnR5LCB0aGUgdmFsdWVzIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gb25lIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7TWFwfSAkb25lIC0gRmlyc3QgbWFwIHRvIG1lcmdlLlxuLy8vIEBwYXJhbSB7TWFwfSAkdHdvIC0gU2Vjb25kIG1hcCB0byBtZXJnZS5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktbWVyZ2UtcHJvcGVydGllcygkb25lLCAkdHdvKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkb25lLCB0cmFuc2Zvcm0pIGFuZCBtYXAtaGFzLWtleSgkdHdvLCB0cmFuc2Zvcm0pIHtcbiAgICAkdHJhbnNmb3JtOiBqb2luKG1hcC1nZXQoJG9uZSwgdHJhbnNmb3JtKSwgbWFwLWdldCgkdHdvLCB0cmFuc2Zvcm0pKTtcbiAgICAkb25lOiBtYXAtbWVyZ2UoJG9uZSwgKHRyYW5zZm9ybTogJHRyYW5zZm9ybSkpO1xuICAgICR0d286IG1hcC1yZW1vdmUoJHR3bywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRvbmUsICR0d28pO1xufVxuIiwiLmNlLXRleHRwaWN7XG5cblx0Ji5jZS1yaWdodCAuY2UtY29sdW1uIHtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0fVxuXG5cdCYuY2UtY2VudGVyIC5jZS1jb2x1bW4ge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxufVxuIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuLyoqXG4gKiBoZWFkZXIuc2Nzc1xuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHBzOi8vd3d3LnNob3J0LWN1dHMuZGUvXG4gKlxuICogRGF0ZTogMjAxNy0wNy0wNFxuICogQXV0aG9yOiBtYXJpb2RyZW5nbmVyICgqQHNob3J0LWN1dHMuZGUpXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG5cbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvZnVuY3Rpb25zJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvbWl4aW5zJztcblxuJGNvbXBvbmVudDogJy5oZWFkZXInO1xuXG4vLyBibG9ja1xuI3skY29tcG9uZW50fSB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc20gb25seSkge1xuXHRcdGhlaWdodDogcmVtLWNhbGMoNDgpO1xuXHR9XG5cbiAgLy8mLS1sYW5kaW5nIHtcbiAgLy8gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMCk7XG4gIC8vfVxuXG4gICYtLWNsb25lIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOjA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDdweCByZ2JhKDAsMCwwLDAuMik7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkocmVtLWNhbGMoLTEwMCkpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlLWluLW91dDtcbiAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAuc3RpY2t5LS1zaG93ICYge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cblxuICAgIC5zdGlja3ktLXNob3cub2ZmLWNhbnZhcy0tc2hvdyAmIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTI4NXB4LCAwKTtcbiAgICB9XG4gIH1cblxuXHQmX19icmFuZGluZyB7XG5cdFx0YmFja2dyb3VuZDogdXJsKC4uL2ltZy9sb2dvLWZpbmV0ZWNoLnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRmb250LXNpemU6IDA7XG5cdFx0Y29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdHdpZHRoOiAxMTFweDtcblx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0bWFyZ2luOiByZW0tY2FsYyg5IDApO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuXHRcdFx0d2lkdGg6IDE3MHB4O1xuXHRcdFx0aGVpZ2h0OiA0NnB4O1xuXHRcdFx0bWFyZ2luOiByZW0tY2FsYygxNyAwKTtcblx0XHR9XG5cblx0XHQuc3RpY2t5LS1zaG93ICYge1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9sb2dvLWZpbmV0ZWNoLXNpZ25ldC5wbmcpO1xuXHRcdFx0d2lkdGg6IDE1cHg7XG5cdFx0XHRoZWlnaHQ6IDE1cHg7XG5cdFx0XHRtYXJnaW46IHJlbS1jYWxjKDE3IDAgMTYpO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG5cdFx0XHRcdHdpZHRoOiAyMXB4O1xuXHRcdFx0XHRoZWlnaHQ6IDIxcHg7XG5cdFx0XHRcdG1hcmdpbjogcmVtLWNhbGMoMTQgMCAxMyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cbiAgICAmOm5vdCguaGVhZGVyLS1sYW5kaW5nLCAuaGVhZGVyLS1jbG9uZSkge1xuICAgICAgPiAucm93IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGNvbG9yKG5hdi1tYWluLWJvcmRlcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbn1cblxuLm5hdiB7XG4gICYtdG9wIHtcbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGxpbmstY29sb3JzKGNvbG9yKG5hdi1tYWluKSk7XG5cbiAgICAgICY6bm90KC5idXR0b24pIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDgwKTtcbiAgICAgICAgLmhlYWRlci0tY2xvbmUgJntcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGxpbmstY29sb3JzKCNmZmYpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDIwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNSk7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fbGFuZyB7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQ4KTtcblx0XHRtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGZsb2F0OiByaWdodDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGcpIHtcblx0XHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgY29sb3IobmF2LW1haW4tYm9yZGVyKTtcblx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDAgMjApO1xuXHRcdFx0aGVpZ2h0OiByZW0tY2FsYyg4MCk7XG5cdFx0XHRmbG9hdDogbm9uZTtcblx0XHR9XG5cbiAgICAgIC5oZWFkZXItLWNsb25lICZ7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoNTApO1xuICAgICAgfVxuXG4gICAgICAvLy5oZWFkZXItLWxhbmRpbmcgJiB7XG4gICAgICAvLyAgaGVpZ2h0OiBhdXRvO1xuICAgICAgLy99XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiBjb2xvcihmb290ZXItYm90dG9tLWJnKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDgpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGcpIHtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDgwKTtcblx0XHRcdH1cblxuXG4gICAgICAgICAgLmhlYWRlci0tY2xvbmUgJntcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vLmhlYWRlci0tbGFuZGluZyAmIHtcbiAgICAgICAgICAvLyAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgLy99XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IoY2kpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzcGFuLFxuICAgICAgYSB7XG5cdFx0ICBwYWRkaW5nOiByZW0tY2FsYygwIDUpO1xuXG5cdFx0ICBAaW5jbHVkZSBicmVha3BvaW50KGxnKSB7XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYygwIDEwKTtcblx0XHQgIH1cbiAgICAgIH1cblxuICAgICAgLmhlYWRlci0tbGFuZGluZyAmIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX21lbWJlciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDI3KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBjb2xvcihuYXYtbWFpbi1ib3JkZXIpO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgY29sb3IobmF2LW1haW4tYm9yZGVyKTtcbiAgICB9XG5cbiAgICAmX19idXJnZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyNyk7XG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoODApO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIEBpbmNsdWRlIGxpbmstY29sb3JzKGNvbG9yKGNpKSk7XG4gICAgICB9XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLnNlYXJjaC10b3Age1xuICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMyk7XG4gIC5oZWFkZXItLWNsb25lICZ7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoOCk7XG4gIH1cbn1cblxuLmljb24tLXNlYXJjaCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgdG9wOiAwO1xuXG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5zdGlja3ktLXNob3cge1xuICAubG9nb19fdGV4dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KHNtIG9ubHkpIHtcblxuICAubG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgJl9fd3JhcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIC8vd2lkdGg6IHJlbS1jYWxjKDE3MCk7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMTM2KTtcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoNiAwKTtcblxuICAgICAgLnN0aWNreS0tc2hvdyAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAubG9nbyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiByZW0tY2FsYygxNzApO1xuICAgIGhlaWdodDogcmVtLWNhbGMoODApO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICZfX3dyYXAge1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDE3MCk7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDgwKTtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LS1zaG93IHtcbiAgICAubG9nbyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDUwKTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRvcDogcmVtLWNhbGMoMTMpO1xuICAgICAgJl9fd3JhcCB7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoNTApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgI3skY29tcG9uZW50fSB7XG5cbiAgICAmLS1jbG9uZSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgICY6bm90KC5oZWFkZXItLWxhbmRpbmcsIC5oZWFkZXItLWNsb25lKSB7XG4gICAgICA+LnJvdyB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvLyYtLWxhbmRpbmcge1xuICAgIC8vICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgIC8vfVxuICB9XG59XG5cbiIsIkBjaGFyc2V0IFwidXRmLThcIjtcbi8qKlxuICogZm9vdGVyLnNjc3NcbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwczovL3d3dy5zaG9ydC1jdXRzLmRlL1xuICpcbiAqIERhdGU6IDIwMTctMDctMDRcbiAqIEF1dGhvcjogbWFyaW9kcmVuZ25lciAoKkBzaG9ydC1jdXRzLmRlKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuXG5AaW1wb3J0ICcuLi8uLi9zYXNzL3BhcnRpYWxzL2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICcuLi8uLi9zYXNzL3BhcnRpYWxzL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuLi8uLi9zYXNzL3BhcnRpYWxzL21peGlucyc7XG5cbiRjb21wb25lbnQ6ICcuZm9vdGVyJztcblxuLy8gYmxvY2tcbiN7JGNvbXBvbmVudH0ge1xuXG5cdCZfX2Nvb2tpZS1yZXZva2Uge1xuXHRcdGNvbG9yOiBjb2xvcignd2hpdGUnKTtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjApO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDEpO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogcmVtLWNhbGMoLTIwKTtcblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiBjb2xvcignd2hpdGUnKTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0fVxuXG4gICYtYm90dG9tIHtcbiAgICAvL2hlaWdodDogcmVtLWNhbGMoNTApO1xuICAgIGJhY2tncm91bmQ6Y29sb3IoZm9vdGVyLWJvdHRvbS1iZyk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICBwIHtcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTIgMCk7XG4gICAgICBjb2xvcjogY29sb3IoZm9vdGVyLWJvdHRvbS10ZXh0KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKXtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIHtcbiAgI3skY29tcG9uZW50fSB7XG4gICAgJi13cmFwIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gZWxlbWVudFxuXG5cbi8vIG1vZGlmaWVyXG5cbiIsIkBjaGFyc2V0IFwidXRmLThcIjtcbi8qKlxuICogbmF2LW1haW4uc2Nzc1xuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHBzOi8vd3d3LnNob3J0LWN1dHMuZGUvXG4gKlxuICogRGF0ZTogMjAxNy0wNy0wNFxuICogQXV0aG9yOiBtYXJpb2RyZW5nbmVyICgqQHNob3J0LWN1dHMuZGUpXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG5cbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvZnVuY3Rpb25zJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvbWl4aW5zJztcblxuJGNvbXBvbmVudDogJy5uYXYtbWFpbic7XG5cbi8vIGJsb2NrXG4jeyRjb21wb25lbnR9IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGNvbG9yKG5hdi1tYWluLWJvcmRlcik7XG4gIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBhIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTUgMjUpO1xuICB9XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGxpbmstY29sb3JzKGNvbG9yKG5hdi1tYWluKSk7XG4gICAgfVxuICB9XG5cblxuICAuYWN0aXZlIHtcbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGxpbmstY29sb3JzKGNvbG9yKGNpKSk7XG4gICAgfVxuICB9XG5cblxuXHQmX19tb2JpbGUtdHJpZ2dlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGhlaWdodDogcmVtLWNhbGMoNDgpO1xuXHRcdHdpZHRoOiByZW0tY2FsYygzOCk7XG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ4KTtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0ei1pbmRleDogNTI7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuXHRcdGZsb2F0OiByaWdodDtcblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdEBleHRlbmQgLnV0aWwtaWNvbi0tYmVmb3JlO1xuXHRcdFx0QGV4dGVuZCAudXRpbC1pY29uLS1idXJnZXI7XG5cblx0XHRcdC5vZmYtY2FudmFzLS1zaG93ICYge1xuXHRcdFx0XHRAZXh0ZW5kIC51dGlsLWljb24tLWNsb3NlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG59XG5cbi8vIGVsZW1lbnRcblxuXG4vLyBtb2RpZmllclxuIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuLyoqXG4gKiBuYXYtbWVnYS5zY3NzXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cHM6Ly93d3cuc2hvcnQtY3V0cy5kZS9cbiAqXG4gKiBEYXRlOiAyMDE3LTA3LTA0XG4gKiBBdXRob3I6IG1hcmlvZHJlbmduZXIgKCpAc2hvcnQtY3V0cy5kZSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cblxuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy9mdW5jdGlvbnMnO1xuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy9taXhpbnMnO1xuXG4kY29tcG9uZW50OiAnLm5hdi1tZWdhJztcblxuLy8gYmxvY2tcbiN7JGNvbXBvbmVudH0ge1xuICBiYWNrZ3JvdW5kOiAjNTg1OTViO1xuICAvL3BhZGRpbmc6IHJlbS1jYWxjKDE1IDApO1xuXG4gIHN0cm9uZyB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgY29sb3I6IGNvbG9yKGZvb3Rlci1ib3R0b20tYmcpO1xuICB9XG5cbiAgdWwge1xuICAgIEBpbmNsdWRlIG5vLWJ1bGxldHM7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYSB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICBAaW5jbHVkZSBsaW5rLWNvbG9ycyh3aGl0ZSwgY29sb3IoZm9vdGVyLWJvdHRvbS1iZykpO1xuICAgIH1cbiAgfVxuICAmX190b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICZfX2NvbHMge1xuICAgIC8vbWFyZ2luLXRvcDogcmVtLWNhbGMoMzApO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBjb2xvcihuYXYtbWVnYS1ib3JkZXIpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjb2xvcihuYXYtbWVnYS1ib3JkZXIpO1xuXG4gICAgdWwge1xuICAgICAgQGluY2x1ZGUgbm8tYnVsbGV0cztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYyg1IDApO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxIDApO1xuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgdWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTQpO1xuICAgICAgICBhIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoLTEzKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiwrtcIjsgLyogSW5zZXJ0IGNvbnRlbnQgdGhhdCBsb29rcyBsaWtlIGJ1bGxldHMgKi9cbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sdW1uIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxNSk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgKyAuY29sdW1uIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBjb2xvcihuYXYtbWVnYS1ib3JkZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2JveCB7XG4gICAgJi0tc29jaWFsIHtcbiAgICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgbm8tYnVsbGV0cztcbiAgICAgICAgYSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDonJztcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICsgLm5hdi1tZWdhX19ib3gge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgIH1cblxuICAgIC5uYXYtZm9vdGVyICZ7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyNSk7XG4gICAgfVxuXG4gIH1cblxuICAmX19ib3R0b20ge1xuXHQgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcblx0ICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0ICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG5cdFx0ICB0ZXh0LWFsaWduOiBsZWZ0O1xuXHQgIH1cblxuICAgIHN0cm9uZyxcbiAgICB1bCxcbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG5cdCAgdWwge1xuXHRcdCAgZGlzcGxheTogYmxvY2s7XG5cblx0XHQgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcblx0XHRcdCAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdCAgfVxuXHQgIH1cblxuICAgIGxpIHtcblx0XHRwYWRkaW5nOiByZW0tY2FsYygwIDEwKTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcblx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDAgMCAwIDIwKTtcblx0XHR9XG4gICAgfVxuXG4gICAgLm5hdi1tZWdhICYge1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICB9XG4gIH1cblxuXHQmX19saW5rIHtcblx0XHQmLS0zNDIsXG5cdFx0Ji0tMzQzLFxuXHRcdCYtLTM0OCxcblx0XHQmLS0zNDcge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygyMCk7XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR0b3A6IDJweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLS0zNDIge1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRAZXh0ZW5kIC51dGlsLWljb24tLWJlZm9yZTtcblx0XHRcdFx0QGV4dGVuZCAudXRpbC1pY29uLS1saW5rZWRpbjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLS0zNDMge1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRAZXh0ZW5kIC51dGlsLWljb24tLWJlZm9yZTtcblx0XHRcdFx0QGV4dGVuZCAudXRpbC1pY29uLS15b3V0dWJlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtLTM0OCB7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdEBleHRlbmQgLnV0aWwtaWNvbi0tYmVmb3JlO1xuXHRcdFx0XHRAZXh0ZW5kIC51dGlsLWljb24tLWZhY2Vib29rO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtLTM0NyB7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdEBleHRlbmQgLnV0aWwtaWNvbi0tYmVmb3JlO1xuXHRcdFx0XHRAZXh0ZW5kIC51dGlsLWljb24tLXR3aXR0ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fY29va2llIHtcblx0XHRjb2xvcjogY29sb3IoJ3doaXRlJyk7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdHdpZHRoOiByZW0tY2FsYygxKTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGxlZnQ6IHJlbS1jYWxjKC0yMCk7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogY29sb3IoJ3doaXRlJyk7XG5cdFx0fVxuXHR9XG5cbn1cblxuLmljb24ge1xuICAmLS1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiByZW0tY2FsYygyNSk7XG4gICAgdG9wOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg4MCk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgQGluY2x1ZGUgbGluay1jb2xvcnMod2hpdGUpO1xuXG4gICAgLnN0aWNreS0tc2hvdyAmIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgI29mZkNhbnZhc1RvcCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi8vIGVsZW1lbnRcblxuXG4vLyBtb2RpZmllclxuXG4iLCJAY2hhcnNldCBcInV0Zi04XCI7XG4vKipcbiAqIG5hdi1mb290ZXIuc2Nzc1xuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHBzOi8vd3d3LnNob3J0LWN1dHMuZGUvXG4gKlxuICogRGF0ZTogMjAxNy0wNy0wNVxuICogQXV0aG9yOiBtYXJpb2RyZW5nbmVyICgqQHNob3J0LWN1dHMuZGUpXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG5cbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvZnVuY3Rpb25zJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvbWl4aW5zJztcblxuJGNvbXBvbmVudDogJy5uYXYtZm9vdGVyJztcblxuLy8gYmxvY2tcbiN7JGNvbXBvbmVudH0ge1xuXG4gIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2JnX2Zvb3Rlci5wbmcnKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICBzdHJvbmcge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIGNvbG9yOiBjb2xvcihmb290ZXItYm90dG9tLWJnKTtcbiAgfVxuXG4gIHVsIHtcbiAgICBAaW5jbHVkZSBuby1idWxsZXRzO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGEge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgQGluY2x1ZGUgbGluay1jb2xvcnMod2hpdGUsIGNvbG9yKGZvb3Rlci1ib3R0b20tYmcpKTtcbiAgICB9XG4gIH1cblxuICAubmF2LW1lZ2FfX2JvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICB9XG59XG5cbi8vIGVsZW1lbnRcblxuXG5cbi8vIG1vZGlmaWVyIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuLyoqXG4gKiBuYXYtYnJlYWRjcnVtYi5zY3NzXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cHM6Ly93d3cuc2hvcnQtY3V0cy5kZS9cbiAqXG4gKiBEYXRlOiAyMDE3LTA3LTA1XG4gKiBBdXRob3I6IG1hcmlvZHJlbmduZXIgKCpAc2hvcnQtY3V0cy5kZSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cblxuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy9mdW5jdGlvbnMnO1xuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy9taXhpbnMnO1xuXG4kY29tcG9uZW50OiAnLm5hdi1icmVhZGNydW1iJztcblxuLy8gYmxvY2tcbiN7JGNvbXBvbmVudH0ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3IobmF2LW1haW4tYm9yZGVyKTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgdWwge1xuICAgIEBpbmNsdWRlIG5vLWJ1bGxldHM7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiBjb2xvcihuYXYtbWFpbik7XG4gICAgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgKyBsaSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDcpO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg3KTtcbiAgICAgICAgICBjb250ZW50OiAnwrsnO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiByZW0tY2FsYygxKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgYSB7XG4gICAgQGluY2x1ZGUgbGluay1jb2xvcnMoY29sb3IobmF2LW1haW4pKTtcbiAgfVxuICBzcGFuIHtcbiAgICBjb2xvcjogY29sb3IoY2kpO1xuXG5cdC5jaS1ibHVlICYge1xuXHRcdGNvbG9yOiBjb2xvcihjaS1ibHVlKTtcblx0fVxuXG5cdC5jaS1ncmVlbiAmIHtcblx0XHRjb2xvcjogY29sb3IoY2ktZ3JlZW4pO1xuXHR9XG5cblx0LmNpLWdyZXkgJiB7XG5cdFx0Y29sb3I6IGNvbG9yKGNpLWdyZXkpO1xuXHR9XG5cbiAgfVxufVxuXG4vLyBlbGVtZW50XG5cblxuLy8gbW9kaWZpZXJcblxuIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuLyoqXG4gKiBib3guc2Nzc1xuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHBzOi8vd3d3LnNob3J0LWN1dHMuZGUvXG4gKlxuICogRGF0ZTogMjAxNy0wNy0wNVxuICogQXV0aG9yOiBtYXJpb2RyZW5nbmVyICgqQHNob3J0LWN1dHMuZGUpXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG5cbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvZnVuY3Rpb25zJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvbWl4aW5zJztcblxuJGNvbXBvbmVudDogJy5ib3gnO1xuXG5cbi5tb2R1bGUuZmxpcC1tZXtcbiAgLy8gQ0hST01FLVBST0JMRU0hXG4gIC8vIHBlcnNwZWN0aXZlOiAxMDAwOyBcbiAgXG4gIC5jYXJke1xuICAgIHRyYW5zaXRpb246IDAuNnM7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgfVxuICAgJjpob3ZlciAuY2FyZHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcbiAgfVxuICBcbiAgLmZyb250LFxuICAuYmFja3tcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgXG4gICAgcGVyc3BlY3RpdmU6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cblxuICAmLmhpZGUtaW1hZ2V7XG4gICAgLmJhY2t7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5mcm9udHtcbiAgICB6LWluZGV4OiAyO1xuICAgIC5pY29uLS1sb2Nre1xuICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgIH1cbiAgfVxuICAuYmFja3tcbiAgICBib3gtc2hhZG93OiAwIDZweCAzNy4yNHB4IDAuNzZweCByZ2JhKDAsMCwwLDAuMik7XG5cbiAgICB6LWluZGV4OiAxO1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIFxuICAgIC5kb3dubG9hZC10ZXh0e1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgY29sb3I6ICM0NDQ7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzQ0NDtcbiAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlLWluO1xuICAgICAgJjpob3ZlcntcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjhhO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBibG9ja1xuI3skY29tcG9uZW50fSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cbiAgLy9AaW5jbHVkZSBtdWktYW5pbWF0aW9uKGZhZGUpO1xuXG4gIEBpbmNsdWRlIGxpbmstY29sb3JzKGluaGVyaXQpO1xuXG4gIC8vbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuXG4gIGJveC1zaGFkb3c6IHJlbS1jYWxjKDAgMSAxMCkgcmdiYSgwLCAwLCAwLCAwLjIpO1xuXG4gIC5tb2R1bGUgJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLS1jb250YWN0IHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblxuICAgIGEge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgIC5jaS1ibHVlIC5tYWluICYsXG4gICAgICAuY2ktZ3JlZW4gLm1haW4gJixcbiAgICAgIC5jaS1ncmV5IC5tYWluICZ7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKGNpKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAmX19pbWcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcblxuXG4gICAgLnJvdy0tYmxvZyAme1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi0tdmlkZW8ge1xuICAgICAgJjpiZWZvcmUsXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoNjApO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwwLjUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygxNSk7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgLy9AaW5jbHVkZSB0cmlhbmdsZShyZW0tY2FsYygxNSksIHdoaXRlLCByaWdodCk7XG4gICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKFxuICAgICAgICAgICRwb2ludGluZzogcmlnaHQsXG4gICAgICAgICAgJGJhc2UtbGVuZ3RoOiByZW0tY2FsYygyNSksXG4gICAgICAgICAgJGFsdGl0dWRlOiByZW0tY2FsYygyNSksXG4gICAgICAgICAgJGNvbG9yOiB3aGl0ZVxuICAgICAgICApO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMilcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pbm5lciB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuICAgIGZsZXgtZ3JvdzogMTtcblxuICAgIC5tb2R1bGUgJiB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCAzMCAyMCk7XG5cdCAgZGlzcGxheTogZmxleDtcblx0ICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcCB7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgZmxleDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg1KTtcbiAgICB9XG5cbiAgICAvLy5jb250YWN0LXNlYXJjaCAmIHtcbiAgICAvLyAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgLy99XG4gIH1cblxuICAmX19oZWFkbGluZSxcbiAgJl9fbmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgfVxuXG4gICZfX2xvY2F0aW9uIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIC8vY29sb3I6IGNvbG9yKHNlY29uZGFyeSk7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTEwKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gIH1cblxuICAmX19jb250YWN0LWRhdGEge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcbiAgfVxuXG4gICZfX2hlYWRsaW5lIHtcblxuICAgIC5pY29uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNSk7XG4gICAgICAmLS1nbG9iZSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogcmVtLWNhbGMoLTMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSAmIHtcbiAgICAgICY6YWZ0ZXJ7XG4gICAgICAvLyAmOm5vdCguYm94X19oZWFkbGluZS0tc3ViLCAuYm94X19oZWFkbGluZS0tYmlnKTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICfigLonO1xuICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKHByaW1hcnkpO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNSk7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiByZW0tY2FsYygxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zdWIsICYtLWJpZ3tcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuXG4gICAgJi0tYmlnIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcblxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsZykge1xuICAgICAgICAuYm94LS1oaWdobGlnaHQgJiB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzOCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLW1lZGl1bSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIGNvbG9yOiBjb2xvcihjaSk7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgIH1cbiAgICAmLS1zdWIge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICBjb2xvcjogY29sb3IoY2kpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIH1cbiAgfVxuXG4gICZfX2Zvb3RlciB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMjApO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBjb2xvcihuYXYtbWFpbi1ib3JkZXIpO1xuICAgIGNvbG9yOiBjb2xvcihuYXYtbWFpbik7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG5cbiAgICBzdHJvbmcge1xuICAgICAgY29sb3I6IGNvbG9yKGZvb3Rlci1ib3R0b20tYmcpO1xuICAgICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIGxpbmstY29sb3JzKGluaGVyaXQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2JhZGdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiByZW0tY2FsYygtMTUpO1xuICAgIHJpZ2h0OiByZW0tY2FsYygtMTUpO1xuICAgIC8vYmFja2dyb3VuZDogY29sb3IoY2kpO1xuICAgIHdpZHRoOiByZW0tY2FsYygxMDApO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAvL2JvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDU2KTtcbiAgICAvL2NvbG9yOiB3aGl0ZTtcbiAgICAvL2xpbmUtaGVpZ2h0OiByZW0tY2FsYyg1Nik7XG4gICAgLy90ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLy9mb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgfVxuXG4gICZfX2RhdGVzIHtcbiAgICBAaW5jbHVkZSBuby1idWxsZXRzO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMjAgMCAwKTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICBzdHJvbmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg1KTtcbiAgICAgIC8vdmVydGljYWwtYWxpZ246IHJlbS1jYWxjKC00KTtcbiAgICAgIGNvbG9yOiBjb2xvcihjaSk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMTE1KTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXG4gICAgICAuYm94LS1ldmVudHMgJiB7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygxOTUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogcmVtLWNhbGMoLTEpO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDMpO1xuICAgIH1cblxuICAgIC5hcnRpY2xlIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3IobmF2LW1haW4tYm9yZGVyKTtcbiAgICB9XG4gIH1cblxuICAmX19kYXRlIHtcbiAgICBjb2xvcjogY29sb3IoY2kpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICB9XG5cbiAgJl9fZmlsdGVyIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgaGVpZ2h0OiByZW0tY2FsYyg1KTtcbiAgICAvL3dpZHRoOiByZW0tY2FsYygxMCk7XG4gICAgLy9tYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDFweCk7XG5cbiAgICAvL3RleHQtYWxpZ246IGNlbnRlcjtcbiAgICAvL2NvbG9yOiB3aGl0ZTtcbiAgICAvL2xpbmUtaGVpZ2h0OiAxO1xuICAgIC8vXG4gICAgLy9wb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy9cbiAgICAvL3NwYW4ge1xuICAgIC8vICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gIHRvcDogNTAlO1xuICAgIC8vICBsZWZ0OiA1MCU7XG4gICAgLy8gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgLy8gIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgLy8gIGRpc3BsYXk6YmxvY2s7XG4gICAgLy8gIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAvLyAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAvL31cbiAgICAvL1xuICAgIC8vJi0tYmlnIHtcbiAgICAvLyAgaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgLy8gIHdpZHRoOiByZW0tY2FsYygyMCk7XG4gICAgLy8gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIC8vfVxuXG4gICAgQGluY2x1ZGUgZ2V0LWZpbHRlci1jb2xvcnMoYmFja2dyb3VuZC1jb2xvcik7XG4gICAgLy8gZXhhbXBsZTogJi0tYmx1ZS0yIHsgYmFja2dyb3VuZC1jb2xvcjogYmx1ZSB9XG4gIH1cblxuICAmX19jdGEge1xuICAgIGZvbnQ6IHtcbiAgICAgIHNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICB9XG5cbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgY29sb3IoY2kpO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygtMSk7XG4gIH1cblxuICAuaWNvbiB7XG4gICAgJi0tbG9jayB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogcmVtLWNhbGMoNyk7XG4gICAgICBib3R0b206IHJlbS1jYWxjKDMpO1xuICAgIH1cbiAgfVxuXG4gICYtLW5ld3Mge1xuICAgIGEge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cblxuICAmLS1oaWdobGlnaHQge1xuXG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgIH1cblxuICAgIC5ib3hfX2lubmVyIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIH1cblxuICAgIC5ib3hfX2Zvb3RlciB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIG1hcmdpbjogYXV0byByZW0tY2FsYygzMCk7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSAwKTtcbiAgICB9XG5cbiAgICAmLXdoaXRlLFxuICAgICYtYm9yZGVyIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMmMyYzI7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcbiAgICB9XG5cbiAgICAmLXdoaXRlIHtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIGhyIHtcbiAgICBtYXJnaW46IHJlbS1jYWxjKC00IGF1dG8gMTMpO1xuICB9XG5cbiAgLm1kLTUge1xuICAgIG9yZGVyOiAyXG4gIH1cbiAgLm1kLTcge1xuICAgIG9yZGVyOiAxXG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxnKSB7XG4gICAgJl9faW5uZXIge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzApO1xuICAgIH1cblxuICAgICZfX2Zvb3RlciB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAzMCk7XG4gICAgfVxuXG4gICAgLm1kLTUge1xuICAgICAgb3JkZXI6IDFcbiAgICB9XG4gICAgLm1kLTcge1xuICAgICAgb3JkZXI6IDJcbiAgICB9XG4gIH1cbn1cblxuYS5ib3gge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDM3LjI0cHggMC43NnB4IHJnYmEoMCwwLDAsMC4yKTtcbiAgfVxufVxuXG5hIC5zaG93LWxpbmstaWNvbiB7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICfigLonO1xuICAgIGNvbG9yOiBnZXQtY29sb3IocHJpbWFyeSk7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDUpO1xuICB9XG59XG5cbiAgLmJveF9faW1hZ2Uge1xuICAgIC8vQHN1cHBvcnRzIChvYmplY3QtZml0OiBjb3Zlcikge1xuXG4gICAgLy99XG4gIH1cblxuIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuLyoqXG4gKiBidXR0b25zLnNjc3NcbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwczovL3d3dy5zaG9ydC1jdXRzLmRlL1xuICpcbiAqIERhdGU6IDIwMTctMDctMTBcbiAqIEF1dGhvcjogbWFyaW9kcmVuZ25lciAoKkBzaG9ydC1jdXRzLmRlKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy9mdW5jdGlvbnMnO1xuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy9taXhpbnMnO1xuXG4kY29tcG9uZW50OiAnLmJ0bic7XG5cbi8vIGJsb2NrXG4jeyRjb21wb25lbnR9IHtcblxuXHRAaW5jbHVkZSBidXR0b24tYmFzZTtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cblx0Jl9fZmlsdGVyIHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCBjb2xvcihidXR0b24tZmlsdGVyLWJvcmRlcik7XG5cdFx0Ym9yZGVyLXJhZGl1czogcmVtLWNhbGMoNCk7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoOCAzMCA4IDE1KTtcblx0XHRAaW5jbHVkZSBsaW5rLWNvbG9ycygkcHJpbWFyeS1jb2xvcik7XG5cblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHotaW5kZXg6IC0xO1xuXHRcdH1cblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Ly9AaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG5cdFx0XHRjb250ZW50OiAnKyc7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMSk7XG5cdFx0XHRyaWdodDogcmVtLWNhbGMoMTApO1xuXHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGdldC1maWx0ZXItY29sb3JzKFxuXHRcdFx0XHQkYXR0cmlidXRlOiBiYWNrZ3JvdW5kLWNvbG9yLFxuXHRcdFx0XHQkcHNldWRvOiAnYmVmb3JlJ1xuXHRcdCk7XG5cdFx0Ly8gZXhhbXBsZTogJi0tYmx1ZS0yIHsgYmFja2dyb3VuZC1jb2xvcjogYmx1ZSB9XG5cblx0XHQmLS1hY3RpdmUge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB3aGl0ZTtcblx0XHRcdEBpbmNsdWRlIGxpbmstY29sb3JzKHdoaXRlKTtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHQuZm9ybS0tbG9hZGluZyAmIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0Jl9fbG9hZGluZyB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHQuZm9ybS0tbG9hZGluZyAmIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxnKSB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMClcblx0fVxufVxuXG4uYnV0dG9uIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdHNwYW4ge1xuXHRcdGNvbG9yOiB3aGl0ZTtcblx0XHQmW2NsYXNzXj1pY29uXSB7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHR9XG5cdH1cblxuXHQmLFxuXHQmLnByaW1hcnkge1xuXHRcdEBpbmNsdWRlIGxpbmstY29sb3JzKHdoaXRlKTtcblx0fVxuXHQmLmhvbGxvdyxcblx0Ji5ob2xsb3cucHJpbWFyeSB7XG5cdFx0QGluY2x1ZGUgbGluay1jb2xvcnMoY29sb3IoY2kpKTtcblx0fVxuXG5cdCYuaG9sbG93IHtcblxuXHRcdHNwYW4ge1xuXHRcdFx0Y29sb3I6IGJsYWNrO1xuXHRcdH1cblx0XHQvLyYsXG5cdFx0Ly8mLnByaW1hcnkge1xuXHRcdC8vfVxuXHRcdCYtLXdoaXRlIHtcblx0XHRcdGJvcmRlci1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcblx0XHRcdGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuXHRcdH1cblxuXHRcdC8vW2NsYXNzXj1cImljb24tLVwiXSB7XG5cdFx0Ly8gIGNvbG9yOiBibGFjaztcblx0XHQvL31cblx0fVxuXHQmLmN0YSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdFx0LmN0YS13ICYge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXG5cdFx0Ly9AaW5jbHVkZSBsaW5rLWNvbG9ycyhibGFjayk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdG1heC13aWR0aDogcmVtLWNhbGMoMjk1KTtcblx0XHR9XG5cblx0XHQvLyY6YWZ0ZXIge1xuXHRcdC8vICAvL0BpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcblx0XHQvLyAgY29udGVudDogJ+KAuic7XG5cdFx0Ly8gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQvLyAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdC8vICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuXHRcdC8vICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcblx0XHQvL31cblxuXHRcdC5hc2lkZSAmIHtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHR9XG5cdH1cblx0c3BhbiB7XG5cdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNSk7XG5cdH1cblx0Ji5pY29uIHtcblx0XHRzcGFuIHtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiByZW0tY2FsYygtMik7XG5cdFx0fVxuXHR9XG5cblx0LnJldmVhbCAmIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHQmOm5vdCguZXhwYW5kZWQpIHtcblx0XHRcdG1heC13aWR0aDogcmVtLWNhbGMoMjk1KTtcblx0XHR9XG5cdH1cblxuXHQmOm5vdCguaG9sbG93KS5zZWNvbmRhcnkge1xuXHRcdGNvbG9yOiB3aGl0ZTtcblx0fVxuXG5cdCYuYmx1ZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogY29sb3IoJ2NpLWJsdWUnKTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogZGFya2VuKGNvbG9yKCdjaS1ibHVlJyksIDEwJSk7XG5cdFx0fVxuXG5cdFx0Ji5ob2xsb3cge1xuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHRib3JkZXItY29sb3I6IGNvbG9yKCdjaS1ibHVlJyk7XG5cdFx0XHRAaW5jbHVkZSBsaW5rLWNvbG9ycyhjb2xvcignY2ktYmx1ZScpKTtcblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRib3JkZXItY29sb3I6IGRhcmtlbihjb2xvcignY2ktYmx1ZScpLCAxNSUpO1xuXHRcdFx0XHRjb2xvcjogZGFya2VuKGNvbG9yKCdjaS1ibHVlJyksIDE1JSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji5ncmVlbiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogY29sb3IoJ2NpLWdyZWVuJyk7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihjb2xvcignY2ktZ3JlZW4nKSwgMTAlKTtcblx0XHR9XG5cblx0XHQmLmhvbGxvdyB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlci1jb2xvcjogY29sb3IoJ2NpLWdyZWVuJyk7XG5cdFx0XHRAaW5jbHVkZSBsaW5rLWNvbG9ycyhjb2xvcignY2ktZ3JlZW4nKSk7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRib3JkZXItY29sb3I6IGRhcmtlbihjb2xvcignY2ktZ3JlZW4nKSwgMTUlKTtcblx0XHRcdFx0Y29sb3I6IGRhcmtlbihjb2xvcignY2ktZ3JlZW4nKSwgMTUlKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLmdyZXkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IGNvbG9yKCdjaS1ncmV5Jyk7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihjb2xvcignY2ktZ3JleScpLCAxMCUpO1xuXHRcdH1cblxuXHRcdCYuaG9sbG93IHtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiBjb2xvcignY2ktZ3JleScpO1xuXHRcdFx0QGluY2x1ZGUgbGluay1jb2xvcnMoY29sb3IoJ2NpLWdyZXknKSk7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRib3JkZXItY29sb3I6IGRhcmtlbihjb2xvcignY2ktZ3JleScpLCAxNSUpO1xuXHRcdFx0XHRjb2xvcjogZGFya2VuKGNvbG9yKCdjaS1ncmV5JyksIDE1JSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cbn1cblxuOm5vdChhLCBidXR0b24sIGlucHV0KSB7XG5cdCYuYnV0dG9uIHtcblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IGNvbG9yKCdjaScpO1xuXHRcdH1cblx0XHQmLmJsdWUge1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGNvbG9yKCdjaS1ibHVlJyk7XG5cdFx0XHR9XG5cblx0XHRcdCYuaG9sbG93IHtcblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiBkYXJrZW4oY29sb3IoJ2NpLWJsdWUnKSwgMTUlKTtcblx0XHRcdFx0XHRjb2xvcjogZGFya2VuKGNvbG9yKCdjaS1ibHVlJyksIDE1JSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLmdyZWVuIHtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcignY2ktZ3JlZW4nKTtcblx0XHRcdH1cblxuXHRcdFx0Ji5ob2xsb3cge1xuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRib3JkZXItY29sb3I6IGRhcmtlbihjb2xvcignY2ktZ3JlZW4nKSwgMTUlKTtcblx0XHRcdFx0XHRjb2xvcjogZGFya2VuKGNvbG9yKCdjaS1ncmVlbicpLCAxNSUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5ncmV5IHtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcignY2ktZ3JleScpO1xuXHRcdFx0fVxuXG5cdFx0XHQmLmhvbGxvdyB7XG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdGJvcmRlci1jb2xvcjogZGFya2VuKGNvbG9yKCdjaS1ncmV5JyksIDE1JSk7XG5cdFx0XHRcdFx0Y29sb3I6IGRhcmtlbihjb2xvcignY2ktZ3JleScpLCAxNSUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5jdGEge1xuXHQmLXcge1xuXHRcdCsgLmN0YS13IHtcblx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKC0xNSk7XG5cdFx0fVxuXG5cdFx0LmJ1dHRvbi5jdGEge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbmJ1dHRvbi5pY29uLS1jbG9zZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cbiIsIkBjaGFyc2V0IFwidXRmLThcIjtcbi8qKlxuICogcmV2ZWFsLnNjc3NcbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwczovL3d3dy5zaG9ydC1jdXRzLmRlL1xuICpcbiAqIERhdGU6IDIwMTctMDctMTFcbiAqIEF1dGhvcjogbWFyaW9kcmVuZ25lciAoKkBzaG9ydC1jdXRzLmRlKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuXG5AaW1wb3J0ICcuLi8uLi9zYXNzL3BhcnRpYWxzL2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICcuLi8uLi9zYXNzL3BhcnRpYWxzL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuLi8uLi9zYXNzL3BhcnRpYWxzL21peGlucyc7XG5cbiRjb21wb25lbnQ6ICcucmV2ZWFsJztcblxuLy8gYmxvY2tcbiN7JGNvbXBvbmVudH0ge1xuXG4gIG91dGxpbmU6IG5vbmU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cbiAgJi0tZnVsbCB7XG4gICAgLy93aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBsaW5rLWNvbG9ycygkYmxhY2spO1xuICB9XG5cbiAgaHIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LCAwLjMpO1xuICB9XG5cbiAgPiAucm93IHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAyMCk7XG4gIH1cblxuICAuY29sdW1uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmX19oZWFkZXIge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgLy9mb250LWZhbWlseTogJ0RpbiBQcm8gQm9sZCc7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6IGNvbG9yKHNlY29uZGFyeSk7XG5cbiAgICAuZnVsbCAmIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDgpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDEwMCk7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMjAgMCk7XG4gICAgLy8td2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwcHgpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMDAwcHg7XG4gICAgJi0tZm9ybSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYmdfZm9ybS5qcGdcIikgNTAlIDUwJSAvIGNvdmVyIG5vLXJlcGVhdDtcblxuICAgICAgLmZ1bGwgJiB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZnVsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgdG9wOiA1MCUgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cblxuICAmLW92ZXJsYXkge1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc20gb25seSkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLm1haW5fX2NvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgZmxleDogMTtcbiAgfVxuICAuYXNpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaXMtcmV2ZWFsLW9wZW4ge1xuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBmaWx0ZXI6IGJsdXIoNXB4KTtcbiAgfVxufVxuXG5cblxuLy8gZWxlbWVudFxuXG4vLyBtb2RpZmllclxuXG4iLCJAY2hhcnNldCBcInV0Zi04XCI7XG4vKipcbiAqIGp1bWJvdHJvbi5zY3NzXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cHM6Ly93d3cuc2hvcnQtY3V0cy5kZS9cbiAqXG4gKiBEYXRlOiAyMDE3LTA3LTExXG4gKiBBdXRob3I6IG1hcmlvZHJlbmduZXIgKCpAc2hvcnQtY3V0cy5kZSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cblxuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy9mdW5jdGlvbnMnO1xuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy9taXhpbnMnO1xuXG4kY29tcG9uZW50OiAnLmp1bWJvdHJvbic7XG5cbi8vIGJsb2NrXG4jeyRjb21wb25lbnR9IHtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IHdoaXRlO1xuXHRwYWRkaW5nOiAwO1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyOCk7XG5cdH1cblxuXHRpbWcge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxnKSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdH1cblxuXHQmX19oZWFkZXIge1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbSkge1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygzMyk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygzOCk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsZykge1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg0OCk7XG5cdFx0fVxuXHR9XG5cblx0Jl9fb3ZlcmxheSB7XG5cdFx0YmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcblx0XHRcdFx0dG8gYm90dG9tLFxuXHRcdFx0XHRyZ2JhKGJsYWNrLDAuNCksXG5cdFx0XHRcdHJnYmEoYmxhY2ssMC40KSA1MCUsXG5cdFx0XHRcdHJnYmEoYmxhY2ssMC43KSA1MCUsXG5cdFx0XHRcdHJnYmEoYmxhY2ssMC43KVxuXHRcdCk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiAxMDAlIHJlbS1jYWxjKDIpO1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDQwIDApO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsZykge1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IHJlbS1jYWxjKDE1KTtcblx0XHRcdHJpZ2h0OiByZW0tY2FsYygxNSk7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0fVxuXG5cdFx0PiAucm93IHtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHR9XG5cdH1cblxuXHQmX19jdGEge1xuXHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcblxuXHRcdC5idXR0b24ge1xuXHRcdFx0bWFyZ2luOiByZW0tY2FsYygxMCAxNSk7XG5cdFx0fVxuXHR9XG5cbn1cblxuLy8gZWxlbWVudFxuXG5cbi8vIG1vZGlmaWVyXG5cbiIsIkBjaGFyc2V0IFwidXRmLThcIjtcbi8qKlxuICogY29udGVudC1oZWFkZXIuc2Nzc1xuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHBzOi8vd3d3LnNob3J0LWN1dHMuZGUvXG4gKlxuICogRGF0ZTogMjAxNy0wNy0xMlxuICogQXV0aG9yOiBtYXJpb2RyZW5nbmVyICgqQHNob3J0LWN1dHMuZGUpXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG5cbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvZnVuY3Rpb25zJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvbWl4aW5zJztcblxuJGNvbXBvbmVudDogJy5jb250ZW50LWhlYWRlcic7XG5cbi8vIGJsb2NrXG4jeyRjb21wb25lbnR9IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG5cbiAgLmNvbnRlbnQtdmlkZW97XG4gICAgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtc3RhcnQtcGxheWJhY2stYnV0dG9uLFxuICAgIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRpbWVsaW5lLFxuICAgIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWZ1bGxzY3JlZW4tYnV0dG9uLFxuICAgIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLW11dGUtYnV0dG9uLFxuICAgIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXJldHVybi10by1yZWFsdGltZS1idXR0b24sXG4gICAgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtcGFuZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICB2aWRlb3tcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBpbWd7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX2hlYWRsaW5lIHtcbiAgICBmb250OiB7XG4gICAgICBzaXplOiByZW0tY2FsYygxNik7XG4gICAgICB3ZWlnaHQ6IDgwMDtcbiAgICB9O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuXG4gICAgLmhlYWRsaW5lIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgNyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjaSk7XG4gICAgICBib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIC8vbGluZS1oZWlnaHQ6IDE7XG5cblxuICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKXtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAxNSAxMCk7XG4gICAgICB9XG5cbiAgICAgIC5jb2xvci0tYmx1ZSAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY2ktYmx1ZSk7XG4gICAgICB9XG5cbiAgICAgIC5jb2xvci0tZ3JlZW4gJiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNpLWdyZWVuKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIC5oZWFkbGluZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMTUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGcpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpO1xuICAgIH1cbiAgfVxuXG4gICZfX3N1YmxpbmUge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIC8vd29yZC1zcGFjaW5nOiByZW0tY2FsYygtMjEpO1xuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYmFja2dyb3VuZDogY29sb3Ioc2Vjb25kYXJ5KTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDcgMTUgMTApO1xuICAgICAgYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICAgICAgLy9tYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICZfX292ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiByZW0tY2FsYygzMCk7XG4gICAgICBib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgIGxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgIHJpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgPiAucm93IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIGVsZW1lbnRcblxuXG4vLyBtb2RpZmllclxuXG4iLCJAY2hhcnNldCBcInV0Zi04XCI7XG4vKipcbiAqIGNvbnRlbnQtaGVhZGVyLnNjc3NcbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwczovL3d3dy5zaG9ydC1jdXRzLmRlL1xuICpcbiAqIERhdGU6IDIwMTctMDctMTJcbiAqIEF1dGhvcjogbWFyaW9kcmVuZ25lciAoKkBzaG9ydC1jdXRzLmRlKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuXG5AaW1wb3J0ICcuLi8uLi9zYXNzL3BhcnRpYWxzL2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICcuLi8uLi9zYXNzL3BhcnRpYWxzL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuLi8uLi9zYXNzL3BhcnRpYWxzL21peGlucyc7XG5cbiRjb21wb25lbnQ6ICcuY29udGVudC12aWRlbyc7XG5cbi8vIGJsb2NrXG4jeyRjb21wb25lbnR9IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyY6bm90KC5jb250ZW50LXZpZGVvLS1ib3gpIHtcbiAgICAvLyAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgIC8vfVxuXG4gICAgdmlkZW8ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJi0tYnV0dG9uIHtcbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygtMTApO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTAwKTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxMDApO1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNSk7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKFxuICAgICAgICAgICAgICAgICRwb2ludGluZzogcmlnaHQsXG4gICAgICAgICAgICAgICAgJGJhc2UtbGVuZ3RoOiByZW0tY2FsYyg0NSksXG4gICAgICAgICAgICAgICAgJGFsdGl0dWRlOiB0cnVlLFxuICAgICAgICAgICAgICAgICRjb2xvcjogd2hpdGVcbiAgICAgICAgKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDcpO1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgJi0tcGxheSB7XG4gICAgICAmI3skY29tcG9uZW50fS0tYnV0dG9uIHtcbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG59XG5cblxuLy8gZWxlbWVudFxuXG4vLyBtb2RpZmllciIsIkBjaGFyc2V0IFwidXRmLThcIjtcbi8qKlxuICogZm9ybS5zY3NzXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cHM6Ly93d3cuc2hvcnQtY3V0cy5kZS9cbiAqXG4gKiBEYXRlOiAyMDE3LTA3LTEzXG4gKiBBdXRob3I6IG1hcmlvZHJlbmduZXIgKCpAc2hvcnQtY3V0cy5kZSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cblxuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy9mdW5jdGlvbnMnO1xuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy9taXhpbnMnO1xuXG4kY29tcG9uZW50OiAnLmZvcm0nO1xuXG5cbi8qIENoYW5nZSBhdXRvY29tcGxldGUgc3R5bGVzIGluIFdlYktpdCAqL1xuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCxcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmZvY3VzLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCxcbnRleHRhcmVhOi13ZWJraXQtYXV0b2ZpbGwsXG50ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxudGV4dGFyZWE6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbnNlbGVjdDotd2Via2l0LWF1dG9maWxsLFxuc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG5zZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAjMDAwO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDEwMDBweCAjZmVmZWZlIGluc2V0O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDUwMDBzIGVhc2UtaW4tb3V0IDBzO1xufVxuXG4vLyBibG9ja1xuI3skY29tcG9uZW50fSB7XG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG5cbiAgJi0tbG9hZGluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJi0tbG9hZGluZyAmIHtcbiAgICAucG93ZXJtYWlsX2ZpZWxkc2V0OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkYm9keS1iYWNrZ3JvdW5kLCAwLjgpO1xuICAgICAgei1pbmRleDogNTtcbiAgICB9XG4gIH1cblxuICAuY29sdW1uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaWNvbi0taW5mbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiByZW0tY2FsYygyNSk7XG4gICAgYm90dG9tOiAxLjc1cmVtO1xuICAgIGNvbG9yOiBjb2xvcihuYXYtbWFpbik7XG4gIH1cblxuICAuY2hlY2tib3gge1xuICAgIC5pY29uLS1pbmZvIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogcmVtLWNhbGMoMyk7XG4gICAgICByaWdodDogcmVtLWNhbGMoMTUpO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMik7XG4gIH1cblxuICBzZWxlY3QgKyBsYWJlbCAuZm9ybV9fbGFiZWwtbWFuZGF0b3J5IHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgc2VsZWN0W3JlcXVpcmVkXSArIGxhYmVsIC5mb3JtX19sYWJlbC1tYW5kYXRvcnkge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmX19sYWJlbCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgbGVmdDogcmVtLWNhbGMoMTUpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiByZW0tY2FsYygyNCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgJi0tc2hvdyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdG9wOiByZW0tY2FsYyg0KTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgJi0tZmlyc3QsXG4gICAgJi0tdmlzaWJsZSB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgLy9jb2xvcjogJGJsYWNrO1xuICAgIH1cblxuICAgICYtLWZpcnN0ICB7XG4gICAgICArIGlucHV0LFxuICAgICAgKyBzZWxlY3Qge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS12aXNpYmxlIHtcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAxMCAxMCk7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICB0ZXh0YXJlYSxcbiAgaW5wdXRbdHlwZT10ZXh0XSxcbiAgaW5wdXRbdHlwZT10ZWxdLFxuICBpbnB1dFt0eXBlPWVtYWlsXSxcbiAgc2VsZWN0e1xuICAgICY6Zm9jdXMgKyBsYWJlbCB7XG4gICAgICBjb2xvcjogY29sb3IoY2kpO1xuICAgIH1cbiAgfVxuXG4gIC5nLXJlY2FwdGNoYSB7XG4gICAgaWZyYW1lIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NCk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgfVxuICB9XG5cbiAgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICB9XG5cbiAgLnJldmVhbCAmIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuXG59XG5cblxuXG5maWVsZHNldCAge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxubGFiZWwge1xuICAucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX3JhZGlvICYge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cbiAgLnJhZGlvICYge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIH1cbn1cblxuLmNvbnRhY3Qtc2VhcmNoIHtcbiAgc2VsZWN0IHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbnRleHRhcmVhW3Jvd3NdIHtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDIyKTtcbn1cblxuLnBhcnNsZXktZXJyb3JzLWxpc3Qge1xuICBAaW5jbHVkZSBuby1idWxsZXRzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjY2NjY3cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgbWFyZ2luOiAwO1xuICBsaSB7XG4gICAgbWFyZ2luOiByZW0tY2FsYygtMjEgMCAxNSAwKTtcbiAgICBwYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAwLjVyZW07XG4gICAgYmFja2dyb3VuZDogJGFsZXJ0LWNvbG9yO1xuXG4gIH1cbn1cbi5wb3dlcm1haWxfY2hlY2tfb3V0ZXIsXG4ucG93ZXJtYWlsX3JhZGlvX291dGVyIHtcbiAgLnBhcnNsZXktZXJyb3JzLWxpc3QgbGkge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6IGNvbG9yKGNpKTtcbiAgfVxufVxuXG4ucG93ZXJtYWlsX2lucHV0LnBhcnNsZXktZXJyb3Ige1xuICBib3JkZXI6IDFweCBzb2xpZCAkYWxlcnQtY29sb3I7XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoc20gb25seSkge1xuICAjeyRjb21wb25lbnR9IHtcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDQyKTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMjQpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg1KTtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAjeyRjb21wb25lbnR9IHtcbiAgICAmX19sYWJlbCB7XG4gICAgICBsZWZ0OiByZW0tY2FsYygyMyk7XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICB9XG59XG5cblxuXG5cbi8vIGVsZW1lbnRcblxuXG4vLyBtb2RpZmllclxuXG4iLCJAY2hhcnNldCBcInV0Zi04XCI7XG4vKipcbiAqIG5hdi1tb2JpbGUuc2Nzc1xuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHBzOi8vd3d3LnNob3J0LWN1dHMuZGUvXG4gKlxuICogRGF0ZTogMjAxNy0wNy0xNFxuICogQXV0aG9yOiBtYXJpb2RyZW5nbmVyICgqQHNob3J0LWN1dHMuZGUpXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG5cbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvZnVuY3Rpb25zJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvbWl4aW5zJztcblxuJGNvbXBvbmVudDogJy5uYXYtbW9iaWxlJztcblxuLy8gYmxvY2tcbiN7JGNvbXBvbmVudH0ge1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgYSB7XG4gICAgQGluY2x1ZGUgbGluay1jb2xvcnMod2hpdGUpO1xuICB9XG5cbiAgJl9fbGFuZyB7XG4gICAgbWFyZ2luOiByZW0tY2FsYygyMCAwKTtcbiAgfVxuXG4gICZfX2ZpcnN0e1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgPiBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgfVxuICAgICsgbGkge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEwKTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB3aGl0ZTtcbiAgICB9XG4gIH1cbiAgJl9fc2Vjb25ke1xuICAgID4gYSB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cbiAgICBhIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgfVxuICB9XG4gICZfX3RoaXJkID4gYSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gICZfX3NlYXJjaCB7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMyKTtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDMyKTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMTAgMCAxMCAxMCk7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuICAgIGJhY2tncm91bmQ6IGdyZXk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgLyogd2lkdGg6IGF1dG87ICovXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IGNvbG9yKHBsYWNlaG9sZGVyKTtcbiAgICB9XG4gIH1cblxuICAmX19idG4ge1xuICAgICYtLXNlYXJjaCB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMyKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pY29uIHtcbiAgICAmLS1zZWFyY2gge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKC00KTtcbiAgICAgIHRvcDogcmVtLWNhbGMoNCk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuLmlzLXN1Ym1lbnUtaXRlbSB7XG4gIC8vYSB7XG4gIC8vICBAaW5jbHVkZSBsaW5rLWNvbG9ycyhjb2xvcihuYXYtbWFpbi1ib3JkZXIpKVxuICAvL31cbn1cblxuLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCxcbi5pcy1zdWJtZW51LXBhcmVudC1pdGVtIHtcbiAgPiBhIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG59XG5cbi8vIGVsZW1lbnRcblxuXG4vLyBtb2RpZmllclxuXG4iLCJAY2hhcnNldCBcInV0Zi04XCI7XG4vKipcbiAqIG5hdi1zdWIuc2Nzc1xuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHBzOi8vd3d3LnNob3J0LWN1dHMuZGUvXG4gKlxuICogRGF0ZTogMjAxNy0wNy0xN1xuICogQXV0aG9yOiBtYXJpb2RyZW5nbmVyICgqQHNob3J0LWN1dHMuZGUpXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG5cbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvZnVuY3Rpb25zJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvbWl4aW5zJztcblxuJGNvbXBvbmVudDogJy5uYXYtc3ViJztcblxuLy8gYmxvY2tcbiN7JGNvbXBvbmVudH0ge1xuXG4gIHVsIHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvcihuYXYtc3ViLWJnKTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMCAxMCk7XG4gIH1cblxuICBhLCBzcGFuIHtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTgpO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMTApO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICB9XG5cbiAgYSB7XG4gICAgQGluY2x1ZGUgbGluay1jb2xvcnMoZ2V0LWNvbG9yKHNlY29uZGFyeSkpXG4gIH1cblxuICAuYWN0aXZlIHtcbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiBjb2xvcihjaSk7XG4gICAgfVxuICB9XG59XG5cbi8vIGVsZW1lbnRcblxuXG4vLyBtb2RpZmllclxuXG4iLCJAY2hhcnNldCBcInV0Zi04XCI7XG4vKipcbiAqIGNvbnRlbnQtc2VjdGlvbi5zY3NzXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cHM6Ly93d3cuc2hvcnQtY3V0cy5kZS9cbiAqXG4gKiBEYXRlOiAyMDE3LTA3LTE3XG4gKiBBdXRob3I6IG1hcmlvZHJlbmduZXIgKCpAc2hvcnQtY3V0cy5kZSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cblxuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy9mdW5jdGlvbnMnO1xuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy9taXhpbnMnO1xuXG4kY29tcG9uZW50OiAnLmNvbnRlbnQtc2VjdGlvbic7XG5cbi8vIGJsb2NrXG4jeyRjb21wb25lbnR9IHtcblxuICAmX19oZWFkZXIge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg0MCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICBzcGFuIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCA1KTtcbiAgICAgIH1cbiAgICB9XG5cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGxlZnQ6IHJlbS1jYWxjKDcpO1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKDcpO1xuICAgICAgYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzk4OWE5NTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpe1xuICAgICAgICBsZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgICAgIHJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoNik7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgaGVpZ2h0OiA1MCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxnKSB7XG4gICAgJl9faGVhZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzgpO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIHNwYW4ge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDMwKTtcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICB0b3A6IHJlbS1jYWxjKDYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBlbGVtZW50XG5cblxuLy8gbW9kaWZpZXJcblxuIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuLyoqXG4gKiBuYXYtcGFnaW5hdGlvbi5zY3NzXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cHM6Ly93d3cuc2hvcnQtY3V0cy5kZS9cbiAqXG4gKiBEYXRlOiAyMDE3LTA3LTE3XG4gKiBBdXRob3I6IG1hcmlvZHJlbmduZXIgKCpAc2hvcnQtY3V0cy5kZSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvZnVuY3Rpb25zJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvbWl4aW5zJztcblxuJGNvbXBvbmVudDogJy5uYXYtcGFnaW5hdGlvbic7XG5cbi8vIGJsb2NrXG4jeyRjb21wb25lbnR9IHtcblx0cGFkZGluZzogcmVtLWNhbGMoMzAgMCk7XG5cdGxpIHtcblx0XHRtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDE1KTtcblx0XHQmLFxuXHRcdCYuY3VycmVudCxcblx0XHQmLmRpc2FibGVkIHtcblx0XHRcdGJhY2tncm91bmQ6IHdoaXRlO1xuXHRcdFx0Ly9mb250LXNpemU6IHJlbS1jYWxjKDIwKTtcblx0XHRcdHdpZHRoOiByZW0tY2FsYyg0MCk7XG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDQwKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdGJveC1zaGFkb3c6IDAgcmVtLWNhbGMoMSkgcmVtLWNhbGMoNSkgcmdiYSgwLCAwLCAwLCAwLjMpO1xuXHRcdFx0YSB7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR9XG5cdFx0XHQ+IHNwYW4ge1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYucGFnaW5hdGlvbi1wcmV2aW91cyxcblx0XHQmLnBhZ2luYXRpb24tbmV4dCB7XG5cdFx0XHQmLFxuXHRcdFx0YSB7XG5cdFx0XHRcdCY6YmVmb3JlLFxuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLnBhZ2luYXRpb24tcHJldmlvdXMge1xuXHRcdFx0Ji5kaXNhYmxlZCxcblx0XHRcdGEge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0Y29udGVudDogJ+KAuSc7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5wYWdpbmF0aW9uLW5leHQge1xuXHRcdFx0Ji5kaXNhYmxlZCxcblx0XHRcdGEge1xuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRjb250ZW50OiAn4oC6Jztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYuY3VycmVudCB7XG5cdFx0XHRjb2xvcjogY29sb3IoY2kpO1xuXHRcdH1cblx0fVxufVxuXG4uc2VhcmNoLXBhZ2VzIHtcblxuXG5cdHVsIHtcblx0XHRAaW5jbHVkZSBncmlkLXJvdygpO1xuXHR9XG5cblx0bGkge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRwYWRkaW5nOiBpbmhlcml0O1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0YSB7XG5cdFx0Ji5jdXJyZW50IHtcblx0XHRcdGNvbG9yOiBjb2xvcihjaSk7XG5cdFx0XHRiYWNrZ3JvdW5kOiBpbmhlcml0O1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cblx0XHQmLm5leHQsXG5cdFx0Ji5wcmV2IHtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHR0ZXh0LWluZGVudDogLTk5OTlweDtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiAn4oC6Jztcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHR0ZXh0LWluZGVudDogMDtcblxuXHRcdFx0fVxuXHRcdH1cblx0XHQmLnByZXY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogJ+KAuSc7XG5cdFx0fVxuXHR9XG59XG5cbiNrZXNlYXJjaF9wYWdlYnJvd3Nlcl9ib3R0b20gLnJlc3VsdF90eHQge1xuXHRkaXNwbGF5OiBub25lO1xufVxuIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuLyoqXG4gKiBjb250ZW50LXN1Yi1oZWFkZXIuc2Nzc1xuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHBzOi8vd3d3LnNob3J0LWN1dHMuZGUvXG4gKlxuICogRGF0ZTogMjAxNy0wNy0xOVxuICogQXV0aG9yOiBtYXJpb2RyZW5nbmVyICgqQHNob3J0LWN1dHMuZGUpXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG5cbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvZnVuY3Rpb25zJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvbWl4aW5zJztcblxuJGNvbXBvbmVudDogJy5jb250ZW50LXN1Yi1oZWFkZXInO1xuXG4vLyBibG9ja1xuI3skY29tcG9uZW50fSB7XG4gIGJhY2tncm91bmQ6IGNvbG9yKG5hdi1zdWItYmcpIHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAgICAgICB0byBib3R0b20sXG4gICAgICAgICAgICAgICAgICByZ2JhKGJsYWNrLDApLFxuICAgICAgICAgICAgICAgICAgcmdiYShibGFjaywwKSAxcHgsXG4gICAgICAgICAgICAgICAgICByZ2JhKGJsYWNrLDAuMSkgMXB4LFxuICAgICAgICAgICAgICAgICAgcmdiYShibGFjaywwLjEpIDJweFxuICApO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDMwIDApO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG1hcmdpbi10b3A6IHJlbS1jYWxjKC0zMCk7XG5cbiAgJl9faGVhZGxpbmUsXG4gICZfX3RleHQgc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG5cbiAgJl9faGVhZGxpbmUge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgIC5jb2xvci0tZGVmYXVsdCAmIHtcbiAgICAgIGNvbG9yOiBjb2xvcihjaSk7XG4gICAgfVxuICAgIC5jb2xvci0tZ3JlZW4gJntcbiAgICAgIGNvbG9yOiBjb2xvcihjaS1ncmVlbik7XG4gICAgfVxuICAgIC5jb2xvci0tYmx1ZSAme1xuICAgICAgY29sb3I6IGNvbG9yKGNpLWJsdWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGNvbG9yKG5hdi1tYWluLWJvcmRlcik7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGNvbG9yKG5hdi1tYWluLWJvcmRlcik7XG4gICAgbWFyZ2luOiByZW0tY2FsYygtNTAgMCAtMjApO1xuICAgICZfX2hlYWRsaW5lLFxuICAgICZfX3RleHQge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDM1KTtcbiAgICB9XG4gIH1cbn1cblxuLy8gZWxlbWVudFxuXG4vL1xuLy8gbW9kaWZpZXJcblxuIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuLyoqXG4gKiBjb250YWN0LXNlYXJjaC5zY3NzXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cHM6Ly93d3cuc2hvcnQtY3V0cy5kZS9cbiAqXG4gKiBEYXRlOiAyMDE3LTA5LTI1XG4gKiBBdXRob3I6IG1hcmlvZHJlbmduZXIgKCpAc2hvcnQtY3V0cy5kZSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cblxuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy9mdW5jdGlvbnMnO1xuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy9taXhpbnMnO1xuXG4kY29tcG9uZW50OiAnLmNvbnRhY3Qtc2VhcmNoJztcblxuLy8gYmxvY2tcbiN7JGNvbXBvbmVudH0ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltZy9tYXAucG5nJykgNTAlIDMwcHggLyAxMDAlIG5vLXJlcGVhdDtcblxuICAmX19oZWFkbGluZSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygzMSk7XG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgfVxuXG4gICYtLWxhbmRpbmcge1xuICAgIGJhY2tncm91bmQtc2l6ZTogNTAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMDtcbiAgfVxufVxuXG4vLyBlbGVtZW50XG5cblxuLy8gbW9kaWZpZXJcblxuLnJvdyB7XG4gICYtLWdyaWQge1xuICAgIC5ib3gge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICA+IC5jb2x1bW4ge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzApO1xuICAgIH1cbiAgfVxufSIsIkBjaGFyc2V0IFwidXRmLThcIjtcbi8qKlxuICogcXVvdGUuc2Nzc1xuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHBzOi8vd3d3LnNob3J0LWN1dHMuZGUvXG4gKlxuICogRGF0ZTogMjAxNy0xMC0xN1xuICogQXV0aG9yOiBtYXJpb2RyZW5nbmVyICgqQHNob3J0LWN1dHMuZGUpXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG5cbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvZnVuY3Rpb25zJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvbWl4aW5zJztcblxuJGNvbXBvbmVudDogJy5xdW90ZSc7XG5cbi8vIGJsb2NrXG4jeyRjb21wb25lbnR9IHtcbiAgbWFyZ2luOiByZW0tY2FsYygzMCAwIDMwIDEyKTtcblxuICAmX19xdW90ZSB7XG4gICAgcCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjODM4MzgzO1xuICAgICAgcGFkZGluZzogOHB4IDA7XG4gICAgICBsaW5lLWhlaWdodDogMi42O1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICAgICAgYm94LXNoYWRvdzogMTJweCAwIDAgIzgzODM4MywgLTEycHggMCAwICM4MzgzODM7XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmX19pbWcge1xuICAgICYtd3JhcCB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMTIpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgd2lkdGg6IHJlbS1jYWxjKDY1KTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyMCk7XG4gIH1cblxuICAmLS1ib3JkZXIge1xuICAgIGJvcmRlcjogMXB4ICNjMmMyYzI7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG4gIH1cblxuXG4gIC5pbmRlbnQtbm9uZSB7XG4gICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5pbmRlbnQtc21hbGwge1xuICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgfVxuICAuaW5kZW50LW1lZGl1bSB7XG4gICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xuICB9XG4gIC5pbmRlbnQtbGFyZ2Uge1xuICAgICBtYXJnaW4tbGVmdDogOTBweDtcbiAgfVxuXG4gIC8vJi0td2hpdGUge1xuICAvLyAgYmFja2dyb3VuZDogd2hpdGU7XG4gIC8vfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAmX19xdW90ZSB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygwKTtcbiAgICB9XG4gICAgJi0tYm9yZGVyIHtcbiAgICAgICZfX3F1b3RlIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNTApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIGVsZW1lbnRcblxuXG4vLyBtb2RpZmllclxuXG4iLCJAY2hhcnNldCBcInV0Zi04XCI7XG4vKipcbiAqIGhpZ2hsaWdodC5zY3NzXG4gKlxuICogQ29weXJpZ2h0IFNIT1JUIENVVFMgR21iSFxuICogaHR0cHM6Ly93d3cuc2hvcnQtY3V0cy5kZS9cbiAqXG4gKiBEYXRlOiAyMDE3LTEwLTE4XG4gKiBBdXRob3I6IG1hcmlvZHJlbmduZXIgKCpAc2hvcnQtY3V0cy5kZSlcbiAqIE1JVCBMaWNlbnNlIChNSVQpXG4gKi9cblxuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy9mdW5jdGlvbnMnO1xuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy9taXhpbnMnO1xuXG4kY29tcG9uZW50OiAnLmhpZ2hsaWdodCc7XG5cbi8vIGJsb2NrXG4jeyRjb21wb25lbnR9IHtcbn1cblxuLy8gZWxlbWVudFxuXG5cbi8vIG1vZGlmaWVyXG5cbiIsIkBjaGFyc2V0IFwidXRmLThcIjtcbi8qKlxuICogZG93bmxvYWQuc2Nzc1xuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHBzOi8vd3d3LnNob3J0LWN1dHMuZGUvXG4gKlxuICogRGF0ZTogMjAxNy0xMC0yN1xuICogQXV0aG9yOiBtYXJpb2RyZW5nbmVyICgqQHNob3J0LWN1dHMuZGUpXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG5cbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvZnVuY3Rpb25zJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvbWl4aW5zJztcblxuJGNvbXBvbmVudDogJy5kb3dubG9hZCc7XG5cbi8vIGJsb2NrXG4jeyRjb21wb25lbnR9IHtcbiAgLy9tYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcblxuICAmX19pbm5lciB7XG4gICAgYmFja2dyb3VuZDogY29sb3IoY2kpO1xuICB9XG5cbiAgPiAucm93IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmX19oZWFkbGluZSB7XG4gICAgZm9udDoge1xuICAgICAgc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgd2VpZ2h0OiA3MDA7XG4gICAgfVxuICAgIGNvbG9yOiBibGFjaztcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyNSk7XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDIwIDApO1xuICB9XG5cbiAgJl9faWNvbnMge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICAuaWNvbi0tbG9jayB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDU1KTtcbiAgICAgIGNvbG9yOiBjb2xvcihzZWNvbmRhcnkpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogcmVtLWNhbGMoLTUpO1xuICAgICAgYm90dG9tOiByZW0tY2FsYygtNSk7XG4gICAgfVxuXG4gICAgLmljb24tLWJpZyB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDc4KTtcbiAgICB9XG4gIH1cblxuXHQmX19vdmVybGF5IHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjQpO1xuXG5cdFx0PiAucm93IHtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHR9XG5cdH1cblxuICBociB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsIDAuMyk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgJl9fY3RhIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcblxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAxNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIGVsZW1lbnRcblxuXG4vLyBtb2RpZmllclxuXG4iLCJAY2hhcnNldCBcInV0Zi04XCI7XG4vKipcbiAqIG5hdi1zaXRlbWFwLnNjc3NcbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwczovL3d3dy5zaG9ydC1jdXRzLmRlL1xuICpcbiAqIERhdGU6IDIwMTgtMDEtMzFcbiAqIEF1dGhvcjogbWFyaW9kcmVuZ25lciAoKkBzaG9ydC1jdXRzLmRlKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuXG5AaW1wb3J0ICcuLi8uLi9zYXNzL3BhcnRpYWxzL2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICcuLi8uLi9zYXNzL3BhcnRpYWxzL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuLi8uLi9zYXNzL3BhcnRpYWxzL21peGlucyc7XG5cbiRjb21wb25lbnQ6ICcubmF2LXNpdGVtYXAnO1xuXG4vLyBibG9ja1xuI3skY29tcG9uZW50fSB7XG5cbiAgbGkge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHotaW5kZXg6IDA7XG4gICAgYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAmOmJlZm9yZSxcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgfVxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKG5hdi1tYWluLWJvcmRlcik7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGxlZnQ6IHJlbS1jYWxjKC0xMCk7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICB0b3A6IHJlbS1jYWxjKDIpO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMXB4O1xuICAgICAgfVxuXG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbGkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIH1cbiAgICB9XG4gICAgOmxhc3QtY2hpbGQge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIC8vcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgbGVmdDogcmVtLWNhbGMoLTEwKTtcbiAgICAgICAgdG9wOiByZW0tY2FsYygyMik7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGJvZHktYmFja2dyb3VuZDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDUwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBsZWZ0OiByZW0tY2FsYygtMTApO1xuICAgICAgdG9wOiByZW0tY2FsYygyKTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgY29sb3IobmF2LW1haW4tYm9yZGVyKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gZWxlbWVudFxuXG5cbi8vIG1vZGlmaWVyXG5cbiIsIkBjaGFyc2V0IFwidXRmLThcIjtcbi8qKlxuICogZm9sZGluZy1jdWJlLnNjc3NcbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwczovL3d3dy5zaG9ydC1jdXRzLmRlL1xuICpcbiAqIERhdGU6IDIwMTgtMDItMjhcbiAqIEF1dGhvcjogbWFyaW9kcmVuZ25lciAoKkBzaG9ydC1jdXRzLmRlKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy9mdW5jdGlvbnMnO1xuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vLi4vc2Fzcy9wYXJ0aWFscy9taXhpbnMnO1xuXG4kY29tcG9uZW50OiAnLmZvbGRpbmctY3ViZSc7XG5cbkBrZXlmcmFtZXMgZm9sZEN1YmVBbmdsZSB7XG4gIDAlLCAxMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTQwcHgpIHJvdGF0ZVgoLTE4MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAyNSUsIDc1JSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxNDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDkwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxNDBweCkgcm90YXRlWSgxODBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLy8gYmxvY2tcbiN7JGNvbXBvbmVudH0ge1xuXG5cblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuNSk7XG4gIHotaW5kZXg6IDEwO1xuICBtYXJnaW46IDIwcHggYXV0bztcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgLmZvcm0tLWxvYWRpbmcgJntcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTVweDtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRyYW5zZm9ybTogcm90YXRlWig0NWRlZyk7XG4gIH1cblxuICAmX19jdWJlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICBtYXJnaW46IDNweDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Ioc2Vjb25kYXJ5KTtcbiAgICAgIGFuaW1hdGlvbjogZm9sZEN1YmVBbmdsZSAyLjRzIGluZmluaXRlIGxpbmVhciBib3RoO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xuICAgIH1cblxuICAgICYtLTIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZVooOTBkZWcpO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjaSk7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4zcztcbiAgICAgIH1cbiAgICB9XG4gICAgJi0tMyB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlWigxODBkZWcpO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuNnM7XG4gICAgICB9XG4gICAgfVxuICAgICYtLTQge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZVooMjcwZGVnKTtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjlzO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBlbGVtZW50XG5cbi8vIG1vZGlmaWVyXG5cbiIsIkBjaGFyc2V0IFwidXRmLThcIjtcbi8qKlxuICogZ290b3Auc2Nzc1xuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHBzOi8vd3d3LnNob3J0LWN1dHMuZGUvXG4gKlxuICogRGF0ZTogMjAxOC0wNy0yNFxuICogQXV0aG9yOiBrYWlzZWxpZ2VyICgqQHNob3J0LWN1dHMuZGUpXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG5cbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvZnVuY3Rpb25zJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvbWl4aW5zJztcblxuJGNvbXBvbmVudDogJy5nb3RvcCc7XG5cbi8vIGJsb2NrXG4jeyRjb21wb25lbnR9IHtcblxuXHQmX19idXR0b24ge1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoY29sb3IoJ3NlY29uZGFyeScpLCAwLjcpO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR3aWR0aDogNDVweDtcblx0XHRoZWlnaHQ6IDQ1cHg7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHJpZ2h0OiByZW0tY2FsYygxNSk7XG5cdFx0Ym90dG9tOiByZW0tY2FsYygxNSk7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR6LWluZGV4OiA5OTk7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRjb250ZW50OiAn4oyDJztcblx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XG5cdFx0XHR0b3A6IDNweDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdGxpbmUtaGVpZ2h0OiA0NXB4O1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0b3BhY2l0eTogMC43O1xuXHRcdH1cblx0XHRcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogY29sb3IoJ3NlY29uZGFyeScpO1xuXHRcdH1cblxuXHRcdCYtLXNob3cge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxufVxuXG4vLyBlbGVtZW50XG5cblxuLy8gbW9kaWZpZXJcblxuIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuLyoqXG4gKiB0YWctY2xvdWQuc2Nzc1xuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHBzOi8vd3d3LnNob3J0LWN1dHMuZGUvXG4gKlxuICogRGF0ZTogMjAxOC0wOC0wM1xuICogQXV0aG9yOiBtYXJpb2RyZW5nbmVyICgqQHNob3J0LWN1dHMuZGUpXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG5cbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvZnVuY3Rpb25zJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvbWl4aW5zJztcblxuJGNvbXBvbmVudDogJy50YWctY2xvdWQnO1xuXG4vLyBibG9ja1xuI3skY29tcG9uZW50fSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLy9tYXgtd2lkdGg6IHJlbS1jYWxjKDYwMCk7XG4gIG1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG5cbiAgJl9faXRlbSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZzogcmVtLWNhbGMoMSA3KTtcblx0dHJhbnNpdGlvbjogY29sb3IgLjNzLCB0cmFuc2Zvcm0gLjNzO1xuXG5cdCYtLXByaW8ge1xuXHQgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggOSB7XG5cdFx0Ji0jeyRpfSB7XG5cdFx0ICBmb250LXNpemU6IDI1cHggLSAkaSAqIDEuMjtcblx0XHR9XG5cdCAgfVxuXHR9XG5cblx0Ji0tZm9udCB7XG5cdCAgJi0zMDAge1xuXHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdCAgfVxuXHQgICYtNDAwIHtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHQgIH1cblx0ICAmLTcwMCB7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0ICB9XG5cdCAgJi04MDAge1xuXHRcdGZvbnQtd2VpZ2h0OiA4MDA7XG5cdCAgfVxuXHR9XG5cblx0Ji0tY29sb3Ige1xuXHQgICYtYmx1ZSB7XG5cdFx0Y29sb3I6Y29sb3IoY2ktYmx1ZSk7XG5cdCAgfVxuXHQgICYtZ3JlZW4ge1xuXHRcdGNvbG9yOmNvbG9yKGNpLWdyZWVuKTtcblx0ICB9XG5cdCAgJi1ncmV5IHtcblx0XHRjb2xvcjpjb2xvcihjaS1ncmV5KTtcblx0ICB9XG5cdCAgJi1wcmltYXJ5IHtcblx0XHRjb2xvcjpjb2xvcihwcmltYXJ5KTtcblx0ICB9XG5cdCAgJi1zZWNvbmRhcnkge1xuXHRcdGNvbG9yOmNvbG9yKGdyZXktZGFyayk7XG5cdCAgfVxuXHQgICYtdGVydGlhcnkge1xuXHRcdGNvbG9yOmNvbG9yKGdyZXktbGlnaHQpO1xuXHQgIH1cblx0fVxuXG4gIH1cblxuXHRhOmhvdmVyICZfX2l0ZW0tLWNvbG9yIHtcblx0XHQmLWJsdWUge1xuXHRcdFx0Y29sb3I6ICMwMDA7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuXHRcdH1cblx0XHQmLWdyZWVuIHtcblx0XHRcdGNvbG9yOiAjMDAwO1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcblx0XHR9XG5cdFx0Ji1ncmV5IHtcblx0XHRcdGNvbG9yOiAjMDAwO1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcblx0XHR9XG5cdFx0Ji1wcmltYXJ5IHtcblx0XHRcdGNvbG9yOiAjMDAwO1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcblx0XHR9XG5cdFx0Ji1zZWNvbmRhcnkge1xuXHRcdFx0Y29sb3I6ICMwMDA7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuXHRcdH1cblx0XHQmLXRlcnRpYXJ5IHtcblx0XHRcdGNvbG9yOiAjMDAwO1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcblx0XHR9XG5cdH1cblxuXG5cdC8vYSB7XG5cdC8vXHR0ZXh0LXNoYWRvdzogMCAwIDVweCAjZmZmLFxuXHQvL1x0MCAwIDJweCAjZmZmLFxuXHQvL1x0MCAwIDNweCAjZmZmLFxuXHQvL1x0MCAwIDRweCAjZmYwMGRlLFxuXHQvL1x0MCAwIDdweCAjZmYwMGRlLFxuXHQvL1x0MCAwIDhweCAjZmYwMGRlLFxuXHQvL1x0MCAwIDEwcHggI2ZmMDBkZSxcblx0Ly9cdDAgMCAxNXB4ICNmZjAwZGU7XG5cdC8vfVxuXG5cdC8vYSBzcGFuIHtcblx0Ly9cdGJhY2tncm91bmQ6ICMyNWFhZTIgLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20oIzI1YWFlMiksIHRvKCMyNWFhZTIpLCBjb2xvci1zdG9wKDAuNSwgIzAwMCkpIDAgMCBuby1yZXBlYXQ7XG5cdC8vXHQtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogMTI1cHg7XG5cdC8vXG5cdC8vXHRjb2xvcjogIzAwMDtcblx0Ly9cdC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuXHQvL1xuXHQvL1x0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hpbmU7XG5cdC8vXHQtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XG5cdC8vXHQtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuXHQvL31cblx0Ly9cblx0Ly9ALXdlYmtpdC1rZXlmcmFtZXMgc2hpbmUge1xuXHQvL1x0MCUge1xuXHQvL1x0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdDtcblx0Ly9cdH1cblx0Ly9cdDEwMCUge1xuXHQvL1x0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgcmlnaHQ7XG5cdC8vXHR9XG5cdC8vfVxuXG59XG5cbi8vIGVsZW1lbnRcblxuXG4vLyBtb2RpZmllclxuXG4iLCJAY2hhcnNldCBcInV0Zi04XCI7XG4vKipcbiAqIGJhc2xpZGVyLnNjc3NcbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwczovL3d3dy5zaG9ydC1jdXRzLmRlL1xuICpcbiAqIERhdGU6IDIwMjAtMTItMDFcbiAqIEF1dGhvcjoga2Fpc2VsaWdlciAoKkBzaG9ydC1jdXRzLmRlKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuXG5AaW1wb3J0ICcuLi8uLi9zYXNzL3BhcnRpYWxzL2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICcuLi8uLi9zYXNzL3BhcnRpYWxzL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuLi8uLi9zYXNzL3BhcnRpYWxzL21peGlucyc7XG5cbiRjb21wb25lbnQ6ICcuYmFzbGlkZXInO1xuXG4vLyBibG9ja1xuI3skY29tcG9uZW50fSB7XG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcblxuXHQuYmVlci1yZXZlYWxbZGF0YS1iZWVyLWxhYmVsXTphZnRlcixcblx0LmJlZXItc2xpZGVyW2RhdGEtYmVlci1sYWJlbF06YWZ0ZXIge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdH1cblxuXHQmLS1sYWJlbC1zbWFsbCB7XG5cdFx0LmJlZXItcmV2ZWFsW2RhdGEtYmVlci1sYWJlbF06YWZ0ZXIsXG5cdFx0LmJlZXItc2xpZGVyW2RhdGEtYmVlci1sYWJlbF06YWZ0ZXIge1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg1IDgpO1xuXHRcdH1cblx0fVxuXG5cdCYtLWxhYmVsLW1lZGl1bSB7XG5cdFx0LmJlZXItcmV2ZWFsW2RhdGEtYmVlci1sYWJlbF06YWZ0ZXIsXG5cdFx0LmJlZXItc2xpZGVyW2RhdGEtYmVlci1sYWJlbF06YWZ0ZXIge1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg3IDEwKTtcblx0XHR9XG5cdH1cblxuXHQmLS1sYWJlbC1sYXJnZSB7XG5cdFx0LmJlZXItcmV2ZWFsW2RhdGEtYmVlci1sYWJlbF06YWZ0ZXIsXG5cdFx0LmJlZXItc2xpZGVyW2RhdGEtYmVlci1sYWJlbF06YWZ0ZXIge1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYygxMCAxNCk7XG5cdFx0fVxuXHR9XG5cblx0Ji0tbGFiZWwtYmVmb3JlLXdoaXRlIHtcblx0XHQuYmVlci1zbGlkZXJbZGF0YS1iZWVyLWxhYmVsXTphZnRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBjb2xvcignd2hpdGUnKTtcblx0XHR9XG5cdH1cblxuXHQmLS1sYWJlbC1iZWZvcmUtZ3JlZW4ge1xuXHRcdC5iZWVyLXNsaWRlcltkYXRhLWJlZXItbGFiZWxdOmFmdGVyIHtcblx0XHRcdGJhY2tncm91bmQ6IGNvbG9yKCdjaS1ncmVlbicpO1xuXHRcdFx0Y29sb3I6IGNvbG9yKCd3aGl0ZScpO1xuXHRcdH1cblx0fVxuXG5cdCYtLWxhYmVsLWJlZm9yZS1ibHVlIHtcblx0XHQuYmVlci1zbGlkZXJbZGF0YS1iZWVyLWxhYmVsXTphZnRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBjb2xvcignY2ktYmx1ZScpO1xuXHRcdFx0Y29sb3I6IGNvbG9yKCd3aGl0ZScpO1xuXHRcdH1cblx0fVxuXG5cdCYtLWxhYmVsLWJlZm9yZS1vcmFuZ2Uge1xuXHRcdC5iZWVyLXNsaWRlcltkYXRhLWJlZXItbGFiZWxdOmFmdGVyIHtcblx0XHRcdGJhY2tncm91bmQ6IGNvbG9yKCdjaScpO1xuXHRcdFx0Y29sb3I6IGNvbG9yKCd3aGl0ZScpO1xuXHRcdH1cblx0fVxuXG5cdCYtLWxhYmVsLWJlZm9yZS1yZWQge1xuXHRcdC5iZWVyLXNsaWRlcltkYXRhLWJlZXItbGFiZWxdOmFmdGVyIHtcblx0XHRcdGJhY2tncm91bmQ6IGNvbG9yKCdlcnJvcicpO1xuXHRcdFx0Y29sb3I6IGNvbG9yKCd3aGl0ZScpO1xuXHRcdH1cblx0fVxuXG5cdCYtLWxhYmVsLWJlZm9yZS1ncmV5IHtcblx0XHQuYmVlci1zbGlkZXJbZGF0YS1iZWVyLWxhYmVsXTphZnRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBjb2xvcignY2ktZ3JleScpO1xuXHRcdFx0Y29sb3I6IGNvbG9yKCd3aGl0ZScpO1xuXHRcdH1cblx0fVxuXG5cblx0Ji0tbGFiZWwtYWZ0ZXItd2hpdGUge1xuXHRcdC5iZWVyLXJldmVhbFtkYXRhLWJlZXItbGFiZWxdOmFmdGVyIHtcblx0XHRcdGJhY2tncm91bmQ6IGNvbG9yKCd3aGl0ZScpO1xuXHRcdH1cblx0fVxuXG5cdCYtLWxhYmVsLWFmdGVyLWdyZWVuIHtcblx0XHQuYmVlci1yZXZlYWxbZGF0YS1iZWVyLWxhYmVsXTphZnRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBjb2xvcignY2ktZ3JlZW4nKTtcblx0XHRcdGNvbG9yOiBjb2xvcignd2hpdGUnKTtcblx0XHR9XG5cdH1cblxuXHQmLS1sYWJlbC1hZnRlci1ibHVlIHtcblx0XHQuYmVlci1yZXZlYWxbZGF0YS1iZWVyLWxhYmVsXTphZnRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBjb2xvcignY2ktYmx1ZScpO1xuXHRcdFx0Y29sb3I6IGNvbG9yKCd3aGl0ZScpO1xuXHRcdH1cblx0fVxuXG5cdCYtLWxhYmVsLWFmdGVyLW9yYW5nZSB7XG5cdFx0LmJlZXItcmV2ZWFsW2RhdGEtYmVlci1sYWJlbF06YWZ0ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogY29sb3IoJ2NpJyk7XG5cdFx0XHRjb2xvcjogY29sb3IoJ3doaXRlJyk7XG5cdFx0fVxuXHR9XG5cblx0Ji0tbGFiZWwtYWZ0ZXItcmVkIHtcblx0XHQuYmVlci1yZXZlYWxbZGF0YS1iZWVyLWxhYmVsXTphZnRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBjb2xvcignZXJyb3InKTtcblx0XHRcdGNvbG9yOiBjb2xvcignd2hpdGUnKTtcblx0XHR9XG5cdH1cblxuXHQmLS1sYWJlbC1hZnRlci1ncmV5IHtcblx0XHQuYmVlci1yZXZlYWxbZGF0YS1iZWVyLWxhYmVsXTphZnRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBjb2xvcignY2ktZ3JleScpO1xuXHRcdFx0Y29sb3I6IGNvbG9yKCd3aGl0ZScpO1xuXHRcdH1cblx0fVxuXG5cdCYtLWhhbmRsZS1kZWZhdWx0IHtcblx0XHQuYmVlci1oYW5kbGUge1xuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDQ5KTtcblx0XHRcdGhlaWdodDogcmVtLWNhbGMoNDkpO1xuXHRcdH1cblx0fVxuXG5cdCYtLWhhbmRsZS1zbWFsbCB7XG5cdFx0LmJlZXItaGFuZGxlIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDAuNzUpO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0xKTtcblxuXHRcdFx0Jjo6YmVmb3JlLFxuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0fVxuXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYtLWFsaWdubWVudC1sZWZ0IHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG5cblx0Ji0tYWxpZ25tZW50LWNlbnRlciB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cblx0Ji0tYWxpZ25tZW50LXJpZ2h0IHtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0fVxuXG5cdC5iZWVyLXJldmVhbCB7XG5cdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgY29sb3IoJ3doaXRlJyk7XG5cdH1cblxuXHQuYmVlci1oYW5kbGUge1xuXHRcdGJhY2tncm91bmQ6IGNvbG9yKCd3aGl0ZScpICFpbXBvcnRhbnQ7XG5cdFx0b3BhY2l0eTogMSAhaW1wb3J0YW50O1xuXHR9XG5cblx0Jl9fZmlnY2FwdGlvbiB7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoNSAwIDApO1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHR9XG5cblx0Jl9fbGFiZWwge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLy8gZWxlbWVudFxuXG5cbi8vIG1vZGlmaWVyXG5cbiIsIkBjaGFyc2V0IFwidXRmLThcIjtcbi8qKlxuICogaW1hZ2UtbWFya2VyLnNjc3NcbiAqXG4gKiBDb3B5cmlnaHQgU0hPUlQgQ1VUUyBHbWJIXG4gKiBodHRwczovL3d3dy5zaG9ydC1jdXRzLmRlL1xuICpcbiAqIERhdGU6IDIwMjAtMTItMDFcbiAqIEF1dGhvcjoga2Fpc2VsaWdlciAoKkBzaG9ydC1jdXRzLmRlKVxuICogTUlUIExpY2Vuc2UgKE1JVClcbiAqL1xuXG5AaW1wb3J0ICcuLi8uLi9zYXNzL3BhcnRpYWxzL2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICcuLi8uLi9zYXNzL3BhcnRpYWxzL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuLi8uLi9zYXNzL3BhcnRpYWxzL21peGlucyc7XG5cbiRjb21wb25lbnQ6ICcuaW1hZ2UtbWFya2VyJztcblxuLy8gYmxvY2tcbiN7JGNvbXBvbmVudH0ge1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG5cblx0Jl9faG9sZGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblxuXHQmX19maWdjYXB0aW9uIHtcblx0XHRwYWRkaW5nOiByZW0tY2FsYyg1IDAgMCk7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdH1cblxuXHQmX19maWd1cmUge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAxMDtcblx0fVxuXG5cdCZfX3Nwb3RzIHtcblxuXHR9XG5cblx0Jl9fc3BvdCB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHotaW5kZXg6IDIwO1xuXG5cdFx0Ji0tc21hbGwge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTE1cHgsIC0xNXB4KTtcblx0XHR9XG5cblx0XHQmLS1tZWRpdW0ge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTE3LjVweCwgLTE3LjVweCk7XG5cdFx0fVxuXG5cdFx0Ji0tbGFyZ2Uge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwcHgsIC0yMHB4KTtcblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdHotaW5kZXg6IDEwMDtcblxuXHRcdFx0I3skY29tcG9uZW50fV9fc3BvdC1pbmZvIHtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuXHRcdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19zcG90LWlubmVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0dG9wOiAxMDAlO1xuXHR9XG5cblx0Jl9fc3BvdC1udW1iZXIge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHRcdGJhY2tncm91bmQ6IGNvbG9yKCd3aGl0ZScpO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuXHRcdGFuaW1hdGlvbjogaW1hZ2UtbWFya2VyLXB1bHNlIDJzIGluZmluaXRlO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAxMDtcblx0XHRmaWx0ZXI6IGRyb3Atc2hhZG93KDBweCAwcHggNnB4IHJnYmEoMCwgMCwgMCwgLjE1KSk7XG5cblx0XHQmLS1zbWFsbCB7XG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoMzApO1xuXHRcdFx0aGVpZ2h0OiByZW0tY2FsYygzMCk7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xuXHRcdH1cblxuXHRcdCYtLW1lZGl1bSB7XG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoMzUpO1xuXHRcdFx0aGVpZ2h0OiByZW0tY2FsYygzNSk7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMzUpO1xuXHRcdH1cblxuXHRcdCYtLWxhcmdlIHtcblx0XHRcdHdpZHRoOiByZW0tY2FsYyg0MCk7XG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDQwKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG5cdFx0fVxuXG5cdFx0Ji0td2hpdGUge1xuXHRcdFx0YmFja2dyb3VuZDogY29sb3IoJ3doaXRlJyk7XG5cdFx0fVxuXG5cdFx0Ji0tZ3JlZW4ge1xuXHRcdFx0YmFja2dyb3VuZDogY29sb3IoJ2NpLWdyZWVuJyk7XG5cdFx0XHRjb2xvcjogY29sb3IoJ3doaXRlJyk7XG5cdFx0fVxuXG5cdFx0Ji0tYmx1ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBjb2xvcignY2ktYmx1ZScpO1xuXHRcdFx0Y29sb3I6IGNvbG9yKCd3aGl0ZScpO1xuXHRcdH1cblxuXHRcdCYtLW9yYW5nZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBjb2xvcignY2knKTtcblx0XHRcdGNvbG9yOiBjb2xvcignd2hpdGUnKTtcblx0XHR9XG5cblx0XHQmLS1yZWQge1xuXHRcdFx0YmFja2dyb3VuZDogY29sb3IoJ2Vycm9yJyk7XG5cdFx0XHRjb2xvcjogY29sb3IoJ3doaXRlJyk7XG5cdFx0fVxuXG5cdFx0Ji0tZ3JleSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBjb2xvcignY2ktZ3JleScpO1xuXHRcdFx0Y29sb3I6IGNvbG9yKCd3aGl0ZScpO1xuXHRcdH1cblxuXHR9XG5cblx0Jl9fc3BvdC1pbmZvIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogNTtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG5cdFx0dHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlO1xuXG5cdFx0Ji0tbGVmdC10b3Age1xuXHRcdFx0bGVmdDogcmVtLWNhbGMoMTIpO1xuXHRcdFx0Ym90dG9tOiByZW0tY2FsYygxMik7XG5cdFx0fVxuXG5cdFx0Ji0tcmlnaHQtdG9wIHtcblx0XHRcdHJpZ2h0OiByZW0tY2FsYygxMik7XG5cdFx0XHRib3R0b206IHJlbS1jYWxjKDEyKTtcblx0XHR9XG5cblx0XHQmLS1sZWZ0LWJvdCB7XG5cdFx0XHRsZWZ0OiByZW0tY2FsYygxMik7XG5cdFx0XHR0b3A6IHJlbS1jYWxjKDEyKTtcblx0XHR9XG5cblx0XHQmLS1yaWdodC1ib3Qge1xuXHRcdFx0cmlnaHQ6IHJlbS1jYWxjKDEyKTtcblx0XHRcdHRvcDogcmVtLWNhbGMoMTIpO1xuXHRcdH1cblx0fVxuXG5cdCZfX2NhcmQge1xuXHRcdGJhY2tncm91bmQ6IGNvbG9yKCd3aGl0ZScpO1xuXHRcdHdpZHRoOiByZW0tY2FsYygzMDApO1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcblx0XHRib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblx0XHRib3gtc2hhZG93OiAwcHggLTEwcHggMjBweCAwcHggcmdiYSgwLCAwLCAwLCAuMyk7XG5cdH1cblxuXHQmX19jYXJkLWZpZ3VyZSB7XG5cdFx0bWFyZ2luOiByZW0tY2FsYygtMjAgLTIwIDIwKTtcblx0fVxuXG5cdCZfX2NhcmQtdGl0bGUge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdH1cblxuXHQmX19jYXJkLWNvbnRlbnQge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXG5cdFx0cCB7XG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX2luZm9zIHtcblx0XHRwYWRkaW5nOiByZW0tY2FsYygwIDAgMCAyMCk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdCZfX2luZm8ge1xuXHRcdGJhY2tncm91bmQ6IGNvbG9yKCd3aGl0ZScpO1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDMwIDM1KTtcblx0XHRib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblx0XHRib3gtc2hhZG93OiAwcHggLTEwcHggMjBweCAwcHggcmdiYSgwLCAwLCAwLCAuMSk7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1hcmdpbjogcmVtLWNhbGMoMzAgMCk7XG5cdH1cblxuXHQmX19pbmZvLW51bWJlciB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdFx0YmFja2dyb3VuZDogY29sb3IoJ3doaXRlJyk7XG5cdFx0d2lkdGg6IHJlbS1jYWxjKDMwKTtcblx0XHRoZWlnaHQ6IHJlbS1jYWxjKDMwKTtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcblx0XHRhbmltYXRpb246IGltYWdlLW1hcmtlci1wdWxzZSAycyBpbmZpbml0ZTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdHotaW5kZXg6IDEwO1xuXHRcdGZpbHRlcjogZHJvcC1zaGFkb3coMHB4IDBweCA2cHggcmdiYSgwLCAwLCAwLCAuMTUpKTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogLTE1cHg7XG5cdFx0dG9wOiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHR9XG5cblx0Jl9faW5mby10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0fVxuXG5cdCZfX2luZm8tY29udGVudCB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cblx0XHRwIHtcblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cbn1cblxuQGtleWZyYW1lcyBpbWFnZS1tYXJrZXItcHVsc2Uge1xuXHQwJSB7XG5cdFx0Ly90cmFuc2Zvcm06IHNjYWxlKC45KTtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcblx0fVxuXHQ3MCUge1xuXHRcdC8vdHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAxNXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG5cdH1cblx0MTAwJSB7XG5cdFx0Ly90cmFuc2Zvcm06IHNjYWxlKC45KTtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG5cdH1cbn1cblxuLy8gZWxlbWVudFxuXG5cbi8vIG1vZGlmaWVyXG5cbiIsIkBjaGFyc2V0IFwidXRmLThcIjtcbi8qKlxuICogY2Muc2Nzc1xuICpcbiAqIENvcHlyaWdodCBTSE9SVCBDVVRTIEdtYkhcbiAqIGh0dHBzOi8vd3d3LnNob3J0LWN1dHMuZGUvXG4gKlxuICogRGF0ZTogMjAyMS0wNy0yMFxuICogQXV0aG9yOiBrYWlzZWxpZ2VyICgqQHNob3J0LWN1dHMuZGUpXG4gKiBNSVQgTGljZW5zZSAoTUlUKVxuICovXG5cbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvZnVuY3Rpb25zJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL3Nhc3MvcGFydGlhbHMvbWl4aW5zJztcblxuJGNvbXBvbmVudDogJy5jYyc7XG5cbi8vIGJsb2NrXG4jeyRjb21wb25lbnR9IHtcblx0Ji13aW5kb3cge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IGNvbG9yKCd3aGl0ZScpO1xuXHRcdGJvdHRvbTogMDtcblx0XHRjb2xvcjogY29sb3IoJ2JsYWNrJyk7XG5cdFx0Ym94LXNoYWRvdzogMCAxMHB4IDMwcHggMCByZ2JhKDAsIDAsIDAsIDAuMyk7XG5cdFx0Ly9mb250LXNpemU6IHNpemUoJ3NtJyk7XG5cdFx0bGVmdDogMDtcblx0XHRwYWRkaW5nOiByZW0tY2FsYygyMCk7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZTtcblx0XHR6LWluZGV4OiA5OTk5O1xuXHRcdG1heC1oZWlnaHQ6IDk2JTtcblx0XHRvdmVyZmxvdzogc2Nyb2xsO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuXHRcdFx0bGVmdDogcmVtLWNhbGMoMTUpO1xuXHRcdFx0bWFyZ2luOiBhdXRvO1xuXHRcdFx0bWF4LXdpZHRoOiByZW0tY2FsYyg2MDApO1xuXHRcdFx0cmlnaHQ6IHJlbS1jYWxjKDIwKTtcblx0XHRcdGJvdHRvbTogNTAlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG5cdFx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg0MCk7XG5cblx0XHRcdGIge1xuXHRcdFx0XHRmb250LXNpemU6IDEuMjVyZW07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmRwIHtcblx0XHRcdCYtLWNvb2tpZS1jaGVjayB7XG5cdFx0XHRcdG1hcmdpbjogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tIDA7XG5cblx0XHRcdFx0bGFiZWwge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg1IDE1KTtcblx0XHRcdFx0XHRtYXJnaW46IHJlbS1jYWxjKDEwIC0xNSk7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDMpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdHNtYWxsIHtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHRcdFx0XHRjb2xvcjogY29sb3IoJ2dyZXknKTtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS40O1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji0tY2hlY2stYm94IHtcblx0XHRcdFx0bWFyZ2luOiByZW0tY2FsYygwIDQgMCAwKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLWludmlzaWJsZSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXG5cdCYtbWVzc2FnZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHRwIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRsaW5lLWhlaWdodDogaW5oZXJpdDtcblx0XHRcdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0fVxuXHR9XG5cblx0Ji1idG4ge1xuXHRcdEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXHRcdGJhY2tncm91bmQ6IGNvbG9yKCdjaScpO1xuXHRcdGNvbG9yOiBjb2xvcignd2hpdGUnKSAhaW1wb3J0YW50O1xuXHRcdG1hcmdpbjogcmVtLWNhbGMoMCAxMCAwIDApO1xuXHRcdC8vYm9yZGVyOiAxcHggc29saWQgY29sb3IoJ2JsYWNrJykgIWltcG9ydGFudDtcblx0XHQvL2NvbG9yOiBpbmhlcml0O1xuXHRcdC8vY3Vyc29yOiBwb2ludGVyO1xuXHRcdC8vZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdC8vbWFyZ2luOiAuNXJlbSAwO1xuXHRcdC8vbWFyZ2luOiAuNXJlbSAwO1xuXHRcdC8vcGFkZGluZzogLjI1cmVtIC41cmVtO1xuXHRcdC8vdGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdC8vdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGJhY2tncm91bmQ6IGRhcmtlbihjb2xvcignY2ktaG92ZXInKSwgMTAlKSAhaW1wb3J0YW50O1xuXHRcdFx0Y29sb3I6IGNvbG9yKCd3aGl0ZScpICFpbXBvcnRhbnQ7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0Ji1hbGxvdyB7XG5cdFx0Y29sb3I6IGNvbG9yKCdzZWNvbmRhcnknKSAhaW1wb3J0YW50O1xuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0Ji0tc2hvdyB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiBjb2xvcignc2Vjb25kYXJ5JykgIWltcG9ydGFudDtcblx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0Ji1kaXNtaXNzIHtcblx0XHRib3JkZXItY29sb3I6IGNvbG9yKCdibHVlJykgIWltcG9ydGFudDtcblx0XHRjb2xvcjogY29sb3IoJ2JsdWUnKSAhaW1wb3J0YW50O1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogY29sb3IoJ2JsdWUnKSAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXG5cdCYtcmV2b2tlIHtcblx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQmLWNvbXBsaWFuY2Uge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0bWFyZ2luOiByZW0tY2FsYygxNSAwIDAgMCk7XG5cblx0XHRhIHtcblx0XHRcdCY6bnRoLWNoaWxkKDEpIHtcblx0XHRcdFx0b3JkZXI6IDI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji1zZXR0aW5ncyB7XG5cdFx0Ji0taGlkZGVuIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbmJvZHkge1xuXHQmOmJlZm9yZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuNSk7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHRvcDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHR6LWluZGV4OiA5OTk4O1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMTAwbXMsIHZpc2liaWxpdHkgMTAwbXM7XG5cdH1cblxuXHQmLmRwLS1jb29raWUtY29uc2VudCB7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0fVxuXHR9XG59XG5cbltkYXRhLXJldm9rZV0ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbiRjb21wb25lbnQ6ICcuZHAnO1xuXG4jeyRjb21wb25lbnR9IHtcblx0Ji0tY29va2llLWNoZWNrIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKGJsYWNrLCAuMSk7XG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpO1xuXHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYygxNSk7XG5cblx0XHRsYWJlbCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDIwKTtcblxuXHRcdFx0aW5wdXQge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLS1sb2FkZWQge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXG5cdFx0KyAjeyRjb21wb25lbnR9LS1vdmVybGF5IHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0Ji0taWZyYW1lIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0Ji5kcC0tbG9hZGVkIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblx0fVxuXG5cdCYtLW92ZXJsYXkge1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuXHRcdGJvdHRvbTogMDtcblx0XHRjb2xvcjogY29sb3IoJ3doaXRlJyk7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRsZWZ0OiAwO1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDUwKTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHRvcDogMDtcblxuXHRcdCYtaGVhZGVyIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRcdH1cblxuXHRcdCYtZGVzY3JpcHRpb24ge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHRcdFx0bWFyZ2luLXRvcDogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tIC8gMjtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsZykge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLWJ1dHRvbiB7XG5cdFx0XHRtYXJnaW4tdG9wOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gLyAyO1xuXHRcdH1cblxuXHRcdGJ1dHRvbiB7XG5cdFx0XHRAaW5jbHVkZSBidXR0b24tYmFzZTtcblx0XHRcdGJhY2tncm91bmQ6IGNvbG9yKCdjaScpO1xuXHRcdFx0Y29sb3I6IGNvbG9yKCd3aGl0ZScpICFpbXBvcnRhbnQ7XG5cdFx0XHRtYXJnaW46IHJlbS1jYWxjKDAgMCAwIDEwKTtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IGRhcmtlbihjb2xvcignY2ktaG92ZXInKSwgMTAlKSAhaW1wb3J0YW50O1xuXHRcdFx0XHRjb2xvcjogY29sb3IoJ3doaXRlJykgIWltcG9ydGFudDtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblxuXHR9XG59XG5cblxuLy8gZWxlbWVudFxuXG5cbi8vIG1vZGlmaWVyXG5cbiIsIi5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIGh0bWwsXG4gIGJvZHkge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG4gIGJvZHksXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQsXG4gIC5jb250ZW50LXN1Yi1oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlICAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmNvbnRlbnQtc3ViLWhlYWRlciB7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgYm9keSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuXG5cdC5oZWFkZXItLWNsb25lIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cbiAgLmhlYWRlcjpub3QoLmhlYWRlci0tbGFuZGluZyk6bm90KC5oZWFkZXItLWNsb25lKT4ucm93OmJlZm9yZSB7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWFpbl9fY29udGVudCB7XG4gICAgZmxleDogMCAwIDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE1KSAhaW1wb3J0YW50O1xuICB9XG4gIC5hc2lkZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDElICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYm94IHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwgMC4xKTtcbiAgfVxuXG4gIC5ib3gsIC5zciB7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgLmNvbnRlbnQtc2VjdGlvbl9faGVhZGVyIHtcbiAgICBwYWdlLWJyZWFrLWJlZm9yZTogYWx3YXlzO1xuICAgIHNwYW4ge1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgLmZpbHRlci1ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgPiAubW9kdWxlIHtcbiAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMzJTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTApO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuXG4gICAgICA+LmJveCB7XG4gICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uYXYtZmlsdGVyIHtcbiAgICAuYnRuIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG4gIH1cblxuICBoMSxcbiAgLmgxIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcbiAgfVxuICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gIC8vYSxcbiAgLy9hOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gIC8vQGlmICRwcmludC1ocmVmcyB7XG4gIC8vICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAvL31cblxuICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gIC8vLmlyIGE6YWZ0ZXIsXG4gIC8vYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgLy9hW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAvL2FiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gIC8vcHJlLFxuICAvL2Jsb2NrcXVvdGUge1xuICAvLyAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgLy8gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgLy99XG5cbiAgLy8gaDVicC5jb20vdFxuICAvL3RoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgLy90cixcbiAgLy9pbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAvL2ltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtIDEuNWNtIDAuNWNtIDIuNWNtOyB9XG5cbiAgLy9wLFxuICAvL2gyLFxuICAvL2gzIHtcbiAgLy8gIG9ycGhhbnM6IDM7XG4gIC8vICB3aWRvd3M6IDM7XG4gIC8vfVxuXG4gIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAvL2gyLFxuICAvL2gzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICB9XG59IiwiJHByZWZpeCA6IFwiYmVlclwiO1xuJGluaXRpYWwtcmV2ZWFsOiA1MCU7XG5cbi4jeyRwcmVmaXh9LXNsaWRlciB7IFxuICAqLFxuICAmOmJlZm9yZSxcbiAgJjphZnRlcixcbiAgKjpiZWZvcmUsXG4gICo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaW1nLCBzdmcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIH1cbiAgJiA+ICoge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAmID4gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG4uI3skcHJlZml4fS1yZXZlYWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDEwMCUgLSAkaW5pdGlhbC1yZXZlYWw7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXM7XG4gICYgPiA6Zmlyc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlKjEwMCUvJGluaXRpYWwtcmV2ZWFsO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgJiA+IGltZzpmaXJzdC1jaGlsZCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi4jeyRwcmVmaXh9LXJhbmdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIGxlZnQ6IC0xcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogc2xpZGVyLWhvcml6b250YWwhaW1wb3J0YW50O1xuICAtbW96LWFwcGVhcmFuY2U6bm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgLW1zLXRvdWNoLWFjdGlvbjogYXV0bztcbiAgdG91Y2gtYWN0aW9uOiBhdXRvO1xuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtcbiAgICBoZWlnaHQ6IDMwMHZoO1xuICB9XG4gICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTpub25lO1xuICAgIGhlaWdodDogMzAwdmg7XG4gIH1cbiAgJjo6LW1zLXRvb2x0aXAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG4uI3skcHJlZml4fS1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwOyAgIFxuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAtNTAlLCAtNTAlLCAwKTsgICAgIFxuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuNSk7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogMCAwIDZweCByZ2JhKDAsIDAsIDAsIDApO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MsIGJveC1zaGFkb3cgMC4zcywgb3BhY2l0eSAwLjVzIDAuMjVzO1xuXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIHRvcDogNTAlO1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDJweDtcbiAgICBib3JkZXItbGVmdDogc29saWQgMnB4O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgbGVmdDogMTBweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKCAxMzVkZWcpO1xuICB9XG59XG4gICAgXG4uI3skcHJlZml4fS1yYW5nZTpmb2N1cyB+IC4jeyRwcmVmaXh9LWhhbmRsZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjg1KTtcbiAgYm94LXNoYWRvdzogMCAwIDNweCByZ2JhKDAsIDAsIDAsIC40KTtcbn1cbiBcbi4jeyRwcmVmaXh9LXNsaWRlcltkYXRhLWJlZXItbGFiZWxdOmFmdGVyLFxuLiN7JHByZWZpeH0tcmV2ZWFsW2RhdGEtYmVlci1sYWJlbF06YWZ0ZXIge1xuICBjb250ZW50OiBhdHRyKGRhdGEtYmVlci1sYWJlbCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC43NSk7XG59XG4uI3skcHJlZml4fS1zbGlkZXJbZGF0YS1iZWVyLWxhYmVsXTphZnRlciB7XG4gIHJpZ2h0OiAxLjVyZW07XG59XG4uI3skcHJlZml4fS1yZXZlYWxbZGF0YS1iZWVyLWxhYmVsXTphZnRlciB7XG4gIGxlZnQ6IDEuNXJlbTtcbn1cbi4jeyRwcmVmaXh9LXNsaWRlcltkYXRhLWJlZXItbGFiZWw9XCJcIl06YWZ0ZXIsXG4uI3skcHJlZml4fS1yZXZlYWxbZGF0YS1iZWVyLWxhYmVsPVwiXCJdOmFmdGVyIHtcbiAgY29udGVudDogbm9uZTtcbn1cblxuLiN7JHByZWZpeH0tcmVhZHkge1xuICAuI3skcHJlZml4fS1yZXZlYWwsIC4jeyRwcmVmaXh9LWhhbmRsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufSJdfQ== */
