@charset "UTF-8";
/*!
Theme Name: _Kindersoldaten.info
Theme URI: http://underscores.me/
Author: Lothar Koch
Author URI: http://www.dieprojektoren.de
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: _kindersoldaten-info
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

_Kindersoldaten.info is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
html {
  font-size: 62.5%; }

body,
button,
input,
select,
optgroup,
textarea {
  color: #404040;
  font-family: "Source Sans Pro", sans-serif;
  font-size: 1.6rem;
  line-height: 1.5; }

h1, h2, h3, h4, h5, h6 {
  clear: both; }

body h1 {
  font-family: Montserrat;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 3.2rem;
  line-height: 1em;
  margin: 2em 0 1em; }
  body h1:first-child {
    margin-top: 0; }

body h2 {
  font-family: Montserrat;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.2em;
  margin: 2em 0 .5em; }
  body h2:first-child {
    margin-top: 0; }

body h3 {
  font-family: Montserrat;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.25em;
  margin: 2em 0 .5em; }
  body h3:first-child {
    margin-top: 0; }

p {
  margin-bottom: 1.5em; }

dfn, cite, em, i {
  font-style: italic; }

blockquote {
  margin: 0 1.5em; }

address {
  margin: 0 0 1.5em; }

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", Courier, monospace;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em; }

code, kbd, tt, var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 15px;
  font-size: 0.9375rem; }

abbr, acronym {
  border-bottom: 1px dotted #666;
  cursor: help; }

mark, ins {
  background: #fff9c0;
  text-decoration: none; }

big {
  font-size: 125%; }

/* montserrat-700 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url("webfonts/montserrat-v12-latin-700.eot");
  /* IE9 Compat Modes */
  src: local("Montserrat Bold"), local("Montserrat-Bold"), url("webfonts/montserrat-v12-latin-700.eot?#iefix") format("embedded-opentype"), url("webfonts/montserrat-v12-latin-700.woff2") format("woff2"), url("webfonts/montserrat-v12-latin-700.woff") format("woff"), url("webfonts/montserrat-v12-latin-700.ttf") format("truetype"), url("webfonts/montserrat-v12-latin-700.svg#Montserrat") format("svg");
  /* Legacy iOS */ }

/* source-sans-pro-regular - latin */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 400;
  src: url("webfonts/source-sans-pro-v11-latin-regular.eot");
  /* IE9 Compat Modes */
  src: local("Source Sans Pro Regular"), local("SourceSansPro-Regular"), url("webfonts/source-sans-pro-v11-latin-regular.eot?#iefix") format("embedded-opentype"), url("webfonts/source-sans-pro-v11-latin-regular.woff2") format("woff2"), url("webfonts/source-sans-pro-v11-latin-regular.woff") format("woff"), url("webfonts/source-sans-pro-v11-latin-regular.ttf") format("truetype"), url("webfonts/source-sans-pro-v11-latin-regular.svg#SourceSansPro") format("svg");
  /* Legacy iOS */ }

/* source-sans-pro-900 - latin */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 900;
  src: url("webfonts/source-sans-pro-v11-latin-900.eot");
  /* IE9 Compat Modes */
  src: local("Source Sans Pro Black"), local("SourceSansPro-Black"), url("webfonts/source-sans-pro-v11-latin-900.eot?#iefix") format("embedded-opentype"), url("webfonts/source-sans-pro-v11-latin-900.woff2") format("woff2"), url("webfonts/source-sans-pro-v11-latin-900.woff") format("woff"), url("webfonts/source-sans-pro-v11-latin-900.ttf") format("truetype"), url("webfonts/source-sans-pro-v11-latin-900.svg#SourceSansPro") format("svg");
  /* Legacy iOS */ }

/*!
 * Font Awesome Free 5.4.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
@font-face {
  font-family: 'Font Awesome 5 Free';
  font-style: normal;
  font-weight: 400;
  src: url("webfonts/fa-solid-900.eot");
  src: url("webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("webfonts/fa-solid-900.woff2") format("woff2"), url("webfonts/fa-solid-900.woff") format("woff"), url("webfonts/fa-solid-900.ttf") format("truetype"), url("webfonts/fa-solid-900.svg#fontawesome") format("svg"); }

.far {
  font-family: 'Font Awesome 5 Free';
  font-weight: 400; }

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

*,
*:before,
*:after {
  /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
  -webkit-box-sizing: inherit;
  box-sizing: inherit; }

body {
  background: #fff;
  /* Fallback for when there is no custom background color defined. */ }

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em; }

ul, ol {
  margin: 0 0 1.5em 0em;
  padding: 0 0 0 14px; }
  ul li, ol li {
    margin-bottom: 1em; }

ul {
  list-style: disc; }

ol {
  list-style: decimal; }

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em; }

dt {
  font-weight: bold; }

dd {
  margin: 0 1.5em 1.5em; }

img {
  height: auto;
  /* Make sure images are scaled correctly. */
  max-width: 100%;
  /* Adhere to container width. */ }

figure {
  margin: 1em 0;
  /* Extra wide images within figure tags don't overflow the content area. */ }

table {
  margin: 0 0 1.5em;
  width: 100%; }

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  border: 1px solid;
  border-color: #ccc #ccc #bbb;
  border-radius: 3px;
  background: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1;
  padding: .6em 1em .4em; }
  button:hover,
  input[type="button"]:hover,
  input[type="reset"]:hover,
  input[type="submit"]:hover {
    border-color: #ccc #bbb #aaa; }
  button:active, button:focus,
  input[type="button"]:active,
  input[type="button"]:focus,
  input[type="reset"]:active,
  input[type="reset"]:focus,
  input[type="submit"]:active,
  input[type="submit"]:focus {
    border-color: #aaa #bbb #bbb; }

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
  color: #666;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 3px; }
  input[type="text"]:focus,
  input[type="email"]:focus,
  input[type="url"]:focus,
  input[type="password"]:focus,
  input[type="search"]:focus,
  input[type="number"]:focus,
  input[type="tel"]:focus,
  input[type="range"]:focus,
  input[type="date"]:focus,
  input[type="month"]:focus,
  input[type="week"]:focus,
  input[type="time"]:focus,
  input[type="datetime"]:focus,
  input[type="datetime-local"]:focus,
  input[type="color"]:focus,
  textarea:focus {
    color: #111; }

select {
  border: 1px solid #ccc; }

textarea {
  width: 100%; }

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
  color: #d01a1f;
  font-weight: bold;
  text-decoration: none;
  -webkit-transition: all .2s;
  transition: all .2s; }
  a:visited {
    color: #d01a1f; }
  a:hover, a:focus, a:active {
    color: #f15a24;
    text-decoration: underline; }
  a:focus {
    outline: thin dotted; }
  a:hover, a:active {
    outline: 0; }

a[href$=".pdf"]:before {
  font-weight: 900;
  content: "";
  padding-right: .3em;
  font-size: "inherit";
  font-family: "Font Awesome 5 Free"; }

/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.main-navigation {
  clear: both;
  display: block;
  float: left;
  width: 100%; }
  .main-navigation ul {
    display: none;
    list-style: none;
    margin: 0;
    padding-left: 0; }
    .main-navigation ul ul {
      -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
      box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
      float: left;
      position: absolute;
      top: 100%;
      left: -999em;
      z-index: 99999; }
      .main-navigation ul ul ul {
        left: -999em;
        top: 0; }
      .main-navigation ul ul li:hover > ul,
      .main-navigation ul ul li.focus > ul {
        left: 100%; }
      .main-navigation ul ul a {
        width: 200px; }
    .main-navigation ul li:hover > ul,
    .main-navigation ul li.focus > ul {
      left: auto; }
  .main-navigation li {
    float: left;
    position: relative;
    margin-left: 15px;
    font-size: 1.6rem;
    text-transform: uppercase; }
    @media (min-width: 1200px) {
      .main-navigation li {
        font-size: 1.8rem; } }
    .main-navigation li.home a {
      font-size: 0; }
      .main-navigation li.home a:after {
        font-weight: 900;
        content: "";
        font-size: 1.7rem;
        font-family: "Font Awesome 5 Free"; }
    .main-navigation li:hover > a,
    .main-navigation li.focus > a {
      color: #d01a1f; }
  .main-navigation a {
    color: #404040;
    display: block;
    text-decoration: none; }
  .main-navigation .current_page_item > a,
  .main-navigation .current-menu-item > a,
  .main-navigation .current_page_ancestor > a,
  .main-navigation .current-menu-ancestor > a {
    color: #d01a1f; }

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
  display: block; }

@media screen and (min-width: 37.5em) {
  .menu-toggle {
    display: none; }
  .main-navigation ul {
    display: block; } }

.site-main .comment-navigation, .site-main
.posts-navigation, .site-main
.post-navigation {
  margin: 0 0 0em;
  overflow: hidden; }

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  float: left;
  width: 50%; }

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  float: right;
  text-align: right;
  width: 50%; }

#footer-navigation {
  text-align: center; }
  #footer-navigation ul {
    margin: 0;
    padding: 0; }
    #footer-navigation ul li {
      display: inline-block;
      margin: 0 10px;
      font-size: 1.6rem;
      text-transform: uppercase; }
      @media (min-width: 1200px) {
        #footer-navigation ul li {
          font-size: 1.8rem; } }
      #footer-navigation ul li a {
        color: #404040;
        display: block;
        text-decoration: none; }
      #footer-navigation ul li:hover > a,
      #footer-navigation ul li.focus > a {
        color: #d01a1f; }
      #footer-navigation ul li.current_page_item > a,
      #footer-navigation ul li.current-menu-item > a,
      #footer-navigation ul li.current_page_ancestor > a,
      #footer-navigation ul li.current-menu-ancestor > a {
        color: #d01a1f; }

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */ }
  .screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    -webkit-clip-path: none;
    clip-path: none;
    color: #21759b;
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
    /* Above WP toolbar. */ }

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
  outline: 0; }

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em; }

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em; }

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto; }

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
  content: "";
  display: table;
  table-layout: fixed; }

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  clear: both; }

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
  margin: 0 0 1.5em;
  /* Make sure select elements fit in widgets. */ }
  .widget select {
    max-width: 100%; }

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
  display: block; }

.hentry {
  margin: 0 0 1.5em; }

.updated:not(.published) {
  display: none; }

.page-content,
.entry-content,
.entry-summary {
  margin: 0; }

.page-links {
  clear: both;
  margin: 0 0 1.5em; }

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
  word-wrap: break-word; }

.bypostauthor {
  display: block; }

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  /* Theme Footer (when set to scrolling) */
  display: none; }

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
  display: block; }

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0; }

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%; }

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block; }

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%; }
  .wp-caption img[class*="wp-image-"] {
    display: block;
    margin-left: auto;
    margin-right: auto; }
  .wp-caption .wp-caption-text {
    margin: 0.8075em 0; }

.wp-caption-text {
  text-align: center; }

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
  margin-bottom: 1.5em; }

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%; }
  .gallery-columns-2 .gallery-item {
    max-width: 50%; }
  .gallery-columns-3 .gallery-item {
    max-width: 33.33%; }
  .gallery-columns-4 .gallery-item {
    max-width: 25%; }
  .gallery-columns-5 .gallery-item {
    max-width: 20%; }
  .gallery-columns-6 .gallery-item {
    max-width: 16.66%; }
  .gallery-columns-7 .gallery-item {
    max-width: 14.28%; }
  .gallery-columns-8 .gallery-item {
    max-width: 12.5%; }
  .gallery-columns-9 .gallery-item {
    max-width: 11.11%; }

.gallery-caption {
  display: block; }

#page {
  overflow: hidden; }

#masthead {
  height: 100px; }

img.custom-logo {
  position: absolute;
  left: 15px;
  top: 18px;
  width: 317px; }
  @media (min-width: 1024px) {
    img.custom-logo {
      left: 0; } }

#primary-menu {
  position: absolute;
  top: 38px;
  right: 0; }

#colophon .nav-container {
  width: 100%;
  position: absolute;
  bottom: 20px; }

.copyright-info {
  position: absolute;
  left: 15px;
  bottom: 20px;
  color: #666; }

.visits-counter {
  display: none;
  color: #666; }
  @media (min-width: 667px) {
    .visits-counter {
      display: block;
      position: absolute;
      right: 15px;
      bottom: 20px; } }

.post-thumbnail {
  position: relative;
  min-height: 110px; }
  .post-thumbnail:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 100%;
    height: 50px;
    background: url(images/image-cover.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center bottom; }
    @media (min-width: 667px) {
      .post-thumbnail:after {
        height: 100px; } }
  .post-thumbnail img {
    width: 100%; }

#main-content {
  background: url(images/bg-lowerpart.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100%;
  min-height: 45vw; }

#intro-text {
  margin-bottom: 30px; }

.main-content-content {
  margin-bottom: 30px; }

.entry-footer .cat-links {
  display: none; }

.red-hand {
  display: none;
  position: absolute;
  left: -20px;
  top: -450px;
  width: 320px;
  height: 471px;
  background: url(images/red-hand.png) no-repeat center bottom;
  background-size: contain; }
  @media (min-width: 1024px) {
    .red-hand {
      display: block; } }

.specials-container {
  position: relative; }
  @media (min-width: 1024px) {
    .specials-container {
      top: -90px; } }
  .specials-container .special {
    padding: 15px 15px;
    color: white;
    margin-bottom: 50px;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#d01a1f+0,f15a24+100 */
    background: #d01a1f;
    /* Old browsers */
    /* FF3.6-15 */
    /* Chrome10-25,Safari5.1-6 */
    background: -webkit-gradient(linear, left top, right top, from(#d01a1f), to(#f15a24));
    background: linear-gradient(to right, #d01a1f 0%, #f15a24 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$color_red', endColorstr='$color_orange',GradientType=1 );
    /* IE6-9 */ }

@media (min-width: 667px) {
  .home .specials-container {
    top: 20px; } }

.mitglieder-sidebar {
  position: relative; }
  @media (min-width: 1024px) {
    .mitglieder-sidebar {
      top: -90px; } }

@media (min-width: 667px) {
  .home .mitglieder-sidebar {
    top: 20px; } }

html, body {
  height: 100%; }

#page {
  position: relative;
  min-height: 100%; }

#content {
  padding-bottom: 170px; }

#colophon {
  clear: both;
  position: absolute;
  bottom: 0;
  height: 150px;
  width: 100%;
  background: url(images/footer-bg.png) no-repeat center bottom;
  background-size: cover; }

.container {
  position: relative; }

.wpv-loop {
  margin: 0;
  padding: 0; }
  .wpv-loop li {
    list-style-type: none; }

.button-regular a {
  display: inline-block;
  padding: 5px 20px;
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#d01a1f+0,f15a24+100 */
  background: #d01a1f;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: -webkit-gradient(linear, left top, right top, from(#d01a1f), to(#f15a24));
  background: linear-gradient(to right, #d01a1f 0%, #f15a24 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$color_red', endColorstr='$color_orange',GradientType=1 );
  /* IE6-9 */
  color: white; }
  .button-regular a:hover, .button-regular a:focus {
    background-color: #f15a24; }

.button-white a {
  display: inline-block;
  border: 1px solid white;
  padding: 5px 20px;
  color: white;
  text-transform: uppercase; }
  .button-white a:hover, .button-white a:focus {
    background-color: #f15a24;
    text-decoration: none; }

.slide {
  position: relative; }
  .slide .tagline {
    display: inline-block;
    position: absolute;
    bottom: 20px;
    left: 0;
    padding: 10px 20px;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#d01a1f+0,f15a24+100 */
    background: #d01a1f;
    /* Old browsers */
    /* FF3.6-15 */
    /* Chrome10-25,Safari5.1-6 */
    background: -webkit-gradient(linear, left top, right top, from(#d01a1f), to(#f15a24));
    background: linear-gradient(to right, #d01a1f 0%, #f15a24 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$color_red', endColorstr='$color_orange',GradientType=1 );
    /* IE6-9 */
    color: white; }
    .slide .tagline span {
      font-weight: bold; }
    .slide .tagline a {
      color: white; }

.pagination > li > a, .pagination > li > span {
  color: #f15a24 !important; }

.tiles .tile {
  position: relative;
  display: block;
  margin-bottom: 60px;
  background: #d9d9d9;
  padding-bottom: 50px; }
  .tiles .tile .tile-image-container {
    position: relative;
    min-height: 40px; }
  .tiles .tile .category-term {
    position: absolute;
    height: 40px;
    left: 0;
    bottom: 0;
    color: white;
    background: #333;
    padding: 6px 20px;
    text-transform: uppercase;
    font-size: 1.8rem;
    font-weight: bold; }
  .tiles .tile .post-date {
    margin-top: 10px;
    padding: 0 20px 0;
    color: #999;
    font-weight: bold; }
  .tiles .tile .tile-title {
    margin: 0 0 .25em;
    padding: 0 20px 0; }
  .tiles .tile .tile-excerpt {
    padding: 0 20px 0; }
  .tiles .tile .tile-button {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    text-align: center;
    min-height: 50px;
    padding: 0 20px 20px; }

.home .tile .post-date {
  display: none; }

.home .tile .tile-title {
  margin-top: 20px; }

.gallery {
  position: relative;
  width: calc(100% + 30px);
  left: -15px;
  margin: 3em 0 1em; }
  .gallery img {
    width: 100%;
    height: auto; }
  .gallery figure {
    padding: 0 15px; }
  .gallery figcaption {
    padding-top: 5px;
    font-style: italic;
    line-height: 1.25em; }

.featherlight .featherlight-content .caption {
  font-family: "Source Sans Pro", sans-serif; }

.post-navigation {
  padding: 15px 0 30px; }
  .post-navigation .nav-links .nav-previous,
  .post-navigation .nav-links .nav-next {
    font-size: 2rem; }
    .post-navigation .nav-links .nav-previous a,
    .post-navigation .nav-links .nav-next a {
      color: #d01a1f; }
    .post-navigation .nav-links .nav-previous a:hover, .post-navigation .nav-links .nav-previous a:focus,
    .post-navigation .nav-links .nav-next a:hover,
    .post-navigation .nav-links .nav-next a:focus {
      color: #d01a1f; }
  .post-navigation .nav-links .nav-previous a:before {
    font-weight: 900;
    content: "";
    padding-right: .3em;
    font-size: 2rem;
    font-family: "Font Awesome 5 Free"; }
  .post-navigation .nav-links .nav-next a:after {
    font-weight: 900;
    content: "";
    padding-left: .2em;
    font-size: 2rem;
    font-family: "Font Awesome 5 Free"; }

.mitglieder-sidebar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  .mitglieder-sidebar .mitglied {
    margin-bottom: 2em;
    filter: none;
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    opacity: .5;
    -webkit-transition: all .2s;
    transition: all .2s; }
    .mitglieder-sidebar .mitglied:hover, .mitglieder-sidebar .mitglied:focus {
      -webkit-filter: grayscale(0%);
      -moz-filter: grayscale(0%);
      -ms-filter: grayscale(0%);
      -o-filter: grayscale(0%);
      opacity: 1; }

.mitglieder-main .mitglied {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 2em;
  margin-bottom: 2em; }
  .mitglieder-main .mitglied .image {
    margin-right: 20px; }
  .mitglieder-main .mitglied h3 {
    margin-bottom: .25em; }
  .mitglieder-main .mitglied p {
    margin-top: 0; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyIsInN0eWxlLnNjc3MiLCJ2YXJpYWJsZXMtc2l0ZS9fdHlwb2dyYXBoeS5zY3NzIiwiX25vcm1hbGl6ZS5zY3NzIiwidHlwb2dyYXBoeS9fdHlwb2dyYXBoeS5zY3NzIiwidmFyaWFibGVzLXNpdGUvX2NvbG9ycy5zY3NzIiwidHlwb2dyYXBoeS9faGVhZGluZ3Muc2NzcyIsInR5cG9ncmFwaHkvX2NvcHkuc2NzcyIsIm1peGlucy9fbWl4aW5zLW1hc3Rlci5zY3NzIiwidHlwb2dyYXBoeS9fd2ViZm9udHMuc2NzcyIsImVsZW1lbnRzL19lbGVtZW50cy5zY3NzIiwiZWxlbWVudHMvX2xpc3RzLnNjc3MiLCJlbGVtZW50cy9fdGFibGVzLnNjc3MiLCJmb3Jtcy9fYnV0dG9ucy5zY3NzIiwiZm9ybXMvX2ZpZWxkcy5zY3NzIiwibmF2aWdhdGlvbi9fbmF2aWdhdGlvbi5zY3NzIiwibmF2aWdhdGlvbi9fbGlua3Muc2NzcyIsIm5hdmlnYXRpb24vX21lbnVzLnNjc3MiLCJsYXlvdXQvX3Jlc3BvbnNpdmUuc2NzcyIsIm1vZHVsZXMvX2FjY2Vzc2liaWxpdHkuc2NzcyIsIm1vZHVsZXMvX2FsaWdubWVudHMuc2NzcyIsIm1vZHVsZXMvX2NsZWFyaW5ncy5zY3NzIiwic2l0ZS9zZWNvbmRhcnkvX3dpZGdldHMuc2NzcyIsInNpdGUvX3NpdGUuc2NzcyIsInNpdGUvcHJpbWFyeS9fcG9zdHMtYW5kLXBhZ2VzLnNjc3MiLCJzaXRlL3ByaW1hcnkvX2NvbW1lbnRzLnNjc3MiLCJtb2R1bGVzL19pbmZpbml0ZS1zY3JvbGwuc2NzcyIsIm1lZGlhL19tZWRpYS5zY3NzIiwibWVkaWEvX2NhcHRpb25zLnNjc3MiLCJtZWRpYS9fZ2FsbGVyaWVzLnNjc3MiLCJ2YXJpYWJsZXMtc2l0ZS9fY29sdW1ucy5zY3NzIiwibGF5b3V0L19sYXlvdXQuc2NzcyIsIm1vZHVsZXMvX2NvbXBzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlC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VGhlbWUgTmFtZTogX0tpbmRlcnNvbGRhdGVuLmluZm9cblRoZW1lIFVSSTogaHR0cDovL3VuZGVyc2NvcmVzLm1lL1xuQXV0aG9yOiBMb3RoYXIgS29jaFxuQXV0aG9yIFVSSTogaHR0cDovL3d3dy5kaWVwcm9qZWt0b3Jlbi5kZVxuRGVzY3JpcHRpb246IERlc2NyaXB0aW9uXG5WZXJzaW9uOiAxLjAuMFxuTGljZW5zZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjIgb3IgbGF0ZXJcbkxpY2Vuc2UgVVJJOiBMSUNFTlNFXG5UZXh0IERvbWFpbjogX2tpbmRlcnNvbGRhdGVuLWluZm9cblRhZ3M6IGN1c3RvbS1iYWNrZ3JvdW5kLCBjdXN0b20tbG9nbywgY3VzdG9tLW1lbnUsIGZlYXR1cmVkLWltYWdlcywgdGhyZWFkZWQtY29tbWVudHMsIHRyYW5zbGF0aW9uLXJlYWR5XG5cblRoaXMgdGhlbWUsIGxpa2UgV29yZFByZXNzLCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgR1BMLlxuVXNlIGl0IHRvIG1ha2Ugc29tZXRoaW5nIGNvb2wsIGhhdmUgZnVuLCBhbmQgc2hhcmUgd2hhdCB5b3UndmUgbGVhcm5lZCB3aXRoIG90aGVycy5cblxuX0tpbmRlcnNvbGRhdGVuLmluZm8gaXMgYmFzZWQgb24gVW5kZXJzY29yZXMgaHR0cHM6Ly91bmRlcnNjb3Jlcy5tZS8sIChDKSAyMDEyLTIwMTcgQXV0b21hdHRpYywgSW5jLlxuVW5kZXJzY29yZXMgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR1BMIHYyIG9yIGxhdGVyLlxuXG5Ob3JtYWxpemluZyBzdHlsZXMgaGF2ZSBiZWVuIGhlbHBlZCBhbG9uZyB0aGFua3MgdG8gdGhlIGZpbmUgd29yayBvZlxuTmljb2xhcyBHYWxsYWdoZXIgYW5kIEpvbmF0aGFuIE5lYWwgaHR0cHM6Ly9uZWNvbGFzLmdpdGh1Yi5pby9ub3JtYWxpemUuY3NzL1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbj4+PiBUQUJMRSBPRiBDT05URU5UUzpcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgTm9ybWFsaXplXG4jIFR5cG9ncmFwaHlcbiMgRWxlbWVudHNcbiMgRm9ybXNcbiMgTmF2aWdhdGlvblxuXHQjIyBMaW5rc1xuXHQjIyBNZW51c1xuIyBBY2Nlc3NpYmlsaXR5XG4jIEFsaWdubWVudHNcbiMgQ2xlYXJpbmdzXG4jIFdpZGdldHNcbiMgQ29udGVudFxuXHQjIyBQb3N0cyBhbmQgcGFnZXNcblx0IyMgQ29tbWVudHNcbiMgSW5maW5pdGUgc2Nyb2xsXG4jIE1lZGlhXG5cdCMjIENhcHRpb25zXG5cdCMjIEdhbGxlcmllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuYm9keSB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgTm9ybWFsaXplXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKiBTZWN0aW9uc1xuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qIEZvcm1zXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqXHRcdGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qIEludGVyYWN0aXZlXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qIE1pc2Ncblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIFR5cG9ncmFwaHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbmh0bWwge1xuICBmb250LXNpemU6IDYyLjUlOyB9XG5cbmJvZHksXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBjb2xvcjogIzQwNDA0MDtcbiAgZm9udC1mYW1pbHk6IFwiU291cmNlIFNhbnMgUHJvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBjbGVhcjogYm90aDsgfVxuXG5ib2R5IGgxIHtcbiAgZm9udC1mYW1pbHk6IE1vbnRzZXJyYXQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMy4ycmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBtYXJnaW46IDJlbSAwIDFlbTsgfVxuICBib2R5IGgxOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG5cbmJvZHkgaDIge1xuICBmb250LWZhbWlseTogTW9udHNlcnJhdDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAyLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgbWFyZ2luOiAyZW0gMCAuNWVtOyB9XG4gIGJvZHkgaDI6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cblxuYm9keSBoMyB7XG4gIGZvbnQtZmFtaWx5OiBNb250c2VycmF0O1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1ZW07XG4gIG1hcmdpbjogMmVtIDAgLjVlbTsgfVxuICBib2R5IGgzOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTsgfVxuXG5kZm4sIGNpdGUsIGVtLCBpIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMS41ZW07IH1cblxuYWRkcmVzcyB7XG4gIG1hcmdpbjogMCAwIDEuNWVtOyB9XG5cbnByZSB7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG4gIGZvbnQtZmFtaWx5OiBcIkNvdXJpZXIgMTAgUGl0Y2hcIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBtYXJnaW4tYm90dG9tOiAxLjZlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogYXV0bztcbiAgcGFkZGluZzogMS42ZW07IH1cblxuY29kZSwga2JkLCB0dCwgdmFyIHtcbiAgZm9udC1mYW1pbHk6IE1vbmFjbywgQ29uc29sYXMsIFwiQW5kYWxlIE1vbm9cIiwgXCJEZWphVnUgU2FucyBNb25vXCIsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuXG5hYmJyLCBhY3JvbnltIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjNjY2O1xuICBjdXJzb3I6IGhlbHA7IH1cblxubWFyaywgaW5zIHtcbiAgYmFja2dyb3VuZDogI2ZmZjljMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmJpZyB7XG4gIGZvbnQtc2l6ZTogMTI1JTsgfVxuXG4vKiBtb250c2VycmF0LTcwMCAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIndlYmZvbnRzL21vbnRzZXJyYXQtdjEyLWxhdGluLTcwMC5lb3RcIik7XG4gIC8qIElFOSBDb21wYXQgTW9kZXMgKi9cbiAgc3JjOiBsb2NhbChcIk1vbnRzZXJyYXQgQm9sZFwiKSwgbG9jYWwoXCJNb250c2VycmF0LUJvbGRcIiksIHVybChcIndlYmZvbnRzL21vbnRzZXJyYXQtdjEyLWxhdGluLTcwMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCJ3ZWJmb250cy9tb250c2VycmF0LXYxMi1sYXRpbi03MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIndlYmZvbnRzL21vbnRzZXJyYXQtdjEyLWxhdGluLTcwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIndlYmZvbnRzL21vbnRzZXJyYXQtdjEyLWxhdGluLTcwMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIndlYmZvbnRzL21vbnRzZXJyYXQtdjEyLWxhdGluLTcwMC5zdmcjTW9udHNlcnJhdFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIC8qIExlZ2FjeSBpT1MgKi8gfVxuXG4vKiBzb3VyY2Utc2Fucy1wcm8tcmVndWxhciAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwid2ViZm9udHMvc291cmNlLXNhbnMtcHJvLXYxMS1sYXRpbi1yZWd1bGFyLmVvdFwiKTtcbiAgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xuICBzcmM6IGxvY2FsKFwiU291cmNlIFNhbnMgUHJvIFJlZ3VsYXJcIiksIGxvY2FsKFwiU291cmNlU2Fuc1Byby1SZWd1bGFyXCIpLCB1cmwoXCJ3ZWJmb250cy9zb3VyY2Utc2Fucy1wcm8tdjExLWxhdGluLXJlZ3VsYXIuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwid2ViZm9udHMvc291cmNlLXNhbnMtcHJvLXYxMS1sYXRpbi1yZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCJ3ZWJmb250cy9zb3VyY2Utc2Fucy1wcm8tdjExLWxhdGluLXJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCJ3ZWJmb250cy9zb3VyY2Utc2Fucy1wcm8tdjExLWxhdGluLXJlZ3VsYXIudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCJ3ZWJmb250cy9zb3VyY2Utc2Fucy1wcm8tdjExLWxhdGluLXJlZ3VsYXIuc3ZnI1NvdXJjZVNhbnNQcm9cIikgZm9ybWF0KFwic3ZnXCIpO1xuICAvKiBMZWdhY3kgaU9TICovIH1cblxuLyogc291cmNlLXNhbnMtcHJvLTkwMCAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIHNyYzogdXJsKFwid2ViZm9udHMvc291cmNlLXNhbnMtcHJvLXYxMS1sYXRpbi05MDAuZW90XCIpO1xuICAvKiBJRTkgQ29tcGF0IE1vZGVzICovXG4gIHNyYzogbG9jYWwoXCJTb3VyY2UgU2FucyBQcm8gQmxhY2tcIiksIGxvY2FsKFwiU291cmNlU2Fuc1Byby1CbGFja1wiKSwgdXJsKFwid2ViZm9udHMvc291cmNlLXNhbnMtcHJvLXYxMS1sYXRpbi05MDAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwid2ViZm9udHMvc291cmNlLXNhbnMtcHJvLXYxMS1sYXRpbi05MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIndlYmZvbnRzL3NvdXJjZS1zYW5zLXByby12MTEtbGF0aW4tOTAwLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwid2ViZm9udHMvc291cmNlLXNhbnMtcHJvLXYxMS1sYXRpbi05MDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCJ3ZWJmb250cy9zb3VyY2Utc2Fucy1wcm8tdjExLWxhdGluLTkwMC5zdmcjU291cmNlU2Fuc1Byb1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIC8qIExlZ2FjeSBpT1MgKi8gfVxuXG4vKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuNC4yIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIndlYmZvbnRzL2ZhLXNvbGlkLTkwMC5lb3RcIik7XG4gIHNyYzogdXJsKFwid2ViZm9udHMvZmEtc29saWQtOTAwLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIndlYmZvbnRzL2ZhLXNvbGlkLTkwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwid2ViZm9udHMvZmEtc29saWQtOTAwLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwid2ViZm9udHMvZmEtc29saWQtOTAwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwid2ViZm9udHMvZmEtc29saWQtOTAwLnN2ZyNmb250YXdlc29tZVwiKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuLmZhciB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBFbGVtZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIC8qIEluaGVyaXQgYm94LXNpemluZyB0byBtYWtlIGl0IGVhc2llciB0byBjaGFuZ2UgdGhlIHByb3BlcnR5IGZvciBjb21wb25lbnRzIHRoYXQgbGV2ZXJhZ2Ugb3RoZXIgYmVoYXZpb3I7IHNlZSBodHRwczovL2Nzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZS8gKi9cbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgLyogRmFsbGJhY2sgZm9yIHdoZW4gdGhlcmUgaXMgbm8gY3VzdG9tIGJhY2tncm91bmQgY29sb3IgZGVmaW5lZC4gKi8gfVxuXG5ociB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIGJvcmRlcjogMDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtOyB9XG5cbnVsLCBvbCB7XG4gIG1hcmdpbjogMCAwIDEuNWVtIDBlbTtcbiAgcGFkZGluZzogMCAwIDAgMTRweDsgfVxuICB1bCBsaSwgb2wgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuXG51bCB7XG4gIGxpc3Qtc3R5bGU6IGRpc2M7IH1cblxub2wge1xuICBsaXN0LXN0eWxlOiBkZWNpbWFsOyB9XG5cbmxpID4gdWwsXG5saSA+IG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLWxlZnQ6IDEuNWVtOyB9XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuZGQge1xuICBtYXJnaW46IDAgMS41ZW0gMS41ZW07IH1cblxuaW1nIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICAvKiBNYWtlIHN1cmUgaW1hZ2VzIGFyZSBzY2FsZWQgY29ycmVjdGx5LiAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIEFkaGVyZSB0byBjb250YWluZXIgd2lkdGguICovIH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gMDtcbiAgLyogRXh0cmEgd2lkZSBpbWFnZXMgd2l0aGluIGZpZ3VyZSB0YWdzIGRvbid0IG92ZXJmbG93IHRoZSBjb250ZW50IGFyZWEuICovIH1cblxudGFibGUge1xuICBtYXJnaW46IDAgMCAxLjVlbTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBGb3Jtc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuYnV0dG9uLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjICNjY2MgI2JiYjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6IC42ZW0gMWVtIC40ZW07IH1cbiAgYnV0dG9uOmhvdmVyLFxuICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmhvdmVyLFxuICBpbnB1dFt0eXBlPVwicmVzZXRcIl06aG92ZXIsXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2NjYyAjYmJiICNhYWE7IH1cbiAgYnV0dG9uOmFjdGl2ZSwgYnV0dG9uOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmFjdGl2ZSxcbiAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmFjdGl2ZSxcbiAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmFjdGl2ZSxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWFhICNiYmIgI2JiYjsgfVxuXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJ1cmxcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbmlucHV0W3R5cGU9XCJ0ZWxcIl0sXG5pbnB1dFt0eXBlPVwicmFuZ2VcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbmlucHV0W3R5cGU9XCJtb250aFwiXSxcbmlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwiY29sb3JcIl0sXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiAjNjY2O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHBhZGRpbmc6IDNweDsgfVxuICBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJyYW5nZVwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cImRhdGVcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cIndlZWtcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgY29sb3I6ICMxMTE7IH1cblxuc2VsZWN0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsgfVxuXG50ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgTmF2aWdhdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyMgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbmEge1xuICBjb2xvcjogI2QwMWExZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIC4yczsgfVxuICBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAjZDAxYTFmOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMsIGE6YWN0aXZlIHtcbiAgICBjb2xvcjogI2YxNWEyNDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiB0aGluIGRvdHRlZDsgfVxuICBhOmhvdmVyLCBhOmFjdGl2ZSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5hW2hyZWYkPVwiLnBkZlwiXTpiZWZvcmUge1xuICBmb250LXdlaWdodDogOTAwO1xuICBjb250ZW50OiBcIu+OgVwiO1xuICBwYWRkaW5nLXJpZ2h0OiAuM2VtO1xuICBmb250LXNpemU6IFwiaW5oZXJpdFwiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyMgTWVudXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5tYWluLW5hdmlnYXRpb24ge1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTsgfVxuICAubWFpbi1uYXZpZ2F0aW9uIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgIC5tYWluLW5hdmlnYXRpb24gdWwgdWwge1xuICAgICAgYm94LXNoYWRvdzogMCAzcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgbGVmdDogLTk5OWVtO1xuICAgICAgei1pbmRleDogOTk5OTk7IH1cbiAgICAgIC5tYWluLW5hdmlnYXRpb24gdWwgdWwgdWwge1xuICAgICAgICBsZWZ0OiAtOTk5ZW07XG4gICAgICAgIHRvcDogMDsgfVxuICAgICAgLm1haW4tbmF2aWdhdGlvbiB1bCB1bCBsaTpob3ZlciA+IHVsLFxuICAgICAgLm1haW4tbmF2aWdhdGlvbiB1bCB1bCBsaS5mb2N1cyA+IHVsIHtcbiAgICAgICAgbGVmdDogMTAwJTsgfVxuICAgICAgLm1haW4tbmF2aWdhdGlvbiB1bCB1bCBhIHtcbiAgICAgICAgd2lkdGg6IDIwMHB4OyB9XG4gICAgLm1haW4tbmF2aWdhdGlvbiB1bCBsaTpob3ZlciA+IHVsLFxuICAgIC5tYWluLW5hdmlnYXRpb24gdWwgbGkuZm9jdXMgPiB1bCB7XG4gICAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tYWluLW5hdmlnYXRpb24gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgLm1haW4tbmF2aWdhdGlvbiBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtOyB9IH1cbiAgICAubWFpbi1uYXZpZ2F0aW9uIGxpLmhvbWUgYSB7XG4gICAgICBmb250LXNpemU6IDA7IH1cbiAgICAgIC5tYWluLW5hdmlnYXRpb24gbGkuaG9tZSBhOmFmdGVyIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgY29udGVudDogXCLvgJVcIjtcbiAgICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjsgfVxuICAgIC5tYWluLW5hdmlnYXRpb24gbGk6aG92ZXIgPiBhLFxuICAgIC5tYWluLW5hdmlnYXRpb24gbGkuZm9jdXMgPiBhIHtcbiAgICAgIGNvbG9yOiAjZDAxYTFmOyB9XG4gIC5tYWluLW5hdmlnYXRpb24gYSB7XG4gICAgY29sb3I6ICM0MDQwNDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5tYWluLW5hdmlnYXRpb24gLmN1cnJlbnRfcGFnZV9pdGVtID4gYSxcbiAgLm1haW4tbmF2aWdhdGlvbiAuY3VycmVudC1tZW51LWl0ZW0gPiBhLFxuICAubWFpbi1uYXZpZ2F0aW9uIC5jdXJyZW50X3BhZ2VfYW5jZXN0b3IgPiBhLFxuICAubWFpbi1uYXZpZ2F0aW9uIC5jdXJyZW50LW1lbnUtYW5jZXN0b3IgPiBhIHtcbiAgICBjb2xvcjogI2QwMWExZjsgfVxuXG4vKiBTbWFsbCBtZW51LiAqL1xuLm1lbnUtdG9nZ2xlLFxuLm1haW4tbmF2aWdhdGlvbi50b2dnbGVkIHVsIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gIC5tZW51LXRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubWFpbi1uYXZpZ2F0aW9uIHVsIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5zaXRlLW1haW4gLmNvbW1lbnQtbmF2aWdhdGlvbiwgLnNpdGUtbWFpblxuLnBvc3RzLW5hdmlnYXRpb24sIC5zaXRlLW1haW5cbi5wb3N0LW5hdmlnYXRpb24ge1xuICBtYXJnaW46IDAgMCAwZW07XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmNvbW1lbnQtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzLFxuLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyxcbi5wb3N0LW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNTAlOyB9XG5cbi5jb21tZW50LW5hdmlnYXRpb24gLm5hdi1uZXh0LFxuLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1uZXh0LFxuLnBvc3QtbmF2aWdhdGlvbiAubmF2LW5leHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB3aWR0aDogNTAlOyB9XG5cbiNmb290ZXItbmF2aWdhdGlvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjZm9vdGVyLW5hdmlnYXRpb24gdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgI2Zvb3Rlci1uYXZpZ2F0aW9uIHVsIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICNmb290ZXItbmF2aWdhdGlvbiB1bCBsaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07IH0gfVxuICAgICAgI2Zvb3Rlci1uYXZpZ2F0aW9uIHVsIGxpIGEge1xuICAgICAgICBjb2xvcjogIzQwNDA0MDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgI2Zvb3Rlci1uYXZpZ2F0aW9uIHVsIGxpOmhvdmVyID4gYSxcbiAgICAgICNmb290ZXItbmF2aWdhdGlvbiB1bCBsaS5mb2N1cyA+IGEge1xuICAgICAgICBjb2xvcjogI2QwMWExZjsgfVxuICAgICAgI2Zvb3Rlci1uYXZpZ2F0aW9uIHVsIGxpLmN1cnJlbnRfcGFnZV9pdGVtID4gYSxcbiAgICAgICNmb290ZXItbmF2aWdhdGlvbiB1bCBsaS5jdXJyZW50LW1lbnUtaXRlbSA+IGEsXG4gICAgICAjZm9vdGVyLW5hdmlnYXRpb24gdWwgbGkuY3VycmVudF9wYWdlX2FuY2VzdG9yID4gYSxcbiAgICAgICNmb290ZXItbmF2aWdhdGlvbiB1bCBsaS5jdXJyZW50LW1lbnUtYW5jZXN0b3IgPiBhIHtcbiAgICAgICAgY29sb3I6ICNkMDFhMWY7IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBBY2Nlc3NpYmlsaXR5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUZXh0IG1lYW50IG9ubHkgZm9yIHNjcmVlbiByZWFkZXJzLiAqL1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAvKiBNYW55IHNjcmVlbiByZWFkZXIgYW5kIGJyb3dzZXIgY29tYmluYXRpb25zIGFubm91bmNlIGJyb2tlbiB3b3JkcyBhcyB0aGV5IHdvdWxkIGFwcGVhciB2aXN1YWxseS4gKi8gfVxuICAuc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICAgIGNsaXAtcGF0aDogbm9uZTtcbiAgICBjb2xvcjogIzIxNzU5YjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRvcDogNXB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHotaW5kZXg6IDEwMDAwMDtcbiAgICAvKiBBYm92ZSBXUCB0b29sYmFyLiAqLyB9XG5cbi8qIERvIG5vdCBzaG93IHRoZSBvdXRsaW5lIG9uIHRoZSBza2lwIGxpbmsgdGFyZ2V0LiAqL1xuI2NvbnRlbnRbdGFiaW5kZXg9XCItMVwiXTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBBbGlnbm1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uYWxpZ25sZWZ0IHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVlbTsgfVxuXG4uYWxpZ25yaWdodCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tbGVmdDogMS41ZW07IH1cblxuLmFsaWduY2VudGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgQ2xlYXJpbmdzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uY2xlYXI6YmVmb3JlLFxuLmNsZWFyOmFmdGVyLFxuLmVudHJ5LWNvbnRlbnQ6YmVmb3JlLFxuLmVudHJ5LWNvbnRlbnQ6YWZ0ZXIsXG4uY29tbWVudC1jb250ZW50OmJlZm9yZSxcbi5jb21tZW50LWNvbnRlbnQ6YWZ0ZXIsXG4uc2l0ZS1oZWFkZXI6YmVmb3JlLFxuLnNpdGUtaGVhZGVyOmFmdGVyLFxuLnNpdGUtY29udGVudDpiZWZvcmUsXG4uc2l0ZS1jb250ZW50OmFmdGVyLFxuLnNpdGUtZm9vdGVyOmJlZm9yZSxcbi5zaXRlLWZvb3RlcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG5cbi5jbGVhcjphZnRlcixcbi5lbnRyeS1jb250ZW50OmFmdGVyLFxuLmNvbW1lbnQtY29udGVudDphZnRlcixcbi5zaXRlLWhlYWRlcjphZnRlcixcbi5zaXRlLWNvbnRlbnQ6YWZ0ZXIsXG4uc2l0ZS1mb290ZXI6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIFdpZGdldHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi53aWRnZXQge1xuICBtYXJnaW46IDAgMCAxLjVlbTtcbiAgLyogTWFrZSBzdXJlIHNlbGVjdCBlbGVtZW50cyBmaXQgaW4gd2lkZ2V0cy4gKi8gfVxuICAud2lkZ2V0IHNlbGVjdCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyMgUG9zdHMgYW5kIHBhZ2VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uc3RpY2t5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmhlbnRyeSB7XG4gIG1hcmdpbjogMCAwIDEuNWVtOyB9XG5cbi51cGRhdGVkOm5vdCgucHVibGlzaGVkKSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBhZ2UtY29udGVudCxcbi5lbnRyeS1jb250ZW50LFxuLmVudHJ5LXN1bW1hcnkge1xuICBtYXJnaW46IDA7IH1cblxuLnBhZ2UtbGlua3Mge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOiAwIDAgMS41ZW07IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyMgQ29tbWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5jb21tZW50LWNvbnRlbnQgYSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfVxuXG4uYnlwb3N0YXV0aG9yIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBJbmZpbml0ZSBzY3JvbGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEdsb2JhbGx5IGhpZGRlbiBlbGVtZW50cyB3aGVuIEluZmluaXRlIFNjcm9sbCBpcyBzdXBwb3J0ZWQgYW5kIGluIHVzZS4gKi9cbi5pbmZpbml0ZS1zY3JvbGwgLnBvc3RzLW5hdmlnYXRpb24sXG4uaW5maW5pdGUtc2Nyb2xsLm5ldmVyZW5kaW5nIC5zaXRlLWZvb3RlciB7XG4gIC8qIFRoZW1lIEZvb3RlciAod2hlbiBzZXQgdG8gc2Nyb2xsaW5nKSAqL1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIFdoZW4gSW5maW5pdGUgU2Nyb2xsIGhhcyByZWFjaGVkIGl0cyBlbmQgd2UgbmVlZCB0byByZS1kaXNwbGF5IGVsZW1lbnRzIHRoYXQgd2VyZSBoaWRkZW4gKHZpYSAubmV2ZXJlbmRpbmcpIGJlZm9yZS4gKi9cbi5pbmZpbml0eS1lbmQubmV2ZXJlbmRpbmcgLnNpdGUtZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBNZWRpYVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnBhZ2UtY29udGVudCAud3Atc21pbGV5LFxuLmVudHJ5LWNvbnRlbnQgLndwLXNtaWxleSxcbi5jb21tZW50LWNvbnRlbnQgLndwLXNtaWxleSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKiBNYWtlIHN1cmUgZW1iZWRzIGFuZCBpZnJhbWVzIGZpdCB0aGVpciBjb250YWluZXJzLiAqL1xuZW1iZWQsXG5pZnJhbWUsXG5vYmplY3Qge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLyogTWFrZSBzdXJlIGxvZ28gbGluayB3cmFwcyBhcm91bmQgbG9nbyBpbWFnZS4gKi9cbi5jdXN0b20tbG9nby1saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMjIENhcHRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ud3AtY2FwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLndwLWNhcHRpb24gaW1nW2NsYXNzKj1cIndwLWltYWdlLVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC53cC1jYXB0aW9uIC53cC1jYXB0aW9uLXRleHQge1xuICAgIG1hcmdpbjogMC44MDc1ZW0gMDsgfVxuXG4ud3AtY2FwdGlvbi10ZXh0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMjIEdhbGxlcmllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmdhbGxlcnkge1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTsgfVxuXG4uZ2FsbGVyeS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5nYWxsZXJ5LWNvbHVtbnMtMiAuZ2FsbGVyeS1pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAuZ2FsbGVyeS1jb2x1bW5zLTMgLmdhbGxlcnktaXRlbSB7XG4gICAgbWF4LXdpZHRoOiAzMy4zMyU7IH1cbiAgLmdhbGxlcnktY29sdW1ucy00IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5nYWxsZXJ5LWNvbHVtbnMtNSAuZ2FsbGVyeS1pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAuZ2FsbGVyeS1jb2x1bW5zLTYgLmdhbGxlcnktaXRlbSB7XG4gICAgbWF4LXdpZHRoOiAxNi42NiU7IH1cbiAgLmdhbGxlcnktY29sdW1ucy03IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIG1heC13aWR0aDogMTQuMjglOyB9XG4gIC5nYWxsZXJ5LWNvbHVtbnMtOCAuZ2FsbGVyeS1pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDEyLjUlOyB9XG4gIC5nYWxsZXJ5LWNvbHVtbnMtOSAuZ2FsbGVyeS1pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDExLjExJTsgfVxuXG4uZ2FsbGVyeS1jYXB0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuI3BhZ2Uge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbiNtYXN0aGVhZCB7XG4gIGhlaWdodDogMTAwcHg7IH1cblxuaW1nLmN1c3RvbS1sb2dvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxNXB4O1xuICB0b3A6IDE4cHg7XG4gIHdpZHRoOiAzMTdweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgaW1nLmN1c3RvbS1sb2dvIHtcbiAgICAgIGxlZnQ6IDA7IH0gfVxuXG4jcHJpbWFyeS1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDM4cHg7XG4gIHJpZ2h0OiAwOyB9XG5cbiNjb2xvcGhvbiAubmF2LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMjBweDsgfVxuXG4uY29weXJpZ2h0LWluZm8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDE1cHg7XG4gIGJvdHRvbTogMjBweDtcbiAgY29sb3I6ICM2NjY7IH1cblxuLnZpc2l0cy1jb3VudGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgY29sb3I6ICM2NjY7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY2N3B4KSB7XG4gICAgLnZpc2l0cy1jb3VudGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICBib3R0b206IDIwcHg7IH0gfVxuXG4ucG9zdC10aHVtYm5haWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDExMHB4OyB9XG4gIC5wb3N0LXRodW1ibmFpbDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAtMnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNTBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL2ltYWdlLWNvdmVyLnBuZyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjY3cHgpIHtcbiAgICAgIC5wb3N0LXRodW1ibmFpbDphZnRlciB7XG4gICAgICAgIGhlaWdodDogMTAwcHg7IH0gfVxuICAucG9zdC10aHVtYm5haWwgaW1nIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4jbWFpbi1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogdXJsKGltYWdlcy9iZy1sb3dlcnBhcnQucG5nKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBtaW4taGVpZ2h0OiA0NXZ3OyB9XG5cbiNpbnRyby10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4ubWFpbi1jb250ZW50LWNvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5lbnRyeS1mb290ZXIgLmNhdC1saW5rcyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnJlZC1oYW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMjBweDtcbiAgdG9wOiAtNDUwcHg7XG4gIHdpZHRoOiAzMjBweDtcbiAgaGVpZ2h0OiA0NzFweDtcbiAgYmFja2dyb3VuZDogdXJsKGltYWdlcy9yZWQtaGFuZC5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgYm90dG9tO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5yZWQtaGFuZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5zcGVjaWFscy1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5zcGVjaWFscy1jb250YWluZXIge1xuICAgICAgdG9wOiAtOTBweDsgfSB9XG4gIC5zcGVjaWFscy1jb250YWluZXIgLnNwZWNpYWwge1xuICAgIHBhZGRpbmc6IDE1cHggMTVweDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jZDAxYTFmKzAsZjE1YTI0KzEwMCAqL1xuICAgIGJhY2tncm91bmQ6ICNkMDFhMWY7XG4gICAgLyogT2xkIGJyb3dzZXJzICovXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgI2QwMWExZiAwJSwgI2YxNWEyNCAxMDAlKTtcbiAgICAvKiBGRjMuNi0xNSAqL1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICNkMDFhMWYgMCUsICNmMTVhMjQgMTAwJSk7XG4gICAgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNkMDFhMWYgMCUsICNmMTVhMjQgMTAwJSk7XG4gICAgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyRjb2xvcl9yZWQnLCBlbmRDb2xvcnN0cj0nJGNvbG9yX29yYW5nZScsR3JhZGllbnRUeXBlPTEgKTtcbiAgICAvKiBJRTYtOSAqLyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NjdweCkge1xuICAuaG9tZSAuc3BlY2lhbHMtY29udGFpbmVyIHtcbiAgICB0b3A6IDIwcHg7IH0gfVxuXG4ubWl0Z2xpZWRlci1zaWRlYmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubWl0Z2xpZWRlci1zaWRlYmFyIHtcbiAgICAgIHRvcDogLTkwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjY3cHgpIHtcbiAgLmhvbWUgLm1pdGdsaWVkZXItc2lkZWJhciB7XG4gICAgdG9wOiAyMHB4OyB9IH1cblxuaHRtbCwgYm9keSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4jcGFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMTAwJTsgfVxuXG4jY29udGVudCB7XG4gIHBhZGRpbmctYm90dG9tOiAxNzBweDsgfVxuXG4jY29sb3Bob24ge1xuICBjbGVhcjogYm90aDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogMTUwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL2Zvb3Rlci1iZy5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgYm90dG9tO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi5jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLndwdi1sb29wIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC53cHYtbG9vcCBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbi5idXR0b24tcmVndWxhciBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiA1cHggMjBweDtcbiAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvI2QwMWExZiswLGYxNWEyNCsxMDAgKi9cbiAgYmFja2dyb3VuZDogI2QwMWExZjtcbiAgLyogT2xkIGJyb3dzZXJzICovXG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICNkMDFhMWYgMCUsICNmMTVhMjQgMTAwJSk7XG4gIC8qIEZGMy42LTE1ICovXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICNkMDFhMWYgMCUsICNmMTVhMjQgMTAwJSk7XG4gIC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2QwMWExZiAwJSwgI2YxNWEyNCAxMDAlKTtcbiAgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPSckY29sb3JfcmVkJywgZW5kQ29sb3JzdHI9JyRjb2xvcl9vcmFuZ2UnLEdyYWRpZW50VHlwZT0xICk7XG4gIC8qIElFNi05ICovXG4gIGNvbG9yOiB3aGl0ZTsgfVxuICAuYnV0dG9uLXJlZ3VsYXIgYTpob3ZlciwgLmJ1dHRvbi1yZWd1bGFyIGE6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMTVhMjQ7IH1cblxuLmJ1dHRvbi13aGl0ZSBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcbiAgcGFkZGluZzogNXB4IDIwcHg7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuYnV0dG9uLXdoaXRlIGE6aG92ZXIsIC5idXR0b24td2hpdGUgYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxNWEyNDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnNsaWRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zbGlkZSAudGFnbGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDIwcHg7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvI2QwMWExZiswLGYxNWEyNCsxMDAgKi9cbiAgICBiYWNrZ3JvdW5kOiAjZDAxYTFmO1xuICAgIC8qIE9sZCBicm93c2VycyAqL1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICNkMDFhMWYgMCUsICNmMTVhMjQgMTAwJSk7XG4gICAgLyogRkYzLjYtMTUgKi9cbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZDAxYTFmIDAlLCAjZjE1YTI0IDEwMCUpO1xuICAgIC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZDAxYTFmIDAlLCAjZjE1YTI0IDEwMCUpO1xuICAgIC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPSckY29sb3JfcmVkJywgZW5kQ29sb3JzdHI9JyRjb2xvcl9vcmFuZ2UnLEdyYWRpZW50VHlwZT0xICk7XG4gICAgLyogSUU2LTkgKi9cbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuc2xpZGUgLnRhZ2xpbmUgc3BhbiB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIC5zbGlkZSAudGFnbGluZSBhIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4ucGFnaW5hdGlvbiA+IGxpID4gYSwgLnBhZ2luYXRpb24gPiBsaSA+IHNwYW4ge1xuICBjb2xvcjogI2YxNWEyNCAhaW1wb3J0YW50OyB9XG5cbi50aWxlcyAudGlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIGJhY2tncm91bmQ6ICNkOWQ5ZDk7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4OyB9XG4gIC50aWxlcyAudGlsZSAudGlsZS1pbWFnZS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiA0MHB4OyB9XG4gIC50aWxlcyAudGlsZSAuY2F0ZWdvcnktdGVybSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZDogIzMzMztcbiAgICBwYWRkaW5nOiA2cHggMjBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC50aWxlcyAudGlsZSAucG9zdC1kYXRlIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMjBweCAwO1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC50aWxlcyAudGlsZSAudGlsZS10aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgLjI1ZW07XG4gICAgcGFkZGluZzogMCAyMHB4IDA7IH1cbiAgLnRpbGVzIC50aWxlIC50aWxlLWV4Y2VycHQge1xuICAgIHBhZGRpbmc6IDAgMjBweCAwOyB9XG4gIC50aWxlcyAudGlsZSAudGlsZS1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBwYWRkaW5nOiAwIDIwcHggMjBweDsgfVxuXG4uaG9tZSAudGlsZSAucG9zdC1kYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uaG9tZSAudGlsZSAudGlsZS10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLmdhbGxlcnkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAzMHB4KTtcbiAgbGVmdDogLTE1cHg7XG4gIG1hcmdpbjogM2VtIDAgMWVtOyB9XG4gIC5nYWxsZXJ5IGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5nYWxsZXJ5IGZpZ3VyZSB7XG4gICAgcGFkZGluZzogMCAxNXB4OyB9XG4gIC5nYWxsZXJ5IGZpZ2NhcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1ZW07IH1cblxuLmZlYXRoZXJsaWdodCAuZmVhdGhlcmxpZ2h0LWNvbnRlbnQgLmNhcHRpb24ge1xuICBmb250LWZhbWlseTogXCJTb3VyY2UgU2FucyBQcm9cIiwgc2Fucy1zZXJpZjsgfVxuXG4ucG9zdC1uYXZpZ2F0aW9uIHtcbiAgcGFkZGluZzogMTVweCAwIDMwcHg7IH1cbiAgLnBvc3QtbmF2aWdhdGlvbiAubmF2LWxpbmtzIC5uYXYtcHJldmlvdXMsXG4gIC5wb3N0LW5hdmlnYXRpb24gLm5hdi1saW5rcyAubmF2LW5leHQge1xuICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICAgIC5wb3N0LW5hdmlnYXRpb24gLm5hdi1saW5rcyAubmF2LXByZXZpb3VzIGEsXG4gICAgLnBvc3QtbmF2aWdhdGlvbiAubmF2LWxpbmtzIC5uYXYtbmV4dCBhIHtcbiAgICAgIGNvbG9yOiAjZDAxYTFmOyB9XG4gICAgLnBvc3QtbmF2aWdhdGlvbiAubmF2LWxpbmtzIC5uYXYtcHJldmlvdXMgYTpob3ZlciwgLnBvc3QtbmF2aWdhdGlvbiAubmF2LWxpbmtzIC5uYXYtcHJldmlvdXMgYTpmb2N1cyxcbiAgICAucG9zdC1uYXZpZ2F0aW9uIC5uYXYtbGlua3MgLm5hdi1uZXh0IGE6aG92ZXIsXG4gICAgLnBvc3QtbmF2aWdhdGlvbiAubmF2LWxpbmtzIC5uYXYtbmV4dCBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZDAxYTFmOyB9XG4gIC5wb3N0LW5hdmlnYXRpb24gLm5hdi1saW5rcyAubmF2LXByZXZpb3VzIGE6YmVmb3JlIHtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIGNvbnRlbnQ6IFwi74SAXCI7XG4gICAgcGFkZGluZy1yaWdodDogLjNlbTtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiOyB9XG4gIC5wb3N0LW5hdmlnYXRpb24gLm5hdi1saW5rcyAubmF2LW5leHQgYTphZnRlciB7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBjb250ZW50OiBcIu+EgVwiO1xuICAgIHBhZGRpbmctbGVmdDogLjJlbTtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiOyB9XG5cbi5taXRnbGllZGVyLXNpZGViYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5taXRnbGllZGVyLXNpZGViYXIgLm1pdGdsaWVkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgZmlsdGVyOiBub25lO1xuICAgIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG4gICAgLW1vei1maWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTtcbiAgICAtbXMtZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG4gICAgLW8tZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4yczsgfVxuICAgIC5taXRnbGllZGVyLXNpZGViYXIgLm1pdGdsaWVkOmhvdmVyLCAubWl0Z2xpZWRlci1zaWRlYmFyIC5taXRnbGllZDpmb2N1cyB7XG4gICAgICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDAlKTtcbiAgICAgIC1tb3otZmlsdGVyOiBncmF5c2NhbGUoMCUpO1xuICAgICAgLW1zLWZpbHRlcjogZ3JheXNjYWxlKDAlKTtcbiAgICAgIC1vLWZpbHRlcjogZ3JheXNjYWxlKDAlKTtcbiAgICAgIG9wYWNpdHk6IDE7IH1cblxuLm1pdGdsaWVkZXItbWFpbiAubWl0Z2xpZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tdG9wOiAyZW07XG4gIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAubWl0Z2xpZWRlci1tYWluIC5taXRnbGllZCAuaW1hZ2Uge1xuICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAubWl0Z2xpZWRlci1tYWluIC5taXRnbGllZCBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogLjI1ZW07IH1cbiAgLm1pdGdsaWVkZXItbWFpbiAubWl0Z2xpZWQgcCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuIiwiLyohXG5UaGVtZSBOYW1lOiBfS2luZGVyc29sZGF0ZW4uaW5mb1xuVGhlbWUgVVJJOiBodHRwOi8vdW5kZXJzY29yZXMubWUvXG5BdXRob3I6IExvdGhhciBLb2NoXG5BdXRob3IgVVJJOiBodHRwOi8vd3d3LmRpZXByb2pla3RvcmVuLmRlXG5EZXNjcmlwdGlvbjogRGVzY3JpcHRpb25cblZlcnNpb246IDEuMC4wXG5MaWNlbnNlOiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MiBvciBsYXRlclxuTGljZW5zZSBVUkk6IExJQ0VOU0VcblRleHQgRG9tYWluOiBfa2luZGVyc29sZGF0ZW4taW5mb1xuVGFnczogY3VzdG9tLWJhY2tncm91bmQsIGN1c3RvbS1sb2dvLCBjdXN0b20tbWVudSwgZmVhdHVyZWQtaW1hZ2VzLCB0aHJlYWRlZC1jb21tZW50cywgdHJhbnNsYXRpb24tcmVhZHlcblxuVGhpcyB0aGVtZSwgbGlrZSBXb3JkUHJlc3MsIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEwuXG5Vc2UgaXQgdG8gbWFrZSBzb21ldGhpbmcgY29vbCwgaGF2ZSBmdW4sIGFuZCBzaGFyZSB3aGF0IHlvdSd2ZSBsZWFybmVkIHdpdGggb3RoZXJzLlxuXG5fS2luZGVyc29sZGF0ZW4uaW5mbyBpcyBiYXNlZCBvbiBVbmRlcnNjb3JlcyBodHRwczovL3VuZGVyc2NvcmVzLm1lLywgKEMpIDIwMTItMjAxNyBBdXRvbWF0dGljLCBJbmMuXG5VbmRlcnNjb3JlcyBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHUEwgdjIgb3IgbGF0ZXIuXG5cbk5vcm1hbGl6aW5nIHN0eWxlcyBoYXZlIGJlZW4gaGVscGVkIGFsb25nIHRoYW5rcyB0byB0aGUgZmluZSB3b3JrIG9mXG5OaWNvbGFzIEdhbGxhZ2hlciBhbmQgSm9uYXRoYW4gTmVhbCBodHRwczovL25lY29sYXMuZ2l0aHViLmlvL25vcm1hbGl6ZS5jc3MvXG4qL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4+Pj4gVEFCTEUgT0YgQ09OVEVOVFM6XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIE5vcm1hbGl6ZVxuIyBUeXBvZ3JhcGh5XG4jIEVsZW1lbnRzXG4jIEZvcm1zXG4jIE5hdmlnYXRpb25cblx0IyMgTGlua3Ncblx0IyMgTWVudXNcbiMgQWNjZXNzaWJpbGl0eVxuIyBBbGlnbm1lbnRzXG4jIENsZWFyaW5nc1xuIyBXaWRnZXRzXG4jIENvbnRlbnRcblx0IyMgUG9zdHMgYW5kIHBhZ2VzXG5cdCMjIENvbW1lbnRzXG4jIEluZmluaXRlIHNjcm9sbFxuIyBNZWRpYVxuXHQjIyBDYXB0aW9uc1xuXHQjIyBHYWxsZXJpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuQGltcG9ydCBcImxheW91dC9yZXNwb25zaXZlXCI7XG5cbkBpbXBvcnQgXCJ2YXJpYWJsZXMtc2l0ZS92YXJpYWJsZXMtc2l0ZVwiO1xuQGltcG9ydCBcIm1peGlucy9taXhpbnMtbWFzdGVyXCI7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgTm9ybWFsaXplXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0IFwibm9ybWFsaXplXCI7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgVHlwb2dyYXBoeVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcInR5cG9ncmFwaHkvdHlwb2dyYXBoeVwiO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEVsZW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0IFwiZWxlbWVudHMvZWxlbWVudHNcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBGb3Jtc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcImZvcm1zL2Zvcm1zXCI7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgTmF2aWdhdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcIm5hdmlnYXRpb24vbmF2aWdhdGlvblwiO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEFjY2Vzc2liaWxpdHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCJtb2R1bGVzL2FjY2Vzc2liaWxpdHlcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBBbGlnbm1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0IFwibW9kdWxlcy9hbGlnbm1lbnRzXCI7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgQ2xlYXJpbmdzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0IFwibW9kdWxlcy9jbGVhcmluZ3NcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBXaWRnZXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0IFwic2l0ZS9zZWNvbmRhcnkvd2lkZ2V0c1wiO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCJzaXRlL3NpdGVcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBJbmZpbml0ZSBzY3JvbGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCJtb2R1bGVzL2luZmluaXRlLXNjcm9sbFwiO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIE1lZGlhXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0IFwibWVkaWEvbWVkaWFcIjtcblxuXG5AaW1wb3J0IFwibGF5b3V0L2xheW91dFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvY29tcHNcIjsiLCIkZm9udF9fbWFpbjogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4kZm9udF9fY29kZTogTW9uYWNvLCBDb25zb2xhcywgXCJBbmRhbGUgTW9ub1wiLCBcIkRlamFWdSBTYW5zIE1vbm9cIiwgbW9ub3NwYWNlO1xuJGZvbnRfX3ByZTogXCJDb3VyaWVyIDEwIFBpdGNoXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRmb250X19saW5lLWhlaWdodC1ib2R5OiAxLjU7XG4kZm9udF9fbGluZS1oZWlnaHQtcHJlOiAxLjY7XG5cbi8vIFdlYmZvbnRzIGltcHJvdmUgdmVyYmVzc2VyblxuYm9keSB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufSIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG5cdGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG5cdC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG5cdG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcblx0Zm9udC1zaXplOiAyZW07XG5cdG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcblx0Ym94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cblx0aGVpZ2h0OiAwOyAvKiAxICovXG5cdG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuXHRmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cblx0Zm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3Ncblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcblx0Zm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG5cdGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuXHRmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuXHRmb250LXNpemU6IDc1JTtcblx0bGluZS1oZWlnaHQ6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuXHRib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG5cdHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcblx0Ym9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXHRmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuXHRmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cblx0bGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cblx0bWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuXHRvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcblx0Ym9yZGVyLXN0eWxlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG5cdG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuXHRwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqXHRcdGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cblx0Y29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cblx0ZGlzcGxheTogdGFibGU7IC8qIDEgKi9cblx0bWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG5cdHBhZGRpbmc6IDA7IC8qIDMgKi9cblx0d2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuXHRvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cblx0cGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcblx0aGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuXHRvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuXHRmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG5cdGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbiIsImh0bWwge1xuXHRmb250LXNpemU6IDYyLjUlO1xufVxuXG5cbmJvZHksXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuXHRjb2xvcjogJGNvbG9yX190ZXh0LW1haW47XG5cdGZvbnQtZmFtaWx5OiAkZm9udF9fbWFpbjtcblx0Ly9AaW5jbHVkZSBmb250LXNpemUoMSk7XG5cdGZvbnQtc2l6ZTogMS42cmVtO1xuXHRsaW5lLWhlaWdodDogJGZvbnRfX2xpbmUtaGVpZ2h0LWJvZHk7XG59XG5cbkBpbXBvcnQgXCJoZWFkaW5nc1wiO1xuXG5AaW1wb3J0IFwiY29weVwiO1xuXG5AaW1wb3J0IFwid2ViZm9udHNcIjsiLCIkY29sb3JfcmVkOiAjZDAxYTFmO1xuJGNvbG9yX29yYW5nZTogI2YxNWEyNDtcbiRjb2xvcl9ncmV5LWJnOiAjZDlkOWQ5OyAvLyBlZy4gZm9vdGVyXG4kY29sb3JfZ3JleTogIzk5OTsgLy8gZWcuIGNhdGVnb3J5IGJnXG4kY29sb3JfZ3JleS1ibGFjazogIzMzMzsgLy8gZWcuIGNhdGVnb3J5IGJnXG5cbiRjb2xvcl9fYmFja2dyb3VuZC1ib2R5OiAjZmZmO1xuJGNvbG9yX19iYWNrZ3JvdW5kLXNjcmVlbjogI2YxZjFmMTtcbiRjb2xvcl9fYmFja2dyb3VuZC1ocjogI2NjYztcbiRjb2xvcl9fYmFja2dyb3VuZC1idXR0b246ICNlNmU2ZTY7XG4kY29sb3JfX2JhY2tncm91bmQtcHJlOiAjZWVlO1xuJGNvbG9yX19iYWNrZ3JvdW5kLWluczogI2ZmZjljMDtcblxuJGNvbG9yX190ZXh0LXNjcmVlbjogIzIxNzU5YjtcbiRjb2xvcl9fdGV4dC1pbnB1dDogIzY2NjtcbiRjb2xvcl9fdGV4dC1pbnB1dC1mb2N1czogIzExMTtcbiRjb2xvcl9fbGluazogJGNvbG9yX3JlZDtcbiRjb2xvcl9fbGluay12aXNpdGVkOiAkY29sb3JfcmVkO1xuJGNvbG9yX19saW5rLWhvdmVyOiAkY29sb3Jfb3JhbmdlO1xuJGNvbG9yX190ZXh0LW1haW46ICM0MDQwNDA7XG5cbiRjb2xvcl9fYm9yZGVyLWJ1dHRvbjogI2NjYyAjY2NjICNiYmI7XG4kY29sb3JfX2JvcmRlci1idXR0b24taG92ZXI6ICNjY2MgI2JiYiAjYWFhO1xuJGNvbG9yX19ib3JkZXItYnV0dG9uLWZvY3VzOiAjYWFhICNiYmIgI2JiYjtcbiRjb2xvcl9fYm9yZGVyLWlucHV0OiAjY2NjO1xuJGNvbG9yX19ib3JkZXItYWJicjogIzY2NjtcbiIsImgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuXHRjbGVhcjogYm90aDtcbn1cblxuYm9keSBoMSB7XG5cdGZvbnQtZmFtaWx5OiBNb250c2VycmF0O1xuXHRmb250LXdlaWdodDogNzAwO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXNpemU6IDMuMnJlbTtcblx0bGluZS1oZWlnaHQ6IDFlbTtcblx0bWFyZ2luOiAyZW0gMCAxZW07XG5cdCY6Zmlyc3QtY2hpbGQge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdH1cbn1cblxuYm9keSBoMiB7XG5cdGZvbnQtZmFtaWx5OiBNb250c2VycmF0O1xuXHRmb250LXdlaWdodDogNzAwO1xuXHQvLyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXNpemU6IDIuNHJlbTtcblx0bGluZS1oZWlnaHQ6IDEuMmVtO1xuXHRtYXJnaW46IDJlbSAwIC41ZW07XG5cdCY6Zmlyc3QtY2hpbGQge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdH1cbn1cblxuYm9keSBoMyB7XG5cdGZvbnQtZmFtaWx5OiBNb250c2VycmF0O1xuXHRmb250LXdlaWdodDogNzAwO1xuXHRmb250LXNpemU6IDJyZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjI1ZW07XG5cdG1hcmdpbjogMmVtIDAgLjVlbTtcblx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxufVxuIiwicCB7XG5cdG1hcmdpbi1ib3R0b206IDEuNWVtO1xufVxuXG5kZm4sIGNpdGUsIGVtLCBpIHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5ibG9ja3F1b3RlIHtcblx0bWFyZ2luOiAwIDEuNWVtO1xufVxuXG5hZGRyZXNzIHtcblx0bWFyZ2luOiAwIDAgMS41ZW07XG59XG5cbnByZSB7XG5cdGJhY2tncm91bmQ6ICRjb2xvcl9fYmFja2dyb3VuZC1wcmU7XG5cdGZvbnQtZmFtaWx5OiAkZm9udF9fcHJlO1xuXHRAaW5jbHVkZSBmb250LXNpemUoMC45Mzc1KTtcblx0bGluZS1oZWlnaHQ6ICRmb250X19saW5lLWhlaWdodC1wcmU7XG5cdG1hcmdpbi1ib3R0b206IDEuNmVtO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdG92ZXJmbG93OiBhdXRvO1xuXHRwYWRkaW5nOiAxLjZlbTtcbn1cblxuY29kZSwga2JkLCB0dCwgdmFyIHtcblx0Zm9udC1mYW1pbHk6ICRmb250X19jb2RlO1xuXHRAaW5jbHVkZSBmb250LXNpemUoMC45Mzc1KTtcbn1cblxuYWJiciwgYWNyb255bSB7XG5cdGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJGNvbG9yX19ib3JkZXItYWJicjtcblx0Y3Vyc29yOiBoZWxwO1xufVxuXG5tYXJrLCBpbnMge1xuXHRiYWNrZ3JvdW5kOiAkY29sb3JfX2JhY2tncm91bmQtaW5zO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmJpZyB7XG5cdGZvbnQtc2l6ZTogMTI1JTtcbn1cbiIsIi8vIFJlbSBvdXRwdXQgd2l0aCBweCBmYWxsYmFja1xuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZVZhbHVlOiAxKSB7XG5cdGZvbnQtc2l6ZTogKCRzaXplVmFsdWUgKiAxNikgKiAxcHg7XG5cdGZvbnQtc2l6ZTogJHNpemVWYWx1ZSAqIDFyZW07XG59XG5cbi8vIENlbnRlciBibG9ja1xuQG1peGluIGNlbnRlci1ibG9jayB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vLyBDbGVhcmZpeFxuQG1peGluIGNsZWFyZml4KCkge1xuXHRjb250ZW50OiBcIlwiO1xuXHRkaXNwbGF5OiB0YWJsZTtcblx0dGFibGUtbGF5b3V0OiBmaXhlZDtcbn1cblxuLy8gQ2xlYXIgYWZ0ZXIgKG5vdCBhbGwgY2xlYXJmaXggbmVlZCB0aGlzIGFsc28pXG5AbWl4aW4gY2xlYXJmaXgtYWZ0ZXIoKSB7XG5cdGNsZWFyOiBib3RoO1xufVxuXG4vLyBDb2x1bW4gd2lkdGggd2l0aCBtYXJnaW5cbkBtaXhpbiBjb2x1bW4td2lkdGgoJG51bWJlckNvbHVtbnM6IDMpIHtcblx0d2lkdGg6IG1hcC1nZXQoICRjb2x1bW5zLCAkbnVtYmVyQ29sdW1ucyApIC0gKCAoICRjb2x1bW5zX19tYXJnaW4gKiAoICRudW1iZXJDb2x1bW5zIC0gMSApICkgLyAkbnVtYmVyQ29sdW1ucyApO1xufVxuXG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gRm9udCBBd2Vzb21lIGljb25zXG4vLyBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9jaGVhdHNoZWV0P2Zyb209aW9cbi8vXG5AbWl4aW4gaWNvbigkaWNvbi1jb2RlOiAnXFxmMDgzJywgJHNpemU6IGluaGVyaXQsICRtb2RlOiAnYWZ0ZXInKXsgLy8gJG1vZGUgY2FuIGJlIGFmdGVyLCBiZWZvcmUgb3IgcmVwbGFjZVxuXHRAaWYgJG1vZGUgPT0gJ2FmdGVyJyB7XG5cdFx0JjphZnRlciB7XG5cdFx0XHRmb250LXdlaWdodDogOTAwO1xuXHRcdFx0Y29udGVudDogJGljb24tY29kZTtcblx0XHRcdHBhZGRpbmctbGVmdDogLjJlbTtcblx0XHRcdGZvbnQtc2l6ZTogJHNpemU7XG5cdFx0XHRmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG5cdFx0fVxuXHR9XG5cdEBpZiAkbW9kZSA9PSAnYmVmb3JlJyB7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDkwMDtcblx0XHRcdGNvbnRlbnQ6ICRpY29uLWNvZGU7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAuM2VtO1xuXHRcdFx0Zm9udC1zaXplOiAkc2l6ZTtcblx0XHRcdGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcblx0XHR9XG5cdH1cblx0QGlmICRtb2RlID09ICdyZXBsYWNlJyB7XG5cdFx0Zm9udC1zaXplOiAwO1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDkwMDtcblx0XHRcdGNvbnRlbnQ6ICRpY29uLWNvZGU7XG5cdFx0XHRmb250LXNpemU6ICRzaXplO1xuXHRcdFx0Zm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuXHRcdH1cblx0fVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIEdyYWRpZW50IEJhY2tncm91bmRcbi8vXG5AbWl4aW4gZ3JhZGllbnQtYmcoKXtcblx0Ly8gQmFja2dyb3VuZCBncmFkaWVudFxuXHQvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jZDAxYTFmKzAsZjE1YTI0KzEwMCAqL1xuXHRiYWNrZ3JvdW5kOiAkY29sb3JfcmVkOyAvKiBPbGQgYnJvd3NlcnMgKi9cblx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgJGNvbG9yX3JlZCAwJSwgJGNvbG9yX29yYW5nZSAxMDAlKTsgLyogRkYzLjYtMTUgKi9cblx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJGNvbG9yX3JlZCAwJSwkY29sb3Jfb3JhbmdlIDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRjb2xvcl9yZWQgMCUsJGNvbG9yX29yYW5nZSAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPSckY29sb3JfcmVkJywgZW5kQ29sb3JzdHI9JyRjb2xvcl9vcmFuZ2UnLEdyYWRpZW50VHlwZT0xICk7IC8qIElFNi05ICovXG59IiwiLyogbW9udHNlcnJhdC03MDAgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoJ3dlYmZvbnRzL21vbnRzZXJyYXQtdjEyLWxhdGluLTcwMC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xuICBzcmM6IGxvY2FsKCdNb250c2VycmF0IEJvbGQnKSwgbG9jYWwoJ01vbnRzZXJyYXQtQm9sZCcpLFxuICB1cmwoJ3dlYmZvbnRzL21vbnRzZXJyYXQtdjEyLWxhdGluLTcwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXG4gIHVybCgnd2ViZm9udHMvbW9udHNlcnJhdC12MTItbGF0aW4tNzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cbiAgdXJsKCd3ZWJmb250cy9tb250c2VycmF0LXYxMi1sYXRpbi03MDAud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi9cbiAgdXJsKCd3ZWJmb250cy9tb250c2VycmF0LXYxMi1sYXRpbi03MDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xuICB1cmwoJ3dlYmZvbnRzL21vbnRzZXJyYXQtdjEyLWxhdGluLTcwMC5zdmcjTW9udHNlcnJhdCcpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cbn1cbi8qIHNvdXJjZS1zYW5zLXByby1yZWd1bGFyIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJ3dlYmZvbnRzL3NvdXJjZS1zYW5zLXByby12MTEtbGF0aW4tcmVndWxhci5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xuICBzcmM6IGxvY2FsKCdTb3VyY2UgU2FucyBQcm8gUmVndWxhcicpLCBsb2NhbCgnU291cmNlU2Fuc1Byby1SZWd1bGFyJyksXG4gIHVybCgnd2ViZm9udHMvc291cmNlLXNhbnMtcHJvLXYxMS1sYXRpbi1yZWd1bGFyLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cbiAgdXJsKCd3ZWJmb250cy9zb3VyY2Utc2Fucy1wcm8tdjExLWxhdGluLXJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIFN1cGVyIE1vZGVybiBCcm93c2VycyAqL1xuICB1cmwoJ3dlYmZvbnRzL3NvdXJjZS1zYW5zLXByby12MTEtbGF0aW4tcmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xuICB1cmwoJ3dlYmZvbnRzL3NvdXJjZS1zYW5zLXByby12MTEtbGF0aW4tcmVndWxhci50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXG4gIHVybCgnd2ViZm9udHMvc291cmNlLXNhbnMtcHJvLXYxMS1sYXRpbi1yZWd1bGFyLnN2ZyNTb3VyY2VTYW5zUHJvJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xufVxuLyogc291cmNlLXNhbnMtcHJvLTkwMCAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIHNyYzogdXJsKCd3ZWJmb250cy9zb3VyY2Utc2Fucy1wcm8tdjExLWxhdGluLTkwMC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xuICBzcmM6IGxvY2FsKCdTb3VyY2UgU2FucyBQcm8gQmxhY2snKSwgbG9jYWwoJ1NvdXJjZVNhbnNQcm8tQmxhY2snKSxcbiAgdXJsKCd3ZWJmb250cy9zb3VyY2Utc2Fucy1wcm8tdjExLWxhdGluLTkwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXG4gIHVybCgnd2ViZm9udHMvc291cmNlLXNhbnMtcHJvLXYxMS1sYXRpbi05MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIFN1cGVyIE1vZGVybiBCcm93c2VycyAqL1xuICB1cmwoJ3dlYmZvbnRzL3NvdXJjZS1zYW5zLXByby12MTEtbGF0aW4tOTAwLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXG4gIHVybCgnd2ViZm9udHMvc291cmNlLXNhbnMtcHJvLXYxMS1sYXRpbi05MDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xuICB1cmwoJ3dlYmZvbnRzL3NvdXJjZS1zYW5zLXByby12MTEtbGF0aW4tOTAwLnN2ZyNTb3VyY2VTYW5zUHJvJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xufVxuXG5cbi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNS40LjIgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzp1cmwoXCJ3ZWJmb250cy9mYS1zb2xpZC05MDAuZW90XCIpO1xuICBzcmM6dXJsKFwid2ViZm9udHMvZmEtc29saWQtOTAwLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgICB1cmwoXCJ3ZWJmb250cy9mYS1zb2xpZC05MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICB1cmwoXCJ3ZWJmb250cy9mYS1zb2xpZC05MDAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgICAgdXJsKFwid2ViZm9udHMvZmEtc29saWQtOTAwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbiAgICAgIHVybChcIndlYmZvbnRzL2ZhLXNvbGlkLTkwMC5zdmcjZm9udGF3ZXNvbWVcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbi5mYXIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9IiwiaHRtbCB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIgeyAvKiBJbmhlcml0IGJveC1zaXppbmcgdG8gbWFrZSBpdCBlYXNpZXIgdG8gY2hhbmdlIHRoZSBwcm9wZXJ0eSBmb3IgY29tcG9uZW50cyB0aGF0IGxldmVyYWdlIG90aGVyIGJlaGF2aW9yOyBzZWUgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UvICovXG5cdGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmJvZHkge1xuXHRiYWNrZ3JvdW5kOiAkY29sb3JfX2JhY2tncm91bmQtYm9keTsgLyogRmFsbGJhY2sgZm9yIHdoZW4gdGhlcmUgaXMgbm8gY3VzdG9tIGJhY2tncm91bmQgY29sb3IgZGVmaW5lZC4gKi9cbn1cblxuaHIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2JhY2tncm91bmQtaHI7XG5cdGJvcmRlcjogMDtcblx0aGVpZ2h0OiAxcHg7XG5cdG1hcmdpbi1ib3R0b206IDEuNWVtO1xufVxuXG5AaW1wb3J0IFwibGlzdHNcIjtcblxuaW1nIHtcblx0aGVpZ2h0OiBhdXRvOyAvKiBNYWtlIHN1cmUgaW1hZ2VzIGFyZSBzY2FsZWQgY29ycmVjdGx5LiAqL1xuXHRtYXgtd2lkdGg6IDEwMCU7IC8qIEFkaGVyZSB0byBjb250YWluZXIgd2lkdGguICovXG59XG5cbmZpZ3VyZSB7XG5cdG1hcmdpbjogMWVtIDA7IC8qIEV4dHJhIHdpZGUgaW1hZ2VzIHdpdGhpbiBmaWd1cmUgdGFncyBkb24ndCBvdmVyZmxvdyB0aGUgY29udGVudCBhcmVhLiAqL1xufVxuXG5AaW1wb3J0IFwidGFibGVzXCI7XG4iLCJ1bCwgb2wge1xuXHRtYXJnaW46IDAgMCAxLjVlbSAwZW07XG5cdHBhZGRpbmc6IDAgMCAwIDE0cHg7XG5cblx0bGkge1xuXHRcdG1hcmdpbi1ib3R0b206IDFlbTtcblx0fVxufVxuXG51bCB7XG5cdGxpc3Qtc3R5bGU6IGRpc2M7XG59XG5cbm9sIHtcblx0bGlzdC1zdHlsZTogZGVjaW1hbDtcbn1cblxubGkgPiB1bCxcbmxpID4gb2wge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuXHRtYXJnaW4tbGVmdDogMS41ZW07XG59XG5cbmR0IHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmRkIHtcblx0bWFyZ2luOiAwIDEuNWVtIDEuNWVtO1xufVxuIiwidGFibGUge1xuXHRtYXJnaW46IDAgMCAxLjVlbTtcblx0d2lkdGg6IDEwMCU7XG59XG4iLCJidXR0b24sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG5cdGJvcmRlcjogMXB4IHNvbGlkO1xuXHRib3JkZXItY29sb3I6ICRjb2xvcl9fYm9yZGVyLWJ1dHRvbjtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRiYWNrZ3JvdW5kOiAkY29sb3JfX2JhY2tncm91bmQtYnV0dG9uO1xuXHRjb2xvcjogcmdiYSgwLCAwLCAwLCAuOCk7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgwLjc1KTtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdHBhZGRpbmc6IC42ZW0gMWVtIC40ZW07XG5cblx0Jjpob3ZlciB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3JfX2JvcmRlci1idXR0b24taG92ZXI7XG5cdH1cblxuXHQmOmFjdGl2ZSxcblx0Jjpmb2N1cyB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3JfX2JvcmRlci1idXR0b24tZm9jdXM7XG5cdH1cbn1cbiIsImlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuaW5wdXRbdHlwZT1cInRlbFwiXSxcbmlucHV0W3R5cGU9XCJyYW5nZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuaW5wdXRbdHlwZT1cIndlZWtcIl0sXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbmlucHV0W3R5cGU9XCJjb2xvclwiXSxcbnRleHRhcmVhIHtcblx0Y29sb3I6ICRjb2xvcl9fdGV4dC1pbnB1dDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yX19ib3JkZXItaW5wdXQ7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0cGFkZGluZzogM3B4O1xuXG5cdCY6Zm9jdXMge1xuXHRcdGNvbG9yOiAkY29sb3JfX3RleHQtaW5wdXQtZm9jdXM7XG5cdH1cbn1cblxuc2VsZWN0IHtcblx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yX19ib3JkZXItaW5wdXQ7XG59XG5cbnRleHRhcmVhIHtcblx0d2lkdGg6IDEwMCU7XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIyBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcImxpbmtzXCI7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMjIE1lbnVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0IFwibWVudXNcIjtcbiIsImEge1xuXHRjb2xvcjogJGNvbG9yX19saW5rO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBhbGwgLjJzO1xuXG5cdCY6dmlzaXRlZCB7XG5cdFx0Y29sb3I6ICRjb2xvcl9fbGluay12aXNpdGVkO1xuXHR9XG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMsXG5cdCY6YWN0aXZlIHtcblx0XHRjb2xvcjogJGNvbG9yX19saW5rLWhvdmVyO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHR9XG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IHRoaW4gZG90dGVkO1xuXHR9XG5cdCY6aG92ZXIsXG5cdCY6YWN0aXZlIHtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG5cbi8vXG4vLyBQREYtTGlua3Ncbi8vXG5hW2hyZWYkPSBcIi5wZGZcIl0ge1xuXHRAaW5jbHVkZSBpY29uKCfvjoEnLCdpbmhlcml0JywnYmVmb3JlJyk7XG59IiwiLm1haW4tbmF2aWdhdGlvbiB7XG5cdGNsZWFyOiBib3RoO1xuXHRkaXNwbGF5OiBibG9jaztcblx0ZmxvYXQ6IGxlZnQ7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdHVsIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblxuXHRcdHVsIHtcblx0XHRcdGJveC1zaGFkb3c6IDAgM3B4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMTAwJTtcblx0XHRcdGxlZnQ6IC05OTllbTtcblx0XHRcdHotaW5kZXg6IDk5OTk5O1xuXG5cdFx0XHR1bCB7XG5cdFx0XHRcdGxlZnQ6IC05OTllbTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0fVxuXG5cdFx0XHRsaSB7XG5cdFx0XHRcdCY6aG92ZXIgPiB1bCxcblx0XHRcdFx0Ji5mb2N1cyA+IHVsIHtcblx0XHRcdFx0XHRsZWZ0OiAxMDAlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGEge1xuXHRcdFx0XHR3aWR0aDogMjAwcHg7XG5cdFx0XHR9XG5cblx0XHRcdDpob3ZlciA+IGEsXG5cdFx0XHQuZm9jdXMgPiBhIHtcblx0XHRcdH1cblxuXHRcdFx0YTpob3Zlcixcblx0XHRcdGEuZm9jdXMge1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGxpOmhvdmVyID4gdWwsXG5cdFx0bGkuZm9jdXMgPiB1bCB7XG5cdFx0XHRsZWZ0OiBhdXRvO1xuXHRcdH1cblx0fVxuXG5cdGxpIHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRtYXJnaW4tbGVmdDogMTVweDtcblx0XHRmb250LXNpemU6IDEuNnJlbTtcblx0XHRAaW5jbHVkZSBsZyB7XG5cdFx0XHRmb250LXNpemU6IDEuOHJlbTtcblx0XHR9XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHRcdC8vIExpbmsgXCJTdGFydHNlaXRlXCIgKC5ob21lKVxuXHRcdCYuaG9tZSBhIHtcblx0XHRcdEBpbmNsdWRlIGljb24oJ++AlScsIDEuN3JlbSwgJ3JlcGxhY2UnKTtcblx0XHR9XG5cblx0XHQmOmhvdmVyID4gYSxcblx0XHQmLmZvY3VzID4gYSB7XG5cdFx0XHRjb2xvcjogJGNvbG9yX3JlZDtcblx0XHR9XG5cdH1cblxuXHRhIHtcblx0XHRjb2xvcjogJGNvbG9yX190ZXh0LW1haW47XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG5cblx0LmN1cnJlbnRfcGFnZV9pdGVtID4gYSxcblx0LmN1cnJlbnQtbWVudS1pdGVtID4gYSxcblx0LmN1cnJlbnRfcGFnZV9hbmNlc3RvciA+IGEsXG5cdC5jdXJyZW50LW1lbnUtYW5jZXN0b3IgPiBhIHtcblx0XHRjb2xvcjogJGNvbG9yX3JlZDtcblx0fVxufVxuXG4vKiBTbWFsbCBtZW51LiAqL1xuLm1lbnUtdG9nZ2xlLFxuLm1haW4tbmF2aWdhdGlvbi50b2dnbGVkIHVsIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3LjVlbSkge1xuXHQubWVudS10b2dnbGUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0Lm1haW4tbmF2aWdhdGlvbiB1bCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cblxuLmNvbW1lbnQtbmF2aWdhdGlvbixcbi5wb3N0cy1uYXZpZ2F0aW9uLFxuLnBvc3QtbmF2aWdhdGlvbiB7XG5cblx0LnNpdGUtbWFpbiAmIHtcblx0XHRtYXJnaW46IDAgMCAwZW07XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0fVxuXG5cdC5uYXYtcHJldmlvdXMge1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdHdpZHRoOiA1MCU7XG5cdH1cblxuXHQubmF2LW5leHQge1xuXHRcdGZsb2F0OiByaWdodDtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHR3aWR0aDogNTAlO1xuXHR9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gRm9vdGVyIG5hdlxuLy9cbiNmb290ZXItbmF2aWdhdGlvbiB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dWwge1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0bGkge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdFx0XHRtYXJnaW46IDAgMTBweDtcblx0XHRcdGZvbnQtc2l6ZTogMS42cmVtO1xuXHRcdFx0QGluY2x1ZGUgbGcge1xuXHRcdFx0XHRmb250LXNpemU6IDEuOHJlbTtcblx0XHRcdH1cblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogJGNvbG9yX190ZXh0LW1haW47XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIgPiBhLFxuXHRcdFx0Ji5mb2N1cyA+IGEge1xuXHRcdFx0XHRjb2xvcjogJGNvbG9yX3JlZDtcblx0XHRcdH1cblxuXHRcdFx0Ji5jdXJyZW50X3BhZ2VfaXRlbSA+IGEsXG5cdFx0XHQmLmN1cnJlbnQtbWVudS1pdGVtID4gYSxcblx0XHRcdCYuY3VycmVudF9wYWdlX2FuY2VzdG9yID4gYSxcblx0XHRcdCYuY3VycmVudC1tZW51LWFuY2VzdG9yID4gYSB7XG5cdFx0XHRcdGNvbG9yOiAkY29sb3JfcmVkO1xuXHRcdFx0fVxuXG5cdFx0fVxuXHR9XG59IiwiJHNtOiA2NjdweDtcbiRtZDogMTAyNHB4O1xuJGxnOiAxMjAwcHg7XG5cbkBtaXhpbiB4cyB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRzbSAtIDFweH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuQG1peGluIHNtIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICN7JHNtfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5AbWl4aW4gbWQge1xuICAvLyBAbWVkaWEgKG1pbi13aWR0aDogI3skbWR9KSBhbmQgKG1heC13aWR0aDogI3skbGcgLSAxcHh9KSB7XG4gIC8vIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRsZyAtIDFweH0pIHtcbiAgLy8gICAgQGNvbnRlbnQ7XG4gIC8vIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6ICN7JG1kfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5AbWl4aW4gbGcge1xuICBAbWVkaWEgKG1pbi13aWR0aDogI3skbGd9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn0iLCIvKiBUZXh0IG1lYW50IG9ubHkgZm9yIHNjcmVlbiByZWFkZXJzLiAqL1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG5cdGJvcmRlcjogMDtcblx0Y2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuXHRjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG5cdGhlaWdodDogMXB4O1xuXHRtYXJnaW46IC0xcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuXHR3aWR0aDogMXB4O1xuXHR3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50OyAvKiBNYW55IHNjcmVlbiByZWFkZXIgYW5kIGJyb3dzZXIgY29tYmluYXRpb25zIGFubm91bmNlIGJyb2tlbiB3b3JkcyBhcyB0aGV5IHdvdWxkIGFwcGVhciB2aXN1YWxseS4gKi9cblxuXHQmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2JhY2tncm91bmQtc2NyZWVuO1xuXHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHRib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG5cdFx0Y2xpcDogYXV0byAhaW1wb3J0YW50O1xuXHRcdGNsaXAtcGF0aDogbm9uZTtcblx0XHRjb2xvcjogJGNvbG9yX190ZXh0LXNjcmVlbjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRAaW5jbHVkZSBmb250LXNpemUoMC44NzUpO1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRsZWZ0OiA1cHg7XG5cdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0XHRwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0dG9wOiA1cHg7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0ei1pbmRleDogMTAwMDAwOyAvKiBBYm92ZSBXUCB0b29sYmFyLiAqL1xuXHR9XG59XG5cbi8qIERvIG5vdCBzaG93IHRoZSBvdXRsaW5lIG9uIHRoZSBza2lwIGxpbmsgdGFyZ2V0LiAqL1xuI2NvbnRlbnRbdGFiaW5kZXg9XCItMVwiXTpmb2N1cyB7XG5cdG91dGxpbmU6IDA7XG59XG4iLCIuYWxpZ25sZWZ0IHtcblx0ZGlzcGxheTogaW5saW5lO1xuXHRmbG9hdDogbGVmdDtcblx0bWFyZ2luLXJpZ2h0OiAxLjVlbTtcbn1cblxuLmFsaWducmlnaHQge1xuXHRkaXNwbGF5OiBpbmxpbmU7XG5cdGZsb2F0OiByaWdodDtcblx0bWFyZ2luLWxlZnQ6IDEuNWVtO1xufVxuXG4uYWxpZ25jZW50ZXIge1xuXHRjbGVhcjogYm90aDtcblx0QGluY2x1ZGUgY2VudGVyLWJsb2NrO1xufVxuIiwiLmNsZWFyOmJlZm9yZSxcbi5jbGVhcjphZnRlcixcbi5lbnRyeS1jb250ZW50OmJlZm9yZSxcbi5lbnRyeS1jb250ZW50OmFmdGVyLFxuLmNvbW1lbnQtY29udGVudDpiZWZvcmUsXG4uY29tbWVudC1jb250ZW50OmFmdGVyLFxuLnNpdGUtaGVhZGVyOmJlZm9yZSxcbi5zaXRlLWhlYWRlcjphZnRlcixcbi5zaXRlLWNvbnRlbnQ6YmVmb3JlLFxuLnNpdGUtY29udGVudDphZnRlcixcbi5zaXRlLWZvb3RlcjpiZWZvcmUsXG4uc2l0ZS1mb290ZXI6YWZ0ZXIge1xuXHRAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLmNsZWFyOmFmdGVyLFxuLmVudHJ5LWNvbnRlbnQ6YWZ0ZXIsXG4uY29tbWVudC1jb250ZW50OmFmdGVyLFxuLnNpdGUtaGVhZGVyOmFmdGVyLFxuLnNpdGUtY29udGVudDphZnRlcixcbi5zaXRlLWZvb3RlcjphZnRlciB7XG5cdEBpbmNsdWRlIGNsZWFyZml4LWFmdGVyO1xufVxuIiwiLndpZGdldCB7XG5cdG1hcmdpbjogMCAwIDEuNWVtO1xuXG5cdC8qIE1ha2Ugc3VyZSBzZWxlY3QgZWxlbWVudHMgZml0IGluIHdpZGdldHMuICovXG5cdHNlbGVjdCB7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHR9XG59XG4iLCIvLyBAaW1wb3J0IFwiLi4vbGF5b3V0L2NvbnRlbnQtc2lkZWJhclwiO1xuLy8gQGltcG9ydCBcIi4uL2xheW91dC9zaWRlYmFyLWNvbnRlbnRcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyMgUG9zdHMgYW5kIHBhZ2VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0IFwicHJpbWFyeS9wb3N0cy1hbmQtcGFnZXNcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyMgQ29tbWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCJwcmltYXJ5L2NvbW1lbnRzXCI7XG4iLCIuc3RpY2t5IHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5oZW50cnkge1xuXHRtYXJnaW46IDAgMCAxLjVlbTtcbn1cblxuLnVwZGF0ZWQ6bm90KC5wdWJsaXNoZWQpIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLnBhZ2UtY29udGVudCxcbi5lbnRyeS1jb250ZW50LFxuLmVudHJ5LXN1bW1hcnkge1xuXHQvL21hcmdpbjogMS41ZW0gMCAwO1xuXHRtYXJnaW46IDA7XG59XG5cbi5wYWdlLWxpbmtzIHtcblx0Y2xlYXI6IGJvdGg7XG5cdG1hcmdpbjogMCAwIDEuNWVtO1xufVxuIiwiLmNvbW1lbnQtY29udGVudCBhIHtcblx0d29yZC13cmFwOiBicmVhay13b3JkO1xufVxuLmJ5cG9zdGF1dGhvciB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLyogR2xvYmFsbHkgaGlkZGVuIGVsZW1lbnRzIHdoZW4gSW5maW5pdGUgU2Nyb2xsIGlzIHN1cHBvcnRlZCBhbmQgaW4gdXNlLiAqL1xuLmluZmluaXRlLXNjcm9sbCAucG9zdHMtbmF2aWdhdGlvbiwgLyogT2xkZXIgLyBOZXdlciBQb3N0cyBOYXZpZ2F0aW9uIChhbHdheXMgaGlkZGVuKSAqL1xuLmluZmluaXRlLXNjcm9sbC5uZXZlcmVuZGluZyAuc2l0ZS1mb290ZXIgeyAvKiBUaGVtZSBGb290ZXIgKHdoZW4gc2V0IHRvIHNjcm9sbGluZykgKi9cblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogV2hlbiBJbmZpbml0ZSBTY3JvbGwgaGFzIHJlYWNoZWQgaXRzIGVuZCB3ZSBuZWVkIHRvIHJlLWRpc3BsYXkgZWxlbWVudHMgdGhhdCB3ZXJlIGhpZGRlbiAodmlhIC5uZXZlcmVuZGluZykgYmVmb3JlLiAqL1xuLmluZmluaXR5LWVuZC5uZXZlcmVuZGluZyAuc2l0ZS1mb290ZXIge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cbiIsIi5wYWdlLWNvbnRlbnQgLndwLXNtaWxleSxcbi5lbnRyeS1jb250ZW50IC53cC1zbWlsZXksXG4uY29tbWVudC1jb250ZW50IC53cC1zbWlsZXkge1xuXHRib3JkZXI6IG5vbmU7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdG1hcmdpbi10b3A6IDA7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi8qIE1ha2Ugc3VyZSBlbWJlZHMgYW5kIGlmcmFtZXMgZml0IHRoZWlyIGNvbnRhaW5lcnMuICovXG5lbWJlZCxcbmlmcmFtZSxcbm9iamVjdCB7XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogTWFrZSBzdXJlIGxvZ28gbGluayB3cmFwcyBhcm91bmQgbG9nbyBpbWFnZS4gKi9cbi5jdXN0b20tbG9nby1saW5rIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIyBDYXB0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcImNhcHRpb25zXCI7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMjIEdhbGxlcmllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcImdhbGxlcmllc1wiO1xuIiwiLndwLWNhcHRpb24ge1xuXHRtYXJnaW4tYm90dG9tOiAxLjVlbTtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXG5cdGltZ1tjbGFzcyo9XCJ3cC1pbWFnZS1cIl0ge1xuXHRcdEBpbmNsdWRlIGNlbnRlci1ibG9jaztcblx0fVxuXG5cdC53cC1jYXB0aW9uLXRleHQge1xuXHRcdG1hcmdpbjogMC44MDc1ZW0gMDtcblx0fVxufVxuXG4ud3AtY2FwdGlvbi10ZXh0IHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLmdhbGxlcnkge1xuXHRtYXJnaW4tYm90dG9tOiAxLjVlbTtcbn1cblxuLmdhbGxlcnktaXRlbSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHR3aWR0aDogMTAwJTtcblxuXHQvLyBMb29wcyB0byBlbnVtZXJhdGUgdGhlIGNsYXNzZXMgZm9yIGdhbGxlcnkgY29sdW1ucy5cblx0QGZvciAkaSBmcm9tIDIgdGhyb3VnaCA5IHtcblx0XHQuZ2FsbGVyeS1jb2x1bW5zLSN7JGl9ICYge1xuXHRcdFx0bWF4LXdpZHRoOiBtYXAtZ2V0KCAkY29sdW1ucywgJGkgKTtcblx0XHR9XG5cdH1cbn1cblxuLmdhbGxlcnktY2FwdGlvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiJGNvbHVtbnM6IChcblx0MTogMTAwJSxcblx0MjogNTAlLFxuXHQzOiAzMy4zMyUsXG5cdDQ6IDI1JSxcblx0NTogMjAlLFxuXHQ2OiAxNi42NiUsXG5cdDc6IDE0LjI4JSxcblx0ODogMTIuNSUsXG5cdDk6IDExLjExJVxuKTtcblxuJGNvbHVtbnNfX21hcmdpbjogMy44JTtcbiIsIiNwYWdlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBIZWFkZXJcbi8vXG4jbWFzdGhlYWQge1xuICBoZWlnaHQ6IDEwMHB4O1xufVxuXG4vL1xuLy8gTG9nb1xuLy9cbmltZy5jdXN0b20tbG9nbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMTVweDtcbiAgQGluY2x1ZGUgbWQge1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgdG9wOiAxOHB4O1xuICB3aWR0aDogMzE3cHg7XG59XG5cbi8vXG4vLyBNYWluIG5hdlxuLy9cbiNwcmltYXJ5LW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzhweDtcbiAgcmlnaHQ6IDA7XG59XG4vL1xuLy8gRm9vdGVyIG5hdlxuLy9cbiNjb2xvcGhvbiB7XG4gIC5uYXYtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAyMHB4O1xuICB9XG59XG5cbi8vXG4vLyBGb290ZXIgY29weXJpZ2h0IGluZm8gbGlua1xuLy9cbi5jb3B5cmlnaHQtaW5mbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMTVweDtcbiAgYm90dG9tOiAyMHB4O1xuICAvL2NvbG9yOiAkY29sb3JfX3RleHQtbWFpbjtcbiAgY29sb3I6ICRjb2xvcl9fdGV4dC1pbnB1dDtcbn1cblxuLy9cbi8vIFZpc2l0cyBDb3VudGVyXG4vL1xuLnZpc2l0cy1jb3VudGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgQGluY2x1ZGUgc20ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTVweDtcbiAgICBib3R0b206IDIwcHg7XG4gIH1cbiAgY29sb3I6ICRjb2xvcl9fdGV4dC1pbnB1dDtcbn1cblxuLy9cbi8vIEhlcm8gaW1hZ2Vcbi8vXG4ucG9zdC10aHVtYm5haWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDExMHB4O1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IC0ycHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIEBpbmNsdWRlIHNte1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICB9XG4gICAgYmFja2dyb3VuZDogdXJsKGltYWdlcy9pbWFnZS1jb3Zlci5wbmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vL1xuLy8gTWFpbi1jb250ZW50XG4vL1xuI21haW4tY29udGVudCB7XG4gIGJhY2tncm91bmQ6IHVybChpbWFnZXMvYmctbG93ZXJwYXJ0LnBuZyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG4gIC8vYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBtaW4taGVpZ2h0OiA0NXZ3OyAgLy8gdG8gc2hvdyBhbGwgb2YgdGhlIGdyZXkgdGV4dHVyZVxuXG59XG5cbi8vXG4vLyBJbnRyby1UZXh0IGZyb250cGFnZVxuLy9cbiNpbnRyby10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cbi8vXG4vLyBNYWluIGNvbnRlbnQgYXJlYVxuLy9cbi5tYWluLWNvbnRlbnQtY29udGVudCB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gSGlkZSBcIlBvc3RlZCBpblwiIC0gQ2F0ZWdvcnkgbGlua3MgdW5kZXIgcG9zdHNcbi8vXG4uZW50cnktZm9vdGVyIC5jYXQtbGlua3Mge1xuICBkaXNwbGF5Om5vbmU7XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gUmVkIGhhbmQgKHJpZ2h0IHNpZGViYXIsIHZpc2libGUgb24gZnJvbnRwYWdlIG9ubHkhKVxuLy9cbi5yZWQtaGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBpbmNsdWRlIG1kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8vbGVmdDogLTgwcHg7XG4gIC8vdG9wOiAtNDQwcHg7XG4gIC8vd2lkdGg6IDQyMnB4O1xuICAvL2hlaWdodDogNDcxcHg7XG4gIGxlZnQ6IC0yMHB4O1xuICB0b3A6IC00NTBweDtcbiAgd2lkdGg6IDMyMHB4O1xuICBoZWlnaHQ6IDQ3MXB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL3JlZC1oYW5kLnBuZykgbm8tcmVwZWF0IGNlbnRlciBib3R0b207XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbn1cblxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIFNwZWNpYWxzXG4vL1xuLnNwZWNpYWxzLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgbWQge1xuICAgIHRvcDogLTkwcHg7XG4gIH1cbiAgLnNwZWNpYWwge1xuICAgIHBhZGRpbmc6IDE1cHggMTVweDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygpO1xuICAgIC5zcGVjaWFscy1jb250ZW50IHt9XG4gIH1cbn1cbi5ob21lIC5zcGVjaWFscy1jb250YWluZXIge1xuICBAaW5jbHVkZSBzbSB7XG4gICAgdG9wOiAyMHB4O1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gTWl0Z2xpZWRlci1Mb2dvc1xuLy9cbi5taXRnbGllZGVyLXNpZGViYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIG1kIHtcbiAgICB0b3A6IC05MHB4O1xuICB9XG59XG4uaG9tZSAubWl0Z2xpZWRlci1zaWRlYmFyIHtcbiAgQGluY2x1ZGUgc20ge1xuICAgIHRvcDogMjBweDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIEZvb3RlciBhbHdheXMgb24gYm90dG9tIChmYW9iKS8vXG4kZm9vdGVyLWhlaWdodDogMTUwcHggIWRlZmF1bHQ7IC8vIGZvb3RlciBoZWlnaHRcbiRtYWluLXBhZGRpbmctYm90dG9tOiAyMHB4ICFkZWZhdWx0OyAvLyBBZGRpdGlvbmFsIHNwYWNlIGJldHdlZW4gY29udGVudCBhbmQgZm9vdGVyIGVsZW1lbnQvL1xuaHRtbCwgYm9keSB7XG4gIGhlaWdodDogMTAwJTtcbn1cbi8vZGl2I3BhZ2VcbiNwYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xufVxuLy9kaXYjY29udGVudFxuI2NvbnRlbnQge1xuICBwYWRkaW5nLWJvdHRvbTogJGZvb3Rlci1oZWlnaHQgKyAkbWFpbi1wYWRkaW5nLWJvdHRvbTsgLy8gTXVzdCBiZSBzYW1lIGRpdiNmYW9iLXN0aWNrLXRvLWJvdHRvbSBoZWlnaHQgKHNlZSBiZWxvdylcbn1cbi8vZm9vdGVyI2NvbG9waG9uXG4jY29sb3Bob24ge1xuICBjbGVhcjogYm90aDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogJGZvb3Rlci1oZWlnaHQ7IC8vIE11c3QgYmUgc2FtZSBhcyAjZmFvYi1zdGljay10by1ib3R0b20gKHNlZSBhYm92ZSlcbiAgd2lkdGg6IDEwMCU7XG5cbiAgYmFja2dyb3VuZDogdXJsKGltYWdlcy9mb290ZXItYmcucG5nKSBuby1yZXBlYXQgY2VudGVyIGJvdHRvbTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxufSIsIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gR0VORVJBTFNcbi8vXG5cbi8vIFNldCBCb290c3RyYXAgY29udGFpbmVyIHRvIHBvc2l0aW9uIHJlbGF0aXZlXG4uY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vL1xuLy8gVG9vbHNldCBsaXN0c1xuLy9cbi53cHYtbG9vcCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGkge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgfVxufVxuXG5cblxuXG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQnV0dG9ucyAoQ3VzdG9tIEZvcm1hdHMpXG4vL1xuLmJ1dHRvbi1yZWd1bGFyIHtcbiAgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDVweCAyMHB4O1xuXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoKTtcbiAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9vcmFuZ2U7XG4gICAgICAvL3RleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgfVxufVxuLmJ1dHRvbi13aGl0ZSB7XG4gIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcbiAgICBwYWRkaW5nOiA1cHggMjBweDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgLy9mb250LXdlaWdodDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9vcmFuZ2U7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBTbGlkZXJcbi8vXG4uc2xpZGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC50YWdsaW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMjBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygpO1xuICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgIC8vIE5vIGxpbmtcbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC8vIExpbmtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIC8vdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG4ucGFnaW5hdGlvbiA+IGxpID4gYSwgLnBhZ2luYXRpb24gPiBsaSA+IHNwYW4ge1xuICBjb2xvcjogJGNvbG9yX29yYW5nZSAhaW1wb3J0YW50O1xufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIFRpbGVzXG4vLyBhXG4udGlsZXMge1xuXG4gIC50aWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfZ3JleS1iZztcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcblxuICAgIC50aWxlLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIH1cbiAgICAudGlsZS1pbWFnZSB7fVxuICAgIC5jYXRlZ29yeS10ZXJtIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfZ3JleS1ibGFjaztcbiAgICAgIHBhZGRpbmc6IDZweCAyMHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICAgIC5wb3N0LWRhdGUge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIHBhZGRpbmc6IDAgMjBweCAwO1xuICAgICAgY29sb3I6ICRjb2xvcl9ncmV5O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAvLyBOT1RFOiB3aWxsIGJlIGhpZGRlbiBvbiBob21lIHBhZ2UhISEhIChzZWUgYmVsb3cpXG4gICAgfVxuICAgIC50aWxlLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMCAwIC4yNWVtO1xuICAgICAgcGFkZGluZzogMCAyMHB4IDA7XG4gICAgfVxuICAgIC50aWxlLWV4Y2VycHQge1xuICAgICAgcGFkZGluZzogMCAyMHB4IDA7XG4gICAgfVxuICAgIC50aWxlLWJ1dHRvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgICAgcGFkZGluZzogMCAyMHB4IDIwcHg7XG4gICAgfVxuICB9XG59XG4vL1xuLy8gSG9tZSBwYWdlIG92ZXJyaWRlc1xuLy9cbi5ob21lIHtcbiAgLnRpbGUgLnBvc3QtZGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAudGlsZSAudGlsZS10aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIEdhbGxlcnlcbi8vXG4kZ2FsbGVyeWdhcDogMzBweDtcbi5nYWxsZXJ5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogY2FsYygxMDAlICsgMzBweCk7XG4gIGxlZnQ6IC0oJGdhbGxlcnlnYXAvMik7XG4gIG1hcmdpbjogM2VtIDAgMWVtO1xuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICBmaWd1cmUge1xuICAgIHBhZGRpbmc6IDAgKCRnYWxsZXJ5Z2FwLzIpO1xuICB9XG4gIC8vIEltYWdlIGNvbnRhaW5lclxuICBmaWd1cmUuZ2FsbGVyeS1pdGVtIHtcbiAgfVxuICBmaWdjYXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogMS4yNWVtO1xuICB9XG59XG4vLyBBY3R1YWwgSmF2YVNjcmlwdCBsaWdodGJveCAoRmVhdGhlcmxpZ2h0IEdhbGxlcnkpXG4uZmVhdGhlcmxpZ2h0IHtcbiAgLmZlYXRoZXJsaWdodC1jb250ZW50IHtcbiAgICAuY2FwdGlvbiB7XG4gICAgICBmb250LWZhbWlseTogJGZvbnRfX21haW47XG4gICAgfVxuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gUG9zdCBuYXZpZ2F0aW9uIChob3Jpem9udGFsIG5hdmlnYXRpb24pXG4vL1xuLnBvc3QtbmF2aWdhdGlvbiB7XG4gIHBhZGRpbmc6IDE1cHggMCAzMHB4O1xuICAubmF2LWxpbmtzIHtcbiAgICAvLyBib3RoIGxpbmtzXG4gICAgLm5hdi1wcmV2aW91cyxcbiAgICAubmF2LW5leHQge1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfcmVkO1xuICAgICAgfVxuICAgICAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfcmVkO1xuICAgICAgfVxuICAgIH1cbiAgICAubmF2LXByZXZpb3VzIGEge1xuICAgICAgQGluY2x1ZGUgaWNvbign74SAJywgMnJlbSwgJ2JlZm9yZScpO1xuICAgIH1cbiAgICAubmF2LW5leHQgYSB7XG4gICAgICBAaW5jbHVkZSBpY29uKCfvhIEnLCAycmVtLCAnYWZ0ZXInKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBNaXRnbGllZGVyXG4vL1xuLy8gTGlzdCBvZiBNaXRnbGllZGVyIGluIHNpZGViYXJcbi5taXRnbGllZGVyLXNpZGViYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC8vanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLm1pdGdsaWVkIHtcbiAgICAvL3dpZHRoOiA0NSU7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgIGZpbHRlcjogbm9uZTtcbiAgICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xuICAgIC1tb3otZmlsdGVyOiAgICBncmF5c2NhbGUoMTAwJSk7XG4gICAgLW1zLWZpbHRlcjogICAgIGdyYXlzY2FsZSgxMDAlKTtcbiAgICAtby1maWx0ZXI6ICAgICAgZ3JheXNjYWxlKDEwMCUpO1xuICAgIG9wYWNpdHk6IC41O1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XG5cbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoMCUpO1xuICAgICAgLW1vei1maWx0ZXI6ICAgIGdyYXlzY2FsZSgwJSk7XG4gICAgICAtbXMtZmlsdGVyOiAgICAgZ3JheXNjYWxlKDAlKTtcbiAgICAgIC1vLWZpbHRlcjogICAgICBncmF5c2NhbGUoMCUpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cbi8vXG4vLyBNaXRnbGllZGVyIFBhZ2UgXCLDnGJlciBVbnNcIlxuLy9cbi5taXRnbGllZGVyLW1haW4ge1xuICAvL2Rpc3BsYXk6IGZsZXg7XG4gIC8vZmxleC13cmFwOiB3cmFwO1xuICAvL2p1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAvL2RpdlxuICAubWl0Z2xpZWQge1xuICAgIC8vd2lkdGg6IDQ1JTtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICBtYXJnaW4tdG9wOiAyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuXG4gICAgLmltYWdlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICB9XG4gICAgaDMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLjI1ZW07XG4gICAgfVxuICAgIHAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgfVxuXG59XG4iXX0= */
