@charset "UTF-8";
/********************************************************

	Main screen stylesheet

********************************************************/
/**************************************
		Base files, load first
	***************************************/
/**
 * @license
 * MyFonts Webfont Build ID 3209550, 2016-04-26T06:10:28-0400
 * 
 * The fonts listed in this notice are subject to the End User License
 * Agreement(s) entered into by the website owner. All other parties are 
 * explicitly restricted from using the Licensed Webfonts(s).
 * 
 * You may obtain a valid license at the URLs below.
 * 
 * Webfont: BellMTStd-Regular by Monotype 
 * URL: http://www.myfonts.com/fonts/mti/bell-mt/std-regular/
 * Copyright: Copyright 1998, 2002 Adobe Systems Incorporated. All Rights Reserved. Copyright 1998, 2002 The Monotype Corporation. All rights reserved.
 * Licensed pageviews: 250,000
 * 
 * Webfont: StandardCT-BoldCond by CastleType
 * URL: http://www.myfonts.com/fonts/castletype/standard/condensed-bold/
 * Copyright: Copyright (c) CastleType, 2005. All rights reserved.
 * Licensed pageviews: 10,000
 * 
 * Webfont: AvenirNextLTPro-Regular by Linotype
 * URL: http://www.myfonts.com/fonts/linotype/avenir-next-pro/pro-regular/
 * Copyright: Copyright &#x00A9; 2004 - 2007 Linotype GmbH, www.linotype.com. All rights reserved. This font software may not be reproduced, modified, disclosed or transferred without the express written approval of Linotype GmbH. Avenir is a trademark of Linotype GmbH
 * Licensed pageviews: 250,000
 * 
 * Webfont: AvenirLTStd-Roman by Linotype
 * URL: http://www.myfonts.com/fonts/linotype/avenir/55-roman/
 * Copyright: Copyright &#x00A9; 1989, 1995, 2002 Adobe Systems Incorporated.  All Rights Reserved. &#x00A9; 1981, 1995, 2002 Heidelberger Druckmaschinen AG. All rights reserved.
 * Licensed pageviews: 250,000
 * 
 * 
 * License: http://www.myfonts.com/viewlicense?type=web&buildid=3209550
 * 
 * © 2016 MyFonts Inc
*/
/* @import must be at top of file, otherwise CSS will not work */
@font-face {
  font-family: 'BellMTStd-Regular';
  src: url("webfonts/30F94E_0_0.eot");
  src: url("webfonts/30F94E_0_0.eot?#iefix") format("embedded-opentype"), url("webfonts/30F94E_0_0.woff2") format("woff2"), url("webfonts/30F94E_0_0.woff") format("woff"), url("webfonts/30F94E_0_0.ttf") format("truetype"); }

@font-face {
  font-family: 'StandardCT-BoldCond';
  src: url("webfonts/30F94E_1_0.eot");
  src: url("webfonts/30F94E_1_0.eot?#iefix") format("embedded-opentype"), url("webfonts/30F94E_1_0.woff2") format("woff2"), url("webfonts/30F94E_1_0.woff") format("woff"), url("webfonts/30F94E_1_0.ttf") format("truetype"); }

@font-face {
  font-family: 'AvenirNextLTPro-Regular';
  src: url("webfonts/30F94E_2_0.eot");
  src: url("webfonts/30F94E_2_0.eot?#iefix") format("embedded-opentype"), url("webfonts/30F94E_2_0.woff2") format("woff2"), url("webfonts/30F94E_2_0.woff") format("woff"), url("webfonts/30F94E_2_0.ttf") format("truetype"); }

@font-face {
  font-family: 'AvenirLTStd-Roman';
  src: url("webfonts/30F94E_3_0.eot");
  src: url("webfonts/30F94E_3_0.eot?#iefix") format("embedded-opentype"), url("webfonts/30F94E_3_0.woff2") format("woff2"), url("webfonts/30F94E_3_0.woff") format("woff"), url("webfonts/30F94E_3_0.ttf") format("truetype"); }

/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Prevent adjustments of font size after orientation changes in IE and iOS.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  /* 1 */
  display: block; }

/**
 * Add the correct display in IE 9-.
 */
audio,
canvas,
progress,
video {
  display: inline-block; }

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

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

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

/* Links
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

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

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

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit; }

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

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic; }

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

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000; }

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }

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

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px; }

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

/* Forms
   ========================================================================== */
/**
 * 1. Change font properties to `inherit` in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
select,
textarea {
  font: inherit;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Restore the font weight unset by the previous rule.
 */
optgroup {
  font-weight: bold; }

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

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

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

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

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

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

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

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

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

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

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on OS X.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54; }

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

/**
 * Name: Variables
 *
 * Base variables the site cannot work without.
 */
/* Colours
==================== */
/* Breakpoints
==================== */
/* Sizes
==================== */
/* Animations
==================== */
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
    z-index: 1000; }
  99% {
    opacity: 0; }
  100% {
    opacity: 0;
    z-index: -1; } }

@keyframes fadeOut {
  0% {
    opacity: 1;
    z-index: 1000; }
  99% {
    opacity: 0; }
  100% {
    opacity: 0;
    z-index: -1; } }

/**
 * Name: Gleneagles theme
 *
 * Changes the look and feel of the components.
 */
/* Base colours
==================== */
/* Brand colours */
/* Base component colours */
/* Base colours */
/* Base fonts & styles
==================== */
/* Base Spacing
==================== */
/* Icons
==================== */
/* Components
==================== */
/**
	* Page header
	*/
/**
	* Summary bar
	*/
/**
	* Multi room bar
	*/
/**
	* Progress bar
	*/
/**
	* Datepicker
	*/
/**
	* Inputs
	*/
/**
	* Checkboxes
	*/
/**
	* CTAs/buttons
	*/
/**
	* Room info panel
	*/
/**
	* Basket
	*/
/**
	* booking summary box
	*/
/**
	* Popup panel
	*/
/**
	* Gallery nav
	*/
/**
	* Misc
	*/
/**
	* Pages
	*/
/**
	* Availability Calendar
	*/
/**
 * Name: _html
 *
 * Base HTML styles and helpers
 */
/* Styles
==================== */
html,
body {
  margin: 0;
  padding: 0;
  -ms-touch-action: manipulation;
      touch-action: manipulation; }

body {
  padding-bottom: 3rem; }

/* Helpers
==================== */
.hidden {
  visibility: hidden; }

@media (max-width: 765px) {
  .hide-mobile {
    display: none; } }

/**
 * Name: Typography
 */
/* Variables
==================== */
/* Elements
==================== */
html,
body {
  font-family: "AvenirNextLTPro-Regular", sans-serif;
  color: #09355c;
  font-size: 16px;
  letter-spacing: 1.5px; }

h4 {
  font-family: "BellMTStd-Regular", serif; }

/* Media queries
==================== */
@media (max-width: 765px) {
  html,
  body {
    font-size: 14px; } }

/***************************************
		Component files, load in any  order
	***************************************/
/**
 * Name: Grid
 *
 * Controls general layout components.
 */
/* Variables
==================== */
/* Elements
==================== */
.section--grid {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.section--vertical-spacing {
  margin-top: 80px;
  margin-bottom: 80px; }

.section__inner--vertical-padding {
  padding-top: 80px;
  padding-bottom: 80px; }

.section__inner--padding-bottom {
  padding-bottom: 80px; }

.section__inner {
  margin: 0 auto; }

.section__inner--full-width {
  -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
  -webkit-flex-grow: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0; }

.section__inner--half-width {
  -webkit-flex-basis: calc(50% - 1.5rem);
      -ms-flex-preferred-size: calc(50% - 1.5rem);
          flex-basis: calc(50% - 1.5rem);
  -webkit-flex-grow: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0; }

.section__inner--half-width:first-of-type {
  margin-right: 1.5rem; }

.section__inner--half-width:last-of-type {
  margin-left: 1.5rem; }

.section__inner--thin {
  max-width: 350px;
  padding: 0 1.5rem; }

/* page modifier
==================== */
.element--fade-in {
  -webkit-animation: fadeIn 0.8s forwards;
          animation: fadeIn 0.8s forwards; }

/* Media queries
==================== */
@media (max-width: 765px) {
  .section--grid {
    display: block; }
  .section__inner-content {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto; }
  .section__inner--half-width:first-of-type {
    margin-right: 0;
    padding: 0 1.5rem; }
  .section__inner--half-width:last-of-type {
    margin-left: 0;
    padding: 0 1.5rem; } }

/**
 * Name: Sections
 *
 * Deals with fonts and colours of sections
 */
/* Variables
==================== */
/* Elements
==================== */
.section__header {
  color: inherit;
  font-family: "BellMTStd-Regular", serif;
  text-align: center;
  font-size: 3rem;
  font-weight: 100;
  margin: 4.5rem 0 3rem 0;
  letter-spacing: 3px; }
  .section__header small {
    display: block;
    font-size: 1.5rem; }

.page .section__header {
  margin: 4.5rem 1.5rem 3rem 1.5rem; }

.section__sub-header {
  text-transform: uppercase;
  font-size: 1.4rem;
  font-weight: 100; }

.section__blurb {
  color: #666666;
  margin-bottom: 2rem;
  font-size: 0.9rem; }

.section__header--small {
  text-transform: uppercase;
  font-size: 0.8rem; }

.section__header--caps {
  text-transform: uppercase; }

/* Media queries
==================== */
@media (max-width: 865px) {
  .section__header {
    margin-top: 2rem;
    margin-bottom: 2rem; }
  .page .section__header {
    margin: 1.5rem 1.5rem 1.5rem 1.5rem; } }

@media (max-width: 765px) {
  .section__header {
    font-size: 2.2rem; }
  /**
	* Mobile "show booking details" button.
	*/
  .section__sub-header--mobile-button {
    background-color: #eeeeee;
    margin-top: 0;
    margin-bottom: 0;
    padding: 2rem 0;
    position: relative; }
    .section__sub-header--mobile-button:after {
      content: '';
      position: absolute;
      width: 28px;
      height: 28px;
      background-position: center center;
      background-repeat: no-repeat;
      background-image: url("../img/icons/svg/circleplus.svg");
      top: calc(50% - 14px);
      background-size: contain;
      right: 0; }
  .revealer-checkbox:checked + label > .section__sub-header--mobile-button:after {
    background-image: url("../img/icons/svg/circleminus.svg"); } }

/**
 * Name: Grid
 *
 * Controls general layout components.
 */
/* Variables
==================== */
/* Elements
==================== */
header {
  padding-bottom: calc(90px + 1px); }

header .wrapper {
  position: fixed;
  z-index: 10;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  max-width: 100vw;
  height: 90px;
  text-align: center;
  background-color: #172e41;
  border-bottom: 1px solid #172e41; }

/**
 * Name: Inputs
 *
 * And other form elements
 */
/* Variables
==================== */
/* Elements
==================== */
.input {
  padding: 0;
  margin: 0;
  font-size: 0;
  box-sizing: border-box;
  border: 1px solid #cccccc;
  text-align: left;
  position: relative;
  transition: 0.4s; }

.input--vertical {
  margin-bottom: 15px; }

.details-page .input--vertical {
  margin-bottom: 1.75rem; }

.input__control input[type="text"],
.input__control input[type="email"],
.input__control input[type="password"],
.input__control input[type="number"],
.input__control input[type="tel"],
.input__control input[type="date"],
.input__control select,
.input__control textarea {
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  padding: 15px;
  padding-top: 7.5px;
  box-sizing: border-box;
  width: 100%;
  border: none;
  background: transparent;
  color: #999999; }

.input__control select {
  padding-left: 11.5px; }

.input__label {
  position: relative;
  font-size: 11px;
  line-height: 1;
  display: block;
  padding: 15px;
  padding-bottom: 7.5px;
  background: transparent;
  color: #999999;
  transition: 0.4s; }

.react-datepicker__input-container {
  width: 100%; }

input[type="text"].hiddenInput {
  opacity: 0;
  height: 0;
  width: 0;
  font-size: 0;
  line-height: 0;
  padding: 0; }

/* Checkbox styles
==================== */
.input--checkbox {
  border: none;
  white-space: nowrap; }
  .input--checkbox .input__label {
    font-size: 12px;
    padding: 0px; }
  .input--checkbox .input__control {
    display: inline-block;
    vertical-align: middle;
    white-space: normal; }
    .input--checkbox .input__control input {
      position: absolute;
      opacity: 0;
      left: -100%; }
    .input--checkbox .input__control input:focus ~ .input__label-text:after {
      border: 1px solid #aa6d51;
      -webkit-animation: fadeIn 0.4s forwards;
              animation: fadeIn 0.4s forwards; }
    .input--checkbox .input__control input:checked ~ .input__label-text {
      color: #999999; }
    .input--checkbox .input__control input:checked ~ .input__label-text:after {
      content: '.';
      color: transparent;
      background-image: url("../img/icons/svg/tick-blue.svg");
      background-size: 50%;
      border: 1px solid #aa6d51;
      -webkit-animation: fadeIn 0.4s forwards;
              animation: fadeIn 0.4s forwards; }
  .input--checkbox .input__label-text {
    cursor: pointer;
    padding-left: calc(35px + 1.5rem);
    display: block;
    position: relative;
    color: #999999;
    transition: 0.2s; }
    .input--checkbox .input__label-text:before, .input--checkbox .input__label-text:after {
      position: absolute;
      left: 0;
      top: 0;
      content: '';
      display: block;
      width: 35px;
      height: 35px;
      border: 1px solid #cccccc;
      background-color: #ffffff;
      background-repeat: no-repeat;
      background-position: center center;
      cursor: pointer;
      transition: 0.2s; }
    .input--checkbox .input__label-text a, .input--checkbox .input__label-text a:visited, .input--checkbox .input__label-text a:focus {
      color: #aa6d51; }

/* Select styles
==================== */
.input--fancy-select {
  position: relative; }
  .input--fancy-select select {
    padding-top: 38px;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none; }
    .input--fancy-select select::-ms-expand {
      display: none; }
  .input--fancy-select .input__label {
    position: absolute;
    top: 0;
    left: 0; }
  .input--fancy-select:before {
    content: '';
    position: absolute;
    width: 15px default;
    height: 15px default;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("../img/icons/svg/chevron.svg");
    top: 0;
    right: 0;
    border-left: 1px solid transparent;
    height: 100%;
    width: 3rem;
    background-size: 1rem;
    background-color: white;
    z-index: -1; }

/* Validation
==================== */
.input.error {
  border-color: #d60000; }
  .input.error .input__validation-message {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 13px;
    color: #d60000;
    text-align: center;
    padding: 4px; }

.input.valid,
.input--touched {
  border-color: #aa6d51; }
  .input.valid .input__label,
  .input--touched .input__label {
    color: #aa6d51; }
  .input.valid input[type="text"],
  .input.valid input[type="email"],
  .input.valid input[type="password"],
  .input.valid input[type="number"],
  .input.valid input[type="tel"],
  .input.valid input[type="date"],
  .input.valid select,
  .input.valid textarea,
  .input--touched input[type="text"],
  .input--touched input[type="email"],
  .input--touched input[type="password"],
  .input--touched input[type="number"],
  .input--touched input[type="tel"],
  .input--touched input[type="date"],
  .input--touched select,
  .input--touched textarea {
    color: #09355c; }

/* Modifiers
==================== */
.input--large .input__control input {
  padding: 1.5rem 1rem;
  text-transform: uppercase; }

.page--retrieve input {
  text-transform: uppercase; }

.input--disabled {
  opacity: 0.5;
  cursor: not-allowed; }
  .input--disabled input {
    cursor: not-allowed !important; }

/* Datepicker set up
==================== */
.input--datepicker {
  position: relative; }
  .input--datepicker:before {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("../img/icons/svg/calendar.svg");
    top: calc(50% - 10px);
    right: calc(0.75rem + 5px);
    border-left: 1px solid transparent;
    cursor: pointer; }

/* Media queries
==================== */
@media (max-width: 765px) {
  .input__label {
    font-size: 1rem; } }

/**
 * Name: Forms
 *
 * Generic form styles.
 */
/* Elements
==================== */
.form {
  margin: 0 auto 0 auto; }

.form-section {
  margin-bottom: 3rem; }

.form__message {
  font-size: 0.9rem;
  margin-bottom: 1rem;
  letter-spacing: 0.5px; }
  .form__message a, .form__message a:visited, .form__message a:hover, .form__message a:active {
    color: #aa6d51; }

.form-section__link {
  text-align: center;
  text-transform: uppercase;
  font-size: 1.4rem;
  width: 100%;
  margin-bottom: 40px; }

/* Media queries
==================== */
@media (min-width: 678px) {
  .form-section__link {
    font-size: 1.2rem; } }

/**
 * Name: Placename autocomplete
 *
 */
/* Variables
==================== */
/* Elements
==================== */
.geosuggest__suggests {
  padding: 0;
  list-style-type: none; }

.geosuggest__item {
  font-size: 0.75rem;
  padding: 0.375rem 0.75rem; }
  .geosuggest__item:hover, .geosuggest__item--active {
    background-color: #aa6d51;
    color: white;
    cursor: pointer; }

/* "Toggle lookup/manual" link.
==================== */
.placename-lookup__link {
  margin: 0 0 2.25rem 0;
  text-align: center;
  color: #aa6d51;
  display: block; }

.drawer {
  position: fixed;
  width: 400px;
  background-color: #fff;
  top: 0;
  bottom: 0;
  z-index: 12;
  padding: 20px 0 0 0;
  box-shadow: 10px 0 10px 8px #888;
  right: -400px;
  transition: .4s;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }

.drawer::-webkit-scrollbar {
  width: 10px; }

.drawer::-webkit-scrollbar-track {
  background: #ddd; }

.drawer::-webkit-scrollbar-thumb {
  background: #666; }

.drawer--open {
  right: 0; }

.drawer__overlay {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: fixed;
  background: rgba(255, 255, 255, 0.8);
  opacity: 0;
  z-index: 11;
  visibility: hidden;
  transition: .4s; }

.drawer__overlay--shown {
  visibility: visible;
  opacity: 1; }

.drawer__close {
  z-index: 1;
  outline: none;
  position: absolute;
  top: 54px;
  right: 1.5rem;
  border: 0;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  background: transparent;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  transition-duration: .2s;
  cursor: pointer; }
  .drawer__close svg {
    height: 100%;
    width: 23px;
    fill: #172e41;
    stroke: #172e41;
    stroke-width: 0.1px; }

.drawer__close--gallery {
  top: 1rem;
  right: 0.75rem; }

@media (max-width: 678px) {
  .drawer {
    width: 100%; } }

@media (min-width: 678px) {
  .drawer {
    padding: 20px 2rem 0 2rem;
    border: 1px solid #f2f2f2; }
  .drawer__close {
    top: 2rem; } }

/**
 * Name: Rooms selection page
 *
 * Contains list of rooms that can be booked.
 */
/* Variables
==================== */
/* Page set up
==================== */
.room-page {
  text-align: center; }
  .room-page .section__header {
    margin-top: 3.5rem; }

/* Elements
==================== */
.room-page__section {
  padding-bottom: 60px;
  padding: 0 5rem; }

.room_page__section-header {
  margin: 15px 0; }

/* Media queries
==================== */
@media (max-width: 1500px) {
  .room-page__section {
    padding: 0 3rem; }
    .room-page__section .section {
      max-width: 70rem;
      margin-left: auto;
      margin-right: auto; } }

@media (max-width: 765px) {
  .room-page__section {
    padding: 0 1.5rem; }
    .room-page__section .section {
      max-width: 400px; } }

/**
 * Name: Room info
 *
 * Room details row. Contains header, blurb, features, booking buttons, rate details/
 */
/* Variables
==================== */
/* Elements
==================== */
.room-info {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 5rem;
  text-align: left; }

.room-info__info {
  -webkit-flex-basis: 33.3333%;
      -ms-flex-preferred-size: 33.3333%;
          flex-basis: 33.3333%;
  padding: 0 3rem; }

.room-info__prices {
  -webkit-flex-basis: 33.3333%;
      -ms-flex-preferred-size: 33.3333%;
          flex-basis: 33.3333%;
  padding: 0; }

.room-info__gallery {
  -webkit-flex-basis: 40%;
      -ms-flex-preferred-size: 40%;
          flex-basis: 40%;
  -webkit-flex-shrink: 1;
      -ms-flex-negative: 1;
          flex-shrink: 1; }

.room-info__info-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  .room-info__info-header .room-info__price-info-icon {
    display: none; }

.room-info__title {
  margin-top: 0;
  margin-bottom: 0;
  color: #aa6d51;
  font-family: "BellMTStd-Regular", serif;
  font-weight: 100;
  font-size: 2rem; }

.room__features {
  padding: 1rem 0 0 1em; }
  .room__features li {
    line-height: 2em;
    font-size: 0.8em;
    color: #666666; }
  .room__features span {
    display: block; }

.room-info__price {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-top: solid 1px #cccccc;
  padding: 2rem 0; }

.room-info__price:last-of-type {
  border-bottom: solid 1px #cccccc; }

.room-info__price-hold {
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.room-info__price-title {
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-right: 1rem;
  color: #09355c;
  font-family: "BellMTStd-Regular", serif;
  font-size: 1.25rem;
  font-weight: 100;
  letter-spacing: 1px; }

.room-info__price-value {
  margin-right: 1rem;
  font-size: 1.5rem;
  font-weight: 100;
  color: #aa6d51; }

.room-info__price-book {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  margin-right: 1rem; }

.room-info__price-info-icon {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 2rem;
  height: 2rem;
  border: solid 1px #aa6d51;
  border-radius: 50%;
  line-height: 2rem;
  text-decoration: none;
  font-weight: bold;
  font-family: "BellMTStd-Regular", serif;
  font-size: 2rem;
  background-color: white;
  color: #09355c; }
  .room-info__price-info-icon span {
    font-size: 1.2rem;
    margin-right: -2px;
    margin-top: 0.5px; }

.room-info__info-body-text {
  max-width: 31rem;
  line-height: 1.5em;
  color: #666666; }

/* Modifiers
==================== */
.room-info__price--selected {
  -webkit-animation: selectPrice 0.4s forwards;
          animation: selectPrice 0.4s forwards; }

.room-info__price--header {
  padding: 10px 0;
  border-top: none;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  .room-info__price--header .room-info__price-value {
    margin-right: 0;
    color: #666666;
    font-size: 1rem; }

/* Media queries
==================== */
@media (max-width: 1500px) {
  .room-info {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
  .room-info__info {
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    padding: 0 2rem 0 2rem; }
  .room-info__gallery {
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0; }
  .room-info__prices {
    -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
    padding: 1rem 0 0 0; }
  .room-info__price {
    padding: 1rem 0; }
  .room-info__info-body-text {
    max-width: none; } }

@media (max-width: 765px) {
  .room-info {
    display: block; }
  .room-info__info {
    padding-top: 1rem;
    padding-left: 0;
    padding-right: 0; }
  .room-info__price-hold,
  .room-info__price-title,
  .room-info__price-value {
    display: block; }
  .room-info__info-body {
    display: none; }
  .room-info__info-header .room-info__price-info-icon {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .room-info__price--selected {
    -webkit-animation: selectPriceMobile 0.4s forwards;
            animation: selectPriceMobile 0.4s forwards;
    border-bottom: solid 1px #cccccc;
    margin-bottom: -1px; }
  .room__features li {
    font-size: 1em; }
  .room-info__price--header {
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; } }

/* Animations
==================== */
@-webkit-keyframes selectPrice {
  0% {
    background-color: white;
    padding-left: 0rem;
    padding-right: 0rem; }
  100% {
    background-color: #e6e6e6;
    padding-left: 0.5rem;
    padding-right: 0.5rem; } }
@keyframes selectPrice {
  0% {
    background-color: white;
    padding-left: 0rem;
    padding-right: 0rem; }
  100% {
    background-color: #e6e6e6;
    padding-left: 0.5rem;
    padding-right: 0.5rem; } }

@-webkit-keyframes selectPriceMobile {
  0% {
    background-color: white;
    padding-left: 0rem;
    padding-right: 0rem;
    margin-left: 0rem;
    margin-right: 0rem; }
  100% {
    background-color: #e6e6e6;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    margin-left: -1.5rem;
    margin-right: -1.5rem; } }

@keyframes selectPriceMobile {
  0% {
    background-color: white;
    padding-left: 0rem;
    padding-right: 0rem;
    margin-left: 0rem;
    margin-right: 0rem; }
  100% {
    background-color: #e6e6e6;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    margin-left: -1.5rem;
    margin-right: -1.5rem; } }

/**
 * Name: Gallery
 *
 * Carousel, innit
 */
/* Variables
==================== */
/* Elements
==================== */
/**
* Holders
*/
.room-info-gallery__holder {
  position: relative;
  margin-bottom: 1.5rem; }

.room-info-gallery {
  position: relative;
  overflow: hidden; }

.room-info-gallery__inner {
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
  display: block;
  line-height: 0; }

/**
* Image elements 
*/
.room-info-gallery__item {
  display: inline-block; }

.room-info-gallery__image {
  display: block;
  width: 100%; }

/**
* Navigation 
*/
/**
	* Holder 
	*/
.room-info-gallery__nav {
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  bottom: -1.5rem;
  height: 2.5rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  margin: 0 auto;
  background-color: #172e41; }

/**
	* Left/right controls 
	*/
.room-info-gallery__trigger {
  position: absolute;
  top: 0;
  bottom: 0;
  text-decoration: none;
  cursor: pointer;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  opacity: 0;
  transition: opacity 0.2s; }
  .room-info-gallery__trigger span {
    opacity: 0; }
  .room-info-gallery__trigger:hover, .room-info-gallery__trigger:focus {
    opacity: 1; }
  .room-info-gallery__trigger:after {
    content: '';
    position: absolute;
    top: calc(50% - 15px);
    width: 30px;
    height: 30px;
    background-image: url("../img/icons/svg/chevron-white.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain; }

.room-info-gallery__left-trigger {
  right: 50%;
  left: 0;
  background: linear-gradient(to left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0.9) 100%); }
  .room-info-gallery__left-trigger:after {
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg);
    left: 5px; }

.room-info-gallery__right-trigger {
  right: 0;
  left: 50%;
  background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0.9) 100%); }
  .room-info-gallery__right-trigger:after {
    -webkit-transform: rotate(0);
        -ms-transform: rotate(0);
            transform: rotate(0);
    right: 5px; }

/**
	* Nav dots 
	*/
.room-info-gallery__circle {
  width: 6px;
  height: 6px;
  margin: 0 5px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  transition: 0.3s; }

.room-info-gallery__circle--active {
  width: 6px;
  height: 6px;
  background: white; }

/**
* Full screen link 
*/
.room-info-gallery__full-link {
  position: absolute;
  right: 38px;
  top: 12px;
  display: inline-block;
  padding-left: 10px;
  font-size: 0.8rem;
  text-decoration: none;
  background-color: #172e41;
  color: white; }
  .room-info-gallery__full-link:after {
    content: '';
    position: absolute;
    top: -3px;
    right: -28px;
    width: 20px;
    height: 20px;
    background-image: url("../img/icons/svg/grey-circle-plus.svg"); }

/**
* Full screen holder 
*/
.room-info-gallery__full-screen {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  background-color: white;
  padding: 3rem;
  -webkit-animation: fadeIn 0.2s forwards;
          animation: fadeIn 0.2s forwards; }
  .room-info-gallery__full-screen .popup__close {
    display: block;
    z-index: 1;
    background-color: rgba(255, 255, 255, 0.7); }
  .room-info-gallery__full-screen .room-info-gallery__holder {
    margin-left: auto;
    margin-right: auto; }
  .room-info-gallery__full-screen .room-info-gallery__image {
    width: initial; }

/* Modifiers
==================== */
.room-info-gallery--mobile .room-info-gallery__item {
  margin: 0;
  margin-bottom: 2rem; }

/* Media queries
==================== */
@media (max-width: 765px) {
  .room-info-gallery__full-screen {
    padding: 1.5rem; }
    .room-info-gallery__full-screen .room-info-gallery__holder {
      width: 100% !important; }
    .room-info-gallery__full-screen .room-info-gallery__image {
      width: 100% !important;
      height: initial !important; }
  .room-info-gallery__full-link {
    display: none; }
  .room-info-gallery__trigger {
    background: transparent; }
    .room-info-gallery__trigger:after {
      content: none; } }

/**
 * Name: Summary bar
 *
 * Shows small summary at top of page
 */
/* Variables
==================== */
/* Elements
==================== */
.summarybar {
  padding-bottom: 4.5rem;
  position: relative; }

.summarybar__holder {
  position: fixed;
  z-index: 10;
  left: 0;
  right: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 4.5rem; }

.summarybar__inner {
  background-color: #eeeeee;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  display: relative;
  z-index: 1; }

.summarybar__info {
  position: relative;
  margin-right: 5rem;
  color: #666666;
  letter-spacing: 0.9px; }
  .summarybar__info:after {
    content: '';
    position: absolute;
    top: calc(0rem - 0.875rem + 0.5rem);
    right: -2.5rem;
    display: block;
    width: 1px;
    height: 1.75rem;
    background-color: #aaaaaa; }

/* Modifiers
==================== */
.summarybar__info--link {
  cursor: pointer;
  color: #aa6d51; }
  .summarybar__info--link:after {
    content: none; }

/* Media queries
==================== */
@media (max-width: 865px) {
  .summarybar {
    padding-bottom: 3rem; }
  .summarybar--multiroom {
    padding-bottom: 4.5rem; }
  .summarybar__holder {
    padding: 0 0;
    font-size: 0.9em;
    height: 3rem; }
  .summarybar__info {
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    margin-right: 2.5rem;
    padding: 0 1rem;
    width: 0; }
    .summarybar__info:after {
      content: none; } }

@media (max-width: 678px) {
  .summarybar__info {
    margin-right: 0; }
  .summarybar__info--guests {
    display: none; } }

/**
 * Name: Multi-room bar
 *
 * Shows small summary of stage in multiroom booking at top of page
 */
/* Variables
==================== */
/* Elements
==================== */
.multiroombar {
  background-color: #aa6d51;
  color: white;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  -webkit-animation: multiroombarOpen 1s forwards, multiroombarClose 1s 6s forwards;
          animation: multiroombarOpen 1s forwards, multiroombarClose 1s 6s forwards;
  padding: 0.75rem; }

/* Animations
==================== */
@-webkit-keyframes multiroombarOpen {
  0% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%); }
  15% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%); }
  100% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%); } }
@keyframes multiroombarOpen {
  0% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%); }
  15% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%); }
  100% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%); } }

@-webkit-keyframes multiroombarClose {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%); }
  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%); } }

@keyframes multiroombarClose {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%); }
  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%); } }

/**
 * Name: Confirmation page
 *
 * Controls layout for confirmation and "Retrieve booking" pages.
 */
/* Unused components */
/* Page styles
==================== */
.page--retrieve .section__inner,
.page--confirmation .section__inner {
  text-align: center; }

/* "Next steps" section
==================== */
.confirmation-next-steps .section__header {
  margin-bottom: 1.5rem; }

.confirmation-next-steps__buttons {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around; }

/**
 * Name: Details page
 *
 * Controls layout for details page.
 */
/* Variables
==================== */
/* Elements
==================== */
.details-page {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 1.5rem; }
  .details-page .form {
    max-width: 350px;
    margin: 0 auto 0 0; }
  .details-page .section__inner--half-width {
    border-top: solid 1px #172e41; }

/* Media queries
==================== */
@media (max-width: 765px) {
  .details-page {
    padding: 0; }
    .details-page .section__inner--half-width {
      border-top: none; } }

/**
 * Name: Payment page
 *
 * Controls layout for details page.
 */
/* Variables
==================== */
/* Page
==================== */
.page--payment .page {
  padding: 0 1.5rem; }

/* Elements
==================== */
.payment__message-holder {
  position: relative;
  z-index: 0; }
  .payment__message-holder:after {
    content: attr(data-loading-text);
    position: absolute;
    z-index: -1;
    text-align: center;
    top: 214px;
    color: grey;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    -webkit-animation: partFade 0.9s alternate infinite;
            animation: partFade 0.9s alternate infinite; }

.payment__iframe-holder {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch !important;
  -webkit-animation: whiten 0.9s 5s forwards;
          animation: whiten 0.9s 5s forwards; }

.payment_iframe {
  position: relative;
  z-index: 1;
  min-height: 700px;
  height: 100%;
  width: 100%;
  border: none; }

.payment-warning-message {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: column;
      -ms-flex-preferred-size: column;
          flex-basis: column;
  margin: 0 auto 10px auto;
  background: #172e41;
  color: white;
  max-width: 600px; }

.payment-warning-icon {
  padding: 0 10px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.payment-warning-message {
  padding: 10px 12px 7px 10px;
  text-align: justify;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .payment-warning-message p {
    font-size: 0.85rem;
    margin: 0;
    padding: 0; }

/* Animations
==================== */
@-webkit-keyframes whiten {
  0% {
    background-color: transparent; }
  100% {
    background-color: white; } }
@keyframes whiten {
  0% {
    background-color: transparent; }
  100% {
    background-color: white; } }

@-webkit-keyframes partFade {
  0% {
    opacity: 0.3; }
  100% {
    opacity: 1; } }

@keyframes partFade {
  0% {
    opacity: 0.3; }
  100% {
    opacity: 1; } }

/**
 * Name: Landscape Note
 *
 * Component asking mobile users to turn their devices to landscape
 * mode to make PXP payment a little less crappy.
 */
/* Variables
==================== */
/* Elements
==================== */
.landscape-note {
  display: none;
  background-color: #eeeeee;
  padding: 1.5rem 4.5rem;
  margin-left: -1.5rem;
  margin-right: -1.5rem;
  margin-bottom: 1.5rem; }

.landscape-note__image {
  -webkit-flex-basis: 100px;
      -ms-flex-preferred-size: 100px;
          flex-basis: 100px; }
  .landscape-note__image img {
    width: 50px;
    height: 50px; }

.landscape-note__header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.landscape-note__header-text {
  margin: 0;
  margin-left: 1.5rem;
  font-size: 2rem;
  font-weight: 100;
  line-height: 2rem; }

.landscape-note__text {
  font-size: 0.85rem;
  color: grey; }

/* Media queries
==================== */
@media (max-width: 765px) and (orientation: portrait) {
  .landscape-note {
    display: block; } }

/**
 * Name: Buttons / C'sTA
 */
/* Variables
==================== */
/* Elements
==================== */
.button {
  display: inline-block;
  padding: 10px 30px;
  border: 1px solid #09355c;
  background-color: #ffffff;
  color: #09355c;
  text-align: center;
  font-size: 1rem;
  font-weight: bold;
  text-decoration: none;
  text-transform: uppercase;
  transition: 0.2s;
  cursor: pointer;
  border-radius: 0; }
  .button[disabled] {
    background-color: #e6e6e6;
    color: black;
    border: 1px solid black;
    cursor: not-allowed; }
  .button:hover, .button:focus {
    background-color: #09355c;
    color: #ffffff;
    border-color: #ffffff; }

/* Modifiers
==================== */
.button--filled {
  color: #FFFFFF;
  background-color: #172e41; }
  .button--filled:hover, .button--filled:focus {
    border: 1px solid transparent;
    color: #FFFFFF;
    background-color: black; }
  .button--filled[disabled] {
    background-color: #c0c3c4;
    color: #e5e5e5;
    border: 1px solid rgba(211, 211, 211, 0.6);
    cursor: not-allowed; }

.button--no-shout {
  text-transform: none; }

.button.button--full {
  width: 100%;
  padding: 20px 30px; }

/* Component modifiers
==================== */
.room-info__price--selected .button {
  background-color: #09355c;
  color: transparent;
  position: relative; }
  .room-info__price--selected .button:after {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("../img/icons/svg/tick.svg");
    top: calc(50% - 10px);
    right: calc(50% - 10px);
    background-size: contain;
    -webkit-animation: fadeIn 0.8s forwards;
            animation: fadeIn 0.8s forwards; }

.fixed-button__holder {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: white;
  padding-top: 10px;
  padding-bottom: 10px;
  border-top: solid 1px #eeeeee; }
  .fixed-button__holder .section__inner--thin {
    margin-left: auto;
    margin-right: auto; }

/* Media queries
==================== */
@media (max-width: 678px) {
  .button {
    padding: 10px 20px; } }

/**
 * Name: Progress bar
 */
/* Variables
==================== */
.basket__holder {
  margin-top: 12rem; }

/* Elements
==================== */
.basket {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 12rem;
  background-color: #eeeeee;
  text-align: left;
  -webkit-animation: slideUp 0.6s forwards;
          animation: slideUp 0.6s forwards; }

.basket__inner {
  -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 0.5rem 5rem; }

.basket__info {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end; }

.basket__info-item {
  padding-right: 2.5rem; }

.basket__info-item-header {
  display: block;
  font-weight: bold;
  font-size: 1rem;
  color: #aa6d51;
  font-family: "BellMTStd-Regular", serif;
  text-transform: uppercase;
  font-weight: 100; }

.basket__info-item-value {
  font-size: 1.8rem;
  color: #09355c; }

.basket__book {
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  text-align: right; }

/* Modifiers
==================== */
.basket__info-item--total .basket__info-item-value {
  color: #aa6d51;
  font-weight: 100;
  margin-right: 2rem;
  font-size: 2.5rem; }

.basket__info-item--total .basket__info-item-header {
  color: #666666;
  font-family: "AvenirNextLTPro-Regular", sans-serif;
  text-transform: none;
  text-align: left; }

/* Media queries
==================== */
@media (max-width: 1500px) {
  .basket {
    height: auto; }
  .basket__inner {
    padding: 1rem 3rem; }
  .basket__info-item-value {
    font-size: 1.3rem; } }

@media (max-width: 865px) {
  .basket {
    height: 4.8rem; }
  .basket__inner {
    padding: 1rem 1.5rem; }
  .basket__info {
    display: none; }
  .basket__info-item--total .basket__info-item-value {
    font-size: 2rem;
    margin-right: 1rem; } }

/* Animations
==================== */
@-webkit-keyframes slideUp {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
@keyframes slideUp {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

/**
 * Name: Loader
 *
 * Full screen loading screen
 */
/* Variables
==================== */
/* Elements
==================== */
.loader {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #172e41;
  display: table;
  -webkit-animation: fadeIn 0.2s forwards;
          animation: fadeIn 0.2s forwards; }
  .loader.loader--hidden {
    -webkit-animation: fadeOut 0.2s forwards;
            animation: fadeOut 0.2s forwards; }

.loader__inner {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  position: relative;
  padding: 3rem; }
  .loader__inner:after {
    content: '';
    display: block;
    border: solid 1px rgba(255, 255, 255, 0.4);
    position: absolute;
    top: 1rem;
    bottom: 1rem;
    left: 1rem;
    right: 1rem;
    width: calc(100% - 2rem);
    height: calc(100vh - 2rem); }

.loader__image {
  display: block;
  margin-bottom: 20px; }
  .loader__image img {
    width: 15rem;
    max-width: 50%; }

.loader__text {
  display: block;
  font-size: 1rem;
  color: #ffffff;
  font-family: "BellMTStd-Regular", serif; }
  .loader__text span {
    -webkit-animation: fadeIn 0.6s alternate infinite;
            animation: fadeIn 0.6s alternate infinite;
    -webkit-animation-delay: 0.1s;
            animation-delay: 0.1s; }
    .loader__text span:first-of-type {
      -webkit-animation-delay: 0s;
              animation-delay: 0s; }
    .loader__text span:last-of-type {
      -webkit-animation-delay: 0.2s;
              animation-delay: 0.2s; }

.loader--calendar {
  position: absolute;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: auto;
  background-color: rgba(23, 46, 65, 0.25);
  top: 29px;
  left: 0;
  right: 0;
  bottom: 0;
  width: auto;
  z-index: 1; }
  .loader--calendar .loader__inner:after {
    border: none; }
  .loader--calendar .loader__image img {
    max-width: 120px; }

/**
 * Name: Summary Box
 *
 * Shows a booking summary
 */
/* Variables
==================== */
/* Elements
==================== */
.summarybox {
  background-color: #eeeeee;
  display: block;
  padding: 3rem;
  margin-bottom: 2px; }

.summarybox:last-of-type {
  margin-bottom: 0; }

.summarybox__image {
  max-width: 100%; }

.summarybox__header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  font-size: 1.4em;
  margin-bottom: 1em;
  color: #aa6d51;
  text-transform: uppercase; }

.summarybox__edit-link {
  color: #aa6d51;
  font-size: 0.7em; }

.summarybox__list {
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: left; }

.summarybox__listitem {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 10px; }

.summarybox__title {
  display: inline-block;
  width: 50%;
  text-transform: uppercase;
  -webkit-flex-basis: 40%;
      -ms-flex-preferred-size: 40%;
          flex-basis: 40%; }

.summarybox__value {
  display: inline-block;
  -webkit-flex-basis: 60%;
      -ms-flex-preferred-size: 60%;
          flex-basis: 60%;
  text-align: right; }

.summarybox--total {
  background-color: #172e41;
  color: white;
  font-size: 1.2em; }
  .summarybox--total .summarybox__listitem {
    margin-bottom: 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
  .summarybox--total .summarybox__value {
    font-size: 1.75em; }

.summarybox--total .summarybox__listitem--deposit .summarybox__title,
.summarybox--total .summarybox__listitem--deposit .summarybox__value {
  margin-bottom: 1rem;
  font-size: 1rem; }

.summarybox__vat {
  display: block;
  font-size: 0.4em; }

/* Checkbox used for show/hide on mobile
==================== */
.revealer-checkbox {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: none;
  width: 0;
  height: 0;
  position: absolute; }

/* Print button
==================== */
.summarybox__print {
  text-align: center;
  display: none; }
  .page--confirmation .summarybox__print {
    display: block; }
  .summarybox__print a {
    font-size: 1rem;
    color: black;
    text-decoration: none;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .summarybox__print img {
    width: 30px;
    height: 30px;
    margin-right: 1rem; }

/* Modify is used on confirmation or retrieve booking pages.
==================== */
.page--retrieve .page p,
.page--confirmation .page p {
  padding: 0 1.5rem; }

.page--retrieve .page .summarybox,
.page--confirmation .page .summarybox {
  padding: 1.5rem;
  background-color: transparent;
  font-size: 1.4rem;
  border-bottom: solid 1px #eeeeee; }

.page--retrieve .page .summarybox__edit-link,
.page--confirmation .page .summarybox__edit-link {
  display: none; }

.page--retrieve .page .summarybox__listitem,
.page--confirmation .page .summarybox__listitem {
  margin-bottom: 1em; }

.page--retrieve .page .summarybox__value,
.page--confirmation .page .summarybox__value {
  color: #aa6d51; }

.page--retrieve .page .summarybox--total,
.page--confirmation .page .summarybox--total {
  background-color: #172e41;
  padding: 3rem; }
  .page--retrieve .page .summarybox--total .summarybox__listitem,
  .page--confirmation .page .summarybox--total .summarybox__listitem {
    margin-bottom: 0; }
  .page--retrieve .page .summarybox--total .summarybox__value,
  .page--retrieve .page .summarybox--total .summarybox__title,
  .page--confirmation .page .summarybox--total .summarybox__value,
  .page--confirmation .page .summarybox--total .summarybox__title {
    color: white; }

/* Media queries.
==================== */
@media (max-width: 865px) {
  .summarybox {
    padding: 1.5rem; } }

@media (max-width: 765px) {
  .summarybox__holder {
    background-color: #eeeeee; }
  .page--confirmation .summarybox--total {
    padding: 1.5rem; }
  .revealer-checkbox {
    display: initial; }
  #summary-reveal ~ .summaryboxes {
    max-height: 0;
    overflow: hidden;
    transition: 0.5s;
    transition-timing-function: cubic-bezier(0.76, 0.22, 0.28, 0.89);
    margin: 0 -1.5rem; }
  #summary-reveal:checked ~ .summaryboxes {
    max-height: 1100px;
    margin-bottom: 5rem; } }

.search-page-message {
  margin-bottom: 1.5rem;
  font-size: 0.8rem; }
  .search-page-message a {
    color: #aa6d51; }

hr {
  border-top: 2px dotted #347eaf;
  height: 1px;
  width: 100%;
  display: block;
  margin: 30px 0; }

/**
 * Name: Pages
 *
 * Modify misc pages.
 */
.page--search {
  padding-bottom: 100px; }

.page--details {
  text-align: center; }

.page--retrieve .page,
.page--confirmation .page {
  max-width: 550px;
  margin-left: auto;
  margin-right: auto; }

/**
 * Name: Progress bar
 */
/* Variables
==================== */
/* Holder
==================== */
.progressbar {
  margin-top: 15px;
  max-width: 1200px;
  width: 100%; }

/**
* Items holder
*/
.progressbar__items {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-left: 0;
  padding-top: 3.5px; }

/**
* Item on progress bar
*/
.progressbar__item {
  position: relative;
  -webkit-flex-basis: 20%;
      -ms-flex-preferred-size: 20%;
          flex-basis: 20%;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  list-style-type: none;
  text-align: center; }

/**
* Link
*/
.progressbar__item a {
  text-decoration: none;
  display: block;
  position: relative;
  height: 33px; }
  .progressbar__item a:hover .progressbar__text, .progressbar__item a:focus .progressbar__text {
    color: #FFFFFF; }

/**
* Don't show line on last item
*/
.progressbar__item:last-child .progressbar__line {
  display: none; }

/**
* Center logo
*/
.progressbar__logo {
  margin-top: -3.5px; }

/**
* Progress circle
*/
.progressbar__indicator {
  display: block;
  position: relative;
  z-index: 1;
  margin: 0 auto;
  width: 8px;
  height: 8px;
  border-radius: 100%;
  background-color: #30576d;
  transition: 0.4s; }

/**
* Progress line
*/
.progressbar__line {
  position: absolute;
  top: 3.5px;
  left: 50%;
  margin: 0 0 0 0;
  width: 100%;
  height: 1px;
  background-color: #30576d; }

/**
* Link text
*/
.progressbar__text {
  display: block;
  position: absolute;
  bottom: -3px;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  margin-top: 4px;
  font-size: 0.9rem;
  line-height: 0.7rem;
  letter-spacing: 1px;
  color: #888888;
  opacity: 1;
  transition: 0.4s; }

/**
* Mobile text
*/
.progressbar__mobile-title {
  display: none;
  font-size: 0.9em;
  color: #888888; }

/* Modifiers
==================== */
/**
* Visited item
*/
.progressbar__item--visited .progressbar__line {
  background-color: #aa6d51; }

.progressbar__item--visited .progressbar__indicator {
  background-color: #aa6d51; }

/**
* Current item
*/
.progressbar__item--active .progressbar__text,
.progressbar__item--visited a:hover .progressbar__text {
  -webkit-animation: activateDiscText 0.4s forwards;
          animation: activateDiscText 0.4s forwards; }

.progressbar__item--active .progressbar__indicator,
.progressbar__item--visited a:hover .progressbar__indicator {
  -webkit-animation: activateDisc 0.4s forwards;
          animation: activateDisc 0.4s forwards; }

/**
* Logo item changes
*/
.progressbar__item--logo a {
  position: relative;
  z-index: 2;
  padding: 0 10px;
  background-color: #172e41;
  width: 183px;
  text-align: center;
  display: inline-block; }

/**
* Confirmation page
*/
.page--confirmation .progressbar__text,
.page--retrieve .progressbar__text {
  opacity: 0; }

/**
* Payment, confirmation pages
*/
.page--payment .progressbar__item a,
.page--confirmation .progressbar__item a,
.page--retrieve .progressbar__item a {
  pointer-events: none; }

.page--confirmation .progressbar__item--logo a,
.page--retrieve .progressbar__item--logo a {
  pointer-events: all; }

/* Media queries
==================== */
@media (max-width: 865px) {
  .progressbar__text {
    display: none; }
  .progressbar__items {
    padding-top: 0;
    margin-bottom: 5px; }
  .progressbar__mobile-title {
    display: block;
    text-transform: uppercase;
    margin-top: -13px;
    position: relative;
    z-index: 2; }
  .progressbar__item {
    -webkit-flex-basis: initial;
        -ms-flex-preferred-size: initial;
            flex-basis: initial; } }

@media (max-width: 765px) {
  .progressbar__item--logo .progressbar__line {
    max-width: 200px; } }

@media (max-width: 678px) {
  .progressbar__item--logo .progressbar__line {
    max-width: 165px; } }

/* Animations
==================== */
@-webkit-keyframes activateDisc {
  0% {
    width: 8px;
    height: 8px;
    margin-top: 0;
    background-color: #aa6d51; }
  100% {
    width: 15px;
    height: 15px;
    margin-top: -3.5px;
    background-color: #aa6d51; } }
@keyframes activateDisc {
  0% {
    width: 8px;
    height: 8px;
    margin-top: 0;
    background-color: #aa6d51; }
  100% {
    width: 15px;
    height: 15px;
    margin-top: -3.5px;
    background-color: #aa6d51; } }

@-webkit-keyframes activateDiscText {
  0% {
    color: #888888;
    bottom: -3px; }
  100% {
    color: #FFFFFF;
    bottom: -6.5px; } }

@keyframes activateDiscText {
  0% {
    color: #888888;
    bottom: -3px; }
  100% {
    color: #FFFFFF;
    bottom: -6.5px; } }

/**
 * Name: Popup
 *
 * Overlay shown giving extra info
 */
/* Variables
==================== */
/* Elements
==================== */
.popup {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 10;
  -webkit-animation: fadeIn 0.2s forwards;
          animation: fadeIn 0.2s forwards;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: rgba(128, 128, 128, 0.5);
  height: 100%;
  overflow: auto; }

.popup__header {
  text-align: left;
  color: #aa6d51;
  font-size: 2rem; }

.popup__sub-header {
  font-size: 1.4rem;
  margin: 1.5em 0 0.75em;
  text-align: left; }

.popup__close {
  position: absolute;
  top: 0;
  right: 0;
  width: 25px;
  height: 25px;
  color: transparent;
  font-size: 0;
  padding: 1.5rem; }
  .popup__close:before {
    content: '';
    position: absolute;
    width: 25px;
    height: 25px;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("../img/icons/svg/cross.svg");
    top: calc(50% - 12.5px);
    right: calc(50% - 12.5px);
    cursor: pointer; }

.popup__inner {
  position: relative;
  width: 1000px;
  max-width: 100%;
  background-color: white;
  padding: 1.5rem;
  margin: 1.5rem;
  padding-top: 25px; }

.popup__content {
  margin-left: auto;
  margin-right: auto;
  max-width: 35rem;
  margin-bottom: 4.5rem; }

/* Modifiers
==================== */
.popup--full .popup__inner {
  margin: 0;
  width: 100%;
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
              -ms-grid-row-align: stretch;
          align-self: stretch;
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

.popup--full .popup__close {
  position: fixed;
  background-color: rgba(255, 255, 255, 0.8);
  z-index: 1; }

/**
 * Name: Inline Link
 *
 * Inline link styling
 */
.inline-link {
  color: #aa6d51;
  text-decoration: underline;
  background-color: transparent;
  border: none;
  padding: 0;
  transition: color .2s ease;
  cursor: pointer; }
  .inline-link:hover {
    color: #09355c; }

/*
	Modified from original SCSS files.

	Removed triangle mixins and variables files.

	Custom code found at bottom of this file.
*/
/* Variables
==================== */
/* Elements
==================== */
.react-datepicker {
  font-size: 0.8rem;
  background-color: #FFFFFF;
  color: #172e41;
  border: 1px solid #aa6d51;
  border-radius: 0;
  display: inline-block;
  max-width: 100%;
  position: relative;
  -webkit-transform: translateX(-1px) translateY(-17px) translateZ(0px);
          transform: translateX(-1px) translateY(-17px) translateZ(0px);
  width: 21.75rem;
  width: 348px;
  z-index: 2; }

.react-datepicker__triangle {
  display: none; }

.react-datepicker__tether-element-attached-bottom.react-datepicker__tether-element {
  margin-top: -20px; }

.react-datepicker__header {
  text-align: center;
  background-color: #FFFFFF;
  padding-top: 8px;
  position: relative;
  text-transform: uppercase; }

.react-datepicker__year-dropdown-container--select,
.react-datepicker__month-dropdown-container--select,
.react-datepicker__year-dropdown-container--scroll,
.react-datepicker__month-dropdown-container--scroll {
  display: inline-block;
  margin: 0 2px; }

.react-datepicker__current-month {
  margin-top: 0;
  color: #172e41;
  font-weight: bold;
  font-size: 0.8rem;
  margin: 1rem 1rem;
  padding-bottom: 1rem;
  border-bottom: solid 1px #172e41; }

.react-datepicker__navigation {
  line-height: 2.5rem;
  text-align: center;
  cursor: pointer;
  position: absolute;
  top: 22px;
  width: 0;
  border: 0.45rem solid transparent;
  z-index: 1; }
  .react-datepicker__navigation--previous {
    left: 10px;
    border-right-color: #ccc; }
    .react-datepicker__navigation--previous:hover {
      border-right-color: #b3b3b3; }
  .react-datepicker__navigation--next {
    right: 10px;
    border-left-color: #ccc; }
    .react-datepicker__navigation--next:hover {
      border-left-color: #b3b3b3; }
  .react-datepicker__navigation--years {
    position: relative;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto; }
    .react-datepicker__navigation--years-previous {
      top: 4px;
      border-top-color: #ccc; }
      .react-datepicker__navigation--years-previous:hover {
        border-top-color: #b3b3b3; }
    .react-datepicker__navigation--years-upcoming {
      top: -4px;
      border-bottom-color: #ccc; }
      .react-datepicker__navigation--years-upcoming:hover {
        border-bottom-color: #b3b3b3; }

.react-datepicker__month {
  margin: 1rem;
  text-align: center; }

.react-datepicker__week-number {
  color: #ccc;
  display: inline-block;
  width: 2.5rem;
  line-height: 2.5rem;
  text-align: center;
  margin: 0.166rem; }

.react-datepicker__day-names,
.react-datepicker__week {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.react-datepicker__day-name,
.react-datepicker__day {
  color: #172e41;
  display: inline-block;
  width: 2.5rem;
  line-height: 2.5rem;
  text-align: center;
  margin: 0.166rem;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }

.react-datepicker__day-name {
  line-height: inherit; }

.react-datepicker__day {
  background-color: #d9e3ed;
  border: solid 2px #d9e3ed;
  cursor: pointer; }
  .react-datepicker__day:hover {
    border-radius: 0;
    background-color: #FFFFFF; }
  .react-datepicker__day--today {
    font-weight: bold; }
  .react-datepicker__day--highlighted {
    border-radius: 0;
    background-color: #3dcc4a;
    color: #fff; }
    .react-datepicker__day--highlighted:hover {
      background-color: #32be3f; }
  .react-datepicker__day--selected, .react-datepicker__day--in-selecting-range, .react-datepicker__day--in-range {
    border-radius: 0;
    background-color: #aa6d51;
    border-color: #aa6d51;
    color: #fff; }
    .react-datepicker__day--selected:hover, .react-datepicker__day--in-selecting-range:hover, .react-datepicker__day--in-range:hover {
      background-color: #996249; }
  .react-datepicker__day--keyboard-selected {
    border-radius: 0;
    background-color: #bc8972;
    color: #fff; }
    .react-datepicker__day--keyboard-selected:hover {
      background-color: #996249; }
  .react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range) {
    background-color: rgba(170, 109, 81, 0.5); }
  .react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range) {
    background-color: #FFFFFF;
    color: #172e41; }
  .react-datepicker__day--disabled {
    cursor: default;
    color: #ccc;
    background-color: #FFFFFF; }
    .react-datepicker__day--disabled:hover {
      background-color: transparent; }

.react-datepicker__input-container {
  position: relative;
  display: inline-block; }

.react-datepicker__year-read-view,
.react-datepicker__month-read-view {
  border: 1px solid transparent;
  border-radius: 0; }
  .react-datepicker__year-read-view:hover,
  .react-datepicker__month-read-view:hover {
    cursor: pointer; }
    .react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,
    .react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,
    .react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,
    .react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow {
      border-top-color: #b3b3b3; }
  .react-datepicker__year-read-view--down-arrow,
  .react-datepicker__month-read-view--down-arrow {
    border-top-color: #ccc;
    float: right;
    margin-left: 20px;
    top: 8px;
    position: relative;
    border-width: 0.45rem; }

.react-datepicker__year-dropdown,
.react-datepicker__month-dropdown {
  background-color: #FFFFFF;
  position: absolute;
  width: 50%;
  left: 25%;
  top: 30px;
  text-align: center;
  border-radius: 0;
  border: 1px solid #aa6d51; }
  .react-datepicker__year-dropdown:hover,
  .react-datepicker__month-dropdown:hover {
    cursor: pointer; }
  .react-datepicker__year-dropdown--scrollable,
  .react-datepicker__month-dropdown--scrollable {
    height: 150px;
    overflow-y: scroll; }

.react-datepicker__year-option,
.react-datepicker__month-option {
  line-height: 20px;
  width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .react-datepicker__year-option:first-of-type,
  .react-datepicker__month-option:first-of-type {
    border-top-left-radius: 0;
    border-top-right-radius: 0; }
  .react-datepicker__year-option:last-of-type,
  .react-datepicker__month-option:last-of-type {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0; }
  .react-datepicker__year-option:hover,
  .react-datepicker__month-option:hover {
    background-color: #ccc; }
    .react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,
    .react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming {
      border-bottom-color: #b3b3b3; }
    .react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,
    .react-datepicker__month-option:hover .react-datepicker__navigation--years-previous {
      border-top-color: #b3b3b3; }
  .react-datepicker__year-option--selected,
  .react-datepicker__month-option--selected {
    position: absolute;
    left: 15px; }

.react-datepicker__close-icon {
  background-color: transparent;
  border: 0;
  cursor: pointer;
  display: inline-block;
  height: 0;
  outline: 0;
  padding: 0;
  vertical-align: middle; }
  .react-datepicker__close-icon::after {
    background-color: #aa6d51;
    border-radius: 50%;
    bottom: 0;
    box-sizing: border-box;
    color: #fff;
    content: "\00d7";
    cursor: pointer;
    font-size: 12px;
    height: 16px;
    width: 16px;
    line-height: 1;
    margin: -8px auto 0;
    padding: 2px;
    position: absolute;
    right: 7px;
    text-align: center;
    top: 50%; }

.react-datepicker__today-button {
  background: #FFFFFF;
  border-top: 1px solid #aa6d51;
  cursor: pointer;
  text-align: center;
  font-weight: bold;
  padding: 5px 0;
  clear: left; }

.react-datepicker__tether-element {
  z-index: 2147483647; }

.react-datepicker__portal {
  position: fixed;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.8);
  left: 0;
  top: 0;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  z-index: 2147483647; }
  .react-datepicker__portal .react-datepicker__day-name,
  .react-datepicker__portal .react-datepicker__day {
    width: 3rem;
    line-height: 3rem; }
  @media (max-width: 400px), (max-height: 550px) {
    .react-datepicker__portal .react-datepicker__day-name,
    .react-datepicker__portal .react-datepicker__day {
      width: 2rem;
      line-height: 2rem; } }
  .react-datepicker__portal .react-datepicker__current-month {
    font-size: 1.44rem; }
  .react-datepicker__portal .react-datepicker__navigation {
    border: 0.81rem solid transparent; }
  .react-datepicker__portal .react-datepicker__navigation--previous {
    border-right-color: #ccc; }
    .react-datepicker__portal .react-datepicker__navigation--previous:hover {
      border-right-color: #b3b3b3; }
  .react-datepicker__portal .react-datepicker__navigation--next {
    border-left-color: #ccc; }
    .react-datepicker__portal .react-datepicker__navigation--next:hover {
      border-left-color: #b3b3b3; }

/* Custom code
==================== */
.react-datepicker__input-container > input {
  opacity: 0;
  height: 0;
  width: 0;
  position: absolute;
  z-index: -1; }

.datepicker__show-holder {
  position: relative;
  z-index: 15;
  -webkit-animation: fadeIn 0.2s forwards;
          animation: fadeIn 0.2s forwards; }

.datepicker__background {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.4); }

.datepicker__mobile-elems {
  display: none; }

.datepicker__close {
  text-align: right;
  direction: rtl; }

.datepicker__close-button {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 3rem;
  height: 3rem; }

.datepicker__mobile-header {
  font-family: "BellMTStd-Regular", serif;
  font-weight: 100; }

.datepicker__mobile-type {
  display: block;
  color: #aa6d51;
  font-size: 1.3em; }

.react-datepicker__day--disabled {
  border-color: #e6e6e6; }

.react-datepicker__navigation {
  border: none;
  height: 29px;
  width: 20px; }
  .react-datepicker__navigation:after {
    content: '';
    position: absolute;
    width: 25px;
    height: 25px;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("../img/icons/svg/chevron.svg");
    top: 0;
    right: 0;
    background-size: contain;
    -webkit-animation: fadeIn 0.2s forwards;
            animation: fadeIn 0.2s forwards; }
  .react-datepicker__navigation--previous {
    -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg); }
  .react-datepicker__navigation--next {
    -webkit-transform: rotate(-90deg);
        -ms-transform: rotate(-90deg);
            transform: rotate(-90deg); }
    .react-datepicker__navigation--next:after {
      left: -1px; }

/* Media queries
==================== */
@media (max-width: 678px) {
  .react-datepicker {
    border: none;
    -webkit-transform: initial;
        -ms-transform: initial;
            transform: initial;
    margin-left: auto;
    margin-right: auto;
    display: block; }
  .datepicker__show-holder {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: white;
    padding: 1.5rem; }
  .datepicker__mobile-elems {
    display: block;
    position: relative;
    z-index: 15;
    font-size: 1rem; }
  .datepicker__background {
    display: none; }
  .react-datepicker__tether-element {
    position: fixed !important;
    -webkit-transform: initial !important;
        -ms-transform: initial !important;
            transform: initial !important;
    width: 100%;
    background-color: white;
    margin-top: 8rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; } }

/**
 * Name: Calendar
 *
 * Controls layout for improved calendar
 */
/* Variables
==================== */
/* Mixins
==================== */
/* Holder
==================== */
.calendar {
  margin-bottom: 10px; }

/* Calendar grid
==================== */
.calendar__grid {
  margin: 0 -2px;
  position: relative; }

/* Calendar controls
==================== */
.calendar__controls {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  padding: 20px 0 20px 0; }

.calendar__control {
  cursor: pointer;
  color: blue;
  font-weight: bold;
  font-size: 0.7rem;
  text-decoration: underline;
  text-transform: uppercase;
  color: #aa6d51; }
  .calendar__control:hover {
    color: #996249; }

.calendar__date-preview-text {
  margin: 0;
  text-transform: uppercase;
  font-size: 0.7rem;
  color: #09355c; }

/* Week holder
==================== */
.calendar__week {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%; }
  .calendar__week:first-child {
    border-top: none; }

/* Day name label
==================== */
.calendar__day-name {
  width: calc(100%/7);
  text-align: center;
  font-size: 0.9rem;
  line-height: 1.75rem;
  color: #ccc;
  font-weight: bold;
  text-transform: uppercase; }

/* Day holder
==================== */
.calendar__day {
  width: calc(100%/7);
  padding: 0.35rem;
  cursor: pointer; }

.calendar__date {
  text-transform: uppercase;
  color: #ccc; }

.calendar__price {
  margin-top: 0.4rem;
  color: #aa6d51;
  font-size: 0.7rem;
  font-weight: 600;
  width: 100%; }

.calendar__date-checkout-text {
  position: absolute;
  left: 0;
  right: 0;
  top: -100px;
  opacity: 0;
  transition: top .4s ease, opacity .4s ease;
  text-align: center;
  text-transform: uppercase; }

/* Day data holder (inner)
==================== */
.calendar__day-data {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  text-align: center;
  padding: 0.5rem;
  height: 4.1rem;
  font-size: 0.65em;
  border: none;
  background: #ffffff;
  position: relative;
  border: 1px solid #172e41;
  overflow: hidden; }
  .calendar__day-data:hover {
    background: #aa6d51; }
    .calendar__day-data:hover .calendar__date,
    .calendar__day-data:hover .calendar__price {
      color: #ffffff; }
  .calendar__day.selected .calendar__day-data,
  .calendar__day.selected .calendar__day-data:hover {
    background: #aa6d51;
    border: 1px solid #aa6d51;
    color: #ffffff; }
    .calendar__day.selected .calendar__day-data .calendar__date,
    .calendar__day.selected .calendar__day-data .calendar__price,
    .calendar__day.selected .calendar__day-data:hover .calendar__date,
    .calendar__day.selected .calendar__day-data:hover .calendar__price {
      color: #ffffff; }
  .calendar__day-data.disabled, .calendar__day-data.disabled:hover,
  .inrange .calendar__day-data.disabled,
  .inrange .calendar__day-data.disabled:hover {
    background: #F1F1F1;
    cursor: initial;
    pointer-events: none;
    border: 1px solid #F1F1F1; }
    .calendar__day-data.disabled .calendar__date, .calendar__day-data.disabled:hover .calendar__date,
    .inrange .calendar__day-data.disabled .calendar__date,
    .inrange .calendar__day-data.disabled:hover .calendar__date {
      color: #ccc; }
    .calendar__day-data.disabled .calendar__price:after, .calendar__day-data.disabled:hover .calendar__price:after,
    .inrange .calendar__day-data.disabled .calendar__price:after,
    .inrange .calendar__day-data.disabled:hover .calendar__price:after {
      content: '\00a0'; }
    .calendar__day-data.disabled:before, .calendar__day-data.disabled:after, .calendar__day-data.disabled:hover:before, .calendar__day-data.disabled:hover:after,
    .inrange .calendar__day-data.disabled:before,
    .inrange .calendar__day-data.disabled:after,
    .inrange .calendar__day-data.disabled:hover:before,
    .inrange .calendar__day-data.disabled:hover:after {
      content: none; }
  .calendar__day-data.lowest-rate {
    background-color: blue; }
  .calendar__day-data .calendar__date,
  .calendar__day-data .calendar__price {
    position: relative;
    top: 0;
    opacity: 1;
    visibility: visible;
    transition: top .4s ease, opacity .4s ease, visibility .4s ease; }

/* Loading overlay
==================== */
.calendar__loading {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  background-color: rgba(255, 0, 0, 0.5); }

/* Calendar legend
==================== */
.calendar__legend {
  padding: 0 1.5rem;
  margin-bottom: 30px; }

.calendar__legend-blurb {
  color: #09355c;
  font-size: 0.9rem;
  font-weight: bold;
  margin-bottom: 15px; }

.calendar__legend-inner {
  width: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 0 0 0.75rem 0;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .calendar__legend-inner .calendar__day-data {
    text-transform: uppercase;
    height: auto;
    text-align: center;
    padding: 0.5rem 2rem; }
  .calendar__legend-inner .calendar__day-data:hover {
    background-color: initial; }
  .calendar__legend-inner .calendar__day:first-of-type {
    padding-left: 0; }
  .calendar__legend-inner .calendar__day {
    width: auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-right: 0.375rem; }
  .calendar__legend-inner .calendar__day.selected .calendar__day-data:after {
    content: none; }

/* Modifiers
==================== */
.calendar__week--header {
  margin-bottom: 10px; }
  .calendar__week--header .calendar__day-name {
    color: #09355c; }

.calendar__price--disabled {
  display: none; }

.calendar__day--inrange .calendar__day-data {
  background: #aa6d51;
  border: 1px solid #aa6d51; }
  .calendar__day--inrange .calendar__day-data .calendar__date,
  .calendar__day--inrange .calendar__day-data .calendar__price {
    color: #ffffff; }

.calendar__control--prev {
  margin-left: auto;
  margin-right: 20px; }

.calendar--checkout-text-visible .calendar__date-checkout-text {
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  opacity: 1; }

.calendar--checkout-text-visible .calendar__day-data .calendar__date {
  top: 100px;
  opacity: 0;
  visibility: hidden; }

.calendar--checkout-text-visible .calendar__day-data .calendar__price {
  top: 100px;
  opacity: 0;
  visibility: hidden; }

/* Media queries
==================== */
@media (max-width: 865px) {
  .calendar__day {
    padding: 0.25rem; }
  .calendar__day-data {
    padding: 0.25rem; } }

@media (max-width: 678px) {
  .calendar__day {
    padding: 0.125rem;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; } }

@media (min-width: 678px) {
  .calendar__day-data {
    text-align: left;
    font-size: 0.8em; }
  .calendar__grid {
    margin: 0 -4px; }
  .calendar__price {
    font-size: 0.9rem; }
  .calendar__legend-inner .calendar__day-data {
    padding: 0.5rem 2rem; }
  .calendar__legend-blurb {
    margin-bottom: 35px; } }

@media (min-width: 865px) {
  .calendar__legend {
    padding: 0;
    margin-bottom: 0; }
  .calendar__legend-blurb {
    font-size: 0.8rem;
    padding-left: 0.35rem;
    margin-bottom: 0.375rem; }
  .calendar__price {
    font-size: 21px;
    font-weight: 400; }
  .calendar__controls {
    padding: 20px 0 40px 0; }
  .calendar-day__data {
    text-align: left; }
  .calendar__day-data {
    font-size: 0.75em; }
  .calendar__control--prev {
    margin-right: 40px; }
  /* Media query Modifiers
  ==================== */
  .calendar__week--header {
    margin-bottom: 0; } }

/**
 * Name: Availability calendar
 *
 * Controls layout for Availability calendar implementation
 */
/* Variables
==================== */
/* Elements
==================== */
.availability-calendar {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  min-height: calc(100vh - 90px);
  background-color: white; }

.availability-calendar--standalone {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
  padding: 0;
  margin: 0; }

.availability-calendar--error,
.availability-calendar--loading .calendar {
  position: relative; }
  .availability-calendar--error:after,
  .availability-calendar--loading .calendar:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.5); }

.availability-calendar__error {
  -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
  text-align: center;
  overflow: hidden; }

.availability-calendar__error-text {
  background-color: red;
  display: block;
  font-size: 1.25rem;
  color: white;
  padding: 0.75rem;
  position: absolute; }

.availability-calendar__error-text:empty {
  padding: 0; }

.availability-calendar__calendar {
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding: 0 1.5rem; }

.availability-calendar__header {
  text-align: center;
  font-size: 2rem;
  text-transform: uppercase;
  margin: 1.5rem; }

.availability-calendar__sub-header {
  text-align: center;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 1.75rem; }

.availability-calendar__main {
  padding-top: 0;
  width: 85%;
  max-width: 60rem;
  margin: 0 5%;
  -webkit-flex-shrink: 1;
      -ms-flex-negative: 1;
          flex-shrink: 1;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  padding-top: 60px; }

.availability-calendar__sidebar {
  -webkit-flex-basis: auto;
      -ms-flex-preferred-size: auto;
          flex-basis: auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: left;
  position: relative;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  background-color: #eeeeee;
  z-index: 1;
  position: fixed;
  top: 90px;
  left: 0;
  right: 0; }
  .availability-calendar__sidebar .button {
    margin-top: 1.5rem;
    -webkit-animation: fadeIn 0.2s forwards;
            animation: fadeIn 0.2s forwards;
    display: block; }

.availability-calendar__sidebar-title {
  font-family: "BellMTStd-Regular", serif;
  font-weight: 400;
  font-size: 32px;
  text-transform: uppercase;
  margin: 20px 0 20px 0;
  display: none; }

.availability-calendar__sidebar-edit {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  padding: 0 1.5rem;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 60px; }

.availability-calendar__sidebar-edit-title {
  color: #666666;
  padding: 0 10px 0 0; }

.availability-calendar__sidebar-link {
  color: #aa6d51;
  margin-left: auto; }

.availability-calendar__dates,
.availability-calendar__config {
  padding: 1.5rem; }

.availability-calendar__dates {
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: none; }

.availability-calendar__config {
  background-color: #e6e6e6; }

.availability-calendar__sidebar-row {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  text-transform: uppercase;
  font-size: 0.9rem;
  margin: 0 auto;
  border-bottom: 1px solid #cccccc;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding: 1.5rem 0; }
  .availability-calendar__sidebar-row--price {
    margin-top: 0.75rem;
    font-weight: bold; }

.availability-calendar__sidebar-row:first-of-type {
  border-top: 1px solid #cccccc; }

.availability-calendar__data-row--dates {
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.availability-calendar__sidebar-row--price {
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.availability-calendar__sidebar-row-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-weight: bold;
  width: 100%;
  margin-bottom: 0.75rem; }

.availability-calendar__sidebar-row-room-name {
  color: #aa6d51;
  font-size: 1.2rem;
  font-family: "BellMTStd-Regular", serif;
  font-weight: 400;
  text-transform: none; }

.availability-calendar__date {
  font-weight: bold; }

.availability-calendar__flash-container {
  text-align: center;
  height: 5.75rem;
  overflow: hidden;
  position: relative;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.availability-calendar__flash {
  background-color: #aa6d51;
  padding: 1.5rem 0.5rem 1rem 0.5rem;
  display: inline-block;
  margin: 0 auto;
  height: 1rem;
  position: absolute;
  -webkit-transform: translateY(calc(-100% - 1.75rem)) translateX(-50%);
      -ms-transform: translateY(calc(-100% - 1.75rem)) translateX(-50%);
          transform: translateY(calc(-100% - 1.75rem)) translateX(-50%);
  width: 100%; }
  .availability-calendar__flash:after {
    content: "";
    position: absolute;
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 1.75rem 50vw 0 50vw;
    border-color: #aa6d51 transparent transparent transparent;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: -1.75rem;
    bottom: calc(-1.75rem + 0.05rem); }
  .availability-calendar--loading .availability-calendar__flash,
  .availability-calendar--error .availability-calendar__flash {
    display: none; }

.availability-calendar__flash-text {
  font-weight: 400;
  font-size: 0.85rem;
  text-transform: uppercase;
  color: #ffffff; }

.isCheckIn .availability-calendar__flash--checkin {
  -webkit-animation: flashSlideDown 0.5s forwards;
          animation: flashSlideDown 0.5s forwards; }

.isCheckOut .availability-calendar__flash--checkout {
  -webkit-animation: flashSlideDown 0.5s 0.25s forwards;
          animation: flashSlideDown 0.5s 0.25s forwards; }

.bothSelected .availability-calendar__flash--complete {
  -webkit-animation: flashSlideDown 0.5s 0.25s forwards;
          animation: flashSlideDown 0.5s 0.25s forwards; }

.availability-calendar__mini-controls {
  text-align: center; }

.availability-calendar__title-panel {
  text-align: center;
  margin: 0 0 20px 0;
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  .availability-calendar__title-panel:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 50px;
    width: 100%;
    top: -50px;
    background-color: #aa6d51; }

.availability-calendar__main-title {
  font-weight: 400;
  text-transform: uppercase;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  margin: 15px 0 15px 0;
  font-size: 2rem;
  font-family: "BellMTStd-Regular", serif; }

.availability-calendar__sub-title {
  font-size: 0.8rem;
  font-weight: 600;
  text-align: center; }
  .availability-calendar__sub-title span {
    display: block; }

.availability-calendar__title-panel-body {
  margin: 0;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  font-size: 1rem;
  font-weight: bold; }

.availability-calendar__promo-dropdown {
  margin-top: 30px;
  text-align: center;
  padding: 0 1.5rem; }

.availability-calendar__promo-toggle {
  font-size: 1rem;
  display: block;
  width: 220px;
  margin: 0 auto; }

.availability-calendar__promo-title {
  color: #aa6d51;
  font-size: 2rem;
  font-family: "BellMTStd-Regular", serif;
  margin-top: 50px; }

.availability-calendar__promo-paragraph {
  font-size: 0.8rem;
  font-weight: 600; }

/* Mobile footer
==================== */
.availability-calendar__mobile-footer {
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3;
  background-color: #eeeeee;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  padding: 1rem 1.5rem;
  opacity: 0; }

.availability-calendar__mobile-footer--sticky {
  -webkit-animation: mobileFooterSlideUp 0.2s;
          animation: mobileFooterSlideUp 0.2s;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 1; }

.availability-calendar__mobile-footer-total {
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #666666; }

.availability-calendar__mobile-footer-button {
  margin-left: auto; }
  .availability-calendar__mobile-footer-button .button--full {
    padding: 10px 30px; }

.availability-calendar__mobile-footer-total-price {
  font-size: 1.6rem;
  color: #aa6d51; }

/* Sidebar search form
==================== */
.availability-calendar__search-form {
  padding: 0 2rem; }
  .availability-calendar__search-form .section__sub-header {
    text-align: center; }

.availability-calendar__mobile-main-title {
  font-size: 2rem;
  text-transform: uppercase;
  text-align: center;
  padding: 0 28px; }

/* Modifiers
==================== */
.availability-calendar--hidden-on-mobile {
  display: none; }

.availability-calendar__sidebar--hidden {
  display: none; }

/* Animations
==================== */
@-webkit-keyframes flashSlideDown {
  0% {
    -webkit-transform: translateY(calc(-100% - 1.75rem)) translateX(-50%);
            transform: translateY(calc(-100% - 1.75rem)) translateX(-50%); }
  100% {
    -webkit-transform: translateY(0) translateX(-50%);
            transform: translateY(0) translateX(-50%); } }
@keyframes flashSlideDown {
  0% {
    -webkit-transform: translateY(calc(-100% - 1.75rem)) translateX(-50%);
            transform: translateY(calc(-100% - 1.75rem)) translateX(-50%); }
  100% {
    -webkit-transform: translateY(0) translateX(-50%);
            transform: translateY(0) translateX(-50%); } }

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

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

/* Media queries
==================== */
@media (max-width: 1280px) {
  .availability-calendar__main {
    margin: 0 0;
    width: 100%; } }

@media (min-width: 678px) {
  .availability-calendar__mobile-footer-button .button--full {
    padding: 15px 50px; } }

@media (min-width: 865px) {
  .availability-calendar--hidden-on-mobile {
    display: inline; }
  .availability-calendar {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .availability-calendar__flash-container {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .availability-calendar__main {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    top: 0;
    padding: 0 1.5rem; }
  .availability-calendar__main-title {
    font-size: 32px;
    margin: 20px 0 10px 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .availability-calendar__sidebar {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    width: 100%;
    -webkit-flex-basis: 35rem;
        -ms-flex-preferred-size: 35rem;
            flex-basis: 35rem;
    max-width: 450px;
    background-color: transparent;
    text-align: center;
    padding-top: 30px;
    position: relative;
    top: 0; }
    .availability-calendar__sidebar:before {
      position: absolute;
      left: 0px;
      top: 30px;
      content: "";
      height: 95%;
      width: 2px;
      background-color: #eeeeee; }
  .availability-calendar__sidebar-title {
    display: block; }
  .availability-calendar__sidebar-link {
    margin: 0 auto; }
  .availability-calendar__dates {
    display: block; }
  .availability-calendar__sidebar-edit {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    min-height: 0; }
  .availability-calendar__sidebar-edit-title {
    color: #09355c;
    padding: 0 30px;
    margin-bottom: 30px; }
  .availability-calendar__title-panel {
    margin: 30px 0 15px 0; }
    .availability-calendar__title-panel:before {
      display: none; }
  .availability-calendar__title-panel-body {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    margin: 0 0 20px 0;
    font-weight: 500;
    font-size: 1.3rem; }
  .availability-calendar__calendar {
    padding: 0;
    border-top: 2px solid #eeeeee; }
  .availability-calendar__flash {
    padding: 1rem 0.5rem;
    width: 20rem; }
    .availability-calendar__flash:after {
      border-width: 1.75rem 10.59rem 0 10.59rem; }
  .availability-calendar__mobile-footer {
    display: none; }
  .availability-calendar__search-form {
    padding: 60px 0 0 0; }
  .availability-calendar__mobile-main-title {
    display: none; }
  .availability-calendar__dates,
  .availability-calendar__config {
    padding: 2rem; } }

@media (min-width: 1280px) {
  .availability-calendar__main {
    padding: 0; } }

/**
 * Name: Glen Accordion
 *
 * Custom styles for the component created using npm package react-accessible-accordion
 * prefix the accordion class with "glen-" to prevent any class clashes
 */
.accordion__body {
  height: auto;
  max-height: 9999px;
  overflow: hidden;
  transition: opacity 0.2s ease-in-out, max-height 0.2s 0.2s cubic-bezier(0.97, 0.02, 0.48, 0.99), padding 0.1s 0.2s; }

.accordion__body--hidden {
  opacity: 0;
  max-height: 0px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJhcHAuc2NzcyIsImJhc2UvX2ZvbnRzLnNjc3MiLCJ0aGlyZC1wYXJ0eS9fbm9ybWFsaXplLnNjc3MiLCJiYXNlL192YXJpYWJsZXMuc2NzcyIsInRoZW1lcy9fZ2xlbmVhZ2xlcy5zY3NzIiwiYmFzZS9faHRtbC5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiY29tcG9uZW50cy9wYWdlL2dyaWQuc2NzcyIsImNvbXBvbmVudHMvcGFnZS9zZWN0aW9ucy5zY3NzIiwiY29tcG9uZW50cy9wYWdlL2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9zaGFyZWQvZm9ybXMvaW5wdXQuc2NzcyIsImNvbXBvbmVudHMvc2hhcmVkL2Zvcm1zL2Zvcm0uc2NzcyIsImNvbXBvbmVudHMvc2hhcmVkL2Zvcm1zL3BsYWNlbmFtZS1sb29rdXAuc2NzcyIsImNvbXBvbmVudHMvc2hhcmVkL2RyYXdlci9kcmF3ZXIuc2NzcyIsImNvbXBvbmVudHMvcm9vbS9yb29tUGFnZS5zY3NzIiwiY29tcG9uZW50cy9yb29tL3Jvb21JbmZvLnNjc3MiLCJjb21wb25lbnRzL3Jvb20vcm9vbUluZm9HYWxsZXJ5LnNjc3MiLCJjb21wb25lbnRzL3Jvb20vc3VtbWFyeUJhci5zY3NzIiwiY29tcG9uZW50cy9yb29tL211bHRpcm9vbWJhci5zY3NzIiwiY29tcG9uZW50cy9jb25maXJtYXRpb24vY29uZmlybWF0aW9uUGFnZS5zY3NzIiwiY29tcG9uZW50cy9kZXRhaWxzL2RldGFpbHNQYWdlLnNjc3MiLCJjb21wb25lbnRzL3BheW1lbnQvcGF5bWVudFBhZ2Uuc2NzcyIsImNvbXBvbmVudHMvcGF5bWVudC9sYW5kc2NhcGVOb3RlLnNjc3MiLCJjb21wb25lbnRzL3NoYXJlZC9idXR0b25zL2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvc2hhcmVkL2Jvb2tpbmcvYmFza2V0LnNjc3MiLCJjb21wb25lbnRzL3NoYXJlZC9sb2FkZXIvbG9hZGVyLnNjc3MiLCJjb21wb25lbnRzL3NoYXJlZC9zdW1tYXJ5Ym94L3N1bW1hcnlib3guc2NzcyIsImNvbXBvbmVudHMvc2hhcmVkL2FsZXJ0cy9tZXNzYWdlLnNjc3MiLCJjb21wb25lbnRzL3NoYXJlZC9zaGFyZWQuc2NzcyIsImNvbXBvbmVudHMvc2hhcmVkL3BhZ2VzL3BhZ2Uuc2NzcyIsImNvbXBvbmVudHMvc2hhcmVkL3Byb2dyZXNzYmFyL3Byb2dyZXNzYmFyLnNjc3MiLCJjb21wb25lbnRzL3NoYXJlZC9hbGVydHMvcG9wdXAuc2NzcyIsImNvbXBvbmVudHMvc2hhcmVkL2lubGluZS1saW5rL19pbmxpbmUtbGluay5zY3NzIiwiY29tcG9uZW50cy9yZWFjdC1kYXRlcGlja2VyL2RhdGVwaWNrZXIuc2NzcyIsImNvbXBvbmVudHMvY2FsZW5kYXIvY2FsZW5kYXIuc2NzcyIsImNvbXBvbmVudHMvY2FsZW5kYXIvYXZhaWxhYmlsaXR5LWNhbGVuZGFyLnNjc3MiLCJjb21wb25lbnRzL2dsZW4tYWNjb3JkaW9uL2dsZW4tYWNjb3JkaW9uLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCOzs7O3lEQUl5RDtBQUd4RDs7eUNBRXdDO0FDVHpDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBa0NFO0FBR0YsaUVBQWlFO0FBSWpFO0VBQVksaUNBQWdDO0VBQUMsb0NBQW1DO0VBQUMsNE5BQXdOLEVBQUE7O0FBR3pTO0VBQVksbUNBQWtDO0VBQUMsb0NBQW1DO0VBQUMsNE5BQXdOLEVBQUE7O0FBRzNTO0VBQVksdUNBQXNDO0VBQUMsb0NBQW1DO0VBQUMsNE5BQXdOLEVBQUE7O0FBRy9TO0VBQVksaUNBQWdDO0VBQUMsb0NBQW1DO0VBQUMsNE5BQXdOLEVBQUE7O0FDbER6Uyw0RUFBNEU7QUFFNUU7OztHQUdHO0FBRUg7RUFDRSx3QkFBdUI7RUFBRSxPQUFPO0VBQ2hDLDJCQUEwQjtFQUFFLE9BQU87RUFDbkMsK0JBQThCO0VBQUUsT0FBTyxFQUN4Qzs7QUFFRDs7R0FFRztBQUVIO0VBQ0UsVUFBUyxFQUNWOztBQUVEO2dGQUNnRjtBQUVoRjs7OztHQUlHO0FBRUg7Ozs7Ozs7Ozs7OztFQVdVLE9BQU87RUFDZixlQUFjLEVBQ2Y7O0FBRUQ7O0dBRUc7QUFFSDs7OztFQUlFLHNCQUFxQixFQUN0Qjs7QUFFRDs7R0FFRztBQUVIO0VBQ0UsY0FBYTtFQUNiLFVBQVMsRUFDVjs7QUFFRDs7R0FFRztBQUVIO0VBQ0UseUJBQXdCLEVBQ3pCOztBQUVEOzs7R0FHRztBQUVIOztFQUVFLGNBQWEsRUFDZDs7QUFFRDtnRkFDZ0Y7QUFFaEY7OztHQUdHO0FBRUg7RUFDRSw4QkFBNkI7RUFBRSxPQUFPO0VBQ3RDLHNDQUFxQztFQUFFLE9BQU8sRUFDL0M7O0FBRUQ7OztHQUdHO0FBRUg7O0VBRUUsaUJBQWdCLEVBQ2pCOztBQUVEO2dGQUNnRjtBQUVoRjs7O0dBR0c7QUFFSDtFQUNFLG9CQUFtQjtFQUFFLE9BQU87RUFDNUIsMkJBQTBCO0VBQUUsT0FBTztFQUNuQyxrQ0FBaUM7RUFBRSxPQUFPLEVBQzNDOztBQUVEOztHQUVHO0FBRUg7O0VBRUUscUJBQW9CLEVBQ3JCOztBQUVEOztHQUVHO0FBRUg7O0VBRUUsb0JBQW1CLEVBQ3BCOztBQUVEOztHQUVHO0FBRUg7RUFDRSxtQkFBa0IsRUFDbkI7O0FBRUQ7OztHQUdHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsaUJBQWdCLEVBQ2pCOztBQUVEOztHQUVHO0FBRUg7RUFDRSx1QkFBc0I7RUFDdEIsWUFBVyxFQUNaOztBQUVEOztHQUVHO0FBRUg7RUFDRSxlQUFjLEVBQ2Y7O0FBRUQ7OztHQUdHO0FBRUg7O0VBRUUsZUFBYztFQUNkLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIseUJBQXdCLEVBQ3pCOztBQUVEO0VBQ0UsZ0JBQWUsRUFDaEI7O0FBRUQ7RUFDRSxZQUFXLEVBQ1o7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOztHQUVHO0FBRUg7RUFDRSxtQkFBa0IsRUFDbkI7O0FBRUQ7O0dBRUc7QUFFSDtFQUNFLGlCQUFnQixFQUNqQjs7QUFFRDtnRkFDZ0Y7QUFFaEY7OztHQUdHO0FBRUg7Ozs7RUFJRSxrQ0FBaUM7RUFBRSxPQUFPO0VBQzFDLGVBQWM7RUFBRSxPQUFPLEVBQ3hCOztBQUVEOztHQUVHO0FBRUg7RUFDRSxpQkFBZ0IsRUFDakI7O0FBRUQ7OztHQUdHO0FBRUg7RUFDRSx3QkFBdUI7RUFBRSxPQUFPO0VBQ2hDLFVBQVM7RUFBRSxPQUFPO0VBQ2xCLGtCQUFpQjtFQUFFLE9BQU8sRUFDM0I7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVIOzs7O0VBSUUsY0FBYTtFQUFFLE9BQU87RUFDdEIsVUFBUztFQUFFLE9BQU8sRUFDbkI7O0FBRUQ7O0dBRUc7QUFFSDtFQUNFLGtCQUFpQixFQUNsQjs7QUFFRDs7O0dBR0c7QUFFSDs7RUFDUSxPQUFPO0VBQ2Isa0JBQWlCLEVBQ2xCOztBQUVEOzs7R0FHRztBQUVIOztFQUNTLE9BQU87RUFDZCxxQkFBb0IsRUFDckI7O0FBRUQ7Ozs7R0FJRztBQUVIOzs7O0VBSUUsMkJBQTBCO0VBQUUsT0FBTyxFQUNwQzs7QUFFRDs7R0FFRztBQUVIOzs7O0VBSUUsbUJBQWtCO0VBQ2xCLFdBQVUsRUFDWDs7QUFFRDs7R0FFRztBQUVIOzs7O0VBSUUsK0JBQThCLEVBQy9COztBQUVEOztHQUVHO0FBRUg7RUFDRSwwQkFBeUI7RUFDekIsY0FBYTtFQUNiLCtCQUE4QixFQUMvQjs7QUFFRDs7Ozs7R0FLRztBQUVIO0VBQ0UsdUJBQXNCO0VBQUUsT0FBTztFQUMvQixlQUFjO0VBQUUsT0FBTztFQUN2QixlQUFjO0VBQUUsT0FBTztFQUN2QixnQkFBZTtFQUFFLE9BQU87RUFDeEIsV0FBVTtFQUFFLE9BQU87RUFDbkIsb0JBQW1CO0VBQUUsT0FBTyxFQUM3Qjs7QUFFRDs7R0FFRztBQUVIO0VBQ0UsZUFBYyxFQUNmOztBQUVEOzs7R0FHRztBSGtCSDs7RUdkRSx1QkFBc0I7RUFBRSxPQUFPO0VBQy9CLFdBQVU7RUFBRSxPQUFPLEVBQ3BCOztBQUVEOztHQUVHO0FIa0JIOztFR2RFLGFBQVksRUFDYjs7QUFFRDs7O0dBR0c7QUhnQkg7RUdiRSw4QkFBNkI7RUFBRSxPQUFPO0VBQ3RDLHFCQUFvQjtFQUFFLE9BQU8sRUFDOUI7O0FBRUQ7O0dBRUc7QUhnQkg7O0VHWkUseUJBQXdCLEVBQ3pCOztBQUVEOztHQUVHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsY0FBYSxFQUNkOztBQUVEOzs7R0FHRztBQUVIO0VBQ0UsMkJBQTBCO0VBQUUsT0FBTztFQUNuQyxjQUFhO0VBQUUsT0FBTyxFQUN2Qjs7QUNsYUQ7Ozs7R0FJRztBQUdIO3VCQUN1QjtBQUt2Qjt1QkFDdUI7QUFRdkI7dUJBQ3VCO0FBR3ZCO3VCQUN1QjtBQUN2QjtFQUNFO0lBQ0MsV0FBVSxFQUFBO0VBR1g7SUFDQyxXQUFVLEVBQUEsRUFBQTtBQU5iO0VBQ0U7SUFDQyxXQUFVLEVBQUE7RUFHWDtJQUNDLFdBQVUsRUFBQSxFQUFBOztBQUliO0VBQ0U7SUFDQyxXQUFVO0lBQ1YsY0FBYSxFQUFBO0VBR2Q7SUFDQyxXQUFVLEVBQUE7RUFFWDtJQUNDLFdBQVU7SUFDVixZQUFXLEVBQUEsRUFBQTs7QUFYZDtFQUNFO0lBQ0MsV0FBVTtJQUNWLGNBQWEsRUFBQTtFQUdkO0lBQ0MsV0FBVSxFQUFBO0VBRVg7SUFDQyxXQUFVO0lBQ1YsWUFBVyxFQUFBLEVBQUE7O0FDakRkOzs7O0dBSUc7QUFHSDt1QkFDdUI7QUFFdEIsbUJBQW1CO0FBTW5CLDRCQUE0QjtBQUk1QixrQkFBa0I7QUFJbkI7dUJBQ3VCO0FBcUJ2Qjt1QkFDdUI7QUFJdkI7dUJBQ3VCO0FBcUJ2Qjt1QkFDdUI7QUFDdEI7O0dBRUU7QUFJRjs7R0FFRTtBQVNGOztHQUVFO0FBSUY7O0dBRUU7QUFVRjs7R0FFRTtBQVlGOztHQUVFO0FBY0Y7O0dBRUU7QUFPRjs7R0FFRTtBQU9GOztHQUVFO0FBZUY7O0dBRUU7QUFTRjs7R0FFRTtBQUtGOztHQUVFO0FBSUY7O0dBRUU7QUFTRjs7R0FFRTtBQU9GOztHQUVFO0FBR0Y7O0dBRUU7QUNsT0g7Ozs7R0FJRztBQUdIO3VCQUN1QjtBQUN2Qjs7RUFFQyxVQUFTO0VBQ1QsV0FBVTtFQUdWLCtCQUEwQjtNQUExQiwyQkFBMEIsRUFDMUI7O0FBRUQ7RUFDQyxxQkFBb0IsRUFDcEI7O0FBR0Q7dUJBQ3VCO0FBQ3ZCO0VBQ0MsbUJBQWtCLEVBQ2xCOztBQUVEO0VBQ0M7SUFDQyxjQUFhLEVBQ2IsRUFBQTs7QUNoQ0Y7O0dBRUc7QUFFSDt1QkFDdUI7QUFhdkI7dUJBQ3VCO0FBQ3ZCOztFQUVDLG1ERklpRDtFRUhqRCxlRk5rQjtFRU9sQixnQkFicUI7RUFjckIsc0JGVzJCLEVFVjNCOztBQUVEO0VBQ0Msd0NGRndDLEVFR3hDOztBQUVEO3VCQUN1QjtBQUN2QjtFQUNDOztJQUVDLGdCQUFlLEVBQ2YsRUFBQTs7QU5wQkQ7O3lDQUV3QztBT3BCekM7Ozs7R0FJRztBQUVIO3VCQUN1QjtBQU92Qjt1QkFDdUI7QUFDdkI7RUFDQyxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYSxFQUNiOztBQUVEO0VBQ0MsaUJBWnNCO0VBYXRCLG9CQWJzQixFQWN0Qjs7QUFFRDtFQUNDLGtCQWpCc0I7RUFrQnRCLHFCQWxCc0IsRUFtQnRCOztBQUVEO0VBQ0MscUJBdEJzQixFQXVCdEI7O0FBRUQ7RUFDQyxlQUFjLEVBQ2Q7O0FBRUQ7RUFDQyx5QkFBZ0I7TUFBaEIsOEJBQWdCO1VBQWhCLGlCQUFnQjtFQUNoQixxQkFBWTtNQUFaLHFCQUFZO1VBQVosYUFBWTtFQUNaLHVCQUFjO01BQWQscUJBQWM7VUFBZCxlQUFjLEVBQ2Q7O0FBRUQ7RUFDQyx1Q0FBMkM7TUFBM0MsNENBQTJDO1VBQTNDLCtCQUEyQztFQUMzQyxxQkFBWTtNQUFaLHFCQUFZO1VBQVosYUFBWTtFQUNaLHVCQUFjO01BQWQscUJBQWM7VUFBZCxlQUFjLEVBQ2Q7O0FBRUQ7RUFDQyxxQkhId0IsRUdJeEI7O0FBRUQ7RUFDQyxvQkhQd0IsRUdReEI7O0FBRUQ7RUFDQyxpQkFqRHlCO0VBa0R6QixrQkhad0IsRUdheEI7O0FBR0Q7dUJBQ3VCO0FBQ3ZCO0VBQ0Msd0NBQStCO1VBQS9CLGdDQUErQixFQUMvQjs7QUFJRDt1QkFDdUI7QUFDdkI7RUFDQztJQUNDLGVBQWMsRUFDZDtFQUVEO0lBQ0MsaUJBckV3QjtJQXNFeEIsa0JBQWlCO0lBQ2pCLG1CQUFrQixFQUNsQjtFQUVEO0lBQ0MsZ0JBQWU7SUFDZixrQkh2Q3VCLEVHd0N2QjtFQUVEO0lBQ0MsZUFBYztJQUNkLGtCSDVDdUIsRUc2Q3ZCLEVBQUE7O0FDN0ZGOzs7O0dBSUc7QUFFSDt1QkFDdUI7QUF1QnZCO3VCQUN1QjtBQUN2QjtFQUNDLGVBZjBCO0VBZ0IxQix3Q0pQd0M7RUlReEMsbUJBQWtCO0VBQ2xCLGdCQWhCMkI7RUFpQjNCLGlCSlB1QjtFSVF2Qix3QkFBdUI7RUFDdkIsb0JKUitCLEVJYy9CO0VBYkQ7SUFVRSxlQUFjO0lBQ2Qsa0JBQWlCLEVBQ2pCOztBQUdGO0VBQ0Msa0NKQXdCLEVJQ3hCOztBQUVEO0VBQ0MsMEJKcEJtQztFSXFCbkMsa0JBaENnQztFQWlDaEMsaUJKcEIwQixFSXFCMUI7O0FBRUQ7RUFDQyxlSnBCeUI7RUlxQnpCLG9CQUFtQjtFQUNuQixrQkFBaUIsRUFDakI7O0FBRUQ7RUFDQywwQkFBeUI7RUFDekIsa0JBM0NrQyxFQTRDbEM7O0FBRUQ7RUFDQywwQkFBeUIsRUFDekI7O0FBR0Q7dUJBQ3VCO0FBQ3ZCO0VBQ0M7SUFDQyxpQkFBZ0I7SUFDaEIsb0JBQW1CLEVBQ25CO0VBRUQ7SUFDQyxvQ0psQ3VCLEVJbUN2QixFQUFBOztBQUdGO0VBRUM7SUFDQyxrQkFBaUIsRUFDakI7RUFFRDs7R0FFRTtFQUNGO0lBQ0MsMEJKdUh3QztJSXRIeEMsY0FBYTtJQUNiLGlCQUFnQjtJQUNoQixnQkFBZTtJQUVmLG1CQUFrQixFQWNsQjtJQXBCRDtNQVNFLFlBQVc7TUFDWCxtQkFBa0I7TUFDbEIsWUpuRHdCO01Jb0R4QixhSnBEd0I7TUlxRHhCLG1DQUFrQztNQUNsQyw2QkFBNEI7TUFDNUIseURBQWlDO01BQ2pDLHNCQUEwQztNQUMxQyx5QkFBd0I7TUFDeEIsU0FBUSxFQUNSO0VBR0Y7SUFFSSwwREFBaUMsRUFDbkMsRUFBQTs7QUN4SEg7Ozs7R0FJRztBQUVIO3VCQUN1QjtBQVN2Qjt1QkFDdUI7QUFDdkI7RUFDQyxpQ0FBNkMsRUFDN0M7O0FBR0Q7RUFDQyxnQkFBZTtFQUNmLFlBQVc7RUFFWCxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDRCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLGdDQUF1QjtNQUF2QixzQkFBdUI7VUFBdkIsd0JBQXVCO0VBRXZCLFlBQVc7RUFDWCxpQkFBZ0I7RUFDaEIsYUFwQm9CO0VBc0JwQixtQkFBa0I7RUFFbEIsMEJMMUJzQjtFSzJCdEIsaUNMM0JzQixFSzRCdEI7O0FDdkNEOzs7O0dBSUc7QUFHSDt1QkFDdUI7QUEyQnZCO3VCQUN1QjtBQUN2QjtFQUNDLFdBQVU7RUFDVixVQUFTO0VBQ1QsYUFBWTtFQUNaLHVCQUFzQjtFQUN0QiwwQk45Qm1CO0VNK0JuQixpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBQ2xCLGlCQUFnQixFQUNoQjs7QUFFRDtFQUNDLG9CQUFtQixFQUNuQjs7QUFFRDtFQUNDLHVCQUFzQixFQUN0Qjs7QUFHRDs7Ozs7Ozs7RUFTRSxpQkFBZ0I7RUFDaEIsZ0JBQWU7RUFDZixnQkFBZTtFQUNmLGNOMERtQjtFTXpEbkIsbUJBQStCO0VBQy9CLHVCQUFzQjtFQUN0QixZQUFXO0VBQ1gsYUFBWTtFQUNaLHdCQUF1QjtFQUN2QixlTjJEeUMsRU0xRHpDOztBQW5CRjtFQXNCRSxxQkFBc0MsRUFDdEM7O0FBSUY7RUFDQyxtQkFBa0I7RUFDbEIsZ0JBQWU7RUFDZixlQUFjO0VBQ2QsZUFBYztFQUNkLGNOc0NvQjtFTXJDcEIsc0JBQWtDO0VBQ2xDLHdCQUF1QjtFQUN2QixlTndDMkM7RU12QzNDLGlCQUFnQixFQUNoQjs7QUFFRDtFQUNDLFlBQVcsRUFDWDs7QUFFRDtFQUNDLFdBQVU7RUFDVixVQUFTO0VBQ1QsU0FBUTtFQUNSLGFBQVk7RUFDWixlQUFjO0VBQ2QsV0FBVSxFQUNWOztBQUVEO3VCQUN1QjtBQUN2QjtFQUNDLGFBQVk7RUFDWixvQkFBbUIsRUFtRW5CO0VBckVEO0lBS0UsZ0JBQWU7SUFDZixhQUFZLEVBQ1o7RUFQRjtJQVVFLHNCQUFxQjtJQUNyQix1QkFBc0I7SUFDdEIsb0JBQW1CLEVBMEJuQjtJQXRDRjtNQWVHLG1CQUFrQjtNQUNsQixXQUFVO01BQ1YsWUFBVyxFQUNYO0lBbEJIO01BcUJHLDBCTnRIaUI7TU11SGpCLHdDQUErQjtjQUEvQixnQ0FBK0IsRUFDL0I7SUF2Qkg7TUEwQkcsZU5MeUMsRU1NekM7SUEzQkg7TUE4QkcsYUFBWTtNQUNaLG1CQUFrQjtNQUNsQix3REFBMEM7TUFDMUMscUJBQW9CO01BQ3BCLDBCTm5JaUI7TU1xSWpCLHdDQUErQjtjQUEvQixnQ0FBK0IsRUFDL0I7RUFyQ0g7SUF5Q0UsZ0JBQWU7SUFDZixrQ0FBMkQ7SUFDM0QsZUFBYztJQUNkLG1CQUFrQjtJQUNsQixlTnhCMEM7SU15QjFDLGlCQUFnQixFQXNCaEI7SUFwRUY7TUFrREcsbUJBQWtCO01BQ2xCLFFBQU87TUFDUCxPQUFNO01BQ04sWUFBVztNQUNYLGVBQWM7TUFDZCxZTnJCa0I7TU1zQmxCLGFOdEJrQjtNTXVCbEIsMEJONUppQjtNTTZKakIsMEJBQXlCO01BQ3pCLDZCQUE0QjtNQUM1QixtQ0FBa0M7TUFDbEMsZ0JBQWU7TUFDZixpQkFBZ0IsRUFDaEI7SUEvREg7TUFrRUcsZU5uS2lCLEVNb0tqQjs7QUFJSDt1QkFDdUI7QUFDdkI7RUFDQyxtQkFBa0IsRUFxQ2xCO0VBdENEO0lBSUUsa0JBQWlCO0lBQ2pCLHlCQUFnQjtPQUFoQixzQkFBZ0I7WUFBaEIsaUJBQWdCLEVBS2hCO0lBVkY7TUFRRyxjQUFhLEVBQ2I7RUFUSDtJQWFFLG1CQUFrQjtJQUNsQixPQUFNO0lBQ04sUUFBTyxFQUNQO0VBaEJGO0lBbUJFLFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsb0JBOUsrQjtJQStLL0IscUJBL0srQjtJQWdML0IsbUNBQWtDO0lBQ2xDLDZCQUE0QjtJQUMxQixzREFBb0M7SUFFdEMsT0FBTTtJQUNOLFNBQVE7SUFFUixtQ050RnFDO0lNd0ZyQyxhQUFXO0lBQ1gsWUFBVztJQUNYLHNCQUFxQjtJQUNyQix3QkFBdUI7SUFDdkIsWUFBVyxFQUNYOztBQUlGO3VCQUN1QjtBQUN2QjtFQUNDLHNCTmxHb0MsRU02R3BDO0VBWkQ7SUFJRSxtQkFBa0I7SUFDbEIsT0FBTTtJQUNOLFNBQVE7SUFDUixnQkFBZTtJQUNmLGVOekdtQztJTTBHbkMsbUJBQWtCO0lBQ2xCLGFBQVksRUFDWjs7QUFHRjs7RUFFQyxzQk5yT21CLEVNc1BuQjtFQW5CRDs7SUFLRSxlTnhPa0IsRU15T2xCO0VBTkY7Ozs7Ozs7Ozs7Ozs7Ozs7SUFpQkUsZU5qUGlCLEVNa1BqQjs7QUFLRjt1QkFDdUI7QUFDdkI7RUFDQyxxQkFBOEI7RUFDOUIsMEJBQXlCLEVBQ3pCOztBQUVEO0VBRUUsMEJBQXlCLEVBQ3pCOztBQUdGO0VBQ0MsYUFBWTtFQUNaLG9CQUFtQixFQUtuQjtFQVBEO0lBS0UsK0JBQThCLEVBQzlCOztBQUlGO3VCQUN1QjtBQUN2QjtFQUNDLG1CQUFrQixFQWVsQjtFQWhCRDtJQUlFLFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsWU52T3dCO0lNd094QixhTnhPd0I7SU15T3hCLG1DQUFrQztJQUNsQyw2QkFBNEI7SUFDMUIsdURBQXFDO0lBQ3ZDLHNCQUF5QztJQUN6QywyQkFBK0Q7SUFDL0QsbUNOOUtxQztJTStLckMsZ0JBQWUsRUFDZjs7QUFNRjt1QkFDdUI7QUFDdkI7RUFDQztJQUNDLGdCQUFlLEVBQ2YsRUFBQTs7QUMzVEY7Ozs7R0FJRztBQUlIO3VCQUN1QjtBQUN2QjtFQUNFLHNCQUFxQixFQUN0Qjs7QUFFRDtFQUNFLG9CQUFpQyxFQUNsQzs7QUFFRDtFQUNFLGtCQUFpQjtFQUNqQixvQkFBbUI7RUFDbkIsc0JBQXFCLEVBT3RCO0VBVkQ7SUFPTSxlUFhjLEVPWWY7O0FBSUw7RUFDRSxtQkFBa0I7RUFDbEIsMEJBQXlCO0VBQ3pCLGtCQUFpQjtFQUNqQixZQUFXO0VBQ1gsb0JBQW1CLEVBQ3BCOztBQUVEO3VCQUN1QjtBQUV2QjtFQUVFO0lBQ0Usa0JBQWlCLEVBQ2xCLEVBQUE7O0FDN0NIOzs7R0FHRztBQUVIO3VCQUN1QjtBQUt2Qjt1QkFDdUI7QUFDdkI7RUFDQyxXQUFVO0VBQ1Ysc0JBQXFCLEVBQ3JCOztBQUVEO0VBQ0MsbUJBQWtCO0VBQ2xCLDBCQUE4QyxFQVM5QztFQVhEO0lBT0UsMEJSWGtCO0lRWWxCLGFBQVk7SUFDWixnQkFBZSxFQUNmOztBQUdGO3VCQUN1QjtBQUN2QjtFQUNDLHNCQUFrQztFQUNsQyxtQkFBa0I7RUFDbEIsZVJ0Qm1CO0VRdUJoQixlQUFjLEVBQ2pCOztBQ3BDRDtFQUNFLGdCQUFlO0VBQ2YsYUFBWTtFQUNaLHVCQUFzQjtFQUN0QixPQUFNO0VBQ04sVUFBUztFQUNULFlBQVc7RUFDWCxvQkFBb0I7RUFDcEIsaUNBQWdDO0VBQ2hDLGNBQWE7RUFDYixnQkFBZTtFQUNmLGlCQUFnQjtFQUNqQixrQ0FBaUMsRUFDakM7O0FBRUQ7RUFDRSxZQUFXLEVBQ1o7O0FBRUQ7RUFDRSxpQkFBZ0IsRUFDakI7O0FBRUQ7RUFDRSxpQkFBZ0IsRUFDakI7O0FBRUQ7RUFDRSxTQUFRLEVBQ1Q7O0FBRUQ7RUFDRSxPQUFNO0VBQ04sVUFBUztFQUNULFFBQU87RUFDUCxTQUFRO0VBQ1IsZ0JBQWU7RUFDZixxQ0FBK0I7RUFDL0IsV0FBVTtFQUNWLFlBQVc7RUFDWCxtQkFBa0I7RUFDbEIsZ0JBQWUsRUFDaEI7O0FBRUQ7RUFDRSxvQkFBbUI7RUFDbkIsV0FBVSxFQUNYOztBQUVEO0VBQ0UsV0FBVTtFQUNWLGNBQWE7RUFDYixtQkFBa0I7RUFDbEIsVUFBUztFQUNULGNBQWE7RUFDYixVQUFTO0VBQ1QsY0FBYTtFQUNiLGVBQWM7RUFDZCxXQUFVO0VBQ1Ysd0JBQXVCO0VBQ3ZCLHVDQUE4QjtFQUE5QiwrQkFBOEI7RUFBOUIsa0RBQThCO0VBQzlCLHlCQUF3QjtFQUN4QixnQkFBZSxFQVNoQjtFQXRCRDtJQWdCTSxhQUFZO0lBQ1osWUFBVztJQUNYLGNUMURpQjtJUzJEakIsZ0JUM0RpQjtJUzREakIsb0JBQW1CLEVBQ3RCOztBQUdIO0VBQ0UsVUFBUztFQUNULGVBQWMsRUFDZjs7QUFFRDtFQUNFO0lBQ0UsWUFBVyxFQUNaLEVBQUE7O0FBR0g7RUFFRTtJQUNFLDBCQUF5QjtJQUN6QiwwQkFBeUIsRUFDMUI7RUFFRDtJQUNFLFVBQVMsRUFDVixFQUFBOztBQy9GSDs7OztHQUlHO0FBRUg7dUJBQ3VCO0FBRXZCO3VCQUN1QjtBQUN2QjtFQUNDLG1CQUFrQixFQUtsQjtFQU5EO0lBSUUsbUJBQWtCLEVBQ2xCOztBQUdGO3VCQUN1QjtBQUN2QjtFQUNDLHFCQUFvQjtFQUNwQixnQkFBZSxFQUNmOztBQUVEO0VBQ0MsZUFBYyxFQUNkOztBQUdEO3VCQUN1QjtBQUN2QjtFQUNDO0lBQ0MsZ0JBQTZCLEVBTzdCO0lBUkQ7TUFJSyxpQkFBZ0I7TUFDbkIsa0JBQWlCO01BQ2pCLG1CQUFrQixFQUNsQixFQUFBOztBQUlIO0VBQ0M7SUFDQyxrQlZDdUIsRVVJdkI7SUFORDtNQUlFLGlCQUFnQixFQUNoQixFQUFBOztBQ25ESDs7OztHQUlHO0FBRUg7dUJBQ3VCO0FBd0J2Qjt1QkFDdUI7QUFDdkI7RUFDQyxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLHFCQUFvQjtFQUNwQixpQkFBZ0IsRUFDaEI7O0FBRUQ7RUFDQyw2QkFBb0I7TUFBcEIsa0NBQW9CO1VBQXBCLHFCQUFvQjtFQUNwQixnQkFBZ0IsRUFDaEI7O0FBRUQ7RUFDQyw2QkFBb0I7TUFBcEIsa0NBQW9CO1VBQXBCLHFCQUFvQjtFQUNwQixXQUFVLEVBQ1Y7O0FBRUQ7RUFDQyx3QkFBZTtNQUFmLDZCQUFlO1VBQWYsZ0JBQWU7RUFDZix1QkFBYztNQUFkLHFCQUFjO1VBQWQsZUFBYyxFQUNkOztBQUVEO0VBQ0Msc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYix1Q0FBOEI7TUFBOUIsdUJBQThCO1VBQTlCLCtCQUE4QixFQUs5QjtFQVBEO0lBS0UsY0FBYSxFQUNiOztBQUdGO0VBQ0MsY0FBYTtFQUNiLGlCQUFnQjtFQUVoQixlWHJEbUI7RVdzRG5CLHdDWHpDd0M7RVcwQ3hDLGlCQUFnQjtFQUNoQixnQkFBZSxFQUNmOztBQUVEO0VBQ0Msc0JBQXFCLEVBV3JCO0VBWkQ7SUFJRSxpQkFBZ0I7SUFDaEIsaUJBQWdCO0lBQ2hCLGVYNEZpQyxFVzNGakM7RUFQRjtJQVVFLGVBQWMsRUFDZDs7QUFJRjtFQUNDLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsNEJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixvQkFBbUI7RUFFbkIsOEJYaEZtQjtFV2lGbkIsZ0JBQWUsRUFDZjs7QUFHRDtFQUNDLGlDWHRGbUIsRVd1Rm5COztBQUVEO0VBQ0MscUJBQVk7TUFBWixxQkFBWTtVQUFaLGFBQVk7RUFFWixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLHVDQUE4QjtNQUE5Qix1QkFBOEI7VUFBOUIsK0JBQThCO0VBQzlCLDRCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CLEVBQ25COztBQUVEO0VBQ0MscUJBQVk7TUFBWixxQkFBWTtVQUFaLGFBQVk7RUFFWixtQkF0RnVCO0VBdUZ2QixlWGhHa0I7RVdrR2xCLHdDWHhGd0M7RVd5RnhDLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsb0JBQW1CLEVBQ25COztBQUVEO0VBQ0MsbUJBaEd1QjtFQWtHdkIsa0JBQWlCO0VBQ2pCLGlCQUFnQjtFQUVoQixlWGpIbUIsRVdrSG5COztBQUVEO0VBQ0MsdUJBQWM7TUFBZCxxQkFBYztVQUFkLGVBQWM7RUFFZCxtQkEzR3VCLEVBNEd2Qjs7QUFFRDtFQUNDLHVCQUFjO01BQWQscUJBQWM7VUFBZCxlQUFjO0VBRWQsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYixnQ0FBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QjtFQUN2Qiw0QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQjtFQUVuQixZWDhCeUI7RVc3QnpCLGFYNkJ5QjtFVzNCekIsMEJYcEltQjtFV3FJbkIsbUJBQWtCO0VBRWxCLGtCWHdCeUI7RVd2QnpCLHNCQUFxQjtFQUNyQixrQkFBaUI7RUFDakIsd0NYN0h3QztFVzhIeEMsZ0JYb0J5QjtFV2xCekIsd0JBQXVCO0VBQ3ZCLGVYM0lrQixFV2tKbEI7RUEzQkQ7SUF1QkUsa0JBQWlCO0lBQ2pCLG1CQUFrQjtJQUNsQixrQkFBaUIsRUFDakI7O0FBSUY7RUFDQyxpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBQ2xCLGVYRWtDLEVXRGxDOztBQUVEO3VCQUN1QjtBQUN2QjtFQUNDLDZDQUFvQztVQUFwQyxxQ0FBb0MsRUFDcEM7O0FBRUQ7RUFDQyxnQkFBZTtFQUNmLGlCQUFnQjtFQUNoQixrQ0FBeUI7TUFBekIsbUJBQXlCO1VBQXpCLDBCQUF5QixFQU96QjtFQVZEO0lBTUUsZ0JBQWU7SUFDZixlWGRpQztJV2VqQyxnQkFBZSxFQUNmOztBQUtGO3VCQUN1QjtBQUV2QjtFQUNDO0lBQ0Msd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBQ2Y7RUFFRDtJQUNDLHNCQUFhO1FBQWIsMkJBQWE7WUFBYixjQUFhO0lBQ2IscUJBQVk7UUFBWixxQkFBWTtZQUFaLGFBQVk7SUFDWix1QkFBc0IsRUFDdEI7RUFFRDtJQUNDLHFCQUFZO1FBQVoscUJBQVk7WUFBWixhQUFZO0lBQ1osc0JBQWE7UUFBYiwyQkFBYTtZQUFiLGNBQWEsRUFDYjtFQUVEO0lBQ0MseUJBQWdCO1FBQWhCLDhCQUFnQjtZQUFoQixpQkFBZ0I7SUFDaEIsb0JBQW1CLEVBQ25CO0VBRUQ7SUFDQyxnQkFBZSxFQUNmO0VBRUQ7SUFDQyxnQkFBZSxFQUNmLEVBQUE7O0FBSUY7RUFDQztJQUNDLGVBQWMsRUFDZDtFQUVEO0lBQ0Msa0JBQWlCO0lBQ2pCLGdCQUFlO0lBQ2YsaUJBQWdCLEVBQ2hCO0VBRUQ7OztJQUlDLGVBQWMsRUFDZDtFQUVEO0lBQ0MsY0FBYSxFQUNiO0VBRUQ7SUFFRSxzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYSxFQUNiO0VBR0Y7SUFDQyxtREFBMEM7WUFBMUMsMkNBQTBDO0lBQzFDLGlDWHBQa0I7SVdxUGxCLG9CQUFtQixFQUNuQjtFQUVEO0lBRUUsZUFBYyxFQUNkO0VBR0Y7SUFDQyxvQ0FBMkI7UUFBM0IscUJBQTJCO1lBQTNCLDRCQUEyQixFQUMzQixFQUFBOztBQUlGO3VCQUN1QjtBQUN2QjtFQUNDO0lBQ0Msd0JBdFFnQztJQXVRaEMsbUJBQWtCO0lBQ2xCLG9CQUFtQixFQUFBO0VBR3BCO0lBQ0MsMEJYeEgyQztJV3lIM0MscUJBQWdDO0lBQ2hDLHNCQUFpQyxFQUFBLEVBQUE7QUFWbkM7RUFDQztJQUNDLHdCQXRRZ0M7SUF1UWhDLG1CQUFrQjtJQUNsQixvQkFBbUIsRUFBQTtFQUdwQjtJQUNDLDBCWHhIMkM7SVd5SDNDLHFCQUFnQztJQUNoQyxzQkFBaUMsRUFBQSxFQUFBOztBQUluQztFQUNDO0lBQ0Msd0JBcFJnQztJQXFSaEMsbUJBQWtCO0lBQ2xCLG9CQUFtQjtJQUNuQixrQkFBaUI7SUFDakIsbUJBQWtCLEVBQUE7RUFHbkI7SUFDQywwQlh4STJDO0lXeUkzQyxxQlgzUHVCO0lXNFB2QixzQlg1UHVCO0lXNlB2QixxQlg3UHVCO0lXOFB2QixzQlg5UHVCLEVBQUEsRUFBQTs7QVdnUHpCO0VBQ0M7SUFDQyx3QkFwUmdDO0lBcVJoQyxtQkFBa0I7SUFDbEIsb0JBQW1CO0lBQ25CLGtCQUFpQjtJQUNqQixtQkFBa0IsRUFBQTtFQUduQjtJQUNDLDBCWHhJMkM7SVd5STNDLHFCWDNQdUI7SVc0UHZCLHNCWDVQdUI7SVc2UHZCLHFCWDdQdUI7SVc4UHZCLHNCWDlQdUIsRUFBQSxFQUFBOztBWWhEekI7Ozs7R0FJRztBQUVIO3VCQUN1QjtBQWdCdkI7dUJBQ3VCO0FBRXZCOztFQUVFO0FBQ0Q7RUFDQyxtQkFBa0I7RUFDbEIsc0JBQXFCLEVBQ3JCOztBQUVEO0VBQ0MsbUJBQWtCO0VBQ2xCLGlCQUFnQixFQUNoQjs7QUFFRDtFQUNDLG1DQUEwQjtFQUExQiwyQkFBMEI7RUFBMUIsbURBQTBCO0VBQzFCLGVBQWM7RUFDZCxlQUFjLEVBQ2Q7O0FBR0Y7O0VBRUU7QUFDRDtFQUNDLHNCQUFxQixFQUNyQjs7QUFFRDtFQUNDLGVBQWM7RUFDZCxZQUFXLEVBQ1g7O0FBRUY7O0VBRUU7QUFFRDs7R0FFRTtBQUNGO0VBQ0MsbUJBQWtCO0VBQ2xCLFdBQVU7RUFFVixRQUFPO0VBQ1AsU0FBUTtFQUNSLGdCQUFlO0VBQ2YsZUFBYztFQUVkLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsZ0NBQXVCO01BQXZCLHNCQUF1QjtVQUF2Qix3QkFBdUI7RUFDdkIsNEJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixvQkFBbUI7RUFFbkIsbUJBQWtCO0VBQ2xCLGVBQWM7RUFFZCwwQlp0RXFCLEVZdUVyQjs7QUFHRDs7R0FFRTtBQUNGO0VBQ0MsbUJBQWtCO0VBQ2xCLE9BQU07RUFDTixVQUFTO0VBRVQsc0JBQXFCO0VBQ3JCLGdCQUFlO0VBRWYsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw0QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQixnQ0FBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QjtFQUV2QixXQUFVO0VBQ1YseUJBQXdCLEVBd0J4QjtFQXJDRDtJQWdCRSxXQUFVLEVBQ1Y7RUFqQkY7SUFxQkUsV0FBVSxFQUNWO0VBdEJGO0lBeUJFLFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsc0JBQXFCO0lBRXJCLFlBQVc7SUFDWCxhQUFZO0lBRVosNERBQTJEO0lBQzNELG1DQUFrQztJQUNsQyw2QkFBNEI7SUFDNUIseUJBQXdCLEVBQ3hCOztBQUdGO0VBQ0MsV0FBVTtFQUNWLFFBQU87RUFDUCx5R0FBNkYsRUFNN0Y7RUFURDtJQU1FLGtDQUF5QjtRQUF6Qiw4QkFBeUI7WUFBekIsMEJBQXlCO0lBQ3pCLFVBQVMsRUFDVDs7QUFHRjtFQUNDLFNBQVE7RUFDUixVQUFTO0VBQ1QsMEdBQThGLEVBTTlGO0VBVEQ7SUFNRSw2QkFBb0I7UUFBcEIseUJBQW9CO1lBQXBCLHFCQUFvQjtJQUNwQixXQUFVLEVBQ1Y7O0FBR0Y7O0dBRUU7QUFDRjtFQUNDLFdaa0RxQjtFWWpEckIsWVppRHFCO0VZaERyQixjQUFhO0VBQ2IsbUJBQWtCO0VBRWxCLHFDWitDNkI7RVk5QzdCLGlCQUFnQixFQUNoQjs7QUFHRDtFQUNDLFdad0M4QjtFWXZDOUIsWVp1QzhCO0VZckM5QixrQlp1Q2lDLEVZdENqQzs7QUFHRjs7RUFFRTtBQUNGO0VBQ0MsbUJBQWtCO0VBQ2xCLFlBQTRFO0VBQzVFLFVBQVM7RUFFVCxzQkFBcUI7RUFFckIsbUJBakt5QjtFQW1LekIsa0JBQWlCO0VBQ2pCLHNCQUFxQjtFQUVyQiwwQlovS3NCO0VZZ0x0QixhQUFZLEVBYVo7RUExQkQ7SUFnQkUsWUFBVztJQUNYLG1CQUFrQjtJQUNsQixVQUFTO0lBQ1QsYUFBdUQ7SUFFdkQsWUFoTDBCO0lBaUwxQixhQWpMMEI7SUFtTDFCLCtEQUE4RCxFQUM5RDs7QUFJRjs7RUFFRTtBQUNGO0VBQ0MsZ0JBQWU7RUFDZixPQUFNO0VBQ04sVUFBUztFQUNULFFBQU87RUFDUCxTQUFRO0VBQ1IsYUFBWTtFQUVaLHdCQUF1QjtFQUN2QixjQUE2QjtFQUU3Qix3Q0FBK0I7VUFBL0IsZ0NBQStCLEVBZ0IvQjtFQTNCRDtJQWNFLGVBQWM7SUFDZCxXQUFVO0lBQ1YsMkNBQTBDLEVBQzFDO0VBakJGO0lBb0JFLGtCQUFpQjtJQUNqQixtQkFBa0IsRUFDbEI7RUF0QkY7SUF5QkUsZUFBYyxFQUNkOztBQU1GO3VCQUN1QjtBQUN2QjtFQUNDLFVBQVM7RUFDVCxvQkFBbUIsRUFDbkI7O0FBR0Q7dUJBQ3VCO0FBQ3ZCO0VBQ0M7SUFDQyxnQloxTXVCLEVZb052QjtJQVhEO01BSUUsdUJBQXNCLEVBQ3RCO0lBTEY7TUFRRSx1QkFBc0I7TUFDdEIsMkJBQTBCLEVBQzFCO0VBR0Y7SUFDQyxjQUFhLEVBQ2I7RUFFRDtJQUNDLHdCQUF1QixFQUt2QjtJQU5EO01BSUUsY0FBYSxFQUNiLEVBQUE7O0FDL1FIOzs7O0dBSUc7QUFFSDt1QkFDdUI7QUFhdkI7dUJBQ3VCO0FBQ3ZCO0VBQ0MsdUJiNkQwQjtFYTVEMUIsbUJBQWtCLEVBQ2xCOztBQUVEO0VBQ0MsZ0JBQWU7RUFDZixZQUFXO0VBQ1gsUUFBTztFQUNQLFNBQVE7RUFDUixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUViLGVia0QwQixFYWpEMUI7O0FBRUQ7RUFDQywwQmJ6QndCO0VhMEJ4QixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLGdDQUF1QjtNQUF2QixzQkFBdUI7VUFBdkIsd0JBQXVCO0VBQ3ZCLDRCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLFlBQVc7RUFDWCxrQkFBaUI7RUFDakIsV0FBVSxFQUNWOztBQUdEO0VBQ0MsbUJBQWtCO0VBQ2xCLG1CQWxDNkI7RUFvQzdCLGVia0MrQjtFYWpDL0Isc0JBQXFCLEVBZ0JyQjtFQXJCRDtJQVFFLFlBQVc7SUFFWCxtQkFBa0I7SUFDbEIsb0NBQTREO0lBQzVELGVBQW1DO0lBRW5DLGVBQWM7SUFFZCxXYndCNkI7SWF2QjdCLGdCYndCa0M7SWF0QmxDLDBCYnVCaUMsRWF0QmpDOztBQUdGO3VCQUN1QjtBQUN2QjtFQUNDLGdCQUFlO0VBQ2YsZWI3RG1CLEVha0VuQjtFQVBEO0lBS0UsY0FBYSxFQUNiOztBQUdGO3VCQUN1QjtBQUN2QjtFQUNDO0lBQ0MscUJBQXdDLEVBQ3hDO0VBRUQ7SUFDQyx1QmJOeUIsRWFPekI7RUFFRDtJQUNDLGFBQVk7SUFDWixpQkFBZ0I7SUFDaEIsYUFBZ0MsRUFDaEM7RUFFRDtJQUNDLHFCQUFZO1FBQVoscUJBQVk7WUFBWixhQUFZO0lBQ1osdUJBQWM7UUFBZCxxQkFBYztZQUFkLGVBQWM7SUFFZCxxQkFBeUM7SUFDekMsZ0JBQWU7SUFFZixTQUFRLEVBS1I7SUFaRDtNQVVFLGNBQWEsRUFDYixFQUFBOztBQUlIO0VBRUM7SUFDQyxnQkFBZSxFQUNmO0VBRUQ7SUFDQyxjQUFhLEVBQ2IsRUFBQTs7QUMxSEY7Ozs7R0FJRztBQUVIO3VCQUN1QjtBQU12Qjt1QkFDdUI7QUFDdkI7RUFDQywwQmRGbUI7RWNHbkIsYWQrRStCO0VjN0UvQixtQkFBa0I7RUFDbEIsVUFBUztFQUNULFFBQU87RUFDUCxTQUFRO0VBQ1IsWUFBVztFQUVYLGtGQUF5RTtVQUF6RSwwRUFBeUU7RUFFekUsaUJBQTJCLEVBQzNCOztBQUdEO3VCQUN1QjtBQUN2QjtFQUNDO0lBQ0Msa0NBQXlCO1lBQXpCLDBCQUF5QixFQUFBO0VBRzFCO0lBQ0Msa0NBQXlCO1lBQXpCLDBCQUF5QixFQUFBO0VBRzFCO0lBQ0Msb0NBQTJCO1lBQTNCLDRCQUEyQixFQUFBLEVBQUE7QUFWN0I7RUFDQztJQUNDLGtDQUF5QjtZQUF6QiwwQkFBeUIsRUFBQTtFQUcxQjtJQUNDLGtDQUF5QjtZQUF6QiwwQkFBeUIsRUFBQTtFQUcxQjtJQUNDLG9DQUEyQjtZQUEzQiw0QkFBMkIsRUFBQSxFQUFBOztBQUs3QjtFQUNDO0lBQ0Msb0NBQTJCO1lBQTNCLDRCQUEyQixFQUFBO0VBRzVCO0lBQ0Msa0NBQXlCO1lBQXpCLDBCQUF5QixFQUFBLEVBQUE7O0FBTjNCO0VBQ0M7SUFDQyxvQ0FBMkI7WUFBM0IsNEJBQTJCLEVBQUE7RUFHNUI7SUFDQyxrQ0FBeUI7WUFBekIsMEJBQXlCLEVBQUEsRUFBQTs7QUN0RDNCOzs7O0dBSUc7QUFFSCx1QkFBdUI7QUFVdkI7dUJBQ3VCO0FBQ3ZCOztFQUdFLG1CQUFrQixFQUNsQjs7QUFHRjt1QkFDdUI7QUFDdkI7RUFFRSxzQkFBcUIsRUFDckI7O0FBR0Y7RUFDQyxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLHNDQUE2QjtNQUE3QiwwQkFBNkI7VUFBN0IsOEJBQTZCLEVBQzdCOztBQ3BDRDs7OztHQUlHO0FBRUg7dUJBQ3VCO0FBVXZCO3VCQUN1QjtBQUN2QjtFQUNDLGtCQVIyQjtFQVMzQixrQkFBaUI7RUFDakIsbUJBQWtCO0VBQ2xCLGtCaEJ5QndCLEVnQmJ4QjtFQWhCRDtJQVNFLGlCQWQ4QjtJQWU5QixtQkFBa0IsRUFDbEI7RUFYRjtJQWNFLDhCaEJ0QnFCLEVnQnVCckI7O0FBR0Y7dUJBQ3VCO0FBQ3ZCO0VBQ0M7SUFDQyxXQUFVLEVBS1Y7SUFORDtNQUlFLGlCQUFnQixFQUNoQixFQUFBOztBQzdDSDs7OztHQUlHO0FBRUg7dUJBQ3VCO0FBSXZCO3VCQUN1QjtBQUN2QjtFQUNDLGtCakJrQ3dCLEVpQmpDeEI7O0FBRUQ7dUJBQ3VCO0FBRXZCO0VBQ0MsbUJBQWtCO0VBQ2xCLFdBQVUsRUFjVjtFQWhCRDtJQUtFLGlDQUFnQztJQUNoQyxtQkFBa0I7SUFDbEIsWUFBVztJQUNYLG1CQUFrQjtJQUVsQixXQUFVO0lBQ1YsWUFBVztJQUNYLFVBQVM7SUFDVCxvQ0FBMkI7UUFBM0IsZ0NBQTJCO1lBQTNCLDRCQUEyQjtJQUMzQixvREFBMkM7WUFBM0MsNENBQTJDLEVBQzNDOztBQUdGO0VBQ0MsbUJBQWtCO0VBQ2xCLFdBQVc7RUFFWCxZQUFXO0VBQ1gsYUFBWTtFQUVaLGVBQWM7RUFDZCw2Q0FBNEM7RUFFNUMsMkNBQWtDO1VBQWxDLG1DQUFrQyxFQUNsQzs7QUFHRDtFQUNDLG1CQUFrQjtFQUNsQixXQUFXO0VBRVgsa0JBQWlCO0VBQ2pCLGFBQVk7RUFDWixZQUFXO0VBRVgsYUFBWSxFQUNaOztBQUtEO0VBQ0Msc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiwyQkFBa0I7TUFBbEIsZ0NBQWtCO1VBQWxCLG1CQUFrQjtFQUNsQix5QkFBd0I7RUFDeEIsb0JBQW1CO0VBQ25CLGFBQVk7RUFDWixpQkFBZ0IsRUFDaEI7O0FBRUQ7RUFDQyxnQkFBZ0I7RUFDZixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDRCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ3BCLGdDQUF1QjtNQUF2QixzQkFBdUI7VUFBdkIsd0JBQXVCLEVBQ3ZCOztBQUVEO0VBQ0MsNEJBQTJCO0VBQzNCLG9CQUFtQjtFQUNsQixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDRCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ3BCLGdDQUF1QjtNQUF2QixzQkFBdUI7VUFBdkIsd0JBQXVCLEVBT3ZCO0VBWkQ7SUFRRSxtQkFBa0I7SUFDbEIsVUFBUztJQUNULFdBQ0QsRUFBQzs7QUFLRjt1QkFDdUI7QUFDdkI7RUFDQztJQUNDLDhCQUE2QixFQUFBO0VBRzlCO0lBQ0Msd0JBQXVCLEVBQUEsRUFBQTtBQU56QjtFQUNDO0lBQ0MsOEJBQTZCLEVBQUE7RUFHOUI7SUFDQyx3QkFBdUIsRUFBQSxFQUFBOztBQUl6QjtFQUNFO0lBQ0MsYUFBWSxFQUFBO0VBR2I7SUFDQyxXQUFVLEVBQUEsRUFBQTs7QUFOYjtFQUNFO0lBQ0MsYUFBWSxFQUFBO0VBR2I7SUFDQyxXQUFVLEVBQUEsRUFBQTs7QUNwSGI7Ozs7O0dBS0c7QUFFSDt1QkFDdUI7QUFLdkI7dUJBQ3VCO0FBQ3ZCO0VBQ0MsY0FBYTtFQUViLDBCbEJzTXdDO0VrQnJNeEMsdUJBQTRDO0VBRTVDLHFCbEIyQndCO0VrQjFCeEIsc0JsQjBCd0I7RWtCekJ4QixzQmxCeUJ3QixFa0J4QnhCOztBQUVEO0VBQ0MsMEJBQWlCO01BQWpCLCtCQUFpQjtVQUFqQixrQkFBaUIsRUFNakI7RUFQRDtJQUlFLFlBQVc7SUFDWCxhQUFZLEVBQ1o7O0FBR0Y7RUFDQyxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYSxFQUNiOztBQUVEO0VBQ0MsVUFBUztFQUNULG9CbEJPd0I7RWtCTHhCLGdCQUFlO0VBQ2YsaUJBQWdCO0VBRWhCLGtCQUFpQixFQUNqQjs7QUFFRDtFQUNDLG1CQUFrQjtFQUVsQixZbEJxSytCLEVrQnBLL0I7O0FBRUQ7dUJBQ3VCO0FBQ3ZCO0VBQ0M7SUFDQyxlQUFjLEVBQ2QsRUFBQTs7QUM1REY7O0dBRUc7QUFFSDt1QkFDdUI7QUFpQnZCO3VCQUN1QjtBQUN2QjtFQUNDLHNCQUFxQjtFQUVyQixtQkFBMEM7RUFDMUMsMEJuQlhrQjtFbUJjbEIsMEJBeEJnQztFQXlCaEMsZW5CZmtCO0VtQmlCbEIsbUJBQWtCO0VBQ2xCLGdCQXBCdUI7RUFxQnZCLGtCQUFpQjtFQUVqQixzQkFBcUI7RUFDckIsMEJBQXlCO0VBRXpCLGlCQUFnQjtFQUNoQixnQkFBZTtFQUVmLGlCQUFnQixFQWVoQjtFQW5DRDtJQXVCRSwwQkFBc0Q7SUFDdEQsYUFBcUM7SUFDckMsd0JBQWtEO0lBQ2xELG9CQUFtQixFQUNuQjtFQTNCRjtJQStCRSwwQm5CdENpQjtJbUJ1Q2pCLGVBakQrQjtJQWtEL0Isc0JBbEQrQixFQW1EL0I7O0FBR0Y7dUJBQ3VCO0FBQ3ZCO0VBRUMsZXBCeERjO0VvQnlEZCwwQm5CdkRzQixFbUJzRXRCO0VBbEJEO0lBT0UsOEJuQnFGc0M7SW1CcEZ0QyxlcEI5RGE7SW9CK0RiLHdCQUF1QixFQUN2QjtFQVZGO0lBYUUsMEJBQXFFO0lBQ3JFLGVBQW9EO0lBQ3BELDJDQUFpRTtJQUNqRSxvQkFBbUIsRUFDbkI7O0FBR0Y7RUFDQyxxQkFBb0IsRUFDcEI7O0FBRUQ7RUFDQyxZQUFXO0VBQ1gsbUJBQTRDLEVBQzVDOztBQUdEO3VCQUN1QjtBQUN2QjtFQUVFLDBCbkJoRmlCO0VtQmlGakIsbUJBQWtCO0VBQ2xCLG1CQUFrQixFQWVsQjtFQW5CRjtJQU9HLFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsWW5CM0NtQjtJbUI0Q25CLGFuQjVDbUI7SW1CNkNuQixtQ0FBa0M7SUFDbEMsNkJBQTRCO0lBQzNCLG1EQUFpQztJQUNsQyxzQkFBcUM7SUFDckMsd0JBQXVDO0lBQ3ZDLHlCQUF3QjtJQUN4Qix3Q0FBK0I7WUFBL0IsZ0NBQStCLEVBQy9COztBQUlIO0VBQ0MsZ0JBQWU7RUFDZixVQUFTO0VBQ1QsUUFBTztFQUNQLFNBQVE7RUFFUix3QkFBdUI7RUFDdkIsa0JBQWlCO0VBQ2pCLHFCQUFvQjtFQUNwQiw4QkFBNkIsRUFNN0I7RUFmRDtJQVlFLGtCQUFpQjtJQUNqQixtQkFBa0IsRUFDbEI7O0FBSUY7dUJBQ3VCO0FBQ3ZCO0VBQ0M7SUFDQyxtQkFBMEMsRUFDMUMsRUFBQTs7QUM1SUY7O0dBRUc7QUFFSDt1QkFDdUI7QUFrQnZCO0VBQ0Msa0JBUHFCLEVBUXJCOztBQUdEO3VCQUN1QjtBQUN2QjtFQUNDLGdCQUFlO0VBQ2YsVUFBUztFQUNULFFBQU87RUFDUCxTQUFRO0VBQ1IsWUFBVztFQUVYLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsNEJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixvQkFBbUI7RUFFbkIsY0F2QnFCO0VBd0JyQiwwQnBCNUJ3QjtFb0I2QnhCLGlCQUFnQjtFQUVoQix5Q0FBZ0M7VUFBaEMsaUNBQWdDLEVBQ2hDOztBQUdEO0VBQ0MseUJBQWdCO01BQWhCLDhCQUFnQjtVQUFoQixpQkFBZ0I7RUFFaEIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYixxQkFBb0IsRUFDcEI7O0FBRUQ7RUFDQyxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDhCQUFxQjtNQUFyQixvQkFBcUI7VUFBckIsc0JBQXFCLEVBQ3JCOztBQUVEO0VBQ0Msc0JBQXFCLEVBQ3JCOztBQUVEO0VBQ0MsZUFBYztFQUNkLGtCQUFpQjtFQUNqQixnQkFqRHdCO0VBa0R4QixlcEJ0RG1CO0VvQnVEbkIsd0NwQjFDd0M7RW9CMkN4QywwQkFBeUI7RUFDekIsaUJBQWdCLEVBQ2hCOztBQUVEO0VBQ0Msa0JwQjZHMEI7RW9CNUcxQixlcEIzRGtCLEVvQjREbEI7O0FBRUQ7RUFDQyxxQkFBWTtNQUFaLHFCQUFZO1VBQVosYUFBWTtFQUVaLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isa0NBQXlCO01BQXpCLG1CQUF5QjtVQUF6QiwwQkFBeUI7RUFDekIsOEJBQXFCO01BQXJCLG9CQUFxQjtVQUFyQixzQkFBcUI7RUFFckIsa0JBQWlCLEVBQ2pCOztBQUdEO3VCQUN1QjtBQUN2QjtFQUdFLGVwQmpGa0I7RW9Ca0ZsQixpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBQ2xCLGtCQUFpQixFQUNqQjs7QUFQRjtFQVVFLGVwQmdGZ0M7RW9CL0VoQyxtRHBCN0VnRDtFb0I4RWhELHFCQUFvQjtFQUNwQixpQkFBZ0IsRUFDaEI7O0FBS0Y7dUJBQ3VCO0FBQ3ZCO0VBQ0M7SUFDQyxhQUFZLEVBQ1o7RUFFRDtJQUNDLG1CQUFnQyxFQUNoQztFQUVEO0lBQ0Msa0JBQWlCLEVBQ2pCLEVBQUE7O0FBR0Y7RUFFQztJQUNDLGVBQTRCLEVBQzVCO0VBR0Q7SUFDQyxxQnBCdkZ1QixFb0J3RnZCO0VBRUQ7SUFDQyxjQUFhLEVBQ2I7RUFFRDtJQUVFLGdCQUFlO0lBQ2YsbUJBQWtCLEVBQ2xCLEVBQUE7O0FBT0g7dUJBQ3VCO0FBQ3ZCO0VBQ0U7SUFDQyxvQ0FBMkI7WUFBM0IsNEJBQTJCLEVBQUE7RUFHNUI7SUFDQyxpQ0FBd0I7WUFBeEIseUJBQXdCLEVBQUEsRUFBQTtBQU4zQjtFQUNFO0lBQ0Msb0NBQTJCO1lBQTNCLDRCQUEyQixFQUFBO0VBRzVCO0lBQ0MsaUNBQXdCO1lBQXhCLHlCQUF3QixFQUFBLEVBQUE7O0FDakszQjs7OztHQUlHO0FBRUg7dUJBQ3VCO0FBT3ZCO3VCQUN1QjtBQUN2QjtFQUNDLGdCQUFlO0VBQ2YsY0FBYTtFQUNiLE9BQU07RUFDTixRQUFPO0VBRVAsWUFBVztFQUNYLGNBQWE7RUFFYixvQnJCZHNCO0VxQmV0QixlQUFjO0VBRWQsd0NBQStCO1VBQS9CLGdDQUErQixFQUsvQjtFQWpCRDtJQWVFLHlDQUFnQztZQUFoQyxpQ0FBZ0MsRUFDaEM7O0FBSUY7RUFDQyxvQkFBbUI7RUFDbkIsdUJBQXNCO0VBQ3RCLG1CQUFrQjtFQUNsQixtQkFBa0I7RUFDbEIsY0FBNkIsRUFjN0I7RUFuQkQ7SUFRRSxZQUFXO0lBQ1gsZUFBYztJQUNkLDJDQW5DaUQ7SUFvQ2pELG1CQUFrQjtJQUNsQixVQXBDMEI7SUFxQzFCLGFBckMwQjtJQXNDMUIsV0F0QzBCO0lBdUMxQixZQXZDMEI7SUF3QzFCLHlCQUFnRDtJQUNoRCwyQkFBa0QsRUFDbEQ7O0FBR0Y7RUFDQyxlQUFjO0VBQ2Qsb0JBQW1CLEVBTW5CO0VBUkQ7SUFLRSxhQUFZO0lBQ1osZUFBYyxFQUNkOztBQUlGO0VBQ0MsZUFBYztFQUNkLGdCQUFlO0VBQ2YsZUFBYztFQUNkLHdDckI3Q3dDLEVxQjREeEM7RUFuQkQ7SUFPRSxrREFBNEQ7WUFBNUQsMENBQTREO0lBSzVELDhCQUEwQztZQUExQyxzQkFBMEMsRUFNMUM7SUFsQkY7TUFTRyw0QkFBbUI7Y0FBbkIsb0JBQW1CLEVBQ25CO0lBVkg7TUFlRyw4QkFBMEM7Y0FBMUMsc0JBQTBDLEVBQzFDOztBQUtIO0VBQ0MsbUJBQWtCO0VBQ2xCLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsNEJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixvQkFBbUI7RUFDaEIsZ0NBQXVCO01BQXZCLHNCQUF1QjtVQUF2Qix3QkFBdUI7RUFDdkIsYUFBWTtFQUNmLHlDQUF3QztFQUN4QyxVQUFTO0VBQ04sUUFBTztFQUNQLFNBQVE7RUFDUixVQUFTO0VBQ1osWUFBVztFQUNYLFdBQVUsRUFZVjtFQXhCRDtJQWlCRyxhQUFZLEVBQ1o7RUFsQkg7SUFzQkUsaUJBQWdCLEVBQ2hCOztBQ2hIRjs7OztHQUlHO0FBR0g7dUJBQ3VCO0FBUXZCO3VCQUN1QjtBQUN2QjtFQUNDLDBCdEIwS3FDO0VzQnpLckMsZUFBYztFQUNkLGNBQTZCO0VBQzdCLG1CQUFrQixFQUNsQjs7QUFFRDtFQUNDLGlCQUFnQixFQUNoQjs7QUFFRDtFQUNDLGdCQUFlLEVBQ2Y7O0FBRUQ7RUFDQyxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLHVDQUE4QjtNQUE5Qix1QkFBOEI7VUFBOUIsK0JBQThCO0VBQzlCLDhCQUFxQjtNQUFyQixvQkFBcUI7VUFBckIsc0JBQXFCO0VBRXJCLGlCQUFnQjtFQUNoQixtQkFBa0I7RUFFbEIsZXRCM0JtQjtFc0I0Qm5CLDBCQUF5QixFQUN6Qjs7QUFFRDtFQUNDLGV0QmhDbUI7RXNCaUNuQixpQkFBZ0IsRUFDaEI7O0FBRUQ7RUFDQyxXQUFVO0VBQ1YsVUFBUztFQUVULGlCQUFnQjtFQUNoQixpQkFBZ0IsRUFDaEI7O0FBRUQ7RUFDQyxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUViLG9CQUFtQixFQUNuQjs7QUFFRDtFQUNDLHNCQUFxQjtFQUNyQixXQUFVO0VBQ1YsMEJBQXlCO0VBQ3pCLHdCQUFlO01BQWYsNkJBQWU7VUFBZixnQkFBZSxFQUNmOztBQUVEO0VBQ0Msc0JBQXFCO0VBQ3JCLHdCQUFlO01BQWYsNkJBQWU7VUFBZixnQkFBZTtFQUNmLGtCQUFpQixFQUNqQjs7QUFFRDtFQUNDLDBCdEJuRXNCO0VzQm9FdEIsYUFuRThCO0VBb0U5QixpQkFBZ0IsRUFXaEI7RUFkRDtJQU1FLGlCQUFnQjtJQUNoQixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLDRCQUFtQjtRQUFuQix1QkFBbUI7WUFBbkIsb0JBQW1CLEVBQ25CO0VBVEY7SUFZRSxrQkFBaUIsRUFDakI7O0FBSUY7O0VBR0Usb0JBQW1CO0VBQ25CLGdCQUFlLEVBQ2Y7O0FBR0Y7RUFDQyxlQUFjO0VBQ2QsaUJBQWdCLEVBQ2hCOztBQUdEO3VCQUN1QjtBQUN2QjtFQUNDLHlCQUFnQjtLQUFoQixzQkFBZ0I7VUFBaEIsaUJBQWdCO0VBQ2IsY0FBYTtFQUNiLFNBQVE7RUFDUixVQUFTO0VBQ1QsbUJBQWtCLEVBQ3JCOztBQUVEO3VCQUN1QjtBQUN2QjtFQUNDLG1CQUFrQjtFQUNsQixjQUFhLEVBb0JiO0VBbEJBO0lBQ0MsZUFBYyxFQUNkO0VBTkY7SUFTRSxnQkFBZTtJQUNmLGFBQVk7SUFDWixzQkFBcUI7SUFDckIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiw0QkFBbUI7UUFBbkIsdUJBQW1CO1lBQW5CLG9CQUFtQjtJQUNuQixnQ0FBdUI7UUFBdkIsc0JBQXVCO1lBQXZCLHdCQUF1QixFQUN2QjtFQWZGO0lBa0JFLFlBQVc7SUFDWCxhQUFZO0lBQ1osbUJBQWtCLEVBQ2xCOztBQUlGO3VCQUN1QjtBQUN2Qjs7RUFHRSxrQnRCdEd1QixFc0J1R3ZCOztBQUpGOztFQU9FLGdCdEIxR3VCO0VzQjJHdkIsOEJBQTZCO0VBQzdCLGtCQUFpQjtFQUNqQixpQ3RCZ0NvQyxFc0IvQnBDOztBQVhGOztFQWNFLGNBQWEsRUFDYjs7QUFmRjs7RUFrQkUsbUJBQWtCLEVBQ2xCOztBQW5CRjs7RUFzQkUsZXRCM0prQixFc0I0SmxCOztBQXZCRjs7RUEwQkUsMEJ0QmxLcUI7RXNCbUtyQixjQUFhLEVBVWI7RUFyQ0Y7O0lBOEJHLGlCQUFnQixFQUNoQjtFQS9CSDs7OztJQW1DRyxhQUFZLEVBQ1o7O0FBS0g7dUJBQ3VCO0FBQ3ZCO0VBQ0M7SUFDQyxnQnRCaEp1QixFc0JpSnZCLEVBQUE7O0FBR0Y7RUFDQztJQUNDLDBCdEJUb0MsRXNCVXBDO0VBRUQ7SUFFRSxnQnRCM0pzQixFc0I0SnRCO0VBR0Y7SUFDQyxpQkFBZ0IsRUFDaEI7RUFFRDtJQUNDLGNBQWE7SUFDYixpQkFBZ0I7SUFDaEIsaUJBQWdCO0lBQ2hCLGlFQUFnRTtJQUNoRSxrQkFBOEIsRUFDOUI7RUFFRDtJQUNDLG1CQUFrQjtJQUNsQixvQkFBbUIsRUFDbkIsRUFBQTs7QUM5TkY7RUFDSSxzQkFBcUI7RUFDckIsa0JBQWlCLEVBS3BCO0VBUEQ7SUFLUSxldkJTWSxFdUJSZjs7QUNDTDtFQUNDLCtCQUE4QjtFQUM5QixZQUFXO0VBQ1gsWUFBVztFQUNYLGVBQWM7RUFDZCxlQUFjLEVBQ2Q7O0FDYkQ7Ozs7R0FJRztBQUVIO0VBQ0Msc0JBQXFCLEVBQ3JCOztBQUdEO0VBQ0ksbUJBQWtCLEVBQ3JCOztBQUNEOztFQUVDLGlCQUFnQjtFQUNoQixrQkFBaUI7RUFDakIsbUJBQWtCLEVBQ2xCOztBQ25CRDs7R0FFRztBQUVIO3VCQUN1QjtBQTJCdkI7dUJBQ3VCO0FBQ3ZCO0VBQ0MsaUJBaEJ5QjtFQWtCekIsa0JBQWlCO0VBQ2pCLFlBQVcsRUFDWDs7QUFFRDs7RUFFRTtBQUNGO0VBQ0Msc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYixnQkFBZTtFQUNmLG1CQUFnRSxFQUNoRTs7QUFFRDs7RUFFRTtBQUNGO0VBQ0MsbUJBQWtCO0VBRWxCLHdCQUFlO01BQWYsNkJBQWU7VUFBZixnQkFBZTtFQUNmLHFCQUFZO01BQVoscUJBQVk7VUFBWixhQUFZO0VBRVosc0JBQXFCO0VBQ3JCLG1CQUFrQixFQUNsQjs7QUFFRDs7RUFFRTtBQUNGO0VBQ0Msc0JBQXFCO0VBQ3JCLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIsYUFBWSxFQVFaO0VBWkQ7SUFTRyxlM0JsRVksRTJCbUVaOztBQUlIOztFQUVFO0FBQ0Y7RUFFRSxjQUFhLEVBQ2I7O0FBSUY7O0VBRUU7QUFDRjtFQUNDLG1CQUErRCxFQUMvRDs7QUFFRDs7RUFFRTtBQUNGO0VBQ0MsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixXQUFVO0VBRVYsZUFBYztFQUNkLFdBdEYwQjtFQXVGMUIsWUF2RjBCO0VBeUYxQixvQkFBbUI7RUFDbkIsMEIxQlJvQztFMEJTcEMsaUJBQWdCLEVBQ2hCOztBQUVEOztFQUVFO0FBQ0Y7RUFDQyxtQkFBa0I7RUFDbEIsV0FBd0Q7RUFDeEQsVUFBUztFQUVULGdCQUFlO0VBQ2YsWUFBVztFQUNYLFlBdEc0QjtFQXdHNUIsMEIxQnZCK0IsRTBCd0IvQjs7QUFFRDs7RUFFRTtBQUNGO0VBQ0MsZUFBYztFQUVkLG1CQUFrQjtFQUNsQixhQUFZO0VBQ1osVUFBUztFQUNULG9DQUEyQjtNQUEzQixnQ0FBMkI7VUFBM0IsNEJBQTJCO0VBRTNCLGdCQUFlO0VBQ2Ysa0JBQWlCO0VBQ2pCLG9CQUFtQjtFQUNuQixvQkFBbUI7RUFFbkIsZTFCNUMrQjtFMEI2Qy9CLFdBQVU7RUFDVixpQkFBZ0IsRUFDaEI7O0FBRUQ7O0VBRUU7QUFDRjtFQUNDLGNBQWE7RUFDYixpQkFBZ0I7RUFDaEIsZTFCdkQrQixFMEJ3RC9COztBQU9EO3VCQUN1QjtBQUV2Qjs7RUFFRTtBQUNGO0VBRUUsMEIxQjlKa0IsRTBCK0psQjs7QUFIRjtFQU1FLDBCMUJsS2tCLEUwQm1LbEI7O0FBR0Y7O0VBRUU7QUFDRjs7RUFJRSxrREFBeUM7VUFBekMsMENBQXlDLEVBQ3pDOztBQUxGOztFQVFFLDhDQUFxQztVQUFyQyxzQ0FBcUMsRUFDckM7O0FBR0Y7O0VBRUU7QUFDRjtFQUNDLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsZ0JBQWU7RUFFZiwwQjFCaE1zQjtFMEJtTXRCLGFBQVk7RUFDWixtQkFBa0I7RUFDbEIsc0JBQXFCLEVBQ3JCOztBQUVEOztFQUVFO0FBQ0Y7O0VBR0UsV0FBVSxFQUNWOztBQUdGOztFQUVFO0FBQ0Y7OztFQUlFLHFCQUFvQixFQUNwQjs7QUFHRjs7RUFHRSxvQkFBbUIsRUFDbkI7O0FBS0Y7dUJBQ3VCO0FBQ3ZCO0VBQ0M7SUFDQyxjQUFhLEVBQ2I7RUFFRDtJQUNDLGVBQWM7SUFDZCxtQkFBa0IsRUFDbEI7RUFFRDtJQUNDLGVBQWM7SUFDZCwwQkFBeUI7SUFDekIsa0JBQWlCO0lBQ2pCLG1CQUFrQjtJQUNsQixXQUFVLEVBQ1Y7RUFFRDtJQUNDLDRCQUFtQjtRQUFuQixpQ0FBbUI7WUFBbkIsb0JBQW1CLEVBQ25CLEVBQUE7O0FBR0Y7RUFDQztJQUVFLGlCQUFnQixFQUNoQixFQUFBOztBQUlIO0VBQ0M7SUFFRSxpQkFBZ0IsRUFDaEIsRUFBQTs7QUFLSDt1QkFDdUI7QUFDdkI7RUFDSTtJQUNGLFdBM1F5QjtJQTRRekIsWUE1UXlCO0lBOFF6QixjQUFhO0lBQ2IsMEIxQnJSa0IsRUFBQTtFMEJ3UmhCO0lBQ0YsWUFsUmlDO0lBbVJqQyxhQW5SaUM7SUFxUmpDLG1CQUFrRDtJQUNsRCwwQjFCN1JrQixFQUFBLEVBQUE7QTBCK1FwQjtFQUNJO0lBQ0YsV0EzUXlCO0lBNFF6QixZQTVReUI7SUE4UXpCLGNBQWE7SUFDYiwwQjFCclJrQixFQUFBO0UwQndSaEI7SUFDRixZQWxSaUM7SUFtUmpDLGFBblJpQztJQXFSakMsbUJBQWtEO0lBQ2xELDBCMUI3UmtCLEVBQUEsRUFBQTs7QTBCaVNwQjtFQUNJO0lBQ0YsZTFCNU04QjtJMEI2TTlCLGFBQVksRUFBQTtFQUdWO0lBQ0YsZTNCN1NhO0kyQjhTYixlQUFvRCxFQUFBLEVBQUE7O0FBUnREO0VBQ0k7SUFDRixlMUI1TThCO0kwQjZNOUIsYUFBWSxFQUFBO0VBR1Y7SUFDRixlM0I3U2E7STJCOFNiLGVBQW9ELEVBQUEsRUFBQTs7QUN2VHREOzs7O0dBSUc7QUFFSDt1QkFDdUI7QUFXdkI7dUJBQ3VCO0FBQ3ZCO0VBQ0MsZ0JBQWU7RUFDZixPQUFNO0VBQ04sU0FBUTtFQUNSLFFBQU87RUFDUCxVQUFTO0VBRVQsWUFBVztFQUVYLHdDQUErQjtVQUEvQixnQ0FBK0I7RUFFL0Isc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw0QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQixnQ0FBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QjtFQUV2QiwyQ0F2QmtDO0VBeUIvQixhQUFZO0VBQ1osZUFBYyxFQUNqQjs7QUFHRDtFQUNDLGlCQUFnQjtFQUNoQixlM0I5Qm1CO0UyQitCbkIsZ0IzQndKd0IsRTJCdkp4Qjs7QUFFRDtFQUNDLGtCQUFtQztFQUNuQyx1QkFBc0I7RUFDdEIsaUJBQWdCLEVBQ2hCOztBQUVEO0VBQ0MsbUJBQWtCO0VBQ2xCLE9BQU07RUFDTixTQUFRO0VBQ1IsWTNCQXNCO0UyQkN0QixhM0JEc0I7RTJCRXRCLG1CQUFrQjtFQUNsQixhQUFZO0VBQ1osZ0IzQmR3QixFMkI0QnhCO0VBdEJEO0lBV0UsWUFBVztJQUNYLG1CQUFrQjtJQUNsQixZM0JUcUI7STJCVXJCLGEzQlZxQjtJMkJXckIsbUNBQWtDO0lBQ2xDLDZCQUE0QjtJQUMxQixvREFBa0M7SUFDcEMsd0JBQXdDO0lBQ3hDLDBCQUEwQztJQUMxQyxnQkFBZSxFQUNmOztBQUdGO0VBQ0MsbUJBQWtCO0VBQ2xCLGNBQWE7RUFDYixnQkFBZTtFQUNmLHdCQXZFOEI7RUF3RTlCLGdCM0JuQ3dCO0UyQm9DeEIsZTNCcEN3QjtFMkJxQ3hCLGtCM0IzQnNCLEUyQjRCdEI7O0FBRUQ7RUFDQyxrQkFBaUI7RUFDakIsbUJBQWtCO0VBQ2xCLGlCQUFnQjtFQUNoQixzQkFBcUIsRUFDckI7O0FBRUQ7dUJBQ3VCO0FBQ3ZCO0VBRUUsVUFBUztFQUNULFlBQVc7RUFDWCw0QkFBbUI7TUFBbkIsNkJBQW1CO2NBQW5CLDRCQUFtQjtVQUFuQixvQkFBbUI7RUFDaEIsZUFBYztFQUNqQixrQ0FBaUMsRUFDakM7O0FBUEY7RUFVRSxnQkFBZTtFQUNmLDJDQWpHNkI7RUFrRzdCLFdBQVUsRUFDVjs7QUM5R0Y7Ozs7R0FJRztBQUVIO0VBQ0ksZTVCT2dCO0U0Qk5oQiwyQkFBMEI7RUFFMUIsOEJBQTZCO0VBQzdCLGFBQVk7RUFDWixXQUFVO0VBQ1YsMkJBQTBCO0VBQzFCLGdCQUFlLEVBS2xCO0VBYkQ7SUFXUSxlNUJBVyxFNEJDZDs7QUNsQkw7Ozs7OztFQU1FO0FBRUY7dUJBQ3VCO0FBd0J2Qjt1QkFDdUI7QUFHdkI7RUFDQyxrQjdCZ0Y2QjtFNkIvRTdCLDBCOUI5QmM7RThCK0JkLGU3QjdCc0I7RTZCOEJ0QiwwQjdCM0JtQjtFNkI0Qm5CLGlCQXJCNEI7RUFzQjVCLHNCQUFxQjtFQUVyQixnQkFBZTtFQU1mLG1CQUFrQjtFQUNsQixzRUFBNkQ7VUFBN0QsOERBQTZEO0VBQzdELGdCQUFlO0VBQ2YsYUFBWTtFQUNaLFdBQVUsRUFDVjs7QUFFRDtFQUNDLGNBQWEsRUFDYjs7QUFHRDtFQUNDLGtCQUFpQixFQUNqQjs7QUFFRDtFQUNDLG1CQUFrQjtFQUNsQiwwQjlCNURjO0U4QjZEZCxpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBRWxCLDBCQUF5QixFQUN6Qjs7QUFFRDs7OztFQUlDLHNCQUFxQjtFQUNyQixjQUFhLEVBQ2I7O0FBRUQ7RUFDQyxjQUFhO0VBQ2IsZTdCM0VzQjtFNkI0RXRCLGtCQUFpQjtFQUNqQixrQjdCOEI2QjtFNkI3QjdCLGtCN0JnQ21DO0U2Qi9CbkMscUJBQW9CO0VBQ3BCLGlDN0JoRnNCLEU2QmtGdEI7O0FBRUQ7RUFDQyxvQjdCMEI2QjtFNkJ6QjdCLG1CQUFrQjtFQUNsQixnQkFBZTtFQUNmLG1CQUFrQjtFQUNsQixVQUFTO0VBQ1QsU0FBUTtFQUNSLGtDQUFxRDtFQUNyRCxXQUFVLEVBNkNWO0VBM0NBO0lBQ0MsV0FBVTtJQUNWLHlCQTVGNEIsRUFpRzVCO0lBUEE7TUFLQyw0QkFBd0QsRUFDeEQ7RUFHRjtJQUNDLFlBQVc7SUFDWCx3QkFyRzRCLEVBMEc1QjtJQVBBO01BS0MsMkJBQXVELEVBQ3ZEO0VBR0Y7SUFDQyxtQkFBa0I7SUFDbEIsT0FBTTtJQUNOLGVBQWM7SUFDZCxrQkFBaUI7SUFDakIsbUJBQWtCLEVBbUJsQjtJQWpCQTtNQUNDLFNBQVE7TUFDUix1QkFySDJCLEVBMEgzQjtNQVBBO1FBS0MsMEJBQXNELEVBQ3REO0lBR0Y7TUFDQyxVQUFTO01BQ1QsMEJBOUgyQixFQW1JM0I7TUFQQTtRQUtDLDZCQUF5RCxFQUN6RDs7QUFNSjtFQUNDLGE3Qi9CbUM7RTZCZ0NuQyxtQkFBa0IsRUFDbEI7O0FBRUQ7RUFDQyxZQTlJNkI7RUErSTdCLHNCQUFxQjtFQUNyQixjN0JyQzZCO0U2QnNDN0Isb0I3QnRDNkI7RTZCdUM3QixtQkFBa0I7RUFDbEIsaUJBM0krQixFQTRJL0I7O0FBRUQ7O0VBRUMsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWEsRUFDYjs7QUFFRDs7RUFFQyxlN0JqS3NCO0U2QmtLdEIsc0JBQXFCO0VBQ3JCLGM3QnBENkI7RTZCcUQ3QixvQjdCckQ2QjtFNkJzRDdCLG1CQUFrQjtFQUNsQixpQkExSitCO0VBNEovQixxQkFBWTtNQUFaLHFCQUFZO1VBQVosYUFBWSxFQUNaOztBQUVEO0VBQ0MscUJBQW9CLEVBQ3BCOztBQUVEO0VBQ0MsMEI3QnRFb0M7RTZCdUVwQywwQjdCdkVvQztFNkJ3RXBDLGdCQUFlLEVBK0RmO0VBbEVEO0lBS0UsaUJBMUsyQjtJQTJLM0IsMEI5QnZMYSxFOEJ3TGI7RUFFRDtJQUNDLGtCQUFpQixFQUNqQjtFQUVEO0lBQ0MsaUJBbkwyQjtJQW9MM0IsMEJBM0xxQztJQTRMckMsWUFBVyxFQUtYO0lBUkE7TUFNQywwQkFBMkQsRUFDM0Q7RUFHRjtJQUdDLGlCQS9MMkI7SUFnTTNCLDBCN0J2TWtCO0k2QndNbEIsc0I3QnhNa0I7STZCeU1sQixZQUFXLEVBS1g7SUFYQTtNQVNDLDBCQUF3RCxFQUN4RDtFQUdGO0lBQ0MsaUJBMU0yQjtJQTJNM0IsMEJBQTBEO0lBQzFELFlBQVcsRUFLWDtJQVJBO01BTUMsMEJBQXdELEVBQ3hEO0VBR0Y7SUFDQywwQzdCM05rQixFNkI0TmxCO0VBR0E7SUFDQywwQjlCck9ZO0k4QnNPWixlN0JwT29CLEU2QnFPcEI7RUFHRjtJQUNDLGdCQUFlO0lBQ2YsWUF0TzRCO0lBdU81QiwwQjlCN09hLEU4QmtQYjtJQVJBO01BTUMsOEJBQTZCLEVBQzdCOztBQUlIO0VBQ0MsbUJBQWtCO0VBQ2xCLHNCQUFxQixFQUNyQjs7QUFFRDs7RUFFQyw4QkFBNkI7RUFDN0IsaUJBalA0QixFQXFRNUI7RUF2QkQ7O0lBTUUsZ0JBQWUsRUFNZjtJQVpGOzs7O01BVUcsMEJBQXNELEVBQ3REO0VBR0Y7O0lBQ0MsdUJBblE0QjtJQW9RNUIsYUFBWTtJQUNaLGtCQUFpQjtJQUNqQixTQUFRO0lBQ1IsbUJBQWtCO0lBQ2xCLHNCQTdQa0MsRUE4UGxDOztBQUlGOztFQUVDLDBCOUJyUmM7RThCc1JkLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsVUFBUztFQUNULFVBQVM7RUFDVCxtQkFBa0I7RUFDbEIsaUJBL1E0QjtFQWdSNUIsMEI3QnZSbUIsRTZCaVNuQjtFQW5CRDs7SUFZRSxnQkFBZSxFQUNmO0VBRUQ7O0lBQ0MsY0FBYTtJQUNiLG1CQUFrQixFQUNsQjs7QUFHRjs7RUFFQyxrQkFBaUI7RUFDakIsWUFBVztFQUNYLGVBQWM7RUFDZCxrQkFBaUI7RUFDakIsbUJBQWtCLEVBZ0NsQjtFQXRDRDs7SUFTRSwwQkFyUzJCO0lBc1MzQiwyQkF0UzJCLEVBdVMzQjtFQVhGOztJQWNFLDBCQUF5QjtJQUN6Qix1QkFBc0I7SUFDdEIsc0JBQXFCO0lBQ3JCLGtCQUFpQjtJQUNqQiw2QkE5UzJCO0lBK1MzQiw4QkEvUzJCLEVBZ1QzQjtFQXBCRjs7SUF1QkUsdUJBelQ0QixFQWtVNUI7SUFoQ0Y7O01BMEJHLDZCQUF5RCxFQUN6RDtJQTNCSDs7TUE4QkcsMEJBQXNELEVBQ3REO0VBR0Y7O0lBQ0MsbUJBQWtCO0lBQ2xCLFdBQVUsRUFDVjs7QUFHRjtFQUNDLDhCQUE2QjtFQUM3QixVQUFTO0VBQ1QsZ0JBQWU7RUFDZixzQkFBcUI7RUFDckIsVUFBUztFQUNULFdBQVU7RUFDVixXQUFVO0VBQ1YsdUJBQXNCLEVBcUJ0QjtFQTdCRDtJQVdFLDBCN0J0VmtCO0k2QnVWbEIsbUJBQWtCO0lBQ2xCLFVBQVM7SUFDVCx1QkFBc0I7SUFDdEIsWUFBVztJQUNYLGlCQUFnQjtJQUNoQixnQkFBZTtJQUNmLGdCQUFlO0lBQ2YsYUFBWTtJQUNaLFlBQVc7SUFDWCxlQUFjO0lBQ2Qsb0JBQW1CO0lBQ25CLGFBQVk7SUFDWixtQkFBa0I7SUFDbEIsV0FBVTtJQUNWLG1CQUFrQjtJQUNsQixTQUFRLEVBQ1I7O0FBR0Y7RUFDQyxvQjlCaFhjO0U4QmlYZCw4QjdCNVdtQjtFNkI2V25CLGdCQUFlO0VBQ2YsbUJBQWtCO0VBQ2xCLGtCQUFpQjtFQUNqQixlQUFjO0VBQ2QsWUFBVyxFQUNYOztBQUVEO0VBQ0Msb0JBQW1CLEVBQ25COztBQUVEO0VBQ0MsZ0JBQWU7RUFDZixhQUFZO0VBQ1osY0FBYTtFQUNiLHFDQUFtQztFQUNuQyxRQUFPO0VBQ1AsT0FBTTtFQUNOLGdDQUF1QjtNQUF2QixzQkFBdUI7VUFBdkIsd0JBQXVCO0VBQ3ZCLDRCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isb0JBQW1CLEVBd0NuQjtFQWxERDs7SUFjRSxZQUFXO0lBQ1gsa0JBQWlCLEVBQ2pCO0VBR0Q7SUFuQkQ7O01Bc0JHLFlBQVc7TUFDWCxrQkFBaUIsRUFDakIsRUFBQTtFQXhCSDtJQTRCRSxtQkFBc0MsRUFDdEM7RUE3QkY7SUFnQ0Usa0NBQTJELEVBQzNEO0VBakNGO0lBb0NFLHlCQTNaNEIsRUFnYTVCO0lBekNGO01BdUNHLDRCQUF3RCxFQUN4RDtFQXhDSDtJQTRDRSx3QkFuYTRCLEVBd2E1QjtJQWpERjtNQStDRywyQkFBdUQsRUFDdkQ7O0FBY0g7dUJBQ3VCO0FBRXZCO0VBQ0MsV0FBVTtFQUNWLFVBQVM7RUFDVCxTQUFRO0VBQ1IsbUJBQWtCO0VBQ2xCLFlBQVcsRUFDWDs7QUFFRDtFQUNDLG1CQUFrQjtFQUNsQixZQUFXO0VBQ1gsd0NBQStCO1VBQS9CLGdDQUErQixFQUMvQjs7QUFFRDtFQUNDLGdCQUFlO0VBQ2YsT0FBTTtFQUNOLFFBQU87RUFDUCxTQUFRO0VBQ1IsVUFBUztFQUNULFdBQVU7RUFFVixxQ0FBNEIsRUFDNUI7O0FBRUQ7RUFDQyxjQUFhLEVBQ2I7O0FBRUQ7RUFDQyxrQkFBaUI7RUFDakIsZUFBYyxFQUNkOztBQUVEO0VBQ0Msc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw0QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQixnQ0FBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QjtFQUN2QixZQUFXO0VBQ1gsYUFBWSxFQUNaOztBQUdEO0VBQ0Msd0M3Qnhkd0M7RTZCeWR4QyxpQkFBZ0IsRUFDaEI7O0FBRUQ7RUFDQyxlQUFjO0VBQ2QsZTdCM2VtQjtFNkI0ZW5CLGlCQUFnQixFQUNoQjs7QUFFRDtFQUNDLHNCQUFxQixFQUNyQjs7QUFHRDtFQUNDLGFBQVk7RUFDVCxhQUFZO0VBQ1osWUFBVyxFQTJCZDtFQTlCRDtJQU1FLFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsWUFBVztJQUNYLGFBQVk7SUFDWixtQ0FBa0M7SUFDbEMsNkJBQTRCO0lBQzVCLHNEQUFxRDtJQUNyRCxPQUFNO0lBQ04sU0FBUTtJQUNSLHlCQUF3QjtJQUN4Qix3Q0FBK0I7WUFBL0IsZ0NBQStCLEVBQy9CO0VBRUQ7SUFDQyxpQ0FBd0I7UUFBeEIsNkJBQXdCO1lBQXhCLHlCQUF3QixFQUN4QjtFQUVEO0lBQ0Msa0NBQXlCO1FBQXpCLDhCQUF5QjtZQUF6QiwwQkFBeUIsRUFLekI7SUFOQTtNQUlDLFdBQVUsRUFDVjs7QUFJSDt1QkFDdUI7QUFDdkI7RUFDQztJQUNDLGFBQVk7SUFDWiwyQkFBa0I7UUFBbEIsdUJBQWtCO1lBQWxCLG1CQUFrQjtJQUVsQixrQkFBaUI7SUFDakIsbUJBQWtCO0lBQ2xCLGVBQWMsRUFDZDtFQUVEO0lBQ0MsZ0JBQWU7SUFDZixPQUFNO0lBQ04sUUFBTztJQUNQLFNBQVE7SUFDUixVQUFTO0lBRVQsd0JBQXVCO0lBRXZCLGdCN0J2Z0J1QixFNkJ3Z0J2QjtFQUVEO0lBQ0MsZUFBYztJQUNkLG1CQUFrQjtJQUNsQixZQUFXO0lBQ1gsZ0JBQWUsRUFDZjtFQUVEO0lBQ0MsY0FBYSxFQUNiO0VBRUQ7SUFDQywyQkFBMEI7SUFDMUIsc0NBQTZCO1FBQTdCLGtDQUE2QjtZQUE3Qiw4QkFBNkI7SUFDN0IsWUFBVztJQUNYLHdCQUF1QjtJQUN2QixpQkFBZ0I7SUFDaEIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYixnQ0FBdUI7UUFBdkIsc0JBQXVCO1lBQXZCLHdCQUF1QixFQUN2QixFQUFBOztBQzdrQkY7Ozs7R0FJRztBQUdIO3VCQUN1QjtBQXlCdkI7dUJBQ3VCO0FBK0J2Qjt1QkFDdUI7QUFFdkI7RUFDRSxvQkFBbUIsRUFDcEI7O0FBRUQ7dUJBQ3VCO0FBRXZCO0VBQ0UsZUFBYztFQUNkLG1CQUFrQixFQUNuQjs7QUFHRDt1QkFDdUI7QUFFdkI7RUFDRSxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLHVDQUE4QjtNQUE5Qix1QkFBOEI7VUFBOUIsK0JBQThCO0VBQzlCLDhCQUFxQjtNQUFyQix5QkFBcUI7VUFBckIsc0JBQXFCO0VBQ3JCLDRCQUFtQjtNQUFuQix3QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLHVCQUFzQixFQUN2Qjs7QUFFRDtFQUNFLGdCQUFlO0VBQ2YsWUExRTJCO0VBMkUzQixrQkFBaUI7RUFDakIsa0JBQWlCO0VBQ2pCLDJCQUEwQjtFQUMxQiwwQkFBeUI7RUFDekIsZTlCckZrQixFOEIwRm5CO0VBWkQ7SUFVSSxlQUE2QixFQUM5Qjs7QUFHSDtFQUNFLFVBQVM7RUFDVCwwQkFBeUI7RUFDekIsa0JBQWlCO0VBQ2pCLGU5QjdGaUIsRThCOEZsQjs7QUFFRDt1QkFDdUI7QUFFdkI7RUFDRSxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLFlBQVcsRUFJWjtFQU5EO0lBSUksaUJBQWdCLEVBQ2pCOztBQUlIO3VCQUN1QjtBQUV2QjtFQUNFLG9CQUFtQjtFQUNuQixtQkFBa0I7RUFDbEIsa0JBQWlCO0VBQ2pCLHFCQUFvQjtFQUNwQixZQXhId0I7RUF5SHhCLGtCQUFpQjtFQUNqQiwwQkFBeUIsRUFDMUI7O0FBR0Q7dUJBQ3VCO0FBRXZCO0VBQ0Usb0JBQW1CO0VBQ25CLGlCQWpINEI7RUFrSDVCLGdCQUFlLEVBQ2hCOztBQUdEO0VBQ0UsMEJBQXlCO0VBQ3pCLFlBMUl3QixFQTJJekI7O0FBR0Q7RUFDRSxtQkFBa0I7RUFDbEIsZUF4STRCO0VBeUk1QixrQkFBaUI7RUFDakIsaUI5Qm5IcUI7RThCb0hyQixZQUFXLEVBS1o7O0FBR0Q7RUFDRSxtQkFBa0I7RUFDbEIsUUFBTztFQUNQLFNBQVE7RUFDUixZQUFXO0VBQ1gsV0FBVTtFQUNWLDJDQUEwQztFQUMxQyxtQkFBa0I7RUFDbEIsMEJBQXlCLEVBQzFCOztBQUdEO3VCQUN1QjtBQUV2QjtFQUNFLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsK0JBQXNCO01BQXRCLDJCQUFzQjtVQUF0Qix1QkFBc0I7RUFDdEIsdUNBQThCO01BQTlCLHVCQUE4QjtVQUE5QiwrQkFBOEI7RUFDOUIsZ0NBQXVCO01BQXZCLHNCQUF1QjtVQUF2Qix3QkFBdUI7RUFDdkIsbUJBQWtCO0VBQ2xCLGdCQUFlO0VBQ2YsZUFBYztFQUNkLGtCQUFpQjtFQUNqQixhQUFZO0VBQ1osb0I5QjVLb0I7RThCNktwQixtQkFBa0I7RUFDbEIsMEJBdkw4QjtFQXdMOUIsaUJBQWdCLEVBZ0VqQjtFQTdFRDtJQWdCSSxvQkE1S3dDLEVBbUx6QztJQXZCSDs7TUFvQk0sZTlCdExnQixFOEJ1TGpCO0VBT0g7O0lBRUUsb0JBMUx3QztJQTJMeEMsMEJBM0x3QztJQTRMeEMsZTlCbE1rQixFOEJ3TW5CO0lBVkQ7Ozs7TUFRSSxlOUJ0TWdCLEU4QnVNakI7RUFyQ0w7OztJQThDSSxvQkF2TXdDO0lBd014QyxnQkFBZTtJQUNmLHFCQUFvQjtJQUNwQiwwQkExTXdDLEVBcU56QztJQTVESDs7O01BbURNLFlBN05vQixFQThOckI7SUFwREw7OztNQXNETSxpQkFBZ0IsRUFDakI7SUF2REw7Ozs7O01BMERNLGNBQWEsRUFDZDtFQTNETDtJQWlFSSx1QkFyTzRCLEVBc083QjtFQWxFSDs7SUFzRUksbUJBQWtCO0lBQ2xCLE9BQU07SUFDTixXQUFVO0lBQ1Ysb0JBQW1CO0lBQ25CLGdFQUErRCxFQUNoRTs7QUFLSDt1QkFDdUI7QUFFdkI7RUFDRSxtQkFBa0I7RUFDbEIsT0FBTTtFQUNOLFVBQVM7RUFDVCxRQUFPO0VBQ1AsU0FBUTtFQUNSLFdBQVU7RUFDVix1Q0FBMEIsRUFDM0I7O0FBR0Q7dUJBQ3VCO0FBRXZCO0VBQ0Usa0JBQWlCO0VBQ2pCLG9CQUFtQixFQUNwQjs7QUFFRDtFQUNFLGU5QjdRaUI7RThCOFFqQixrQkFBaUI7RUFDakIsa0JBQWlCO0VBQ2pCLG9CQUFtQixFQUNwQjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLHVCQUFtQztFQUNuQyxnQ0FBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QixFQXlCeEI7RUE3QkQ7SUFPSSwwQkFBeUI7SUFDekIsYUFBWTtJQUNaLG1CQUFrQjtJQUNsQixxQkFBb0IsRUFDckI7RUFYSDtJQWNJLDBCQUF5QixFQUMxQjtFQWZIO0lBa0JJLGdCQUFlLEVBQ2hCO0VBbkJIO0lBc0JJLFlBQVc7SUFDWCxzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLHVCQUFrQyxFQUNuQztFQXpCSDtJQTJCSSxjQUFhLEVBQ2Q7O0FBSUg7dUJBQ3VCO0FBRXZCO0VBQ0Usb0JBQW1CLEVBS3BCO0VBTkQ7SUFJSSxlOUIxVGUsRThCMlRoQjs7QUFHSDtFQUNFLGNBQWEsRUFDZDs7QUFFRDtFQUdJLG9CQTNUd0M7RUE0VHhDLDBCQTVUd0MsRUFrVXpDO0VBVkg7O0lBUU0sZTlCdFVnQixFOEJ1VWpCOztBQUlMO0VBQ0Usa0JBQWlCO0VBQ2pCLG1CQUFrQixFQUNuQjs7QUFLRDtFQUdJLFNBQVE7RUFDUixvQ0FBMkI7TUFBM0IsZ0NBQTJCO1VBQTNCLDRCQUEyQjtFQUMzQixXQUFVLEVBQ1g7O0FBTkg7RUFXTSxXQUFVO0VBQ1YsV0FBVTtFQUNWLG1CQUFrQixFQUNuQjs7QUFkTDtFQWlCTSxXQUFVO0VBQ1YsV0FBVTtFQUNWLG1CQUFrQixFQUNuQjs7QUFLTDt1QkFDdUI7QUFFdkI7RUFFRTtJQUNFLGlCQUFnQixFQUNqQjtFQUNEO0lBQ0UsaUJBQWdCLEVBQ2pCLEVBQUE7O0FBR0g7RUFFRTtJQUNFLGtCQUFpQjtJQUNqQixxQkFBWTtRQUFaLHFCQUFZO1lBQVosYUFBWSxFQUNiLEVBQUE7O0FBTUg7RUFFRTtJQUNFLGlCQUFnQjtJQUNoQixpQkFBZ0IsRUFDakI7RUFFRDtJQUNFLGVBQWMsRUFDZjtFQUVEO0lBQ0Usa0JBQWlCLEVBQ2xCO0VBRUQ7SUFHSSxxQkFBb0IsRUFDckI7RUFHSDtJQUNFLG9CQUFtQixFQUNwQixFQUFBOztBQU1IO0VBRUU7SUFDRSxXQUFVO0lBQ1YsaUJBQWdCLEVBQ2pCO0VBRUQ7SUFDRSxrQkFBaUI7SUFDakIsc0JBamEwQjtJQWthMUIsd0JBQW1DLEVBQ3BDO0VBRUQ7SUFDRSxnQkFBZTtJQUNmLGlCOUI1Wm9CLEU4QjZackI7RUFFRDtJQUNFLHVCQUFzQixFQUN2QjtFQUVEO0lBQ0UsaUJBQWdCLEVBQ2pCO0VBRUQ7SUFDRSxrQkFBaUIsRUFDbEI7RUFFRDtJQUNFLG1CQUFrQixFQUNuQjtFQUVEO3lCQUN1QjtFQUV2QjtJQUNJLGlCQUFnQixFQUNuQixFQUFBOztBQzlkSDs7OztHQUlHO0FBRUg7dUJBQ3VCO0FBYXZCO3VCQUN1QjtBQUd2QjtFQUNFLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsK0JBQXNCO01BQXRCLDJCQUFzQjtVQUF0Qix1QkFBc0I7RUFDdEIsb0NBQTJCO01BQTNCLHFCQUEyQjtVQUEzQiw0QkFBMkI7RUFDM0IsMEJBQWlCO01BQWpCLHNCQUFpQjtVQUFqQixrQkFBaUI7RUFDakIsK0JBQTJDO0VBQzNDLHdCQUF1QixFQUN4Qjs7QUFFRDtFQUNFLGdDQUF1QjtNQUF2QixzQkFBdUI7VUFBdkIsd0JBQXVCO0VBQ3ZCLGFBQVk7RUFDWixXQUFVO0VBQ1YsVUFBUyxFQUNWOztBQUdEOztFQUVFLG1CQUFrQixFQVVuQjtFQVpEOztJQUlJLFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsT0FBTTtJQUNOLFFBQU87SUFDUCxTQUFRO0lBQ1IsVUFBUztJQUNULDJDL0I5QmtCLEUrQitCbkI7O0FBS0g7RUFDRSx5QkFBZ0I7TUFBaEIsOEJBQWdCO1VBQWhCLGlCQUFnQjtFQUNoQixtQkFBa0I7RUFDbEIsaUJBQWdCLEVBQ2pCOztBQUVEO0VBQ0Usc0JBdEQwQztFQXVEMUMsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixhQXhENEM7RUF5RDVDLGlCQUEyQjtFQUMzQixtQkFBa0IsRUFDbkI7O0FBRUQ7RUFDRSxXQUFVLEVBQ1g7O0FBR0Q7RUFDRSxxQkFBWTtNQUFaLHFCQUFZO1VBQVosYUFBWTtFQUNaLGtCL0IvQnVCLEUrQmdDeEI7O0FBRUQ7RUFDRSxtQkFBa0I7RUFDbEIsZ0JBQWU7RUFDZiwwQkFBeUI7RUFDekIsZS9CdEN1QixFK0J1Q3hCOztBQUVEO0VBQ0UsbUJBQWtCO0VBQ2xCLDBCQUF5QjtFQUN6QixrQkFBaUI7RUFDakIscUJBQW9CLEVBQ3JCOztBQUVEO0VBQ0UsZUFBYztFQUNkLFdBQVU7RUFDVixpQkFBZ0I7RUFDaEIsYUFBWTtFQUNaLHVCQUFjO01BQWQscUJBQWM7VUFBZCxlQUFjO0VBQ2QsaUJBQVE7TUFBUixrQkFBUTtVQUFSLFNBQVE7RUFDUixrQkFBaUIsRUFDbEI7O0FBRUQ7RUFDRSx5QkFBZ0I7TUFBaEIsOEJBQWdCO1VBQWhCLGlCQUFnQjtFQUNoQixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLCtCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLGlCQUFnQjtFQUNoQixtQkFBa0I7RUFDbEIsaUJBQVE7TUFBUixrQkFBUTtVQUFSLFNBQVE7RUFDUiwwQi9CcEd1QjtFK0JxR3ZCLFdBQVU7RUFFVixnQkFBZTtFQUNmLFVBQVM7RUFDVCxRQUFPO0VBQ1AsU0FBUSxFQVFUO0VBckJEO0lBaUJJLG1CL0IzRXFCO0krQjRFckIsd0NBQStCO1lBQS9CLGdDQUErQjtJQUMvQixlQUFjLEVBQ2Y7O0FBR0g7RUFDRSx3Qy9Cdkd1QztFK0J3R3ZDLGlCL0J6RnNCO0UrQjBGdEIsZ0JBQWU7RUFDZiwwQkFBeUI7RUFDekIsc0JBQXFCO0VBQ3JCLGNBQWEsRUFDZDs7QUFFRDtFQUNFLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsNEJBQW1CO01BQW5CLHdCQUFtQjtVQUFuQixvQkFBbUI7RUFDbkIsa0IvQjdGdUI7RStCOEZ2Qiw0QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQixpQkFBZ0IsRUFDakI7O0FBRUQ7RUFDRSxlL0JnRndDO0UrQi9FeEMsb0JBQW1CLEVBQ3BCOztBQUVEO0VBQ0UsZS9CMUlrQjtFK0IySWxCLGtCQUFpQixFQUNsQjs7QUFFRDs7RUFFRSxnQi9COUd1QixFK0IrR3hCOztBQUVEO0VBQ0UscUJBQVk7TUFBWixxQkFBWTtVQUFaLGFBQVk7RUFDWixjQUFhLEVBQ2Q7O0FBRUQ7RUFDRSwwQkFBeUIsRUFDMUI7O0FBRUQ7RUFDRSxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDBCQUF5QjtFQUN6QixrQkFBaUI7RUFDakIsZUFBYztFQUNkLGlDL0JuS2tCO0UrQm9LbEIsd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlO0VBQ2Ysa0JBQTJCLEVBTTVCO0VBSkM7SUFDRSxvQkFBOEI7SUFDOUIsa0JBQWlCLEVBQ2xCOztBQUdIO0VBQ0UsOEIvQjlLa0IsRStCK0tuQjs7QUFFRDtFQUNFLHVDQUE4QjtNQUE5Qix1QkFBOEI7VUFBOUIsK0JBQThCLEVBQy9COztBQUVEO0VBQ0UsdUNBQThCO01BQTlCLHVCQUE4QjtVQUE5QiwrQkFBOEIsRUFDL0I7O0FBRUQ7RUFDRSxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLHVDQUE4QjtNQUE5Qix1QkFBOEI7VUFBOUIsK0JBQThCO0VBQzlCLGtCQUFpQjtFQUNqQixZQUFXO0VBQ1gsdUJBQWlDLEVBQ2xDOztBQUVEO0VBQ0UsZS9CaE1rQjtFK0JpTWxCLGtCQUFpQjtFQUNqQix3Qy9Cckx1QztFK0JzTHZDLGlCL0J2S3NCO0UrQndLdEIscUJBQW9CLEVBQ3JCOztBQUVEO0VBQ0Usa0JBQWlCLEVBQ2xCOztBQUVEO0VBQ0UsbUJBQWtCO0VBQ2xCLGdCQUNtRTtFQUNuRSxpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBQ2xCLGlCQUFRO01BQVIsa0JBQVE7VUFBUixTQUFRLEVBQ1Q7O0FBRUQ7RUFDRSwwQi9Cck5rQjtFK0JzTmxCLG1DQUFrQztFQUNsQyxzQkFBcUI7RUFDckIsZUFBYztFQUNkLGFBck44QztFQXNOOUMsbUJBQWtCO0VBQ2xCLHNFQUNrQjtNQURsQixrRUFDa0I7VUFEbEIsOERBQ2tCO0VBQ2xCLFlBQVcsRUFzQlo7RUEvQkQ7SUFZSSxZQUFXO0lBQ1gsbUJBQWtCO0lBQ2xCLHNCQUFxQjtJQUNyQixTQUFRO0lBQ1IsVUFBUztJQUNULG9CQUFtQjtJQUNuQixrQ0FBNkQ7SUFDN0QsMERBQ2E7SUFDYixVQUFTO0lBQ1Qsb0NBQTJCO1FBQTNCLGdDQUEyQjtZQUEzQiw0QkFBMkI7SUFDM0IsaUJBek93QztJQTBPeEMsaUNBQWdFLEVBQ2pFO0VBRUQ7O0lBRUUsY0FBYSxFQUNkOztBQUdIO0VBQ0UsaUIvQjFOc0I7RStCMk50QixtQkFBa0I7RUFDbEIsMEJBQXlCO0VBQ3pCLGUvQmxQb0IsRStCbVByQjs7QUFHQztFQUNFLGdEQUF1QztVQUF2Qyx3Q0FBdUMsRUFDeEM7O0FBSUQ7RUFDRSxzREFBNkM7VUFBN0MsOENBQTZDLEVBQzlDOztBQUlEO0VBQ0Usc0RBQTZDO1VBQTdDLDhDQUE2QyxFQUM5Qzs7QUFHSDtFQUNFLG1CQUFrQixFQUNuQjs7QUFFRDtFQUNFLG1CQUFrQjtFQUNsQixtQkFBa0I7RUFDbEIsbUJBQWtCO0VBQ2xCLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsK0JBQXNCO01BQXRCLDJCQUFzQjtVQUF0Qix1QkFBc0IsRUFhdkI7RUFsQkQ7SUFTSSxZQUFXO0lBQ1gsbUJBQWtCO0lBQ2xCLFFBQU87SUFDUCxTQUFRO0lBQ1IsYUFBWTtJQUNaLFlBQVc7SUFDWCxXQUFVO0lBQ1YsMEIvQmxTZ0IsRStCbVNqQjs7QUFHSDtFQUNFLGlCL0IzUXNCO0UrQjRRdEIsMEJBQXlCO0VBQ3pCLGlCQUFRO01BQVIsa0JBQVE7VUFBUixTQUFRO0VBQ1Isc0JBQXFCO0VBQ3JCLGdCQUFlO0VBQ2Ysd0MvQi9SdUMsRStCZ1N4Qzs7QUFFRDtFQUNFLGtCQUFpQjtFQUNqQixpQkFBZ0I7RUFDaEIsbUJBQWtCLEVBS25CO0VBUkQ7SUFNSSxlQUFjLEVBQ2Y7O0FBR0g7RUFDRSxVQUFTO0VBQ1QsaUJBQVE7TUFBUixrQkFBUTtVQUFSLFNBQVE7RUFDUixnQkFBZTtFQUNmLGtCQUFpQixFQUNsQjs7QUFFRDtFQUNFLGlCQUFnQjtFQUNoQixtQkFBa0I7RUFDbEIsa0IvQmpTdUIsRStCa1N4Qjs7QUFFRDtFQUNFLGdCQUFlO0VBQ2YsZUFBYztFQUNkLGFBQVk7RUFDWixlQUFjLEVBQ2Y7O0FBRUQ7RUFDRSxlL0I5VWtCO0UrQitVbEIsZ0JBQWU7RUFDZix3Qy9CblV1QztFK0JvVXZDLGlCQUFnQixFQUNqQjs7QUFFRDtFQUNFLGtCQUFpQjtFQUNqQixpQi9CeFRxQixFK0J5VHRCOztBQUVEO3VCQUN1QjtBQUV2QjtFQUNFLGlCQUFRO01BQVIsa0JBQVE7VUFBUixTQUFRO0VBQ1IsMEIvQi9WdUI7RStCZ1d2QixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDRCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLDRCQUFtQjtNQUFuQix3QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLHFCL0JoVXVCO0UrQmlVdkIsV0FBVSxFQUNYOztBQUVEO0VBQ0UsNENBQW1DO1VBQW5DLG9DQUFtQztFQUNuQyxnQkFBZTtFQUNmLFVBQVM7RUFDVCxRQUFPO0VBQ1AsU0FBUTtFQUNSLFdBQVUsRUFDWDs7QUFFRDtFQUNFLCtCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsNEJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixvQkFBbUI7RUFDbkIsZS9COUp3QyxFK0IrSnpDOztBQUVEO0VBQ0Usa0JBQWlCLEVBS2xCO0VBTkQ7SUFJSSxtQkFBa0IsRUFDbkI7O0FBR0g7RUFDRSxrQkFBaUI7RUFDakIsZS9CaFlrQixFK0JpWW5COztBQUVEO3VCQUN1QjtBQUV2QjtFQUNFLGdCQUFlLEVBS2hCO0VBTkQ7SUFJSSxtQkFBa0IsRUFDbkI7O0FBR0g7RUFDRSxnQkFBZTtFQUNmLDBCQUF5QjtFQUN6QixtQkFBa0I7RUFDbEIsZ0JBQWUsRUFDaEI7O0FBRUQ7dUJBQ3VCO0FBRXZCO0VBQ0UsY0FBYSxFQUNkOztBQUVEO0VBQ0UsY0FBYSxFQUNkOztBQUVEO3VCQUN1QjtBQUV2QjtFQUNFO0lBQ0Usc0VBQ2tCO1lBRGxCLDhEQUNrQixFQUFBO0VBRXBCO0lBQ0Usa0RBQXlDO1lBQXpDLDBDQUF5QyxFQUFBLEVBQUE7QUFON0M7RUFDRTtJQUNFLHNFQUNrQjtZQURsQiw4REFDa0IsRUFBQTtFQUVwQjtJQUNFLGtEQUF5QztZQUF6QywwQ0FBeUMsRUFBQSxFQUFBOztBQUk3QztFQUNFO0lBQ0UsV0FBVTtJQUNWLG9DQUEyQjtZQUEzQiw0QkFBMkIsRUFBQTtFQUU3QjtJQUNFLFdBQVUsRUFBQTtFQUVaO0lBQ0UsaUNBQXdCO1lBQXhCLHlCQUF3QixFQUFBLEVBQUE7O0FBVDVCO0VBQ0U7SUFDRSxXQUFVO0lBQ1Ysb0NBQTJCO1lBQTNCLDRCQUEyQixFQUFBO0VBRTdCO0lBQ0UsV0FBVSxFQUFBO0VBRVo7SUFDRSxpQ0FBd0I7WUFBeEIseUJBQXdCLEVBQUEsRUFBQTs7QUFJNUI7dUJBQ3VCO0FBRXZCO0VBQ0U7SUFDRSxZQUFXO0lBQ1gsWUFBVyxFQUNaLEVBQUE7O0FBS0g7RUFDRTtJQUVJLG1CQUFrQixFQUNuQixFQUFBOztBQU1MO0VBQ0U7SUFDRSxnQkFBZSxFQUNoQjtFQUVEO0lBQ0UsNEJBQW1CO1FBQW5CLHdCQUFtQjtZQUFuQixvQkFBbUI7SUFDbkIsZ0NBQXVCO1FBQXZCLHNCQUF1QjtZQUF2Qix3QkFBdUIsRUFDeEI7RUFFRDtJQUNFLGlCQUFRO1FBQVIsa0JBQVE7WUFBUixTQUFRLEVBQ1Q7RUFFRDtJQUNFLGlCQUFRO1FBQVIsa0JBQVE7WUFBUixTQUFRO0lBQ1IsT0FBTTtJQUNOLGtCL0IvYnFCLEUrQmdjdEI7RUFFRDtJQUNFLGdCQUFlO0lBQ2Ysc0JBQXFCO0lBQ3JCLGlCQUFRO1FBQVIsa0JBQVE7WUFBUixTQUFRLEVBQ1Q7RUFFRDtJQUNFLGlCQUFRO1FBQVIsa0JBQVE7WUFBUixTQUFRO0lBQ1IsWUFBVztJQUNYLDBCQUFpQjtRQUFqQiwrQkFBaUI7WUFBakIsa0JBQWlCO0lBQ2pCLGlCQUFnQjtJQUNoQiw4QkFBNkI7SUFDN0IsbUJBQWtCO0lBQ2xCLGtCQUFpQjtJQUNqQixtQkFBa0I7SUFDbEIsT0FBTSxFQWFQO0lBdEJEO01BY0ksbUJBQWtCO01BQ2xCLFVBQVM7TUFDVCxVQUFTO01BQ1QsWUFBVztNQUNYLFlBQVc7TUFDWCxXQUFVO01BQ1YsMEIvQi9mbUIsRStCZ2dCcEI7RUFHSDtJQUNFLGVBQWMsRUFDZjtFQUVEO0lBQ0UsZUFBYyxFQUNmO0VBRUQ7SUFDRSxlQUFjLEVBQ2Y7RUFFRDtJQUNFLCtCQUFzQjtRQUF0QiwyQkFBc0I7WUFBdEIsdUJBQXNCO0lBQ3RCLFdBQVU7SUFDViw0QkFBbUI7UUFBbkIsdUJBQW1CO1lBQW5CLG9CQUFtQjtJQUNuQixjQUFhLEVBQ2Q7RUFFRDtJQUNFLGUvQm5oQmU7SStCb2hCZixnQkFBZTtJQUNmLG9CQUFtQixFQUNwQjtFQUVEO0lBQ0Usc0JBQXFCLEVBS3RCO0lBTkQ7TUFJSSxjQUFhLEVBQ2Q7RUFHSDtJQUNFLGlCQUFRO1FBQVIsa0JBQVE7WUFBUixTQUFRO0lBQ1IsbUJBQWtCO0lBQ2xCLGlCL0J6Z0JxQjtJK0IwZ0JyQixrQkFBaUIsRUFDbEI7RUFFRDtJQUNFLFdBQVU7SUFDViw4Qi9CN2lCcUIsRStCOGlCdEI7RUFFRDtJQUNFLHFCQUFvQjtJQUNwQixhQTlpQnFDLEVBb2pCdEM7SUFSRDtNQU1JLDBDQUF5QyxFQUMxQztFQUdIO0lBQ0UsY0FBYSxFQUNkO0VBRUQ7SUFDRSxvQkFBbUIsRUFDcEI7RUFFRDtJQUNFLGNBQWEsRUFDZDtFQUVEOztJQUVFLGNBQWEsRUFDZCxFQUFBOztBQUdIO0VBQ0U7SUFDRSxXQUFVLEVBQ1gsRUFBQTs7QUM1bEJIOzs7OztHQUtHO0FBR0g7RUFDSSxhQUFZO0VBQ1osbUJBQWtCO0VBQ2xCLGlCQUFnQjtFQUNoQixtSEFBc0csRUFDekc7O0FBRUQ7RUFDSSxXQUFVO0VBQ1YsZ0JBQWUsRUFDbEIiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRNYWluIHNjcmVlbiBzdHlsZXNoZWV0XHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdFx0QmFzZSBmaWxlcywgbG9hZCBmaXJzdFxyXG5cdCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBNeUZvbnRzIFdlYmZvbnQgQnVpbGQgSUQgMzIwOTU1MCwgMjAxNi0wNC0yNlQwNjoxMDoyOC0wNDAwXHJcbiAqIFxyXG4gKiBUaGUgZm9udHMgbGlzdGVkIGluIHRoaXMgbm90aWNlIGFyZSBzdWJqZWN0IHRvIHRoZSBFbmQgVXNlciBMaWNlbnNlXHJcbiAqIEFncmVlbWVudChzKSBlbnRlcmVkIGludG8gYnkgdGhlIHdlYnNpdGUgb3duZXIuIEFsbCBvdGhlciBwYXJ0aWVzIGFyZSBcclxuICogZXhwbGljaXRseSByZXN0cmljdGVkIGZyb20gdXNpbmcgdGhlIExpY2Vuc2VkIFdlYmZvbnRzKHMpLlxyXG4gKiBcclxuICogWW91IG1heSBvYnRhaW4gYSB2YWxpZCBsaWNlbnNlIGF0IHRoZSBVUkxzIGJlbG93LlxyXG4gKiBcclxuICogV2ViZm9udDogQmVsbE1UU3RkLVJlZ3VsYXIgYnkgTW9ub3R5cGUgXHJcbiAqIFVSTDogaHR0cDovL3d3dy5teWZvbnRzLmNvbS9mb250cy9tdGkvYmVsbC1tdC9zdGQtcmVndWxhci9cclxuICogQ29weXJpZ2h0OiBDb3B5cmlnaHQgMTk5OCwgMjAwMiBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4gQ29weXJpZ2h0IDE5OTgsIDIwMDIgVGhlIE1vbm90eXBlIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG4gKiBMaWNlbnNlZCBwYWdldmlld3M6IDI1MCwwMDBcclxuICogXHJcbiAqIFdlYmZvbnQ6IFN0YW5kYXJkQ1QtQm9sZENvbmQgYnkgQ2FzdGxlVHlwZVxyXG4gKiBVUkw6IGh0dHA6Ly93d3cubXlmb250cy5jb20vZm9udHMvY2FzdGxldHlwZS9zdGFuZGFyZC9jb25kZW5zZWQtYm9sZC9cclxuICogQ29weXJpZ2h0OiBDb3B5cmlnaHQgKGMpIENhc3RsZVR5cGUsIDIwMDUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbiAqIExpY2Vuc2VkIHBhZ2V2aWV3czogMTAsMDAwXHJcbiAqIFxyXG4gKiBXZWJmb250OiBBdmVuaXJOZXh0TFRQcm8tUmVndWxhciBieSBMaW5vdHlwZVxyXG4gKiBVUkw6IGh0dHA6Ly93d3cubXlmb250cy5jb20vZm9udHMvbGlub3R5cGUvYXZlbmlyLW5leHQtcHJvL3Byby1yZWd1bGFyL1xyXG4gKiBDb3B5cmlnaHQ6IENvcHlyaWdodCAmI3gwMEE5OyAyMDA0IC0gMjAwNyBMaW5vdHlwZSBHbWJILCB3d3cubGlub3R5cGUuY29tLiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIGZvbnQgc29mdHdhcmUgbWF5IG5vdCBiZSByZXByb2R1Y2VkLCBtb2RpZmllZCwgZGlzY2xvc2VkIG9yIHRyYW5zZmVycmVkIHdpdGhvdXQgdGhlIGV4cHJlc3Mgd3JpdHRlbiBhcHByb3ZhbCBvZiBMaW5vdHlwZSBHbWJILiBBdmVuaXIgaXMgYSB0cmFkZW1hcmsgb2YgTGlub3R5cGUgR21iSFxyXG4gKiBMaWNlbnNlZCBwYWdldmlld3M6IDI1MCwwMDBcclxuICogXHJcbiAqIFdlYmZvbnQ6IEF2ZW5pckxUU3RkLVJvbWFuIGJ5IExpbm90eXBlXHJcbiAqIFVSTDogaHR0cDovL3d3dy5teWZvbnRzLmNvbS9mb250cy9saW5vdHlwZS9hdmVuaXIvNTUtcm9tYW4vXHJcbiAqIENvcHlyaWdodDogQ29weXJpZ2h0ICYjeDAwQTk7IDE5ODksIDE5OTUsIDIwMDIgQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQuICBBbGwgUmlnaHRzIFJlc2VydmVkLiAmI3gwMEE5OyAxOTgxLCAxOTk1LCAyMDAyIEhlaWRlbGJlcmdlciBEcnVja21hc2NoaW5lbiBBRy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuICogTGljZW5zZWQgcGFnZXZpZXdzOiAyNTAsMDAwXHJcbiAqIFxyXG4gKiBcclxuICogTGljZW5zZTogaHR0cDovL3d3dy5teWZvbnRzLmNvbS92aWV3bGljZW5zZT90eXBlPXdlYiZidWlsZGlkPTMyMDk1NTBcclxuICogXHJcbiAqIMKpIDIwMTYgTXlGb250cyBJbmNcclxuKi9cbi8qIEBpbXBvcnQgbXVzdCBiZSBhdCB0b3Agb2YgZmlsZSwgb3RoZXJ3aXNlIENTUyB3aWxsIG5vdCB3b3JrICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdCZWxsTVRTdGQtUmVndWxhcic7XG4gIHNyYzogdXJsKFwid2ViZm9udHMvMzBGOTRFXzBfMC5lb3RcIik7XG4gIHNyYzogdXJsKFwid2ViZm9udHMvMzBGOTRFXzBfMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCJ3ZWJmb250cy8zMEY5NEVfMF8wLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCJ3ZWJmb250cy8zMEY5NEVfMF8wLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwid2ViZm9udHMvMzBGOTRFXzBfMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnU3RhbmRhcmRDVC1Cb2xkQ29uZCc7XG4gIHNyYzogdXJsKFwid2ViZm9udHMvMzBGOTRFXzFfMC5lb3RcIik7XG4gIHNyYzogdXJsKFwid2ViZm9udHMvMzBGOTRFXzFfMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCJ3ZWJmb250cy8zMEY5NEVfMV8wLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCJ3ZWJmb250cy8zMEY5NEVfMV8wLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwid2ViZm9udHMvMzBGOTRFXzFfMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQXZlbmlyTmV4dExUUHJvLVJlZ3VsYXInO1xuICBzcmM6IHVybChcIndlYmZvbnRzLzMwRjk0RV8yXzAuZW90XCIpO1xuICBzcmM6IHVybChcIndlYmZvbnRzLzMwRjk0RV8yXzAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwid2ViZm9udHMvMzBGOTRFXzJfMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwid2ViZm9udHMvMzBGOTRFXzJfMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIndlYmZvbnRzLzMwRjk0RV8yXzAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0F2ZW5pckxUU3RkLVJvbWFuJztcbiAgc3JjOiB1cmwoXCJ3ZWJmb250cy8zMEY5NEVfM18wLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCJ3ZWJmb250cy8zMEY5NEVfM18wLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIndlYmZvbnRzLzMwRjk0RV8zXzAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIndlYmZvbnRzLzMwRjk0RV8zXzAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCJ3ZWJmb250cy8zMEY5NEVfM18wLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiEgbm9ybWFsaXplLmNzcyB2NC4xLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKipcclxuICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIGFuZCBpT1MuXHJcbiAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cclxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxyXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cclxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cclxuICovXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXHJcbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxyXG4gKi9cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxyXG4gKi9cbnRlbXBsYXRlLFxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIExpbmtzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxyXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXHJcbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXHJcbiAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXHJcbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXHJcbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cclxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cblxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXHJcbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cclxuICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcclxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cclxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXHJcbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxyXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cclxuICogYWxsIGJyb3dzZXJzLlxyXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cclxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqXHJcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxyXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cclxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxyXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cclxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qIEZvcm1zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogMS4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cclxuICovXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogUmVzdG9yZSB0aGUgZm9udCB3ZWlnaHQgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXHJcbiAqL1xub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKipcclxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXHJcbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXHJcbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cclxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxyXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXHJcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxyXG4gKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXHJcbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXHJcbiAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXHJcbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXHJcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cclxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcclxuICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXHJcbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cclxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxyXG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cclxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcclxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cclxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXHJcbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXHJcbiAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxyXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cclxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cclxuICovXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxyXG4gKiBDb3JyZWN0IHRoZSB0ZXh0IHN0eWxlIG9mIHBsYWNlaG9sZGVycyBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXHJcbiAqL1xuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIG9wYWNpdHk6IDAuNTQ7IH1cblxuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXHJcbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cclxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBOYW1lOiBWYXJpYWJsZXNcclxuICpcclxuICogQmFzZSB2YXJpYWJsZXMgdGhlIHNpdGUgY2Fubm90IHdvcmsgd2l0aG91dC5cclxuICovXG4vKiBDb2xvdXJzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4vKiBCcmVha3BvaW50c1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLyogU2l6ZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEFuaW1hdGlvbnNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHotaW5kZXg6IDEwMDA7IH1cbiAgOTklIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogLTE7IH0gfVxuXG4vKipcclxuICogTmFtZTogR2xlbmVhZ2xlcyB0aGVtZVxyXG4gKlxyXG4gKiBDaGFuZ2VzIHRoZSBsb29rIGFuZCBmZWVsIG9mIHRoZSBjb21wb25lbnRzLlxyXG4gKi9cbi8qIEJhc2UgY29sb3Vyc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQnJhbmQgY29sb3VycyAqL1xuLyogQmFzZSBjb21wb25lbnQgY29sb3VycyAqL1xuLyogQmFzZSBjb2xvdXJzICovXG4vKiBCYXNlIGZvbnRzICYgc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4vKiBCYXNlIFNwYWNpbmdcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEljb25zXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4vKiBDb21wb25lbnRzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuXHQqIFBhZ2UgaGVhZGVyXHJcblx0Ki9cbi8qKlxyXG5cdCogU3VtbWFyeSBiYXJcclxuXHQqL1xuLyoqXHJcblx0KiBNdWx0aSByb29tIGJhclxyXG5cdCovXG4vKipcclxuXHQqIFByb2dyZXNzIGJhclxyXG5cdCovXG4vKipcclxuXHQqIERhdGVwaWNrZXJcclxuXHQqL1xuLyoqXHJcblx0KiBJbnB1dHNcclxuXHQqL1xuLyoqXHJcblx0KiBDaGVja2JveGVzXHJcblx0Ki9cbi8qKlxyXG5cdCogQ1RBcy9idXR0b25zXHJcblx0Ki9cbi8qKlxyXG5cdCogUm9vbSBpbmZvIHBhbmVsXHJcblx0Ki9cbi8qKlxyXG5cdCogQmFza2V0XHJcblx0Ki9cbi8qKlxyXG5cdCogYm9va2luZyBzdW1tYXJ5IGJveFxyXG5cdCovXG4vKipcclxuXHQqIFBvcHVwIHBhbmVsXHJcblx0Ki9cbi8qKlxyXG5cdCogR2FsbGVyeSBuYXZcclxuXHQqL1xuLyoqXHJcblx0KiBNaXNjXHJcblx0Ki9cbi8qKlxyXG5cdCogUGFnZXNcclxuXHQqL1xuLyoqXHJcblx0KiBBdmFpbGFiaWxpdHkgQ2FsZW5kYXJcclxuXHQqL1xuLyoqXHJcbiAqIE5hbWU6IF9odG1sXHJcbiAqXHJcbiAqIEJhc2UgSFRNTCBzdHlsZXMgYW5kIGhlbHBlcnNcclxuICovXG4vKiBTdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbmh0bWwsXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuXG5ib2R5IHtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07IH1cblxuLyogSGVscGVyc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLmhpZGRlbiB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY1cHgpIHtcbiAgLmhpZGUtbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLyoqXHJcbiAqIE5hbWU6IFR5cG9ncmFwaHlcclxuICovXG4vKiBWYXJpYWJsZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEVsZW1lbnRzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG5odG1sLFxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIkF2ZW5pck5leHRMVFByby1SZWd1bGFyXCIsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjMDkzNTVjO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxldHRlci1zcGFjaW5nOiAxLjVweDsgfVxuXG5oNCB7XG4gIGZvbnQtZmFtaWx5OiBcIkJlbGxNVFN0ZC1SZWd1bGFyXCIsIHNlcmlmOyB9XG5cbi8qIE1lZGlhIHF1ZXJpZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjVweCkge1xuICBodG1sLFxuICBib2R5IHtcbiAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0XHRDb21wb25lbnQgZmlsZXMsIGxvYWQgaW4gYW55ICBvcmRlclxyXG5cdCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKlxyXG4gKiBOYW1lOiBHcmlkXHJcbiAqXHJcbiAqIENvbnRyb2xzIGdlbmVyYWwgbGF5b3V0IGNvbXBvbmVudHMuXHJcbiAqL1xuLyogVmFyaWFibGVzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4vKiBFbGVtZW50c1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLnNlY3Rpb24tLWdyaWQge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5zZWN0aW9uLS12ZXJ0aWNhbC1zcGFjaW5nIHtcbiAgbWFyZ2luLXRvcDogODBweDtcbiAgbWFyZ2luLWJvdHRvbTogODBweDsgfVxuXG4uc2VjdGlvbl9faW5uZXItLXZlcnRpY2FsLXBhZGRpbmcge1xuICBwYWRkaW5nLXRvcDogODBweDtcbiAgcGFkZGluZy1ib3R0b206IDgwcHg7IH1cblxuLnNlY3Rpb25fX2lubmVyLS1wYWRkaW5nLWJvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiA4MHB4OyB9XG5cbi5zZWN0aW9uX19pbm5lciB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5zZWN0aW9uX19pbm5lci0tZnVsbC13aWR0aCB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMDtcbiAgZmxleC1zaHJpbms6IDA7IH1cblxuLnNlY3Rpb25fX2lubmVyLS1oYWxmLXdpZHRoIHtcbiAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAxLjVyZW0pO1xuICBmbGV4LWdyb3c6IDA7XG4gIGZsZXgtc2hyaW5rOiAwOyB9XG5cbi5zZWN0aW9uX19pbm5lci0taGFsZi13aWR0aDpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07IH1cblxuLnNlY3Rpb25fX2lubmVyLS1oYWxmLXdpZHRoOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW07IH1cblxuLnNlY3Rpb25fX2lubmVyLS10aGluIHtcbiAgbWF4LXdpZHRoOiAzNTBweDtcbiAgcGFkZGluZzogMCAxLjVyZW07IH1cblxuLyogcGFnZSBtb2RpZmllclxyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLmVsZW1lbnQtLWZhZGUtaW4ge1xuICBhbmltYXRpb246IGZhZGVJbiAwLjhzIGZvcndhcmRzOyB9XG5cbi8qIE1lZGlhIHF1ZXJpZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjVweCkge1xuICAuc2VjdGlvbi0tZ3JpZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNlY3Rpb25fX2lubmVyLWNvbnRlbnQge1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5zZWN0aW9uX19pbm5lci0taGFsZi13aWR0aDpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogMCAxLjVyZW07IH1cbiAgLnNlY3Rpb25fX2lubmVyLS1oYWxmLXdpZHRoOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZzogMCAxLjVyZW07IH0gfVxuXG4vKipcclxuICogTmFtZTogU2VjdGlvbnNcclxuICpcclxuICogRGVhbHMgd2l0aCBmb250cyBhbmQgY29sb3VycyBvZiBzZWN0aW9uc1xyXG4gKi9cbi8qIFZhcmlhYmxlc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRWxlbWVudHNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi5zZWN0aW9uX19oZWFkZXIge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1mYW1pbHk6IFwiQmVsbE1UU3RkLVJlZ3VsYXJcIiwgc2VyaWY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAzcmVtO1xuICBmb250LXdlaWdodDogMTAwO1xuICBtYXJnaW46IDQuNXJlbSAwIDNyZW0gMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDNweDsgfVxuICAuc2VjdGlvbl9faGVhZGVyIHNtYWxsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuXG4ucGFnZSAuc2VjdGlvbl9faGVhZGVyIHtcbiAgbWFyZ2luOiA0LjVyZW0gMS41cmVtIDNyZW0gMS41cmVtOyB9XG5cbi5zZWN0aW9uX19zdWItaGVhZGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiAxMDA7IH1cblxuLnNlY3Rpb25fX2JsdXJiIHtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIGZvbnQtc2l6ZTogMC45cmVtOyB9XG5cbi5zZWN0aW9uX19oZWFkZXItLXNtYWxsIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAwLjhyZW07IH1cblxuLnNlY3Rpb25fX2hlYWRlci0tY2FwcyB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLyogTWVkaWEgcXVlcmllc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDg2NXB4KSB7XG4gIC5zZWN0aW9uX19oZWFkZXIge1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAucGFnZSAuc2VjdGlvbl9faGVhZGVyIHtcbiAgICBtYXJnaW46IDEuNXJlbSAxLjVyZW0gMS41cmVtIDEuNXJlbTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjVweCkge1xuICAuc2VjdGlvbl9faGVhZGVyIHtcbiAgICBmb250LXNpemU6IDIuMnJlbTsgfVxuICAvKipcclxuXHQqIE1vYmlsZSBcInNob3cgYm9va2luZyBkZXRhaWxzXCIgYnV0dG9uLlxyXG5cdCovXG4gIC5zZWN0aW9uX19zdWItaGVhZGVyLS1tb2JpbGUtYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAycmVtIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnNlY3Rpb25fX3N1Yi1oZWFkZXItLW1vYmlsZS1idXR0b246YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMjhweDtcbiAgICAgIGhlaWdodDogMjhweDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL3N2Zy9jaXJjbGVwbHVzLnN2Z1wiKTtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAxNHB4KTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gIC5yZXZlYWxlci1jaGVja2JveDpjaGVja2VkICsgbGFiZWwgPiAuc2VjdGlvbl9fc3ViLWhlYWRlci0tbW9iaWxlLWJ1dHRvbjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL3N2Zy9jaXJjbGVtaW51cy5zdmdcIik7IH0gfVxuXG4vKipcclxuICogTmFtZTogR3JpZFxyXG4gKlxyXG4gKiBDb250cm9scyBnZW5lcmFsIGxheW91dCBjb21wb25lbnRzLlxyXG4gKi9cbi8qIFZhcmlhYmxlc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRWxlbWVudHNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbmhlYWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDkwcHggKyAxcHgpOyB9XG5cbmhlYWRlciAud3JhcHBlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiA5MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzJlNDE7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMTcyZTQxOyB9XG5cbi8qKlxyXG4gKiBOYW1lOiBJbnB1dHNcclxuICpcclxuICogQW5kIG90aGVyIGZvcm0gZWxlbWVudHNcclxuICovXG4vKiBWYXJpYWJsZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEVsZW1lbnRzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4uaW5wdXQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiAwLjRzOyB9XG5cbi5pbnB1dC0tdmVydGljYWwge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbi5kZXRhaWxzLXBhZ2UgLmlucHV0LS12ZXJ0aWNhbCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNzVyZW07IH1cblxuLmlucHV0X19jb250cm9sIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLmlucHV0X19jb250cm9sIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi5pbnB1dF9fY29udHJvbCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4uaW5wdXRfX2NvbnRyb2wgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbi5pbnB1dF9fY29udHJvbCBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLmlucHV0X19jb250cm9sIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLmlucHV0X19jb250cm9sIHNlbGVjdCxcbi5pbnB1dF9fY29udHJvbCB0ZXh0YXJlYSB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwYWRkaW5nOiAxNXB4O1xuICBwYWRkaW5nLXRvcDogNy41cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzk5OTk5OTsgfVxuXG4uaW5wdXRfX2NvbnRyb2wgc2VsZWN0IHtcbiAgcGFkZGluZy1sZWZ0OiAxMS41cHg7IH1cblxuLmlucHV0X19sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiA3LjVweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjOTk5OTk5O1xuICB0cmFuc2l0aW9uOiAwLjRzOyB9XG5cbi5yZWFjdC1kYXRlcGlja2VyX19pbnB1dC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuXG5pbnB1dFt0eXBlPVwidGV4dFwiXS5oaWRkZW5JbnB1dCB7XG4gIG9wYWNpdHk6IDA7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGZvbnQtc2l6ZTogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyogQ2hlY2tib3ggc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4uaW5wdXQtLWNoZWNrYm94IHtcbiAgYm9yZGVyOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5pbnB1dC0tY2hlY2tib3ggLmlucHV0X19sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDBweDsgfVxuICAuaW5wdXQtLWNoZWNrYm94IC5pbnB1dF9fY29udHJvbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICAgIC5pbnB1dC0tY2hlY2tib3ggLmlucHV0X19jb250cm9sIGlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBsZWZ0OiAtMTAwJTsgfVxuICAgIC5pbnB1dC0tY2hlY2tib3ggLmlucHV0X19jb250cm9sIGlucHV0OmZvY3VzIH4gLmlucHV0X19sYWJlbC10ZXh0OmFmdGVyIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYTZkNTE7XG4gICAgICBhbmltYXRpb246IGZhZGVJbiAwLjRzIGZvcndhcmRzOyB9XG4gICAgLmlucHV0LS1jaGVja2JveCAuaW5wdXRfX2NvbnRyb2wgaW5wdXQ6Y2hlY2tlZCB+IC5pbnB1dF9fbGFiZWwtdGV4dCB7XG4gICAgICBjb2xvcjogIzk5OTk5OTsgfVxuICAgIC5pbnB1dC0tY2hlY2tib3ggLmlucHV0X19jb250cm9sIGlucHV0OmNoZWNrZWQgfiAuaW5wdXRfX2xhYmVsLXRleHQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJy4nO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL3N2Zy90aWNrLWJsdWUuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA1MCU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWE2ZDUxO1xuICAgICAgYW5pbWF0aW9uOiBmYWRlSW4gMC40cyBmb3J3YXJkczsgfVxuICAuaW5wdXQtLWNoZWNrYm94IC5pbnB1dF9fbGFiZWwtdGV4dCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygzNXB4ICsgMS41cmVtKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICM5OTk5OTk7XG4gICAgdHJhbnNpdGlvbjogMC4yczsgfVxuICAgIC5pbnB1dC0tY2hlY2tib3ggLmlucHV0X19sYWJlbC10ZXh0OmJlZm9yZSwgLmlucHV0LS1jaGVja2JveCAuaW5wdXRfX2xhYmVsLXRleHQ6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMzVweDtcbiAgICAgIGhlaWdodDogMzVweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiAwLjJzOyB9XG4gICAgLmlucHV0LS1jaGVja2JveCAuaW5wdXRfX2xhYmVsLXRleHQgYSwgLmlucHV0LS1jaGVja2JveCAuaW5wdXRfX2xhYmVsLXRleHQgYTp2aXNpdGVkLCAuaW5wdXQtLWNoZWNrYm94IC5pbnB1dF9fbGFiZWwtdGV4dCBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjYWE2ZDUxOyB9XG5cbi8qIFNlbGVjdCBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi5pbnB1dC0tZmFuY3ktc2VsZWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pbnB1dC0tZmFuY3ktc2VsZWN0IHNlbGVjdCB7XG4gICAgcGFkZGluZy10b3A6IDM4cHg7XG4gICAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICAgIC5pbnB1dC0tZmFuY3ktc2VsZWN0IHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5pbnB1dC0tZmFuY3ktc2VsZWN0IC5pbnB1dF9fbGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuICAuaW5wdXQtLWZhbmN5LXNlbGVjdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTVweCBkZWZhdWx0O1xuICAgIGhlaWdodDogMTVweCBkZWZhdWx0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvc3ZnL2NoZXZyb24uc3ZnXCIpO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgei1pbmRleDogLTE7IH1cblxuLyogVmFsaWRhdGlvblxyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLmlucHV0LmVycm9yIHtcbiAgYm9yZGVyLWNvbG9yOiAjZDYwMDAwOyB9XG4gIC5pbnB1dC5lcnJvciAuaW5wdXRfX3ZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICNkNjAwMDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDRweDsgfVxuXG4uaW5wdXQudmFsaWQsXG4uaW5wdXQtLXRvdWNoZWQge1xuICBib3JkZXItY29sb3I6ICNhYTZkNTE7IH1cbiAgLmlucHV0LnZhbGlkIC5pbnB1dF9fbGFiZWwsXG4gIC5pbnB1dC0tdG91Y2hlZCAuaW5wdXRfX2xhYmVsIHtcbiAgICBjb2xvcjogI2FhNmQ1MTsgfVxuICAuaW5wdXQudmFsaWQgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIC5pbnB1dC52YWxpZCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gIC5pbnB1dC52YWxpZCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gIC5pbnB1dC52YWxpZCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuICAuaW5wdXQudmFsaWQgaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgLmlucHV0LnZhbGlkIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuICAuaW5wdXQudmFsaWQgc2VsZWN0LFxuICAuaW5wdXQudmFsaWQgdGV4dGFyZWEsXG4gIC5pbnB1dC0tdG91Y2hlZCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgLmlucHV0LS10b3VjaGVkIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgLmlucHV0LS10b3VjaGVkIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgLmlucHV0LS10b3VjaGVkIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4gIC5pbnB1dC0tdG91Y2hlZCBpbnB1dFt0eXBlPVwidGVsXCJdLFxuICAuaW5wdXQtLXRvdWNoZWQgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4gIC5pbnB1dC0tdG91Y2hlZCBzZWxlY3QsXG4gIC5pbnB1dC0tdG91Y2hlZCB0ZXh0YXJlYSB7XG4gICAgY29sb3I6ICMwOTM1NWM7IH1cblxuLyogTW9kaWZpZXJzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4uaW5wdXQtLWxhcmdlIC5pbnB1dF9fY29udHJvbCBpbnB1dCB7XG4gIHBhZGRpbmc6IDEuNXJlbSAxcmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5wYWdlLS1yZXRyaWV2ZSBpbnB1dCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmlucHV0LS1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuaW5wdXQtLWRpc2FibGVkIGlucHV0IHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkICFpbXBvcnRhbnQ7IH1cblxuLyogRGF0ZXBpY2tlciBzZXQgdXBcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi5pbnB1dC0tZGF0ZXBpY2tlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaW5wdXQtLWRhdGVwaWNrZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvc3ZnL2NhbGVuZGFyLnN2Z1wiKTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgcmlnaHQ6IGNhbGMoMC43NXJlbSArIDVweCk7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLyogTWVkaWEgcXVlcmllc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2NXB4KSB7XG4gIC5pbnB1dF9fbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbi8qKlxyXG4gKiBOYW1lOiBGb3Jtc1xyXG4gKlxyXG4gKiBHZW5lcmljIGZvcm0gc3R5bGVzLlxyXG4gKi9cbi8qIEVsZW1lbnRzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4uZm9ybSB7XG4gIG1hcmdpbjogMCBhdXRvIDAgYXV0bzsgfVxuXG4uZm9ybS1zZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxuXG4uZm9ybV9fbWVzc2FnZSB7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7IH1cbiAgLmZvcm1fX21lc3NhZ2UgYSwgLmZvcm1fX21lc3NhZ2UgYTp2aXNpdGVkLCAuZm9ybV9fbWVzc2FnZSBhOmhvdmVyLCAuZm9ybV9fbWVzc2FnZSBhOmFjdGl2ZSB7XG4gICAgY29sb3I6ICNhYTZkNTE7IH1cblxuLmZvcm0tc2VjdGlvbl9fbGluayB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbi8qIE1lZGlhIHF1ZXJpZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiA2NzhweCkge1xuICAuZm9ybS1zZWN0aW9uX19saW5rIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTsgfSB9XG5cbi8qKlxyXG4gKiBOYW1lOiBQbGFjZW5hbWUgYXV0b2NvbXBsZXRlXHJcbiAqXHJcbiAqL1xuLyogVmFyaWFibGVzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4vKiBFbGVtZW50c1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLmdlb3N1Z2dlc3RfX3N1Z2dlc3RzIHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbi5nZW9zdWdnZXN0X19pdGVtIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtOyB9XG4gIC5nZW9zdWdnZXN0X19pdGVtOmhvdmVyLCAuZ2Vvc3VnZ2VzdF9faXRlbS0tYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWE2ZDUxO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLyogXCJUb2dnbGUgbG9va3VwL21hbnVhbFwiIGxpbmsuXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4ucGxhY2VuYW1lLWxvb2t1cF9fbGluayB7XG4gIG1hcmdpbjogMCAwIDIuMjVyZW0gMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2FhNmQ1MTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmRyYXdlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDQwMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTI7XG4gIHBhZGRpbmc6IDIwcHggMCAwIDA7XG4gIGJveC1zaGFkb3c6IDEwcHggMCAxMHB4IDhweCAjODg4O1xuICByaWdodDogLTQwMHB4O1xuICB0cmFuc2l0aW9uOiAuNHM7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG4uZHJhd2VyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIHdpZHRoOiAxMHB4OyB9XG5cbi5kcmF3ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogI2RkZDsgfVxuXG4uZHJhd2VyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQ6ICM2NjY7IH1cblxuLmRyYXdlci0tb3BlbiB7XG4gIHJpZ2h0OiAwOyB9XG5cbi5kcmF3ZXJfX292ZXJsYXkge1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAxMTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiAuNHM7IH1cblxuLmRyYXdlcl9fb3ZlcmxheS0tc2hvd24ge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5kcmF3ZXJfX2Nsb3NlIHtcbiAgei1pbmRleDogMTtcbiAgb3V0bGluZTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDU0cHg7XG4gIHJpZ2h0OiAxLjVyZW07XG4gIGJvcmRlcjogMDtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IC4ycztcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5kcmF3ZXJfX2Nsb3NlIHN2ZyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAyM3B4O1xuICAgIGZpbGw6ICMxNzJlNDE7XG4gICAgc3Ryb2tlOiAjMTcyZTQxO1xuICAgIHN0cm9rZS13aWR0aDogMC4xcHg7IH1cblxuLmRyYXdlcl9fY2xvc2UtLWdhbGxlcnkge1xuICB0b3A6IDFyZW07XG4gIHJpZ2h0OiAwLjc1cmVtOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2NzhweCkge1xuICAuZHJhd2VyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NzhweCkge1xuICAuZHJhd2VyIHtcbiAgICBwYWRkaW5nOiAyMHB4IDJyZW0gMCAycmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMmYyZjI7IH1cbiAgLmRyYXdlcl9fY2xvc2Uge1xuICAgIHRvcDogMnJlbTsgfSB9XG5cbi8qKlxyXG4gKiBOYW1lOiBSb29tcyBzZWxlY3Rpb24gcGFnZVxyXG4gKlxyXG4gKiBDb250YWlucyBsaXN0IG9mIHJvb21zIHRoYXQgY2FuIGJlIGJvb2tlZC5cclxuICovXG4vKiBWYXJpYWJsZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFBhZ2Ugc2V0IHVwXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4ucm9vbS1wYWdlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5yb29tLXBhZ2UgLnNlY3Rpb25fX2hlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogMy41cmVtOyB9XG5cbi8qIEVsZW1lbnRzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4ucm9vbS1wYWdlX19zZWN0aW9uIHtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIHBhZGRpbmc6IDAgNXJlbTsgfVxuXG4ucm9vbV9wYWdlX19zZWN0aW9uLWhlYWRlciB7XG4gIG1hcmdpbjogMTVweCAwOyB9XG5cbi8qIE1lZGlhIHF1ZXJpZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAxNTAwcHgpIHtcbiAgLnJvb20tcGFnZV9fc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMCAzcmVtOyB9XG4gICAgLnJvb20tcGFnZV9fc2VjdGlvbiAuc2VjdGlvbiB7XG4gICAgICBtYXgtd2lkdGg6IDcwcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY1cHgpIHtcbiAgLnJvb20tcGFnZV9fc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMCAxLjVyZW07IH1cbiAgICAucm9vbS1wYWdlX19zZWN0aW9uIC5zZWN0aW9uIHtcbiAgICAgIG1heC13aWR0aDogNDAwcHg7IH0gfVxuXG4vKipcclxuICogTmFtZTogUm9vbSBpbmZvXHJcbiAqXHJcbiAqIFJvb20gZGV0YWlscyByb3cuIENvbnRhaW5zIGhlYWRlciwgYmx1cmIsIGZlYXR1cmVzLCBib29raW5nIGJ1dHRvbnMsIHJhdGUgZGV0YWlscy9cclxuICovXG4vKiBWYXJpYWJsZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEVsZW1lbnRzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4ucm9vbS1pbmZvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy1ib3R0b206IDVyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnJvb20taW5mb19faW5mbyB7XG4gIGZsZXgtYmFzaXM6IDMzLjMzMzMlO1xuICBwYWRkaW5nOiAwIDNyZW07IH1cblxuLnJvb20taW5mb19fcHJpY2VzIHtcbiAgZmxleC1iYXNpczogMzMuMzMzMyU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnJvb20taW5mb19fZ2FsbGVyeSB7XG4gIGZsZXgtYmFzaXM6IDQwJTtcbiAgZmxleC1zaHJpbms6IDE7IH1cblxuLnJvb20taW5mb19faW5mby1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLnJvb20taW5mb19faW5mby1oZWFkZXIgLnJvb20taW5mb19fcHJpY2UtaW5mby1pY29uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5yb29tLWluZm9fX3RpdGxlIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6ICNhYTZkNTE7XG4gIGZvbnQtZmFtaWx5OiBcIkJlbGxNVFN0ZC1SZWd1bGFyXCIsIHNlcmlmO1xuICBmb250LXdlaWdodDogMTAwO1xuICBmb250LXNpemU6IDJyZW07IH1cblxuLnJvb21fX2ZlYXR1cmVzIHtcbiAgcGFkZGluZzogMXJlbSAwIDAgMWVtOyB9XG4gIC5yb29tX19mZWF0dXJlcyBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIGNvbG9yOiAjNjY2NjY2OyB9XG4gIC5yb29tX19mZWF0dXJlcyBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucm9vbS1pbmZvX19wcmljZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweCAjY2NjY2NjO1xuICBwYWRkaW5nOiAycmVtIDA7IH1cblxuLnJvb20taW5mb19fcHJpY2U6bGFzdC1vZi10eXBlIHtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNjY2NjY2M7IH1cblxuLnJvb20taW5mb19fcHJpY2UtaG9sZCB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5yb29tLWluZm9fX3ByaWNlLXRpdGxlIHtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIGNvbG9yOiAjMDkzNTVjO1xuICBmb250LWZhbWlseTogXCJCZWxsTVRTdGQtUmVndWxhclwiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogMTAwO1xuICBsZXR0ZXItc3BhY2luZzogMXB4OyB9XG5cbi5yb29tLWluZm9fX3ByaWNlLXZhbHVlIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgY29sb3I6ICNhYTZkNTE7IH1cblxuLnJvb20taW5mb19fcHJpY2UtYm9vayB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cblxuLnJvb20taW5mb19fcHJpY2UtaW5mby1pY29uIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBib3JkZXI6IHNvbGlkIDFweCAjYWE2ZDUxO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LWZhbWlseTogXCJCZWxsTVRTdGQtUmVndWxhclwiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAycmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICMwOTM1NWM7IH1cbiAgLnJvb20taW5mb19fcHJpY2UtaW5mby1pY29uIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTJweDtcbiAgICBtYXJnaW4tdG9wOiAwLjVweDsgfVxuXG4ucm9vbS1pbmZvX19pbmZvLWJvZHktdGV4dCB7XG4gIG1heC13aWR0aDogMzFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgY29sb3I6ICM2NjY2NjY7IH1cblxuLyogTW9kaWZpZXJzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4ucm9vbS1pbmZvX19wcmljZS0tc2VsZWN0ZWQge1xuICBhbmltYXRpb246IHNlbGVjdFByaWNlIDAuNHMgZm9yd2FyZHM7IH1cblxuLnJvb20taW5mb19fcHJpY2UtLWhlYWRlciB7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAucm9vbS1pbmZvX19wcmljZS0taGVhZGVyIC5yb29tLWluZm9fX3ByaWNlLXZhbHVlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgY29sb3I6ICM2NjY2NjY7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi8qIE1lZGlhIHF1ZXJpZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAxNTAwcHgpIHtcbiAgLnJvb20taW5mbyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5yb29tLWluZm9fX2luZm8ge1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHBhZGRpbmc6IDAgMnJlbSAwIDJyZW07IH1cbiAgLnJvb20taW5mb19fZ2FsbGVyeSB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtYmFzaXM6IDA7IH1cbiAgLnJvb20taW5mb19fcHJpY2VzIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIHBhZGRpbmc6IDFyZW0gMCAwIDA7IH1cbiAgLnJvb20taW5mb19fcHJpY2Uge1xuICAgIHBhZGRpbmc6IDFyZW0gMDsgfVxuICAucm9vbS1pbmZvX19pbmZvLWJvZHktdGV4dCB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2NXB4KSB7XG4gIC5yb29tLWluZm8ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5yb29tLWluZm9fX2luZm8ge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5yb29tLWluZm9fX3ByaWNlLWhvbGQsXG4gIC5yb29tLWluZm9fX3ByaWNlLXRpdGxlLFxuICAucm9vbS1pbmZvX19wcmljZS12YWx1ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnJvb20taW5mb19faW5mby1ib2R5IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5yb29tLWluZm9fX2luZm8taGVhZGVyIC5yb29tLWluZm9fX3ByaWNlLWluZm8taWNvbiB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAucm9vbS1pbmZvX19wcmljZS0tc2VsZWN0ZWQge1xuICAgIGFuaW1hdGlvbjogc2VsZWN0UHJpY2VNb2JpbGUgMC40cyBmb3J3YXJkcztcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2NjY2NjYztcbiAgICBtYXJnaW4tYm90dG9tOiAtMXB4OyB9XG4gIC5yb29tX19mZWF0dXJlcyBsaSB7XG4gICAgZm9udC1zaXplOiAxZW07IH1cbiAgLnJvb20taW5mb19fcHJpY2UtLWhlYWRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cblxuLyogQW5pbWF0aW9uc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuQGtleWZyYW1lcyBzZWxlY3RQcmljZSB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDByZW07XG4gICAgcGFkZGluZy1yaWdodDogMHJlbTsgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTsgfSB9XG5cbkBrZXlmcmFtZXMgc2VsZWN0UHJpY2VNb2JpbGUge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZy1sZWZ0OiAwcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDByZW07XG4gICAgbWFyZ2luLWxlZnQ6IDByZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwcmVtOyB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbTsgfSB9XG5cbi8qKlxyXG4gKiBOYW1lOiBHYWxsZXJ5XHJcbiAqXHJcbiAqIENhcm91c2VsLCBpbm5pdFxyXG4gKi9cbi8qIFZhcmlhYmxlc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRWxlbWVudHNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4qIEhvbGRlcnNcclxuKi9cbi5yb29tLWluZm8tZ2FsbGVyeV9faG9sZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cblxuLnJvb20taW5mby1nYWxsZXJ5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5yb29tLWluZm8tZ2FsbGVyeV9faW5uZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbi8qKlxyXG4qIEltYWdlIGVsZW1lbnRzIFxyXG4qL1xuLnJvb20taW5mby1nYWxsZXJ5X19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5yb29tLWluZm8tZ2FsbGVyeV9faW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyoqXHJcbiogTmF2aWdhdGlvbiBcclxuKi9cbi8qKlxyXG5cdCogSG9sZGVyIFxyXG5cdCovXG4ucm9vbS1pbmZvLWdhbGxlcnlfX25hdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogLTEuNXJlbTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTcyZTQxOyB9XG5cbi8qKlxyXG5cdCogTGVmdC9yaWdodCBjb250cm9scyBcclxuXHQqL1xuLnJvb20taW5mby1nYWxsZXJ5X190cmlnZ2VyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7IH1cbiAgLnJvb20taW5mby1nYWxsZXJ5X190cmlnZ2VyIHNwYW4ge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLnJvb20taW5mby1nYWxsZXJ5X190cmlnZ2VyOmhvdmVyLCAucm9vbS1pbmZvLWdhbGxlcnlfX3RyaWdnZXI6Zm9jdXMge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLnJvb20taW5mby1nYWxsZXJ5X190cmlnZ2VyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDE1cHgpO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvc3ZnL2NoZXZyb24td2hpdGUuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cblxuLnJvb20taW5mby1nYWxsZXJ5X19sZWZ0LXRyaWdnZXIge1xuICByaWdodDogNTAlO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAwKSA3MCUsIHJnYmEoMCwgMCwgMCwgMC45KSAxMDAlKTsgfVxuICAucm9vbS1pbmZvLWdhbGxlcnlfX2xlZnQtdHJpZ2dlcjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICBsZWZ0OiA1cHg7IH1cblxuLnJvb20taW5mby1nYWxsZXJ5X19yaWdodC10cmlnZ2VyIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDApIDcwJSwgcmdiYSgwLCAwLCAwLCAwLjkpIDEwMCUpOyB9XG4gIC5yb29tLWluZm8tZ2FsbGVyeV9fcmlnaHQtdHJpZ2dlcjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgcmlnaHQ6IDVweDsgfVxuXG4vKipcclxuXHQqIE5hdiBkb3RzIFxyXG5cdCovXG4ucm9vbS1pbmZvLWdhbGxlcnlfX2NpcmNsZSB7XG4gIHdpZHRoOiA2cHg7XG4gIGhlaWdodDogNnB4O1xuICBtYXJnaW46IDAgNXB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgdHJhbnNpdGlvbjogMC4zczsgfVxuXG4ucm9vbS1pbmZvLWdhbGxlcnlfX2NpcmNsZS0tYWN0aXZlIHtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJhY2tncm91bmQ6IHdoaXRlOyB9XG5cbi8qKlxyXG4qIEZ1bGwgc2NyZWVuIGxpbmsgXHJcbiovXG4ucm9vbS1pbmZvLWdhbGxlcnlfX2Z1bGwtbGluayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDM4cHg7XG4gIHRvcDogMTJweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzJlNDE7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuICAucm9vbS1pbmZvLWdhbGxlcnlfX2Z1bGwtbGluazphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTNweDtcbiAgICByaWdodDogLTI4cHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29ucy9zdmcvZ3JleS1jaXJjbGUtcGx1cy5zdmdcIik7IH1cblxuLyoqXHJcbiogRnVsbCBzY3JlZW4gaG9sZGVyIFxyXG4qL1xuLnJvb20taW5mby1nYWxsZXJ5X19mdWxsLXNjcmVlbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA5OTk7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiAzcmVtO1xuICBhbmltYXRpb246IGZhZGVJbiAwLjJzIGZvcndhcmRzOyB9XG4gIC5yb29tLWluZm8tZ2FsbGVyeV9fZnVsbC1zY3JlZW4gLnBvcHVwX19jbG9zZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLnJvb20taW5mby1nYWxsZXJ5X19mdWxsLXNjcmVlbiAucm9vbS1pbmZvLWdhbGxlcnlfX2hvbGRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5yb29tLWluZm8tZ2FsbGVyeV9fZnVsbC1zY3JlZW4gLnJvb20taW5mby1nYWxsZXJ5X19pbWFnZSB7XG4gICAgd2lkdGg6IGluaXRpYWw7IH1cblxuLyogTW9kaWZpZXJzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4ucm9vbS1pbmZvLWdhbGxlcnktLW1vYmlsZSAucm9vbS1pbmZvLWdhbGxlcnlfX2l0ZW0ge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cblxuLyogTWVkaWEgcXVlcmllc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2NXB4KSB7XG4gIC5yb29tLWluZm8tZ2FsbGVyeV9fZnVsbC1zY3JlZW4ge1xuICAgIHBhZGRpbmc6IDEuNXJlbTsgfVxuICAgIC5yb29tLWluZm8tZ2FsbGVyeV9fZnVsbC1zY3JlZW4gLnJvb20taW5mby1nYWxsZXJ5X19ob2xkZXIge1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgIC5yb29tLWluZm8tZ2FsbGVyeV9fZnVsbC1zY3JlZW4gLnJvb20taW5mby1nYWxsZXJ5X19pbWFnZSB7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiBpbml0aWFsICFpbXBvcnRhbnQ7IH1cbiAgLnJvb20taW5mby1nYWxsZXJ5X19mdWxsLWxpbmsge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnJvb20taW5mby1nYWxsZXJ5X190cmlnZ2VyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIC5yb29tLWluZm8tZ2FsbGVyeV9fdHJpZ2dlcjphZnRlciB7XG4gICAgICBjb250ZW50OiBub25lOyB9IH1cblxuLyoqXHJcbiAqIE5hbWU6IFN1bW1hcnkgYmFyXHJcbiAqXHJcbiAqIFNob3dzIHNtYWxsIHN1bW1hcnkgYXQgdG9wIG9mIHBhZ2VcclxuICovXG4vKiBWYXJpYWJsZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEVsZW1lbnRzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4uc3VtbWFyeWJhciB7XG4gIHBhZGRpbmctYm90dG9tOiA0LjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3VtbWFyeWJhcl9faG9sZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogNC41cmVtOyB9XG5cbi5zdW1tYXJ5YmFyX19pbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7IH1cblxuLnN1bW1hcnliYXJfX2luZm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1yaWdodDogNXJlbTtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIGxldHRlci1zcGFjaW5nOiAwLjlweDsgfVxuICAuc3VtbWFyeWJhcl9faW5mbzphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYygwcmVtIC0gMC44NzVyZW0gKyAwLjVyZW0pO1xuICAgIHJpZ2h0OiAtMi41cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxLjc1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhYWFhYWE7IH1cblxuLyogTW9kaWZpZXJzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4uc3VtbWFyeWJhcl9faW5mby0tbGluayB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICNhYTZkNTE7IH1cbiAgLnN1bW1hcnliYXJfX2luZm8tLWxpbms6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cblxuLyogTWVkaWEgcXVlcmllc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDg2NXB4KSB7XG4gIC5zdW1tYXJ5YmFyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfVxuICAuc3VtbWFyeWJhci0tbXVsdGlyb29tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNC41cmVtOyB9XG4gIC5zdW1tYXJ5YmFyX19ob2xkZXIge1xuICAgIHBhZGRpbmc6IDAgMDtcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIGhlaWdodDogM3JlbTsgfVxuICAuc3VtbWFyeWJhcl9faW5mbyB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMi41cmVtO1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICB3aWR0aDogMDsgfVxuICAgIC5zdW1tYXJ5YmFyX19pbmZvOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjc4cHgpIHtcbiAgLnN1bW1hcnliYXJfX2luZm8ge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuc3VtbWFyeWJhcl9faW5mby0tZ3Vlc3RzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLyoqXHJcbiAqIE5hbWU6IE11bHRpLXJvb20gYmFyXHJcbiAqXHJcbiAqIFNob3dzIHNtYWxsIHN1bW1hcnkgb2Ygc3RhZ2UgaW4gbXVsdGlyb29tIGJvb2tpbmcgYXQgdG9wIG9mIHBhZ2VcclxuICovXG4vKiBWYXJpYWJsZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEVsZW1lbnRzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4ubXVsdGlyb29tYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FhNmQ1MTtcbiAgY29sb3I6IHdoaXRlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IC0xO1xuICBhbmltYXRpb246IG11bHRpcm9vbWJhck9wZW4gMXMgZm9yd2FyZHMsIG11bHRpcm9vbWJhckNsb3NlIDFzIDZzIGZvcndhcmRzO1xuICBwYWRkaW5nOiAwLjc1cmVtOyB9XG5cbi8qIEFuaW1hdGlvbnNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbkBrZXlmcmFtZXMgbXVsdGlyb29tYmFyT3BlbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpOyB9XG4gIDE1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIG11bHRpcm9vbWJhckNsb3NlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpOyB9IH1cblxuLyoqXHJcbiAqIE5hbWU6IENvbmZpcm1hdGlvbiBwYWdlXHJcbiAqXHJcbiAqIENvbnRyb2xzIGxheW91dCBmb3IgY29uZmlybWF0aW9uIGFuZCBcIlJldHJpZXZlIGJvb2tpbmdcIiBwYWdlcy5cclxuICovXG4vKiBVbnVzZWQgY29tcG9uZW50cyAqL1xuLyogUGFnZSBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi5wYWdlLS1yZXRyaWV2ZSAuc2VjdGlvbl9faW5uZXIsXG4ucGFnZS0tY29uZmlybWF0aW9uIC5zZWN0aW9uX19pbm5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKiBcIk5leHQgc3RlcHNcIiBzZWN0aW9uXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4uY29uZmlybWF0aW9uLW5leHQtc3RlcHMgLnNlY3Rpb25fX2hlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuXG4uY29uZmlybWF0aW9uLW5leHQtc3RlcHNfX2J1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4vKipcclxuICogTmFtZTogRGV0YWlscyBwYWdlXHJcbiAqXHJcbiAqIENvbnRyb2xzIGxheW91dCBmb3IgZGV0YWlscyBwYWdlLlxyXG4gKi9cbi8qIFZhcmlhYmxlc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRWxlbWVudHNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi5kZXRhaWxzLXBhZ2Uge1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZzogMCAxLjVyZW07IH1cbiAgLmRldGFpbHMtcGFnZSAuZm9ybSB7XG4gICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgICBtYXJnaW46IDAgYXV0byAwIDA7IH1cbiAgLmRldGFpbHMtcGFnZSAuc2VjdGlvbl9faW5uZXItLWhhbGYtd2lkdGgge1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAjMTcyZTQxOyB9XG5cbi8qIE1lZGlhIHF1ZXJpZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjVweCkge1xuICAuZGV0YWlscy1wYWdlIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmRldGFpbHMtcGFnZSAuc2VjdGlvbl9faW5uZXItLWhhbGYtd2lkdGgge1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTsgfSB9XG5cbi8qKlxyXG4gKiBOYW1lOiBQYXltZW50IHBhZ2VcclxuICpcclxuICogQ29udHJvbHMgbGF5b3V0IGZvciBkZXRhaWxzIHBhZ2UuXHJcbiAqL1xuLyogVmFyaWFibGVzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4vKiBQYWdlXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4ucGFnZS0tcGF5bWVudCAucGFnZSB7XG4gIHBhZGRpbmc6IDAgMS41cmVtOyB9XG5cbi8qIEVsZW1lbnRzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4ucGF5bWVudF9fbWVzc2FnZS1ob2xkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7IH1cbiAgLnBheW1lbnRfX21lc3NhZ2UtaG9sZGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtbG9hZGluZy10ZXh0KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRvcDogMjE0cHg7XG4gICAgY29sb3I6IGdyZXk7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBhbmltYXRpb246IHBhcnRGYWRlIDAuOXMgYWx0ZXJuYXRlIGluZmluaXRlOyB9XG5cbi5wYXltZW50X19pZnJhbWUtaG9sZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbjogd2hpdGVuIDAuOXMgNXMgZm9yd2FyZHM7IH1cblxuLnBheW1lbnRfaWZyYW1lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBtaW4taGVpZ2h0OiA3MDBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5wYXltZW50LXdhcm5pbmctbWVzc2FnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtYmFzaXM6IGNvbHVtbjtcbiAgbWFyZ2luOiAwIGF1dG8gMTBweCBhdXRvO1xuICBiYWNrZ3JvdW5kOiAjMTcyZTQxO1xuICBjb2xvcjogd2hpdGU7XG4gIG1heC13aWR0aDogNjAwcHg7IH1cblxuLnBheW1lbnQtd2FybmluZy1pY29uIHtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ucGF5bWVudC13YXJuaW5nLW1lc3NhZ2Uge1xuICBwYWRkaW5nOiAxMHB4IDEycHggN3B4IDEwcHg7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5wYXltZW50LXdhcm5pbmctbWVzc2FnZSBwIHtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLyogQW5pbWF0aW9uc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuQGtleWZyYW1lcyB3aGl0ZW4ge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH0gfVxuXG5Aa2V5ZnJhbWVzIHBhcnRGYWRlIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLyoqXHJcbiAqIE5hbWU6IExhbmRzY2FwZSBOb3RlXHJcbiAqXHJcbiAqIENvbXBvbmVudCBhc2tpbmcgbW9iaWxlIHVzZXJzIHRvIHR1cm4gdGhlaXIgZGV2aWNlcyB0byBsYW5kc2NhcGVcclxuICogbW9kZSB0byBtYWtlIFBYUCBwYXltZW50IGEgbGl0dGxlIGxlc3MgY3JhcHB5LlxyXG4gKi9cbi8qIFZhcmlhYmxlc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRWxlbWVudHNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi5sYW5kc2NhcGUtbm90ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gIHBhZGRpbmc6IDEuNXJlbSA0LjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMS41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuXG4ubGFuZHNjYXBlLW5vdGVfX2ltYWdlIHtcbiAgZmxleC1iYXNpczogMTAwcHg7IH1cbiAgLmxhbmRzY2FwZS1ub3RlX19pbWFnZSBpbWcge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDsgfVxuXG4ubGFuZHNjYXBlLW5vdGVfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmxhbmRzY2FwZS1ub3RlX19oZWFkZXItdGV4dCB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogMTAwO1xuICBsaW5lLWhlaWdodDogMnJlbTsgfVxuXG4ubGFuZHNjYXBlLW5vdGVfX3RleHQge1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIGNvbG9yOiBncmV5OyB9XG5cbi8qIE1lZGlhIHF1ZXJpZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjVweCkgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgLmxhbmRzY2FwZS1ub3RlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi8qKlxyXG4gKiBOYW1lOiBCdXR0b25zIC8gQydzVEFcclxuICovXG4vKiBWYXJpYWJsZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEVsZW1lbnRzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwOTM1NWM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMDkzNTVjO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdHJhbnNpdGlvbjogMC4ycztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwOTM1NWM7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi8qIE1vZGlmaWVyc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLmJ1dHRvbi0tZmlsbGVkIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzJlNDE7IH1cbiAgLmJ1dHRvbi0tZmlsbGVkOmhvdmVyLCAuYnV0dG9uLS1maWxsZWQ6Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG4gIC5idXR0b24tLWZpbGxlZFtkaXNhYmxlZF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjMGMzYzQ7XG4gICAgY29sb3I6ICNlNWU1ZTU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMTEsIDIxMSwgMjExLCAwLjYpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmJ1dHRvbi0tbm8tc2hvdXQge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4uYnV0dG9uLmJ1dHRvbi0tZnVsbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAyMHB4IDMwcHg7IH1cblxuLyogQ29tcG9uZW50IG1vZGlmaWVyc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLnJvb20taW5mb19fcHJpY2UtLXNlbGVjdGVkIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDkzNTVjO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucm9vbS1pbmZvX19wcmljZS0tc2VsZWN0ZWQgLmJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL3N2Zy90aWNrLnN2Z1wiKTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgcmlnaHQ6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGFuaW1hdGlvbjogZmFkZUluIDAuOHMgZm9yd2FyZHM7IH1cblxuLmZpeGVkLWJ1dHRvbl9faG9sZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBib3JkZXItdG9wOiBzb2xpZCAxcHggI2VlZWVlZTsgfVxuICAuZml4ZWQtYnV0dG9uX19ob2xkZXIgLnNlY3Rpb25fX2lubmVyLS10aGluIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLyogTWVkaWEgcXVlcmllc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDY3OHB4KSB7XG4gIC5idXR0b24ge1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDsgfSB9XG5cbi8qKlxyXG4gKiBOYW1lOiBQcm9ncmVzcyBiYXJcclxuICovXG4vKiBWYXJpYWJsZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi5iYXNrZXRfX2hvbGRlciB7XG4gIG1hcmdpbi10b3A6IDEycmVtOyB9XG5cbi8qIEVsZW1lbnRzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4uYmFza2V0IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYW5pbWF0aW9uOiBzbGlkZVVwIDAuNnMgZm9yd2FyZHM7IH1cblxuLmJhc2tldF9faW5uZXIge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAwLjVyZW0gNXJlbTsgfVxuXG4uYmFza2V0X19pbmZvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5iYXNrZXRfX2luZm8taXRlbSB7XG4gIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTsgfVxuXG4uYmFza2V0X19pbmZvLWl0ZW0taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjYWE2ZDUxO1xuICBmb250LWZhbWlseTogXCJCZWxsTVRTdGQtUmVndWxhclwiLCBzZXJpZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4uYmFza2V0X19pbmZvLWl0ZW0tdmFsdWUge1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgY29sb3I6ICMwOTM1NWM7IH1cblxuLmJhc2tldF9fYm9vayB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4vKiBNb2RpZmllcnNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi5iYXNrZXRfX2luZm8taXRlbS0tdG90YWwgLmJhc2tldF9faW5mby1pdGVtLXZhbHVlIHtcbiAgY29sb3I6ICNhYTZkNTE7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgZm9udC1zaXplOiAyLjVyZW07IH1cblxuLmJhc2tldF9faW5mby1pdGVtLS10b3RhbCAuYmFza2V0X19pbmZvLWl0ZW0taGVhZGVyIHtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIGZvbnQtZmFtaWx5OiBcIkF2ZW5pck5leHRMVFByby1SZWd1bGFyXCIsIHNhbnMtc2VyaWY7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi8qIE1lZGlhIHF1ZXJpZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAxNTAwcHgpIHtcbiAgLmJhc2tldCB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5iYXNrZXRfX2lubmVyIHtcbiAgICBwYWRkaW5nOiAxcmVtIDNyZW07IH1cbiAgLmJhc2tldF9faW5mby1pdGVtLXZhbHVlIHtcbiAgICBmb250LXNpemU6IDEuM3JlbTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA4NjVweCkge1xuICAuYmFza2V0IHtcbiAgICBoZWlnaHQ6IDQuOHJlbTsgfVxuICAuYmFza2V0X19pbm5lciB7XG4gICAgcGFkZGluZzogMXJlbSAxLjVyZW07IH1cbiAgLmJhc2tldF9faW5mbyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYmFza2V0X19pbmZvLWl0ZW0tLXRvdGFsIC5iYXNrZXRfX2luZm8taXRlbS12YWx1ZSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfSB9XG5cbi8qIEFuaW1hdGlvbnNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbkBrZXlmcmFtZXMgc2xpZGVVcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLyoqXHJcbiAqIE5hbWU6IExvYWRlclxyXG4gKlxyXG4gKiBGdWxsIHNjcmVlbiBsb2FkaW5nIHNjcmVlblxyXG4gKi9cbi8qIFZhcmlhYmxlc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRWxlbWVudHNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi5sb2FkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQ6ICMxNzJlNDE7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBhbmltYXRpb246IGZhZGVJbiAwLjJzIGZvcndhcmRzOyB9XG4gIC5sb2FkZXIubG9hZGVyLS1oaWRkZW4ge1xuICAgIGFuaW1hdGlvbjogZmFkZU91dCAwLjJzIGZvcndhcmRzOyB9XG5cbi5sb2FkZXJfX2lubmVyIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDNyZW07IH1cbiAgLmxvYWRlcl9faW5uZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogc29saWQgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxcmVtO1xuICAgIGJvdHRvbTogMXJlbTtcbiAgICBsZWZ0OiAxcmVtO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAycmVtKTsgfVxuXG4ubG9hZGVyX19pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5sb2FkZXJfX2ltYWdlIGltZyB7XG4gICAgd2lkdGg6IDE1cmVtO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG5cbi5sb2FkZXJfX3RleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1mYW1pbHk6IFwiQmVsbE1UU3RkLVJlZ3VsYXJcIiwgc2VyaWY7IH1cbiAgLmxvYWRlcl9fdGV4dCBzcGFuIHtcbiAgICBhbmltYXRpb246IGZhZGVJbiAwLjZzIGFsdGVybmF0ZSBpbmZpbml0ZTtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMXM7IH1cbiAgICAubG9hZGVyX190ZXh0IHNwYW46Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IDBzOyB9XG4gICAgLmxvYWRlcl9fdGV4dCBzcGFuOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IDAuMnM7IH1cblxuLmxvYWRlci0tY2FsZW5kYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMsIDQ2LCA2NSwgMC4yNSk7XG4gIHRvcDogMjlweDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDE7IH1cbiAgLmxvYWRlci0tY2FsZW5kYXIgLmxvYWRlcl9faW5uZXI6YWZ0ZXIge1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAubG9hZGVyLS1jYWxlbmRhciAubG9hZGVyX19pbWFnZSBpbWcge1xuICAgIG1heC13aWR0aDogMTIwcHg7IH1cblxuLyoqXHJcbiAqIE5hbWU6IFN1bW1hcnkgQm94XHJcbiAqXHJcbiAqIFNob3dzIGEgYm9va2luZyBzdW1tYXJ5XHJcbiAqL1xuLyogVmFyaWFibGVzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4vKiBFbGVtZW50c1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLnN1bW1hcnlib3gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogM3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnB4OyB9XG5cbi5zdW1tYXJ5Ym94Omxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnN1bW1hcnlib3hfX2ltYWdlIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zdW1tYXJ5Ym94X19oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgZm9udC1zaXplOiAxLjRlbTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBjb2xvcjogI2FhNmQ1MTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uc3VtbWFyeWJveF9fZWRpdC1saW5rIHtcbiAgY29sb3I6ICNhYTZkNTE7XG4gIGZvbnQtc2l6ZTogMC43ZW07IH1cblxuLnN1bW1hcnlib3hfX2xpc3Qge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnN1bW1hcnlib3hfX2xpc3RpdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uc3VtbWFyeWJveF9fdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA1MCU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZsZXgtYmFzaXM6IDQwJTsgfVxuXG4uc3VtbWFyeWJveF9fdmFsdWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsZXgtYmFzaXM6IDYwJTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnN1bW1hcnlib3gtLXRvdGFsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3MmU0MTtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDEuMmVtOyB9XG4gIC5zdW1tYXJ5Ym94LS10b3RhbCAuc3VtbWFyeWJveF9fbGlzdGl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5zdW1tYXJ5Ym94LS10b3RhbCAuc3VtbWFyeWJveF9fdmFsdWUge1xuICAgIGZvbnQtc2l6ZTogMS43NWVtOyB9XG5cbi5zdW1tYXJ5Ym94LS10b3RhbCAuc3VtbWFyeWJveF9fbGlzdGl0ZW0tLWRlcG9zaXQgLnN1bW1hcnlib3hfX3RpdGxlLFxuLnN1bW1hcnlib3gtLXRvdGFsIC5zdW1tYXJ5Ym94X19saXN0aXRlbS0tZGVwb3NpdCAuc3VtbWFyeWJveF9fdmFsdWUge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLnN1bW1hcnlib3hfX3ZhdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuNGVtOyB9XG5cbi8qIENoZWNrYm94IHVzZWQgZm9yIHNob3cvaGlkZSBvbiBtb2JpbGVcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi5yZXZlYWxlci1jaGVja2JveCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4vKiBQcmludCBidXR0b25cclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi5zdW1tYXJ5Ym94X19wcmludCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAucGFnZS0tY29uZmlybWF0aW9uIC5zdW1tYXJ5Ym94X19wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnN1bW1hcnlib3hfX3ByaW50IGEge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuc3VtbWFyeWJveF9fcHJpbnQgaW1nIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG5cbi8qIE1vZGlmeSBpcyB1c2VkIG9uIGNvbmZpcm1hdGlvbiBvciByZXRyaWV2ZSBib29raW5nIHBhZ2VzLlxyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLnBhZ2UtLXJldHJpZXZlIC5wYWdlIHAsXG4ucGFnZS0tY29uZmlybWF0aW9uIC5wYWdlIHAge1xuICBwYWRkaW5nOiAwIDEuNXJlbTsgfVxuXG4ucGFnZS0tcmV0cmlldmUgLnBhZ2UgLnN1bW1hcnlib3gsXG4ucGFnZS0tY29uZmlybWF0aW9uIC5wYWdlIC5zdW1tYXJ5Ym94IHtcbiAgcGFkZGluZzogMS41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZWVlZWVlOyB9XG5cbi5wYWdlLS1yZXRyaWV2ZSAucGFnZSAuc3VtbWFyeWJveF9fZWRpdC1saW5rLFxuLnBhZ2UtLWNvbmZpcm1hdGlvbiAucGFnZSAuc3VtbWFyeWJveF9fZWRpdC1saW5rIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGFnZS0tcmV0cmlldmUgLnBhZ2UgLnN1bW1hcnlib3hfX2xpc3RpdGVtLFxuLnBhZ2UtLWNvbmZpcm1hdGlvbiAucGFnZSAuc3VtbWFyeWJveF9fbGlzdGl0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAxZW07IH1cblxuLnBhZ2UtLXJldHJpZXZlIC5wYWdlIC5zdW1tYXJ5Ym94X192YWx1ZSxcbi5wYWdlLS1jb25maXJtYXRpb24gLnBhZ2UgLnN1bW1hcnlib3hfX3ZhbHVlIHtcbiAgY29sb3I6ICNhYTZkNTE7IH1cblxuLnBhZ2UtLXJldHJpZXZlIC5wYWdlIC5zdW1tYXJ5Ym94LS10b3RhbCxcbi5wYWdlLS1jb25maXJtYXRpb24gLnBhZ2UgLnN1bW1hcnlib3gtLXRvdGFsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3MmU0MTtcbiAgcGFkZGluZzogM3JlbTsgfVxuICAucGFnZS0tcmV0cmlldmUgLnBhZ2UgLnN1bW1hcnlib3gtLXRvdGFsIC5zdW1tYXJ5Ym94X19saXN0aXRlbSxcbiAgLnBhZ2UtLWNvbmZpcm1hdGlvbiAucGFnZSAuc3VtbWFyeWJveC0tdG90YWwgLnN1bW1hcnlib3hfX2xpc3RpdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5wYWdlLS1yZXRyaWV2ZSAucGFnZSAuc3VtbWFyeWJveC0tdG90YWwgLnN1bW1hcnlib3hfX3ZhbHVlLFxuICAucGFnZS0tcmV0cmlldmUgLnBhZ2UgLnN1bW1hcnlib3gtLXRvdGFsIC5zdW1tYXJ5Ym94X190aXRsZSxcbiAgLnBhZ2UtLWNvbmZpcm1hdGlvbiAucGFnZSAuc3VtbWFyeWJveC0tdG90YWwgLnN1bW1hcnlib3hfX3ZhbHVlLFxuICAucGFnZS0tY29uZmlybWF0aW9uIC5wYWdlIC5zdW1tYXJ5Ym94LS10b3RhbCAuc3VtbWFyeWJveF9fdGl0bGUge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4vKiBNZWRpYSBxdWVyaWVzLlxyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDg2NXB4KSB7XG4gIC5zdW1tYXJ5Ym94IHtcbiAgICBwYWRkaW5nOiAxLjVyZW07IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY1cHgpIHtcbiAgLnN1bW1hcnlib3hfX2hvbGRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAucGFnZS0tY29uZmlybWF0aW9uIC5zdW1tYXJ5Ym94LS10b3RhbCB7XG4gICAgcGFkZGluZzogMS41cmVtOyB9XG4gIC5yZXZlYWxlci1jaGVja2JveCB7XG4gICAgZGlzcGxheTogaW5pdGlhbDsgfVxuICAjc3VtbWFyeS1yZXZlYWwgfiAuc3VtbWFyeWJveGVzIHtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIDAuMjIsIDAuMjgsIDAuODkpO1xuICAgIG1hcmdpbjogMCAtMS41cmVtOyB9XG4gICNzdW1tYXJ5LXJldmVhbDpjaGVja2VkIH4gLnN1bW1hcnlib3hlcyB7XG4gICAgbWF4LWhlaWdodDogMTEwMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVyZW07IH0gfVxuXG4uc2VhcmNoLXBhZ2UtbWVzc2FnZSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgZm9udC1zaXplOiAwLjhyZW07IH1cbiAgLnNlYXJjaC1wYWdlLW1lc3NhZ2UgYSB7XG4gICAgY29sb3I6ICNhYTZkNTE7IH1cblxuaHIge1xuICBib3JkZXItdG9wOiAycHggZG90dGVkICMzNDdlYWY7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMzBweCAwOyB9XG5cbi8qKlxyXG4gKiBOYW1lOiBQYWdlc1xyXG4gKlxyXG4gKiBNb2RpZnkgbWlzYyBwYWdlcy5cclxuICovXG4ucGFnZS0tc2VhcmNoIHtcbiAgcGFkZGluZy1ib3R0b206IDEwMHB4OyB9XG5cbi5wYWdlLS1kZXRhaWxzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5wYWdlLS1yZXRyaWV2ZSAucGFnZSxcbi5wYWdlLS1jb25maXJtYXRpb24gLnBhZ2Uge1xuICBtYXgtd2lkdGg6IDU1MHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi8qKlxyXG4gKiBOYW1lOiBQcm9ncmVzcyBiYXJcclxuICovXG4vKiBWYXJpYWJsZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEhvbGRlclxyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLnByb2dyZXNzYmFyIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qKlxyXG4qIEl0ZW1zIGhvbGRlclxyXG4qL1xuLnByb2dyZXNzYmFyX19pdGVtcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy10b3A6IDMuNXB4OyB9XG5cbi8qKlxyXG4qIEl0ZW0gb24gcHJvZ3Jlc3MgYmFyXHJcbiovXG4ucHJvZ3Jlc3NiYXJfX2l0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtYmFzaXM6IDIwJTtcbiAgZmxleC1ncm93OiAxO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKipcclxuKiBMaW5rXHJcbiovXG4ucHJvZ3Jlc3NiYXJfX2l0ZW0gYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAzM3B4OyB9XG4gIC5wcm9ncmVzc2Jhcl9faXRlbSBhOmhvdmVyIC5wcm9ncmVzc2Jhcl9fdGV4dCwgLnByb2dyZXNzYmFyX19pdGVtIGE6Zm9jdXMgLnByb2dyZXNzYmFyX190ZXh0IHtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4vKipcclxuKiBEb24ndCBzaG93IGxpbmUgb24gbGFzdCBpdGVtXHJcbiovXG4ucHJvZ3Jlc3NiYXJfX2l0ZW06bGFzdC1jaGlsZCAucHJvZ3Jlc3NiYXJfX2xpbmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qKlxyXG4qIENlbnRlciBsb2dvXHJcbiovXG4ucHJvZ3Jlc3NiYXJfX2xvZ28ge1xuICBtYXJnaW4tdG9wOiAtMy41cHg7IH1cblxuLyoqXHJcbiogUHJvZ3Jlc3MgY2lyY2xlXHJcbiovXG4ucHJvZ3Jlc3NiYXJfX2luZGljYXRvciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMwNTc2ZDtcbiAgdHJhbnNpdGlvbjogMC40czsgfVxuXG4vKipcclxuKiBQcm9ncmVzcyBsaW5lXHJcbiovXG4ucHJvZ3Jlc3NiYXJfX2xpbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMy41cHg7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAwIDAgMCAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDU3NmQ7IH1cblxuLyoqXHJcbiogTGluayB0ZXh0XHJcbiovXG4ucHJvZ3Jlc3NiYXJfX3RleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0zcHg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBsaW5lLWhlaWdodDogMC43cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBjb2xvcjogIzg4ODg4ODtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogMC40czsgfVxuXG4vKipcclxuKiBNb2JpbGUgdGV4dFxyXG4qL1xuLnByb2dyZXNzYmFyX19tb2JpbGUtdGl0bGUge1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IDAuOWVtO1xuICBjb2xvcjogIzg4ODg4ODsgfVxuXG4vKiBNb2RpZmllcnNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4qIFZpc2l0ZWQgaXRlbVxyXG4qL1xuLnByb2dyZXNzYmFyX19pdGVtLS12aXNpdGVkIC5wcm9ncmVzc2Jhcl9fbGluZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhYTZkNTE7IH1cblxuLnByb2dyZXNzYmFyX19pdGVtLS12aXNpdGVkIC5wcm9ncmVzc2Jhcl9faW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FhNmQ1MTsgfVxuXG4vKipcclxuKiBDdXJyZW50IGl0ZW1cclxuKi9cbi5wcm9ncmVzc2Jhcl9faXRlbS0tYWN0aXZlIC5wcm9ncmVzc2Jhcl9fdGV4dCxcbi5wcm9ncmVzc2Jhcl9faXRlbS0tdmlzaXRlZCBhOmhvdmVyIC5wcm9ncmVzc2Jhcl9fdGV4dCB7XG4gIGFuaW1hdGlvbjogYWN0aXZhdGVEaXNjVGV4dCAwLjRzIGZvcndhcmRzOyB9XG5cbi5wcm9ncmVzc2Jhcl9faXRlbS0tYWN0aXZlIC5wcm9ncmVzc2Jhcl9faW5kaWNhdG9yLFxuLnByb2dyZXNzYmFyX19pdGVtLS12aXNpdGVkIGE6aG92ZXIgLnByb2dyZXNzYmFyX19pbmRpY2F0b3Ige1xuICBhbmltYXRpb246IGFjdGl2YXRlRGlzYyAwLjRzIGZvcndhcmRzOyB9XG5cbi8qKlxyXG4qIExvZ28gaXRlbSBjaGFuZ2VzXHJcbiovXG4ucHJvZ3Jlc3NiYXJfX2l0ZW0tLWxvZ28gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTcyZTQxO1xuICB3aWR0aDogMTgzcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxyXG4qIENvbmZpcm1hdGlvbiBwYWdlXHJcbiovXG4ucGFnZS0tY29uZmlybWF0aW9uIC5wcm9ncmVzc2Jhcl9fdGV4dCxcbi5wYWdlLS1yZXRyaWV2ZSAucHJvZ3Jlc3NiYXJfX3RleHQge1xuICBvcGFjaXR5OiAwOyB9XG5cbi8qKlxyXG4qIFBheW1lbnQsIGNvbmZpcm1hdGlvbiBwYWdlc1xyXG4qL1xuLnBhZ2UtLXBheW1lbnQgLnByb2dyZXNzYmFyX19pdGVtIGEsXG4ucGFnZS0tY29uZmlybWF0aW9uIC5wcm9ncmVzc2Jhcl9faXRlbSBhLFxuLnBhZ2UtLXJldHJpZXZlIC5wcm9ncmVzc2Jhcl9faXRlbSBhIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnBhZ2UtLWNvbmZpcm1hdGlvbiAucHJvZ3Jlc3NiYXJfX2l0ZW0tLWxvZ28gYSxcbi5wYWdlLS1yZXRyaWV2ZSAucHJvZ3Jlc3NiYXJfX2l0ZW0tLWxvZ28gYSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cblxuLyogTWVkaWEgcXVlcmllc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDg2NXB4KSB7XG4gIC5wcm9ncmVzc2Jhcl9fdGV4dCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucHJvZ3Jlc3NiYXJfX2l0ZW1zIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgLnByb2dyZXNzYmFyX19tb2JpbGUtdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLXRvcDogLTEzcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgLnByb2dyZXNzYmFyX19pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiBpbml0aWFsOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2NXB4KSB7XG4gIC5wcm9ncmVzc2Jhcl9faXRlbS0tbG9nbyAucHJvZ3Jlc3NiYXJfX2xpbmUge1xuICAgIG1heC13aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjc4cHgpIHtcbiAgLnByb2dyZXNzYmFyX19pdGVtLS1sb2dvIC5wcm9ncmVzc2Jhcl9fbGluZSB7XG4gICAgbWF4LXdpZHRoOiAxNjVweDsgfSB9XG5cbi8qIEFuaW1hdGlvbnNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbkBrZXlmcmFtZXMgYWN0aXZhdGVEaXNjIHtcbiAgMCUge1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWE2ZDUxOyB9XG4gIDEwMCUge1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBtYXJnaW4tdG9wOiAtMy41cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FhNmQ1MTsgfSB9XG5cbkBrZXlmcmFtZXMgYWN0aXZhdGVEaXNjVGV4dCB7XG4gIDAlIHtcbiAgICBjb2xvcjogIzg4ODg4ODtcbiAgICBib3R0b206IC0zcHg7IH1cbiAgMTAwJSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgYm90dG9tOiAtNi41cHg7IH0gfVxuXG4vKipcclxuICogTmFtZTogUG9wdXBcclxuICpcclxuICogT3ZlcmxheSBzaG93biBnaXZpbmcgZXh0cmEgaW5mb1xyXG4gKi9cbi8qIFZhcmlhYmxlc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRWxlbWVudHNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi5wb3B1cCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxMDtcbiAgYW5pbWF0aW9uOiBmYWRlSW4gMC4ycyBmb3J3YXJkcztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTI4LCAxMjgsIDEyOCwgMC41KTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4ucG9wdXBfX2hlYWRlciB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiAjYWE2ZDUxO1xuICBmb250LXNpemU6IDJyZW07IH1cblxuLnBvcHVwX19zdWItaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIG1hcmdpbjogMS41ZW0gMCAwLjc1ZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnBvcHVwX19jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDI1cHg7XG4gIGhlaWdodDogMjVweDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDA7XG4gIHBhZGRpbmc6IDEuNXJlbTsgfVxuICAucG9wdXBfX2Nsb3NlOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogMjVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL3N2Zy9jcm9zcy5zdmdcIik7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDEyLjVweCk7XG4gICAgcmlnaHQ6IGNhbGMoNTAlIC0gMTIuNXB4KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnBvcHVwX19pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMDBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMS41cmVtO1xuICBtYXJnaW46IDEuNXJlbTtcbiAgcGFkZGluZy10b3A6IDI1cHg7IH1cblxuLnBvcHVwX19jb250ZW50IHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAzNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogNC41cmVtOyB9XG5cbi8qIE1vZGlmaWVyc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLnBvcHVwLS1mdWxsIC5wb3B1cF9faW5uZXIge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBvdmVyZmxvdzogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi5wb3B1cC0tZnVsbCAucG9wdXBfX2Nsb3NlIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gIHotaW5kZXg6IDE7IH1cblxuLyoqXHJcbiAqIE5hbWU6IElubGluZSBMaW5rXHJcbiAqXHJcbiAqIElubGluZSBsaW5rIHN0eWxpbmdcclxuICovXG4uaW5saW5lLWxpbmsge1xuICBjb2xvcjogI2FhNmQ1MTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIHRyYW5zaXRpb246IGNvbG9yIC4ycyBlYXNlO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmlubGluZS1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogIzA5MzU1YzsgfVxuXG4vKlxyXG5cdE1vZGlmaWVkIGZyb20gb3JpZ2luYWwgU0NTUyBmaWxlcy5cclxuXHJcblx0UmVtb3ZlZCB0cmlhbmdsZSBtaXhpbnMgYW5kIHZhcmlhYmxlcyBmaWxlcy5cclxuXHJcblx0Q3VzdG9tIGNvZGUgZm91bmQgYXQgYm90dG9tIG9mIHRoaXMgZmlsZS5cclxuKi9cbi8qIFZhcmlhYmxlc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRWxlbWVudHNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi5yZWFjdC1kYXRlcGlja2VyIHtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiAjMTcyZTQxO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWE2ZDUxO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCkgdHJhbnNsYXRlWSgtMTdweCkgdHJhbnNsYXRlWigwcHgpO1xuICB3aWR0aDogMjEuNzVyZW07XG4gIHdpZHRoOiAzNDhweDtcbiAgei1pbmRleDogMjsgfVxuXG4ucmVhY3QtZGF0ZXBpY2tlcl9fdHJpYW5nbGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5yZWFjdC1kYXRlcGlja2VyX190ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1ib3R0b20ucmVhY3QtZGF0ZXBpY2tlcl9fdGV0aGVyLWVsZW1lbnQge1xuICBtYXJnaW4tdG9wOiAtMjBweDsgfVxuXG4ucmVhY3QtZGF0ZXBpY2tlcl9faGVhZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBwYWRkaW5nLXRvcDogOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnJlYWN0LWRhdGVwaWNrZXJfX3llYXItZHJvcGRvd24tY29udGFpbmVyLS1zZWxlY3QsXG4ucmVhY3QtZGF0ZXBpY2tlcl9fbW9udGgtZHJvcGRvd24tY29udGFpbmVyLS1zZWxlY3QsXG4ucmVhY3QtZGF0ZXBpY2tlcl9feWVhci1kcm9wZG93bi1jb250YWluZXItLXNjcm9sbCxcbi5yZWFjdC1kYXRlcGlja2VyX19tb250aC1kcm9wZG93bi1jb250YWluZXItLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDJweDsgfVxuXG4ucmVhY3QtZGF0ZXBpY2tlcl9fY3VycmVudC1tb250aCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGNvbG9yOiAjMTcyZTQxO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIG1hcmdpbjogMXJlbSAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICMxNzJlNDE7IH1cblxuLnJlYWN0LWRhdGVwaWNrZXJfX25hdmlnYXRpb24ge1xuICBsaW5lLWhlaWdodDogMi41cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIycHg7XG4gIHdpZHRoOiAwO1xuICBib3JkZXI6IDAuNDVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIHotaW5kZXg6IDE7IH1cbiAgLnJlYWN0LWRhdGVwaWNrZXJfX25hdmlnYXRpb24tLXByZXZpb3VzIHtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogI2NjYzsgfVxuICAgIC5yZWFjdC1kYXRlcGlja2VyX19uYXZpZ2F0aW9uLS1wcmV2aW91czpob3ZlciB7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICNiM2IzYjM7IH1cbiAgLnJlYWN0LWRhdGVwaWNrZXJfX25hdmlnYXRpb24tLW5leHQge1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjY2NjOyB9XG4gICAgLnJlYWN0LWRhdGVwaWNrZXJfX25hdmlnYXRpb24tLW5leHQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNiM2IzYjM7IH1cbiAgLnJlYWN0LWRhdGVwaWNrZXJfX25hdmlnYXRpb24tLXllYXJzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgIC5yZWFjdC1kYXRlcGlja2VyX19uYXZpZ2F0aW9uLS15ZWFycy1wcmV2aW91cyB7XG4gICAgICB0b3A6IDRweDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNjY2M7IH1cbiAgICAgIC5yZWFjdC1kYXRlcGlja2VyX19uYXZpZ2F0aW9uLS15ZWFycy1wcmV2aW91czpob3ZlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICNiM2IzYjM7IH1cbiAgICAucmVhY3QtZGF0ZXBpY2tlcl9fbmF2aWdhdGlvbi0teWVhcnMtdXBjb21pbmcge1xuICAgICAgdG9wOiAtNHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2NjYzsgfVxuICAgICAgLnJlYWN0LWRhdGVwaWNrZXJfX25hdmlnYXRpb24tLXllYXJzLXVwY29taW5nOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2IzYjNiMzsgfVxuXG4ucmVhY3QtZGF0ZXBpY2tlcl9fbW9udGgge1xuICBtYXJnaW46IDFyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucmVhY3QtZGF0ZXBpY2tlcl9fd2Vlay1udW1iZXIge1xuICBjb2xvcjogI2NjYztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMi41cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMC4xNjZyZW07IH1cblxuLnJlYWN0LWRhdGVwaWNrZXJfX2RheS1uYW1lcyxcbi5yZWFjdC1kYXRlcGlja2VyX193ZWVrIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4ucmVhY3QtZGF0ZXBpY2tlcl9fZGF5LW5hbWUsXG4ucmVhY3QtZGF0ZXBpY2tlcl9fZGF5IHtcbiAgY29sb3I6ICMxNzJlNDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDAuMTY2cmVtO1xuICBmbGV4LWdyb3c6IDE7IH1cblxuLnJlYWN0LWRhdGVwaWNrZXJfX2RheS1uYW1lIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuLnJlYWN0LWRhdGVwaWNrZXJfX2RheSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWUzZWQ7XG4gIGJvcmRlcjogc29saWQgMnB4ICNkOWUzZWQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAucmVhY3QtZGF0ZXBpY2tlcl9fZGF5OmhvdmVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cbiAgLnJlYWN0LWRhdGVwaWNrZXJfX2RheS0tdG9kYXkge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5yZWFjdC1kYXRlcGlja2VyX19kYXktLWhpZ2hsaWdodGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZGNjNGE7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAucmVhY3QtZGF0ZXBpY2tlcl9fZGF5LS1oaWdobGlnaHRlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzJiZTNmOyB9XG4gIC5yZWFjdC1kYXRlcGlja2VyX19kYXktLXNlbGVjdGVkLCAucmVhY3QtZGF0ZXBpY2tlcl9fZGF5LS1pbi1zZWxlY3RpbmctcmFuZ2UsIC5yZWFjdC1kYXRlcGlja2VyX19kYXktLWluLXJhbmdlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhYTZkNTE7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWE2ZDUxO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLnJlYWN0LWRhdGVwaWNrZXJfX2RheS0tc2VsZWN0ZWQ6aG92ZXIsIC5yZWFjdC1kYXRlcGlja2VyX19kYXktLWluLXNlbGVjdGluZy1yYW5nZTpob3ZlciwgLnJlYWN0LWRhdGVwaWNrZXJfX2RheS0taW4tcmFuZ2U6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk5NjI0OTsgfVxuICAucmVhY3QtZGF0ZXBpY2tlcl9fZGF5LS1rZXlib2FyZC1zZWxlY3RlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmM4OTcyO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLnJlYWN0LWRhdGVwaWNrZXJfX2RheS0ta2V5Ym9hcmQtc2VsZWN0ZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk5NjI0OTsgfVxuICAucmVhY3QtZGF0ZXBpY2tlcl9fZGF5LS1pbi1zZWxlY3RpbmctcmFuZ2U6bm90KC5yZWFjdC1kYXRlcGlja2VyX19kYXktLWluLXJhbmdlKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNzAsIDEwOSwgODEsIDAuNSk7IH1cbiAgLnJlYWN0LWRhdGVwaWNrZXJfX21vbnRoLS1zZWxlY3RpbmctcmFuZ2UgLnJlYWN0LWRhdGVwaWNrZXJfX2RheS0taW4tcmFuZ2U6bm90KC5yZWFjdC1kYXRlcGlja2VyX19kYXktLWluLXNlbGVjdGluZy1yYW5nZSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgY29sb3I6ICMxNzJlNDE7IH1cbiAgLnJlYWN0LWRhdGVwaWNrZXJfX2RheS0tZGlzYWJsZWQge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBjb2xvcjogI2NjYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLnJlYWN0LWRhdGVwaWNrZXJfX2RheS0tZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnJlYWN0LWRhdGVwaWNrZXJfX2lucHV0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5yZWFjdC1kYXRlcGlja2VyX195ZWFyLXJlYWQtdmlldyxcbi5yZWFjdC1kYXRlcGlja2VyX19tb250aC1yZWFkLXZpZXcge1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAucmVhY3QtZGF0ZXBpY2tlcl9feWVhci1yZWFkLXZpZXc6aG92ZXIsXG4gIC5yZWFjdC1kYXRlcGlja2VyX19tb250aC1yZWFkLXZpZXc6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5yZWFjdC1kYXRlcGlja2VyX195ZWFyLXJlYWQtdmlldzpob3ZlciAucmVhY3QtZGF0ZXBpY2tlcl9feWVhci1yZWFkLXZpZXctLWRvd24tYXJyb3csXG4gICAgLnJlYWN0LWRhdGVwaWNrZXJfX3llYXItcmVhZC12aWV3OmhvdmVyIC5yZWFjdC1kYXRlcGlja2VyX19tb250aC1yZWFkLXZpZXctLWRvd24tYXJyb3csXG4gICAgLnJlYWN0LWRhdGVwaWNrZXJfX21vbnRoLXJlYWQtdmlldzpob3ZlciAucmVhY3QtZGF0ZXBpY2tlcl9feWVhci1yZWFkLXZpZXctLWRvd24tYXJyb3csXG4gICAgLnJlYWN0LWRhdGVwaWNrZXJfX21vbnRoLXJlYWQtdmlldzpob3ZlciAucmVhY3QtZGF0ZXBpY2tlcl9fbW9udGgtcmVhZC12aWV3LS1kb3duLWFycm93IHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNiM2IzYjM7IH1cbiAgLnJlYWN0LWRhdGVwaWNrZXJfX3llYXItcmVhZC12aWV3LS1kb3duLWFycm93LFxuICAucmVhY3QtZGF0ZXBpY2tlcl9fbW9udGgtcmVhZC12aWV3LS1kb3duLWFycm93IHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjY2NjO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICB0b3A6IDhweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXdpZHRoOiAwLjQ1cmVtOyB9XG5cbi5yZWFjdC1kYXRlcGlja2VyX195ZWFyLWRyb3Bkb3duLFxuLnJlYWN0LWRhdGVwaWNrZXJfX21vbnRoLWRyb3Bkb3duIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogNTAlO1xuICBsZWZ0OiAyNSU7XG4gIHRvcDogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWE2ZDUxOyB9XG4gIC5yZWFjdC1kYXRlcGlja2VyX195ZWFyLWRyb3Bkb3duOmhvdmVyLFxuICAucmVhY3QtZGF0ZXBpY2tlcl9fbW9udGgtZHJvcGRvd246aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAucmVhY3QtZGF0ZXBpY2tlcl9feWVhci1kcm9wZG93bi0tc2Nyb2xsYWJsZSxcbiAgLnJlYWN0LWRhdGVwaWNrZXJfX21vbnRoLWRyb3Bkb3duLS1zY3JvbGxhYmxlIHtcbiAgICBoZWlnaHQ6IDE1MHB4O1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4ucmVhY3QtZGF0ZXBpY2tlcl9feWVhci1vcHRpb24sXG4ucmVhY3QtZGF0ZXBpY2tlcl9fbW9udGgtb3B0aW9uIHtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAucmVhY3QtZGF0ZXBpY2tlcl9feWVhci1vcHRpb246Zmlyc3Qtb2YtdHlwZSxcbiAgLnJlYWN0LWRhdGVwaWNrZXJfX21vbnRoLW9wdGlvbjpmaXJzdC1vZi10eXBlIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG4gIC5yZWFjdC1kYXRlcGlja2VyX195ZWFyLW9wdGlvbjpsYXN0LW9mLXR5cGUsXG4gIC5yZWFjdC1kYXRlcGlja2VyX19tb250aC1vcHRpb246bGFzdC1vZi10eXBlIHtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cbiAgLnJlYWN0LWRhdGVwaWNrZXJfX3llYXItb3B0aW9uOmhvdmVyLFxuICAucmVhY3QtZGF0ZXBpY2tlcl9fbW9udGgtb3B0aW9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjOyB9XG4gICAgLnJlYWN0LWRhdGVwaWNrZXJfX3llYXItb3B0aW9uOmhvdmVyIC5yZWFjdC1kYXRlcGlja2VyX19uYXZpZ2F0aW9uLS15ZWFycy11cGNvbWluZyxcbiAgICAucmVhY3QtZGF0ZXBpY2tlcl9fbW9udGgtb3B0aW9uOmhvdmVyIC5yZWFjdC1kYXRlcGlja2VyX19uYXZpZ2F0aW9uLS15ZWFycy11cGNvbWluZyB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjYjNiM2IzOyB9XG4gICAgLnJlYWN0LWRhdGVwaWNrZXJfX3llYXItb3B0aW9uOmhvdmVyIC5yZWFjdC1kYXRlcGlja2VyX19uYXZpZ2F0aW9uLS15ZWFycy1wcmV2aW91cyxcbiAgICAucmVhY3QtZGF0ZXBpY2tlcl9fbW9udGgtb3B0aW9uOmhvdmVyIC5yZWFjdC1kYXRlcGlja2VyX19uYXZpZ2F0aW9uLS15ZWFycy1wcmV2aW91cyB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjYjNiM2IzOyB9XG4gIC5yZWFjdC1kYXRlcGlja2VyX195ZWFyLW9wdGlvbi0tc2VsZWN0ZWQsXG4gIC5yZWFjdC1kYXRlcGlja2VyX19tb250aC1vcHRpb24tLXNlbGVjdGVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMTVweDsgfVxuXG4ucmVhY3QtZGF0ZXBpY2tlcl9fY2xvc2UtaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIG91dGxpbmU6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLnJlYWN0LWRhdGVwaWNrZXJfX2Nsb3NlLWljb246OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWE2ZDUxO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3R0b206IDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBjb250ZW50OiBcIlxcMDBkN1wiO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogLThweCBhdXRvIDA7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogN3B4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0b3A6IDUwJTsgfVxuXG4ucmVhY3QtZGF0ZXBpY2tlcl9fdG9kYXktYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNhYTZkNTE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogNXB4IDA7XG4gIGNsZWFyOiBsZWZ0OyB9XG5cbi5yZWFjdC1kYXRlcGlja2VyX190ZXRoZXItZWxlbWVudCB7XG4gIHotaW5kZXg6IDIxNDc0ODM2NDc7IH1cblxuLnJlYWN0LWRhdGVwaWNrZXJfX3BvcnRhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHotaW5kZXg6IDIxNDc0ODM2NDc7IH1cbiAgLnJlYWN0LWRhdGVwaWNrZXJfX3BvcnRhbCAucmVhY3QtZGF0ZXBpY2tlcl9fZGF5LW5hbWUsXG4gIC5yZWFjdC1kYXRlcGlja2VyX19wb3J0YWwgLnJlYWN0LWRhdGVwaWNrZXJfX2RheSB7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDNyZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQwMHB4KSwgKG1heC1oZWlnaHQ6IDU1MHB4KSB7XG4gICAgLnJlYWN0LWRhdGVwaWNrZXJfX3BvcnRhbCAucmVhY3QtZGF0ZXBpY2tlcl9fZGF5LW5hbWUsXG4gICAgLnJlYWN0LWRhdGVwaWNrZXJfX3BvcnRhbCAucmVhY3QtZGF0ZXBpY2tlcl9fZGF5IHtcbiAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDJyZW07IH0gfVxuICAucmVhY3QtZGF0ZXBpY2tlcl9fcG9ydGFsIC5yZWFjdC1kYXRlcGlja2VyX19jdXJyZW50LW1vbnRoIHtcbiAgICBmb250LXNpemU6IDEuNDRyZW07IH1cbiAgLnJlYWN0LWRhdGVwaWNrZXJfX3BvcnRhbCAucmVhY3QtZGF0ZXBpY2tlcl9fbmF2aWdhdGlvbiB7XG4gICAgYm9yZGVyOiAwLjgxcmVtIHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gIC5yZWFjdC1kYXRlcGlja2VyX19wb3J0YWwgLnJlYWN0LWRhdGVwaWNrZXJfX25hdmlnYXRpb24tLXByZXZpb3VzIHtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICNjY2M7IH1cbiAgICAucmVhY3QtZGF0ZXBpY2tlcl9fcG9ydGFsIC5yZWFjdC1kYXRlcGlja2VyX19uYXZpZ2F0aW9uLS1wcmV2aW91czpob3ZlciB7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICNiM2IzYjM7IH1cbiAgLnJlYWN0LWRhdGVwaWNrZXJfX3BvcnRhbCAucmVhY3QtZGF0ZXBpY2tlcl9fbmF2aWdhdGlvbi0tbmV4dCB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICNjY2M7IH1cbiAgICAucmVhY3QtZGF0ZXBpY2tlcl9fcG9ydGFsIC5yZWFjdC1kYXRlcGlja2VyX19uYXZpZ2F0aW9uLS1uZXh0OmhvdmVyIHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjYjNiM2IzOyB9XG5cbi8qIEN1c3RvbSBjb2RlXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4ucmVhY3QtZGF0ZXBpY2tlcl9faW5wdXQtY29udGFpbmVyID4gaW5wdXQge1xuICBvcGFjaXR5OiAwO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xOyB9XG5cbi5kYXRlcGlja2VyX19zaG93LWhvbGRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTU7XG4gIGFuaW1hdGlvbjogZmFkZUluIDAuMnMgZm9yd2FyZHM7IH1cblxuLmRhdGVwaWNrZXJfX2JhY2tncm91bmQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpOyB9XG5cbi5kYXRlcGlja2VyX19tb2JpbGUtZWxlbXMge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kYXRlcGlja2VyX19jbG9zZSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBkaXJlY3Rpb246IHJ0bDsgfVxuXG4uZGF0ZXBpY2tlcl9fY2xvc2UtYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDNyZW07IH1cblxuLmRhdGVwaWNrZXJfX21vYmlsZS1oZWFkZXIge1xuICBmb250LWZhbWlseTogXCJCZWxsTVRTdGQtUmVndWxhclwiLCBzZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4uZGF0ZXBpY2tlcl9fbW9iaWxlLXR5cGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICNhYTZkNTE7XG4gIGZvbnQtc2l6ZTogMS4zZW07IH1cblxuLnJlYWN0LWRhdGVwaWNrZXJfX2RheS0tZGlzYWJsZWQge1xuICBib3JkZXItY29sb3I6ICNlNmU2ZTY7IH1cblxuLnJlYWN0LWRhdGVwaWNrZXJfX25hdmlnYXRpb24ge1xuICBib3JkZXI6IG5vbmU7XG4gIGhlaWdodDogMjlweDtcbiAgd2lkdGg6IDIwcHg7IH1cbiAgLnJlYWN0LWRhdGVwaWNrZXJfX25hdmlnYXRpb246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29ucy9zdmcvY2hldnJvbi5zdmdcIik7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBhbmltYXRpb246IGZhZGVJbiAwLjJzIGZvcndhcmRzOyB9XG4gIC5yZWFjdC1kYXRlcGlja2VyX19uYXZpZ2F0aW9uLS1wcmV2aW91cyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XG4gIC5yZWFjdC1kYXRlcGlja2VyX19uYXZpZ2F0aW9uLS1uZXh0IHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOyB9XG4gICAgLnJlYWN0LWRhdGVwaWNrZXJfX25hdmlnYXRpb24tLW5leHQ6YWZ0ZXIge1xuICAgICAgbGVmdDogLTFweDsgfVxuXG4vKiBNZWRpYSBxdWVyaWVzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgKG1heC13aWR0aDogNjc4cHgpIHtcbiAgLnJlYWN0LWRhdGVwaWNrZXIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB0cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kYXRlcGlja2VyX19zaG93LWhvbGRlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiAxLjVyZW07IH1cbiAgLmRhdGVwaWNrZXJfX21vYmlsZS1lbGVtcyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE1O1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuZGF0ZXBpY2tlcl9fYmFja2dyb3VuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucmVhY3QtZGF0ZXBpY2tlcl9fdGV0aGVyLWVsZW1lbnQge1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbi10b3A6IDhyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG5cbi8qKlxyXG4gKiBOYW1lOiBDYWxlbmRhclxyXG4gKlxyXG4gKiBDb250cm9scyBsYXlvdXQgZm9yIGltcHJvdmVkIGNhbGVuZGFyXHJcbiAqL1xuLyogVmFyaWFibGVzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4vKiBNaXhpbnNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEhvbGRlclxyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLmNhbGVuZGFyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4vKiBDYWxlbmRhciBncmlkXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4uY2FsZW5kYXJfX2dyaWQge1xuICBtYXJnaW46IDAgLTJweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qIENhbGVuZGFyIGNvbnRyb2xzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4uY2FsZW5kYXJfX2NvbnRyb2xzIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHBhZGRpbmc6IDIwcHggMCAyMHB4IDA7IH1cblxuLmNhbGVuZGFyX19jb250cm9sIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogYmx1ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICNhYTZkNTE7IH1cbiAgLmNhbGVuZGFyX19jb250cm9sOmhvdmVyIHtcbiAgICBjb2xvcjogIzk5NjI0OTsgfVxuXG4uY2FsZW5kYXJfX2RhdGUtcHJldmlldy10ZXh0IHtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgY29sb3I6ICMwOTM1NWM7IH1cblxuLyogV2VlayBob2xkZXJcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi5jYWxlbmRhcl9fd2VlayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jYWxlbmRhcl9fd2VlazpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTsgfVxuXG4vKiBEYXkgbmFtZSBsYWJlbFxyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLmNhbGVuZGFyX19kYXktbmFtZSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUvNyk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICBjb2xvcjogI2NjYztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLyogRGF5IGhvbGRlclxyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLmNhbGVuZGFyX19kYXkge1xuICB3aWR0aDogY2FsYygxMDAlLzcpO1xuICBwYWRkaW5nOiAwLjM1cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmNhbGVuZGFyX19kYXRlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICNjY2M7IH1cblxuLmNhbGVuZGFyX19wcmljZSB7XG4gIG1hcmdpbi10b3A6IDAuNHJlbTtcbiAgY29sb3I6ICNhYTZkNTE7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2FsZW5kYXJfX2RhdGUtY2hlY2tvdXQtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogLTEwMHB4O1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiB0b3AgLjRzIGVhc2UsIG9wYWNpdHkgLjRzIGVhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4vKiBEYXkgZGF0YSBob2xkZXIgKGlubmVyKVxyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLmNhbGVuZGFyX19kYXktZGF0YSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMC41cmVtO1xuICBoZWlnaHQ6IDQuMXJlbTtcbiAgZm9udC1zaXplOiAwLjY1ZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMTcyZTQxO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jYWxlbmRhcl9fZGF5LWRhdGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNhYTZkNTE7IH1cbiAgICAuY2FsZW5kYXJfX2RheS1kYXRhOmhvdmVyIC5jYWxlbmRhcl9fZGF0ZSxcbiAgICAuY2FsZW5kYXJfX2RheS1kYXRhOmhvdmVyIC5jYWxlbmRhcl9fcHJpY2Uge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmNhbGVuZGFyX19kYXkuc2VsZWN0ZWQgLmNhbGVuZGFyX19kYXktZGF0YSxcbiAgLmNhbGVuZGFyX19kYXkuc2VsZWN0ZWQgLmNhbGVuZGFyX19kYXktZGF0YTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2FhNmQ1MTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWE2ZDUxO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmNhbGVuZGFyX19kYXkuc2VsZWN0ZWQgLmNhbGVuZGFyX19kYXktZGF0YSAuY2FsZW5kYXJfX2RhdGUsXG4gICAgLmNhbGVuZGFyX19kYXkuc2VsZWN0ZWQgLmNhbGVuZGFyX19kYXktZGF0YSAuY2FsZW5kYXJfX3ByaWNlLFxuICAgIC5jYWxlbmRhcl9fZGF5LnNlbGVjdGVkIC5jYWxlbmRhcl9fZGF5LWRhdGE6aG92ZXIgLmNhbGVuZGFyX19kYXRlLFxuICAgIC5jYWxlbmRhcl9fZGF5LnNlbGVjdGVkIC5jYWxlbmRhcl9fZGF5LWRhdGE6aG92ZXIgLmNhbGVuZGFyX19wcmljZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuY2FsZW5kYXJfX2RheS1kYXRhLmRpc2FibGVkLCAuY2FsZW5kYXJfX2RheS1kYXRhLmRpc2FibGVkOmhvdmVyLFxuICAuaW5yYW5nZSAuY2FsZW5kYXJfX2RheS1kYXRhLmRpc2FibGVkLFxuICAuaW5yYW5nZSAuY2FsZW5kYXJfX2RheS1kYXRhLmRpc2FibGVkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRjFGMUYxO1xuICAgIGN1cnNvcjogaW5pdGlhbDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRjFGMUYxOyB9XG4gICAgLmNhbGVuZGFyX19kYXktZGF0YS5kaXNhYmxlZCAuY2FsZW5kYXJfX2RhdGUsIC5jYWxlbmRhcl9fZGF5LWRhdGEuZGlzYWJsZWQ6aG92ZXIgLmNhbGVuZGFyX19kYXRlLFxuICAgIC5pbnJhbmdlIC5jYWxlbmRhcl9fZGF5LWRhdGEuZGlzYWJsZWQgLmNhbGVuZGFyX19kYXRlLFxuICAgIC5pbnJhbmdlIC5jYWxlbmRhcl9fZGF5LWRhdGEuZGlzYWJsZWQ6aG92ZXIgLmNhbGVuZGFyX19kYXRlIHtcbiAgICAgIGNvbG9yOiAjY2NjOyB9XG4gICAgLmNhbGVuZGFyX19kYXktZGF0YS5kaXNhYmxlZCAuY2FsZW5kYXJfX3ByaWNlOmFmdGVyLCAuY2FsZW5kYXJfX2RheS1kYXRhLmRpc2FibGVkOmhvdmVyIC5jYWxlbmRhcl9fcHJpY2U6YWZ0ZXIsXG4gICAgLmlucmFuZ2UgLmNhbGVuZGFyX19kYXktZGF0YS5kaXNhYmxlZCAuY2FsZW5kYXJfX3ByaWNlOmFmdGVyLFxuICAgIC5pbnJhbmdlIC5jYWxlbmRhcl9fZGF5LWRhdGEuZGlzYWJsZWQ6aG92ZXIgLmNhbGVuZGFyX19wcmljZTphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFwwMGEwJzsgfVxuICAgIC5jYWxlbmRhcl9fZGF5LWRhdGEuZGlzYWJsZWQ6YmVmb3JlLCAuY2FsZW5kYXJfX2RheS1kYXRhLmRpc2FibGVkOmFmdGVyLCAuY2FsZW5kYXJfX2RheS1kYXRhLmRpc2FibGVkOmhvdmVyOmJlZm9yZSwgLmNhbGVuZGFyX19kYXktZGF0YS5kaXNhYmxlZDpob3ZlcjphZnRlcixcbiAgICAuaW5yYW5nZSAuY2FsZW5kYXJfX2RheS1kYXRhLmRpc2FibGVkOmJlZm9yZSxcbiAgICAuaW5yYW5nZSAuY2FsZW5kYXJfX2RheS1kYXRhLmRpc2FibGVkOmFmdGVyLFxuICAgIC5pbnJhbmdlIC5jYWxlbmRhcl9fZGF5LWRhdGEuZGlzYWJsZWQ6aG92ZXI6YmVmb3JlLFxuICAgIC5pbnJhbmdlIC5jYWxlbmRhcl9fZGF5LWRhdGEuZGlzYWJsZWQ6aG92ZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogbm9uZTsgfVxuICAuY2FsZW5kYXJfX2RheS1kYXRhLmxvd2VzdC1yYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOyB9XG4gIC5jYWxlbmRhcl9fZGF5LWRhdGEgLmNhbGVuZGFyX19kYXRlLFxuICAuY2FsZW5kYXJfX2RheS1kYXRhIC5jYWxlbmRhcl9fcHJpY2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IHRvcCAuNHMgZWFzZSwgb3BhY2l0eSAuNHMgZWFzZSwgdmlzaWJpbGl0eSAuNHMgZWFzZTsgfVxuXG4vKiBMb2FkaW5nIG92ZXJsYXlcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi5jYWxlbmRhcl9fbG9hZGluZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMCwgMCwgMC41KTsgfVxuXG4vKiBDYWxlbmRhciBsZWdlbmRcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi5jYWxlbmRhcl9fbGVnZW5kIHtcbiAgcGFkZGluZzogMCAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLmNhbGVuZGFyX19sZWdlbmQtYmx1cmIge1xuICBjb2xvcjogIzA5MzU1YztcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbi5jYWxlbmRhcl9fbGVnZW5kLWlubmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDAgMCAwLjc1cmVtIDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5jYWxlbmRhcl9fbGVnZW5kLWlubmVyIC5jYWxlbmRhcl9fZGF5LWRhdGEge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMnJlbTsgfVxuICAuY2FsZW5kYXJfX2xlZ2VuZC1pbm5lciAuY2FsZW5kYXJfX2RheS1kYXRhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsOyB9XG4gIC5jYWxlbmRhcl9fbGVnZW5kLWlubmVyIC5jYWxlbmRhcl9fZGF5OmZpcnN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuY2FsZW5kYXJfX2xlZ2VuZC1pbm5lciAuY2FsZW5kYXJfX2RheSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzc1cmVtOyB9XG4gIC5jYWxlbmRhcl9fbGVnZW5kLWlubmVyIC5jYWxlbmRhcl9fZGF5LnNlbGVjdGVkIC5jYWxlbmRhcl9fZGF5LWRhdGE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cblxuLyogTW9kaWZpZXJzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4uY2FsZW5kYXJfX3dlZWstLWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLmNhbGVuZGFyX193ZWVrLS1oZWFkZXIgLmNhbGVuZGFyX19kYXktbmFtZSB7XG4gICAgY29sb3I6ICMwOTM1NWM7IH1cblxuLmNhbGVuZGFyX19wcmljZS0tZGlzYWJsZWQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jYWxlbmRhcl9fZGF5LS1pbnJhbmdlIC5jYWxlbmRhcl9fZGF5LWRhdGEge1xuICBiYWNrZ3JvdW5kOiAjYWE2ZDUxO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWE2ZDUxOyB9XG4gIC5jYWxlbmRhcl9fZGF5LS1pbnJhbmdlIC5jYWxlbmRhcl9fZGF5LWRhdGEgLmNhbGVuZGFyX19kYXRlLFxuICAuY2FsZW5kYXJfX2RheS0taW5yYW5nZSAuY2FsZW5kYXJfX2RheS1kYXRhIC5jYWxlbmRhcl9fcHJpY2Uge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5jYWxlbmRhcl9fY29udHJvbC0tcHJldiB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cblxuLmNhbGVuZGFyLS1jaGVja291dC10ZXh0LXZpc2libGUgLmNhbGVuZGFyX19kYXRlLWNoZWNrb3V0LXRleHQge1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5jYWxlbmRhci0tY2hlY2tvdXQtdGV4dC12aXNpYmxlIC5jYWxlbmRhcl9fZGF5LWRhdGEgLmNhbGVuZGFyX19kYXRlIHtcbiAgdG9wOiAxMDBweDtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5jYWxlbmRhci0tY2hlY2tvdXQtdGV4dC12aXNpYmxlIC5jYWxlbmRhcl9fZGF5LWRhdGEgLmNhbGVuZGFyX19wcmljZSB7XG4gIHRvcDogMTAwcHg7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vKiBNZWRpYSBxdWVyaWVzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgKG1heC13aWR0aDogODY1cHgpIHtcbiAgLmNhbGVuZGFyX19kYXkge1xuICAgIHBhZGRpbmc6IDAuMjVyZW07IH1cbiAgLmNhbGVuZGFyX19kYXktZGF0YSB7XG4gICAgcGFkZGluZzogMC4yNXJlbTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2NzhweCkge1xuICAuY2FsZW5kYXJfX2RheSB7XG4gICAgcGFkZGluZzogMC4xMjVyZW07XG4gICAgZmxleC1ncm93OiAxOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY3OHB4KSB7XG4gIC5jYWxlbmRhcl9fZGF5LWRhdGEge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjhlbTsgfVxuICAuY2FsZW5kYXJfX2dyaWQge1xuICAgIG1hcmdpbjogMCAtNHB4OyB9XG4gIC5jYWxlbmRhcl9fcHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogMC45cmVtOyB9XG4gIC5jYWxlbmRhcl9fbGVnZW5kLWlubmVyIC5jYWxlbmRhcl9fZGF5LWRhdGEge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAycmVtOyB9XG4gIC5jYWxlbmRhcl9fbGVnZW5kLWJsdXJiIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDg2NXB4KSB7XG4gIC5jYWxlbmRhcl9fbGVnZW5kIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNhbGVuZGFyX19sZWdlbmQtYmx1cmIge1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC4zNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTsgfVxuICAuY2FsZW5kYXJfX3ByaWNlIHtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuY2FsZW5kYXJfX2NvbnRyb2xzIHtcbiAgICBwYWRkaW5nOiAyMHB4IDAgNDBweCAwOyB9XG4gIC5jYWxlbmRhci1kYXlfX2RhdGEge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmNhbGVuZGFyX19kYXktZGF0YSB7XG4gICAgZm9udC1zaXplOiAwLjc1ZW07IH1cbiAgLmNhbGVuZGFyX19jb250cm9sLS1wcmV2IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH1cbiAgLyogTWVkaWEgcXVlcnkgTW9kaWZpZXJzXHJcbiAgPT09PT09PT09PT09PT09PT09PT0gKi9cbiAgLmNhbGVuZGFyX193ZWVrLS1oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4vKipcclxuICogTmFtZTogQXZhaWxhYmlsaXR5IGNhbGVuZGFyXHJcbiAqXHJcbiAqIENvbnRyb2xzIGxheW91dCBmb3IgQXZhaWxhYmlsaXR5IGNhbGVuZGFyIGltcGxlbWVudGF0aW9uXHJcbiAqL1xuLyogVmFyaWFibGVzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG4vKiBFbGVtZW50c1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLmF2YWlsYWJpbGl0eS1jYWxlbmRhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA5MHB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cblxuLmF2YWlsYWJpbGl0eS1jYWxlbmRhci0tc3RhbmRhbG9uZSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyLS1lcnJvcixcbi5hdmFpbGFiaWxpdHktY2FsZW5kYXItLWxvYWRpbmcgLmNhbGVuZGFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5hdmFpbGFiaWxpdHktY2FsZW5kYXItLWVycm9yOmFmdGVyLFxuICAuYXZhaWxhYmlsaXR5LWNhbGVuZGFyLS1sb2FkaW5nIC5jYWxlbmRhcjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19lcnJvciB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19lcnJvci10ZXh0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19lcnJvci10ZXh0OmVtcHR5IHtcbiAgcGFkZGluZzogMDsgfVxuXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19jYWxlbmRhciB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcGFkZGluZzogMCAxLjVyZW07IH1cblxuLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9faGVhZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDJyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbjogMS41cmVtOyB9XG5cbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX3N1Yi1oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMS43NXJlbTsgfVxuXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19tYWluIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHdpZHRoOiA4NSU7XG4gIG1heC13aWR0aDogNjByZW07XG4gIG1hcmdpbjogMCA1JTtcbiAgZmxleC1zaHJpbms6IDE7XG4gIG9yZGVyOiAyO1xuICBwYWRkaW5nLXRvcDogNjBweDsgfVxuXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19zaWRlYmFyIHtcbiAgZmxleC1iYXNpczogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvcmRlcjogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDkwcHg7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwOyB9XG4gIC5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX3NpZGViYXIgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIGFuaW1hdGlvbjogZmFkZUluIDAuMnMgZm9yd2FyZHM7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fc2lkZWJhci10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkJlbGxNVFN0ZC1SZWd1bGFyXCIsIHNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDMycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbjogMjBweCAwIDIwcHggMDtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19zaWRlYmFyLWVkaXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogNjBweDsgfVxuXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19zaWRlYmFyLWVkaXQtdGl0bGUge1xuICBjb2xvcjogIzY2NjY2NjtcbiAgcGFkZGluZzogMCAxMHB4IDAgMDsgfVxuXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19zaWRlYmFyLWxpbmsge1xuICBjb2xvcjogI2FhNmQ1MTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fZGF0ZXMsXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19jb25maWcge1xuICBwYWRkaW5nOiAxLjVyZW07IH1cblxuLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fZGF0ZXMge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fY29uZmlnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxuXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19zaWRlYmFyLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2NjY2M7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogMS41cmVtIDA7IH1cbiAgLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fc2lkZWJhci1yb3ctLXByaWNlIHtcbiAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX3NpZGViYXItcm93OmZpcnN0LW9mLXR5cGUge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjY2NjYzsgfVxuXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19kYXRhLXJvdy0tZGF0ZXMge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fc2lkZWJhci1yb3ctLXByaWNlIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX3NpZGViYXItcm93LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyB9XG5cbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX3NpZGViYXItcm93LXJvb20tbmFtZSB7XG4gIGNvbG9yOiAjYWE2ZDUxO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgZm9udC1mYW1pbHk6IFwiQmVsbE1UU3RkLVJlZ3VsYXJcIiwgc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX2RhdGUge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19mbGFzaC1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGhlaWdodDogNS43NXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvcmRlcjogMTsgfVxuXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19mbGFzaCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhYTZkNTE7XG4gIHBhZGRpbmc6IDEuNXJlbSAwLjVyZW0gMXJlbSAwLjVyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGhlaWdodDogMXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYygtMTAwJSAtIDEuNzVyZW0pKSB0cmFuc2xhdGVYKC01MCUpO1xuICB3aWR0aDogMTAwJTsgfVxuICAuYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19mbGFzaDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMS43NXJlbSA1MHZ3IDAgNTB2dztcbiAgICBib3JkZXItY29sb3I6ICNhYTZkNTEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBib3R0b206IC0xLjc1cmVtO1xuICAgIGJvdHRvbTogY2FsYygtMS43NXJlbSArIDAuMDVyZW0pOyB9XG4gIC5hdmFpbGFiaWxpdHktY2FsZW5kYXItLWxvYWRpbmcgLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fZmxhc2gsXG4gIC5hdmFpbGFiaWxpdHktY2FsZW5kYXItLWVycm9yIC5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX2ZsYXNoIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX2ZsYXNoLXRleHQge1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5pc0NoZWNrSW4gLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fZmxhc2gtLWNoZWNraW4ge1xuICBhbmltYXRpb246IGZsYXNoU2xpZGVEb3duIDAuNXMgZm9yd2FyZHM7IH1cblxuLmlzQ2hlY2tPdXQgLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fZmxhc2gtLWNoZWNrb3V0IHtcbiAgYW5pbWF0aW9uOiBmbGFzaFNsaWRlRG93biAwLjVzIDAuMjVzIGZvcndhcmRzOyB9XG5cbi5ib3RoU2VsZWN0ZWQgLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fZmxhc2gtLWNvbXBsZXRlIHtcbiAgYW5pbWF0aW9uOiBmbGFzaFNsaWRlRG93biAwLjVzIDAuMjVzIGZvcndhcmRzOyB9XG5cbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX21pbmktY29udHJvbHMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fdGl0bGUtcGFuZWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX3RpdGxlLXBhbmVsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiAtNTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWE2ZDUxOyB9XG5cbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX21haW4tdGl0bGUge1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBvcmRlcjogMjtcbiAgbWFyZ2luOiAxNXB4IDAgMTVweCAwO1xuICBmb250LXNpemU6IDJyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkJlbGxNVFN0ZC1SZWd1bGFyXCIsIHNlcmlmOyB9XG5cbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX3N1Yi10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fc3ViLXRpdGxlIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX3RpdGxlLXBhbmVsLWJvZHkge1xuICBtYXJnaW46IDA7XG4gIG9yZGVyOiAyO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX3Byb21vLWRyb3Bkb3duIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwIDEuNXJlbTsgfVxuXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19wcm9tby10b2dnbGUge1xuICBmb250LXNpemU6IDFyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMjIwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX3Byb21vLXRpdGxlIHtcbiAgY29sb3I6ICNhYTZkNTE7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC1mYW1pbHk6IFwiQmVsbE1UU3RkLVJlZ3VsYXJcIiwgc2VyaWY7XG4gIG1hcmdpbi10b3A6IDUwcHg7IH1cblxuLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fcHJvbW8tcGFyYWdyYXBoIHtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLyogTW9iaWxlIGZvb3RlclxyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fbW9iaWxlLWZvb3RlciB7XG4gIG9yZGVyOiAzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19tb2JpbGUtZm9vdGVyLS1zdGlja3kge1xuICBhbmltYXRpb246IG1vYmlsZUZvb3RlclNsaWRlVXAgMC4ycztcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX21vYmlsZS1mb290ZXItdG90YWwge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogIzY2NjY2NjsgfVxuXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19tb2JpbGUtZm9vdGVyLWJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX21vYmlsZS1mb290ZXItYnV0dG9uIC5idXR0b24tLWZ1bGwge1xuICAgIHBhZGRpbmc6IDEwcHggMzBweDsgfVxuXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19tb2JpbGUtZm9vdGVyLXRvdGFsLXByaWNlIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGNvbG9yOiAjYWE2ZDUxOyB9XG5cbi8qIFNpZGViYXIgc2VhcmNoIGZvcm1cclxuPT09PT09PT09PT09PT09PT09PT0gKi9cbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX3NlYXJjaC1mb3JtIHtcbiAgcGFkZGluZzogMCAycmVtOyB9XG4gIC5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX3NlYXJjaC1mb3JtIC5zZWN0aW9uX19zdWItaGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fbW9iaWxlLW1haW4tdGl0bGUge1xuICBmb250LXNpemU6IDJyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMCAyOHB4OyB9XG5cbi8qIE1vZGlmaWVyc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuLmF2YWlsYWJpbGl0eS1jYWxlbmRhci0taGlkZGVuLW9uLW1vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fc2lkZWJhci0taGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBBbmltYXRpb25zXHJcbj09PT09PT09PT09PT09PT09PT09ICovXG5Aa2V5ZnJhbWVzIGZsYXNoU2xpZGVEb3duIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC0xMDAlIC0gMS43NXJlbSkpIHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHRyYW5zbGF0ZVgoLTUwJSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIG1vYmlsZUZvb3RlclNsaWRlVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cbiAgMSUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLyogTWVkaWEgcXVlcmllc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDEyODBweCkge1xuICAuYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19tYWluIHtcbiAgICBtYXJnaW46IDAgMDtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NzhweCkge1xuICAuYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19tb2JpbGUtZm9vdGVyLWJ1dHRvbiAuYnV0dG9uLS1mdWxsIHtcbiAgICBwYWRkaW5nOiAxNXB4IDUwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODY1cHgpIHtcbiAgLmF2YWlsYWJpbGl0eS1jYWxlbmRhci0taGlkZGVuLW9uLW1vYmlsZSB7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG4gIC5hdmFpbGFiaWxpdHktY2FsZW5kYXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fZmxhc2gtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMjsgfVxuICAuYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19tYWluIHtcbiAgICBvcmRlcjogMTtcbiAgICB0b3A6IDA7XG4gICAgcGFkZGluZzogMCAxLjVyZW07IH1cbiAgLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fbWFpbi10aXRsZSB7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIG1hcmdpbjogMjBweCAwIDEwcHggMDtcbiAgICBvcmRlcjogMTsgfVxuICAuYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19zaWRlYmFyIHtcbiAgICBvcmRlcjogMjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbGV4LWJhc2lzOiAzNXJlbTtcbiAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwOyB9XG4gICAgLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fc2lkZWJhcjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMHB4O1xuICAgICAgdG9wOiAzMHB4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGhlaWdodDogOTUlO1xuICAgICAgd2lkdGg6IDJweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fc2lkZWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fc2lkZWJhci1saW5rIHtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAuYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19kYXRlcyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fc2lkZWJhci1lZGl0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiAwOyB9XG4gIC5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX3NpZGViYXItZWRpdC10aXRsZSB7XG4gICAgY29sb3I6ICMwOTM1NWM7XG4gICAgcGFkZGluZzogMCAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fdGl0bGUtcGFuZWwge1xuICAgIG1hcmdpbjogMzBweCAwIDE1cHggMDsgfVxuICAgIC5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX3RpdGxlLXBhbmVsOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX3RpdGxlLXBhbmVsLWJvZHkge1xuICAgIG9yZGVyOiAyO1xuICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtOyB9XG4gIC5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX2NhbGVuZGFyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZWVlZWVlOyB9XG4gIC5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX2ZsYXNoIHtcbiAgICBwYWRkaW5nOiAxcmVtIDAuNXJlbTtcbiAgICB3aWR0aDogMjByZW07IH1cbiAgICAuYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19mbGFzaDphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IDEuNzVyZW0gMTAuNTlyZW0gMCAxMC41OXJlbTsgfVxuICAuYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19tb2JpbGUtZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX3NlYXJjaC1mb3JtIHtcbiAgICBwYWRkaW5nOiA2MHB4IDAgMCAwOyB9XG4gIC5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX21vYmlsZS1tYWluLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX2RhdGVzLFxuICAuYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19jb25maWcge1xuICAgIHBhZGRpbmc6IDJyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gIC5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX21haW4ge1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4vKipcclxuICogTmFtZTogR2xlbiBBY2NvcmRpb25cclxuICpcclxuICogQ3VzdG9tIHN0eWxlcyBmb3IgdGhlIGNvbXBvbmVudCBjcmVhdGVkIHVzaW5nIG5wbSBwYWNrYWdlIHJlYWN0LWFjY2Vzc2libGUtYWNjb3JkaW9uXHJcbiAqIHByZWZpeCB0aGUgYWNjb3JkaW9uIGNsYXNzIHdpdGggXCJnbGVuLVwiIHRvIHByZXZlbnQgYW55IGNsYXNzIGNsYXNoZXNcclxuICovXG4uYWNjb3JkaW9uX19ib2R5IHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiA5OTk5cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dCwgbWF4LWhlaWdodCAwLjJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuOTcsIDAuMDIsIDAuNDgsIDAuOTkpLCBwYWRkaW5nIDAuMXMgMC4yczsgfVxuXG4uYWNjb3JkaW9uX19ib2R5LS1oaWRkZW4ge1xuICBvcGFjaXR5OiAwO1xuICBtYXgtaGVpZ2h0OiAwcHg7IH1cbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRNYWluIHNjcmVlbiBzdHlsZXNoZWV0XHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdFx0QmFzZSBmaWxlcywgbG9hZCBmaXJzdFxyXG5cdCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHRAaW1wb3J0ICcuL2Jhc2UvX2ZvbnRzJztcclxuXHRAaW1wb3J0ICcuL3RoaXJkLXBhcnR5L19ub3JtYWxpemUnO1xyXG5cdEBpbXBvcnQgJy4vYmFzZS9fdmFyaWFibGVzJztcclxuXHRAaW1wb3J0ICcuL3RoZW1lcy9fZ2xlbmVhZ2xlcyc7XHJcblx0Ly8gQGltcG9ydCAnLi90aGVtZXMvX2RlZmF1bHQnO1xyXG5cdEBpbXBvcnQgJy4vYmFzZS9faHRtbCc7XHJcblx0QGltcG9ydCAnLi9iYXNlL190eXBvZ3JhcGh5JztcclxuXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdFx0Q29tcG9uZW50IGZpbGVzLCBsb2FkIGluIGFueSAgb3JkZXJcclxuXHQqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0QGltcG9ydCAnLi9jb21wb25lbnRzL3BhZ2UvZ3JpZCc7XHJcblx0QGltcG9ydCAnLi9jb21wb25lbnRzL3BhZ2Uvc2VjdGlvbnMnO1xyXG5cdEBpbXBvcnQgJy4vY29tcG9uZW50cy9wYWdlL2hlYWRlcic7XHJcblx0QGltcG9ydCAnLi9jb21wb25lbnRzL3NoYXJlZC9mb3Jtcy9pbnB1dCc7XHJcblx0QGltcG9ydCAnLi9jb21wb25lbnRzL3NoYXJlZC9mb3Jtcy9mb3JtJztcclxuXHRAaW1wb3J0ICcuL2NvbXBvbmVudHMvc2hhcmVkL2Zvcm1zL3BsYWNlbmFtZS1sb29rdXAnO1xyXG5cdEBpbXBvcnQgJy4vY29tcG9uZW50cy9zaGFyZWQvZHJhd2VyL2RyYXdlcic7XHJcblx0QGltcG9ydCAnLi9jb21wb25lbnRzL3Jvb20vcm9vbVBhZ2UnO1xyXG5cdEBpbXBvcnQgJy4vY29tcG9uZW50cy9yb29tL3N1bW1hcnlCYXInO1xyXG5cdEBpbXBvcnQgJy4vY29tcG9uZW50cy9yb29tL211bHRpcm9vbWJhcic7XHJcblx0QGltcG9ydCAnLi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb25QYWdlJztcclxuXHRAaW1wb3J0ICcuL2NvbXBvbmVudHMvZGV0YWlscy9kZXRhaWxzUGFnZSc7XHJcblx0QGltcG9ydCAnLi9jb21wb25lbnRzL3BheW1lbnQvcGF5bWVudFBhZ2UnO1xyXG5cdEBpbXBvcnQgJy4vY29tcG9uZW50cy9wYXltZW50L2xhbmRzY2FwZU5vdGUnO1xyXG5cdEBpbXBvcnQgJy4vY29tcG9uZW50cy9zaGFyZWQvc2hhcmVkJztcclxuXHRAaW1wb3J0ICcuL2NvbXBvbmVudHMvc2hhcmVkL3BhZ2VzL3BhZ2UnO1xyXG5cdEBpbXBvcnQgJy4vY29tcG9uZW50cy9zaGFyZWQvcHJvZ3Jlc3NiYXIvcHJvZ3Jlc3NiYXInO1xyXG5cdEBpbXBvcnQgJy4vY29tcG9uZW50cy9zaGFyZWQvYWxlcnRzL3BvcHVwJztcclxuXHRAaW1wb3J0ICcuL2NvbXBvbmVudHMvc2hhcmVkL2lubGluZS1saW5rL2lubGluZS1saW5rJztcclxuXHRAaW1wb3J0ICcuL2NvbXBvbmVudHMvcmVhY3QtZGF0ZXBpY2tlci9kYXRlcGlja2VyJztcclxuXHRAaW1wb3J0ICcuL2NvbXBvbmVudHMvY2FsZW5kYXIvY2FsZW5kYXInO1xyXG5cdEBpbXBvcnQgJy4vY29tcG9uZW50cy9jYWxlbmRhci9hdmFpbGFiaWxpdHktY2FsZW5kYXInO1xyXG5cdEBpbXBvcnQgJy4vY29tcG9uZW50cy9nbGVuLWFjY29yZGlvbi9nbGVuLWFjY29yZGlvbic7XHJcbiIsIi8qKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBNeUZvbnRzIFdlYmZvbnQgQnVpbGQgSUQgMzIwOTU1MCwgMjAxNi0wNC0yNlQwNjoxMDoyOC0wNDAwXHJcbiAqIFxyXG4gKiBUaGUgZm9udHMgbGlzdGVkIGluIHRoaXMgbm90aWNlIGFyZSBzdWJqZWN0IHRvIHRoZSBFbmQgVXNlciBMaWNlbnNlXHJcbiAqIEFncmVlbWVudChzKSBlbnRlcmVkIGludG8gYnkgdGhlIHdlYnNpdGUgb3duZXIuIEFsbCBvdGhlciBwYXJ0aWVzIGFyZSBcclxuICogZXhwbGljaXRseSByZXN0cmljdGVkIGZyb20gdXNpbmcgdGhlIExpY2Vuc2VkIFdlYmZvbnRzKHMpLlxyXG4gKiBcclxuICogWW91IG1heSBvYnRhaW4gYSB2YWxpZCBsaWNlbnNlIGF0IHRoZSBVUkxzIGJlbG93LlxyXG4gKiBcclxuICogV2ViZm9udDogQmVsbE1UU3RkLVJlZ3VsYXIgYnkgTW9ub3R5cGUgXHJcbiAqIFVSTDogaHR0cDovL3d3dy5teWZvbnRzLmNvbS9mb250cy9tdGkvYmVsbC1tdC9zdGQtcmVndWxhci9cclxuICogQ29weXJpZ2h0OiBDb3B5cmlnaHQgMTk5OCwgMjAwMiBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4gQ29weXJpZ2h0IDE5OTgsIDIwMDIgVGhlIE1vbm90eXBlIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG4gKiBMaWNlbnNlZCBwYWdldmlld3M6IDI1MCwwMDBcclxuICogXHJcbiAqIFdlYmZvbnQ6IFN0YW5kYXJkQ1QtQm9sZENvbmQgYnkgQ2FzdGxlVHlwZVxyXG4gKiBVUkw6IGh0dHA6Ly93d3cubXlmb250cy5jb20vZm9udHMvY2FzdGxldHlwZS9zdGFuZGFyZC9jb25kZW5zZWQtYm9sZC9cclxuICogQ29weXJpZ2h0OiBDb3B5cmlnaHQgKGMpIENhc3RsZVR5cGUsIDIwMDUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbiAqIExpY2Vuc2VkIHBhZ2V2aWV3czogMTAsMDAwXHJcbiAqIFxyXG4gKiBXZWJmb250OiBBdmVuaXJOZXh0TFRQcm8tUmVndWxhciBieSBMaW5vdHlwZVxyXG4gKiBVUkw6IGh0dHA6Ly93d3cubXlmb250cy5jb20vZm9udHMvbGlub3R5cGUvYXZlbmlyLW5leHQtcHJvL3Byby1yZWd1bGFyL1xyXG4gKiBDb3B5cmlnaHQ6IENvcHlyaWdodCAmI3gwMEE5OyAyMDA0IC0gMjAwNyBMaW5vdHlwZSBHbWJILCB3d3cubGlub3R5cGUuY29tLiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIGZvbnQgc29mdHdhcmUgbWF5IG5vdCBiZSByZXByb2R1Y2VkLCBtb2RpZmllZCwgZGlzY2xvc2VkIG9yIHRyYW5zZmVycmVkIHdpdGhvdXQgdGhlIGV4cHJlc3Mgd3JpdHRlbiBhcHByb3ZhbCBvZiBMaW5vdHlwZSBHbWJILiBBdmVuaXIgaXMgYSB0cmFkZW1hcmsgb2YgTGlub3R5cGUgR21iSFxyXG4gKiBMaWNlbnNlZCBwYWdldmlld3M6IDI1MCwwMDBcclxuICogXHJcbiAqIFdlYmZvbnQ6IEF2ZW5pckxUU3RkLVJvbWFuIGJ5IExpbm90eXBlXHJcbiAqIFVSTDogaHR0cDovL3d3dy5teWZvbnRzLmNvbS9mb250cy9saW5vdHlwZS9hdmVuaXIvNTUtcm9tYW4vXHJcbiAqIENvcHlyaWdodDogQ29weXJpZ2h0ICYjeDAwQTk7IDE5ODksIDE5OTUsIDIwMDIgQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQuICBBbGwgUmlnaHRzIFJlc2VydmVkLiAmI3gwMEE5OyAxOTgxLCAxOTk1LCAyMDAyIEhlaWRlbGJlcmdlciBEcnVja21hc2NoaW5lbiBBRy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuICogTGljZW5zZWQgcGFnZXZpZXdzOiAyNTAsMDAwXHJcbiAqIFxyXG4gKiBcclxuICogTGljZW5zZTogaHR0cDovL3d3dy5teWZvbnRzLmNvbS92aWV3bGljZW5zZT90eXBlPXdlYiZidWlsZGlkPTMyMDk1NTBcclxuICogXHJcbiAqIMKpIDIwMTYgTXlGb250cyBJbmNcclxuKi9cclxuXHJcblxyXG4vKiBAaW1wb3J0IG11c3QgYmUgYXQgdG9wIG9mIGZpbGUsIG90aGVyd2lzZSBDU1Mgd2lsbCBub3Qgd29yayAqL1xyXG4vLyBAaW1wb3J0IHVybChcIi8vaGVsbG8ubXlmb250cy5uZXQvY291bnQvMzBmOTRlXCIpO1xyXG5cclxuICBcclxuQGZvbnQtZmFjZSB7Zm9udC1mYW1pbHk6ICdCZWxsTVRTdGQtUmVndWxhcic7c3JjOiB1cmwoJ3dlYmZvbnRzLzMwRjk0RV8wXzAuZW90Jyk7c3JjOiB1cmwoJ3dlYmZvbnRzLzMwRjk0RV8wXzAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSx1cmwoJ3dlYmZvbnRzLzMwRjk0RV8wXzAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksdXJsKCd3ZWJmb250cy8zMEY5NEVfMF8wLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSx1cmwoJ3dlYmZvbnRzLzMwRjk0RV8wXzAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO31cclxuIFxyXG4gIFxyXG5AZm9udC1mYWNlIHtmb250LWZhbWlseTogJ1N0YW5kYXJkQ1QtQm9sZENvbmQnO3NyYzogdXJsKCd3ZWJmb250cy8zMEY5NEVfMV8wLmVvdCcpO3NyYzogdXJsKCd3ZWJmb250cy8zMEY5NEVfMV8wLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKCd3ZWJmb250cy8zMEY5NEVfMV8wLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLHVybCgnd2ViZm9udHMvMzBGOTRFXzFfMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksdXJsKCd3ZWJmb250cy8zMEY5NEVfMV8wLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTt9XHJcbiBcclxuICBcclxuQGZvbnQtZmFjZSB7Zm9udC1mYW1pbHk6ICdBdmVuaXJOZXh0TFRQcm8tUmVndWxhcic7c3JjOiB1cmwoJ3dlYmZvbnRzLzMwRjk0RV8yXzAuZW90Jyk7c3JjOiB1cmwoJ3dlYmZvbnRzLzMwRjk0RV8yXzAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSx1cmwoJ3dlYmZvbnRzLzMwRjk0RV8yXzAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksdXJsKCd3ZWJmb250cy8zMEY5NEVfMl8wLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSx1cmwoJ3dlYmZvbnRzLzMwRjk0RV8yXzAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO31cclxuIFxyXG4gIFxyXG5AZm9udC1mYWNlIHtmb250LWZhbWlseTogJ0F2ZW5pckxUU3RkLVJvbWFuJztzcmM6IHVybCgnd2ViZm9udHMvMzBGOTRFXzNfMC5lb3QnKTtzcmM6IHVybCgnd2ViZm9udHMvMzBGOTRFXzNfMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCgnd2ViZm9udHMvMzBGOTRFXzNfMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSx1cmwoJ3dlYmZvbnRzLzMwRjk0RV8zXzAud29mZicpIGZvcm1hdCgnd29mZicpLHVybCgnd2ViZm9udHMvMzBGOTRFXzNfMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7fVxyXG4gIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjQuMS4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBhbmQgaU9TLlxyXG4gKi9cclxuXHJcbmh0bWwge1xyXG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXHJcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cclxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gKi9cclxuXHJcbmJvZHkge1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXHJcbiAqIDIuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxyXG4gKi9cclxuXHJcbmFydGljbGUsXHJcbmFzaWRlLFxyXG5kZXRhaWxzLCAvKiAxICovXHJcbmZpZ2NhcHRpb24sXHJcbmZpZ3VyZSxcclxuZm9vdGVyLFxyXG5oZWFkZXIsXHJcbm1haW4sIC8qIDIgKi9cclxubWVudSxcclxubmF2LFxyXG5zZWN0aW9uLFxyXG5zdW1tYXJ5IHsgLyogMSAqL1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXHJcbiAqL1xyXG5cclxuYXVkaW8sXHJcbmNhbnZhcyxcclxucHJvZ3Jlc3MsXHJcbnZpZGVvIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxyXG4gKi9cclxuXHJcbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBoZWlnaHQ6IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxyXG4gKi9cclxuXHJcbnByb2dyZXNzIHtcclxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxyXG4gKi9cclxuXHJcbnRlbXBsYXRlLCAvKiAxICovXHJcbltoaWRkZW5dIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vKiBMaW5rc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxyXG4gKi9cclxuXHJcbmEge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXHJcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXHJcbiAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gKi9cclxuXHJcbmE6YWN0aXZlLFxyXG5hOmhvdmVyIHtcclxuICBvdXRsaW5lLXdpZHRoOiAwO1xyXG59XHJcblxyXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cclxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5hYmJyW3RpdGxlXSB7XHJcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cclxuICovXHJcblxyXG5iLFxyXG5zdHJvbmcge1xyXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5iLFxyXG5zdHJvbmcge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXHJcbiAqL1xyXG5cclxuZGZuIHtcclxuICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXHJcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuaDEge1xyXG4gIGZvbnQtc2l6ZTogMmVtO1xyXG4gIG1hcmdpbjogMC42N2VtIDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXHJcbiAqL1xyXG5cclxubWFyayB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcclxuICBjb2xvcjogIzAwMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnNtYWxsIHtcclxuICBmb250LXNpemU6IDgwJTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxyXG4gKiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuc3ViLFxyXG5zdXAge1xyXG4gIGZvbnQtc2l6ZTogNzUlO1xyXG4gIGxpbmUtaGVpZ2h0OiAwO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuXHJcbnN1YiB7XHJcbiAgYm90dG9tOiAtMC4yNWVtO1xyXG59XHJcblxyXG5zdXAge1xyXG4gIHRvcDogLTAuNWVtO1xyXG59XHJcblxyXG4vKiBFbWJlZGRlZCBjb250ZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXHJcbiAqL1xyXG5cclxuaW1nIHtcclxuICBib3JkZXItc3R5bGU6IG5vbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cclxuICovXHJcblxyXG5zdmc6bm90KDpyb290KSB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLyogR3JvdXBpbmcgY29udGVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5jb2RlLFxyXG5rYmQsXHJcbnByZSxcclxuc2FtcCB7XHJcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXHJcbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cclxuICovXHJcblxyXG5maWd1cmUge1xyXG4gIG1hcmdpbjogMWVtIDQwcHg7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxyXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cclxuICovXHJcblxyXG5ociB7XHJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cclxuICBoZWlnaHQ6IDA7IC8qIDEgKi9cclxuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xyXG59XHJcblxyXG4vKiBGb3Jtc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5pbnB1dCxcclxuc2VsZWN0LFxyXG50ZXh0YXJlYSB7XHJcbiAgZm9udDogaW5oZXJpdDsgLyogMSAqL1xyXG4gIG1hcmdpbjogMDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogUmVzdG9yZSB0aGUgZm9udCB3ZWlnaHQgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXHJcbiAqL1xyXG5cclxub3B0Z3JvdXAge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4vKipcclxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXHJcbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5pbnB1dCB7IC8qIDEgKi9cclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxyXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5zZWxlY3QgeyAvKiAxICovXHJcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcclxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xyXG5bdHlwZT1cInJlc2V0XCJdLFxyXG5bdHlwZT1cInN1Ym1pdFwiXSB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXHJcbiAqL1xyXG5cclxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxyXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcclxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcclxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gIGJvcmRlci1zdHlsZTogbm9uZTtcclxuICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4vKipcclxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxyXG4gKi9cclxuXHJcbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcclxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXHJcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXHJcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcclxuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICovXHJcblxyXG5maWVsZHNldCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcclxuICBtYXJnaW46IDAgMnB4O1xyXG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXHJcbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cclxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxyXG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5sZWdlbmQge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cclxuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xyXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXHJcbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXHJcbiAgcGFkZGluZzogMDsgLyogMyAqL1xyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXHJcbiAqL1xyXG5cclxudGV4dGFyZWEge1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxyXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxyXG4gKi9cclxuXHJcblt0eXBlPVwiY2hlY2tib3hcIl0sXHJcblt0eXBlPVwicmFkaW9cIl0ge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cclxuICBwYWRkaW5nOiAwOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXHJcbiAqL1xyXG5cclxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cclxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXHJcbiAqL1xyXG5cclxuW3R5cGU9XCJzZWFyY2hcIl0ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXHJcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cclxuICovXHJcblxyXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcclxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIHRleHQgc3R5bGUgb2YgcGxhY2Vob2xkZXJzIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gIGNvbG9yOiBpbmhlcml0O1xyXG4gIG9wYWNpdHk6IDAuNTQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxyXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXHJcbiAqL1xyXG5cclxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cclxuICBmb250OiBpbmhlcml0OyAvKiAyICovXHJcbn1cclxuIiwiLyoqXHJcbiAqIE5hbWU6IFZhcmlhYmxlc1xyXG4gKlxyXG4gKiBCYXNlIHZhcmlhYmxlcyB0aGUgc2l0ZSBjYW5ub3Qgd29yayB3aXRob3V0LlxyXG4gKi9cclxuXHJcblxyXG4vKiBDb2xvdXJzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcbiR3aGl0ZTogI0ZGRkZGRjtcclxuJGJsYWNrOiAjMDAwMDAwO1xyXG5cclxuXHJcbi8qIEJyZWFrcG9pbnRzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcbiR3aWR0aDE1MDA6IDE1MDBweDtcclxuJHdpZHRoMTI4MDogMTI4MHB4O1xyXG4kd2lkdGg4NjU6IDg2NXB4O1xyXG4kd2lkdGg3NjU6IDc2NXB4O1xyXG4kd2lkdGg2Nzg6IDY3OHB4O1xyXG5cclxuXHJcbi8qIFNpemVzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcbiRzdGFuZGFyZFNwYWNpbmc6IDEuNXJlbSAhZGVmYXVsdDtcclxuXHJcbi8qIEFuaW1hdGlvbnNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuQGtleWZyYW1lcyBmYWRlSW4ge1xyXG5cdFx0MCUge1xyXG5cdFx0XHRvcGFjaXR5OiAwO1xyXG5cdH1cclxuXHJcblx0XHQxMDAlIHtcclxuXHRcdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dCB7XHJcblx0XHQwJSB7XHJcblx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHRcdHotaW5kZXg6IDEwMDA7XHJcblx0fVxyXG5cclxuXHRcdDk5JSB7XHJcblx0XHRcdG9wYWNpdHk6IDA7XHJcblx0fVxyXG5cdFx0MTAwJSB7XHJcblx0XHRcdG9wYWNpdHk6IDA7XHJcblx0XHRcdHotaW5kZXg6IC0xO1xyXG5cdH1cclxufSIsIi8qKlxyXG4gKiBOYW1lOiBHbGVuZWFnbGVzIHRoZW1lXHJcbiAqXHJcbiAqIENoYW5nZXMgdGhlIGxvb2sgYW5kIGZlZWwgb2YgdGhlIGNvbXBvbmVudHMuXHJcbiAqL1xyXG5cclxuXHJcbi8qIEJhc2UgY29sb3Vyc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHQvKiBCcmFuZCBjb2xvdXJzICovXHJcblx0JHByaW1hcnlDb2xvcjogIzE3MmU0MTtcclxuXHQkYnJhbmRHcmV5OiAjY2NjY2NjO1xyXG5cdCRicmFuZEdyZXlMaWdodDogI2VlZWVlZTtcclxuXHQkYnJhbmRHb2xkOiAjYWE2ZDUxO1xyXG5cclxuXHQvKiBCYXNlIGNvbXBvbmVudCBjb2xvdXJzICovXHJcblx0JGJvZHlDb3B5OiAjMDkzNTVjO1xyXG5cdCRib3JkZXJDb2xvcjogJGJyYW5kR29sZDtcclxuXHJcblx0LyogQmFzZSBjb2xvdXJzICovXHJcblx0JGNvbG9yLXdoaXRlOiAjZmZmZmZmO1xyXG5cclxuXHJcbi8qIEJhc2UgZm9udHMgJiBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHQkYm9keS1mb250OiAnQXZlbmlyTmV4dExUUHJvLVJlZ3VsYXInLCBzYW5zLXNlcmlmO1xyXG5cdCRoZWFkZXItZm9udDogJ0JlbGxNVFN0ZC1SZWd1bGFyJywgc2VyaWY7XHJcblxyXG5cdCRwYWdlSGVhZGVyLWZvbnQ6ICRoZWFkZXItZm9udDtcclxuXHQkcGFnZUhlYWRlci13ZWlnaHQ6IDEwMDtcclxuXHQkcGFnZUhlYWRlci1sZXR0ZXItc3BhY2luZzogM3B4O1xyXG5cdCRwYWdlU3ViSGVhZGVyLXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFxyXG5cdCRwYWdlU3ViSGVhZGVyLXdlaWdodDogMTAwO1xyXG5cclxuXHQkYmFzZS1sZXR0ZXItc3BhY2luZzogMS41cHg7XHJcblxyXG5cdCRwYWdlQmx1cmItY29sb3I6ICM2NjY2NjY7XHJcblxyXG5cdCRmb3JtLWxpbmstY29sb3I6ICRicmFuZEdvbGQ7XHJcblxyXG5cdCRmb250LXdlaWdodC1saWdodDogNDAwO1xyXG5cdCRmb250LXdlaWdodC1ub3JtYWw6IDUwMDtcclxuXHQkZm9udC13ZWlnaHQtYm9sZDogNjAwO1xyXG5cclxuLyogQmFzZSBTcGFjaW5nXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcblx0JHN0YW5kYXJkU3BhY2luZzogMS41cmVtO1xyXG5cclxuXHJcbi8qIEljb25zXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcblx0JGljb24tc2hvdzogJy4uL2ltZy9pY29ucy9zdmcvY2lyY2xlcGx1cy5zdmcnO1xyXG5cdCRpY29uLWhpZGU6ICcuLi9pbWcvaWNvbnMvc3ZnL2NpcmNsZW1pbnVzLnN2Zyc7XHJcblx0JGljb24tc2hvdy1oaWRlLXNpemU6IDI4cHg7ICAvLyBTaXplIG9mIHNob3cgYW5kIGhpZGUgaWNvbnMuXHJcblxyXG5cdCRpY29uLWNyb3NzOiAnLi4vaW1nL2ljb25zL3N2Zy9jcm9zcy5zdmcnO1xyXG5cdCRpY29uLWNyb3NzLXNpemU6IDI1cHg7XHJcblxyXG5cdCRpY29uLXRpY2s6ICcuLi9pbWcvaWNvbnMvc3ZnL3RpY2suc3ZnJztcclxuXHQkaWNvbi10aWNrLXNpemU6IDIwcHg7XHJcblxyXG5cdCRpY29uLWNhbGVuZGFyOiAnLi4vaW1nL2ljb25zL3N2Zy9jYWxlbmRhci5zdmcnO1xyXG5cdCRpY29uLWNhbGVuZGFyLXNpemU6IDIwcHg7XHJcblxyXG5cdCRpY29uLWNoZXZyb246ICcuLi9pbWcvaWNvbnMvc3ZnL2NoZXZyb24uc3ZnJztcclxuXHQkaWNvbi1jaGV2cm9uLXNpemU6IDE1cHg7XHJcblx0XHJcblx0JGljb24tY2hlY2tib3gtdGljazogJy4uL2ltZy9pY29ucy9zdmcvdGljay1ibHVlLnN2Zyc7XHJcblxyXG5cclxuXHJcbi8qIENvbXBvbmVudHNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHQvKipcclxuXHQqIFBhZ2UgaGVhZGVyXHJcblx0Ki9cclxuXHQkaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5Q29sb3I7XHJcblx0JGhlYWRlci1ib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeUNvbG9yO1xyXG5cclxuXHQvKipcclxuXHQqIFN1bW1hcnkgYmFyXHJcblx0Ki9cclxuXHQkc3VtbWFyeWJhci1oZWlnaHQ6IDQuNXJlbTtcclxuXHQkc3VtbWFyeWJhci1jb2xvcjogJGJyYW5kR3JleUxpZ2h0O1xyXG5cdCRzdW1tYXJ5YmFyLXRleHQtY29sb3I6ICM2NjY2NjY7XHJcblx0JHN1bW1hcnliYXItbGluay1jb2xvcjogJGJyYW5kR29sZDtcclxuXHQkc3VtbWFyeWJhci1kaXZpZGVyLXdpZHRoOiAxcHg7XHJcblx0JHN1bW1hcnliYXItZGl2aWRlci1oZWlnaHQ6IDEuNzVyZW07XHJcblx0JHN1bW1hcnliYXItZGl2aWRlci1jb2xvcjogI2FhYWFhYTtcclxuXHJcblx0LyoqXHJcblx0KiBNdWx0aSByb29tIGJhclxyXG5cdCovXHJcblx0JG11bHRpcm9vbWJhci1jb2xvcjogJGJyYW5kR29sZDtcclxuXHQkbXVsdGlyb29tYmFyLXRleHQtY29sb3I6IHdoaXRlO1xyXG5cclxuXHQvKipcclxuXHQqIFByb2dyZXNzIGJhclxyXG5cdCovXHJcblx0JHByb2dyZXNzQmFyLXRleHRDb2xvcjogIzg4ODg4ODtcclxuXHQkcHJvZ3Jlc3NCYXItaW5kaWNhdG9yQ29sb3I6ICMzMDU3NmQ7XHJcblx0JHByb2dyZXNzQmFyLWxpbmVDb2xvcjogIzMwNTc2ZDtcclxuXHQkcHJvZ3Jlc3NCYXItaW5kaWNhdG9yQ29sb3ItaGlnaGxpZ2h0OiAkYm9yZGVyQ29sb3I7XHJcblx0JHByb2dyZXNzQmFyLWxpbmVDb2xvci1oaWdobGlnaHQ6ICRib3JkZXJDb2xvcjsgXHJcblx0JHByb2dyZXNzQmFyLXRleHRDb2xvci1hY3RpdmU6ICR3aGl0ZTtcclxuXHQkcHJvZ3Jlc3NCYXItbG9nb0JhY2tncm91bmRDb2xvcjogJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yO1xyXG5cdCRwcm9ncmVzc0Jhci1sb2dvU2l6ZTogMTgwcHg7XHJcblxyXG5cdC8qKlxyXG5cdCogRGF0ZXBpY2tlclxyXG5cdCovXHJcblx0JGRhdGVwaWNrZXItYm9yZGVyLWNvbG9yOiAkYm9yZGVyQ29sb3I7XHJcblx0JGRhdGVwaWNrZXItYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG5cdCRkYXRlcGlja2VyLXNlbGVjdGVkLWNvbG9yOiAkYnJhbmRHb2xkO1xyXG5cdCRkYXRlcGlja2VyLXRleHQtY29sb3I6ICRwcmltYXJ5Q29sb3I7XHJcblx0JGRhdGVwaWNrZXItYXZhaWxhYmxlLWNvbG9yOiAjZDllM2VkO1xyXG5cdCRkYXRlcGlja2VyLWZvbnQtc2l6ZTogMC44cmVtO1xyXG5cdCRkYXRlcGlja2VyLW1vYmlsZS1oZWFkZXItZm9udDogJGhlYWRlci1mb250O1xyXG5cdCRkYXRlcGlja2VyLW1vYmlsZS1oZWFkZXItaGlnaGxpZ2h0OiAkYnJhbmRHb2xkO1xyXG5cdCRkYXRlcGlja2VyLWRhdGVwaWNrZXItbWFyZ2luOiAxcmVtO1xyXG5cdCRkYXRlcGlja2VyLWl0ZW0tc2l6ZTogMi41cmVtO1xyXG5cclxuXHQvKipcclxuXHQqIElucHV0c1xyXG5cdCovXHJcblx0JGlucHV0LXBhZGRpbmc6IDE1cHg7XHJcblx0JGlucHV0LWlubmVyLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0JGlucHV0LWJvcmRlci1jb2xvcjogJGJyYW5kR3JleTtcclxuXHQkaW5wdXQtYm9yZGVyLWVycm9yOiBkYXJrZW4ocmVkLCA4JSk7XHJcblx0JGlucHV0LWJvcmRlci12YWxpZDogJGJyYW5kR29sZDtcclxuXHQkaW5wdXQtbGFiZWwtY29sb3I6IGRhcmtlbigkYnJhbmRHcmV5LCAyMCUpO1xyXG5cdCRpbnB1dC1sYWJlbC1jb2xvci12YWxpZDogJGJyYW5kR29sZDtcclxuXHQkaW5wdXQtdGV4dC1jb2xvcjogZGFya2VuKCRicmFuZEdyZXksIDIwJSk7XHJcblx0JGlucHV0LXRleHQtY29sb3ItdmFsaWQ6ICRib2R5Q29weTtcclxuXHJcblx0JHBsYWNlbmFtZS1zZWxlY3QtY29sb3I6ICRicmFuZEdvbGQ7XHJcblx0JHBsYWNlbmFtZS1zZWxlY3QtbGluay1jb2xvcjogJGJyYW5kR29sZDtcclxuXHJcblx0LyoqXHJcblx0KiBDaGVja2JveGVzXHJcblx0Ki9cclxuXHQkY2hlY2tib3gtYm9yZGVyOiAkYnJhbmRHcmV5O1xyXG5cdCRjaGVja2JveC1ib3JkZXItY2hlY2tlZDogJGJyYW5kR29sZDtcclxuXHQkY2hlY2tib3gtc2l6ZTogMzVweDtcclxuXHQkY2hlY2tib3gtbGFiZWwtY29sb3I6ICRpbnB1dC1sYWJlbC1jb2xvcjtcclxuXHQkY2hlY2tib3gtbGFiZWwtY29sb3ItY2hlY2tlZDogJGlucHV0LWxhYmVsLWNvbG9yO1xyXG5cclxuXHQvKipcclxuXHQqIENUQXMvYnV0dG9uc1xyXG5cdCovXHJcblx0JGJ1dHRvbi10ZXh0Y29sb3I6ICRib2R5Q29weTtcclxuXHQkYnV0dG9uLWJvcmRlckNvbG9yOiAkYm9keUNvcHk7XHJcblx0JGJ1dHRvbi1iYWNrZ3JvdW5kQ29sb3ItZmlsbGVkOiAkcHJpbWFyeUNvbG9yO1xyXG5cdCRidXR0b24tYm9yZGVyQ29sb3ItZmlsbGVkOiB0cmFuc3BhcmVudDtcclxuXHQkYnV0dG9uLXRleHRjb2xvci1maWxsZWQ6ICR3aGl0ZTtcclxuXHJcblx0LyoqXHJcblx0KiBSb29tIGluZm8gcGFuZWxcclxuXHQqL1xyXG5cdCRyb29taW5mby1ib3JkZXItY29sb3I6ICRicmFuZEdyZXk7XHJcblx0JHJvb21pbmZvLWJhY2tncm91bmQtY29sb3Itc2VsZWN0ZWQ6ICNlNmU2ZTY7XHJcblx0JHJvb21pbmZvLXRleHQtY29sb3I6ICRib2R5Q29weTtcclxuXHQkcm9vbWluZm8tcHJpY2UtY29sb3I6ICRicmFuZEdvbGQ7XHJcblx0JHJvb21pbmZvLXRpdGxlLWNvbG9yOiAkYnJhbmRHb2xkO1xyXG5cdCRyb29taW5mby10aXRsZS1mb250OiAkaGVhZGVyLWZvbnQ7XHJcblx0JHJvb21pbmZvLWljb24tYm9yZGVyLWNvbG9yOiAkYnJhbmRHb2xkO1xyXG5cdCRyb29taW5mby1pY29uLXRleHQtY29sb3I6ICRib2R5Q29weTtcclxuXHQkcm9vbWluZm8taWNvbi1mb250OiAkaGVhZGVyLWZvbnQ7XHJcblx0JHJvb21pbmZvLXRleHQtZm9udDogJGhlYWRlci1mb250O1xyXG5cdCRyb29taW5mby1ib2R5LXRleHQtY29sb3I6ICM2NjY2NjY7XHJcblxyXG5cdCRyb29taW5mby1pY29uLXNpemU6IDJyZW07XHJcblxyXG5cdC8qKlxyXG5cdCogQmFza2V0XHJcblx0Ki9cclxuXHQkYmFza2V0LWJhY2tncm91bmQtY29sb3I6ICRicmFuZEdyZXlMaWdodDtcclxuXHQkYmFza2V0LXRpdGxlLWNvbG9yOiAkYnJhbmRHb2xkO1xyXG5cdCRiYXNrZXQtdGl0bGUtZm9udDogJGhlYWRlci1mb250O1xyXG5cdCRiYXNrZXQtYm9keS1mb250OiAkYm9keS1mb250O1xyXG5cdCRiYXNrZXQtaGVhZGVyLWNvbG9yLWFsdDogIzY2NjY2NjtcclxuXHQkYmFza2V0LXZhbHVlLWNvbG9yOiAkYm9keUNvcHk7XHJcblx0JGJhc2tldC12YWx1ZS1zaXplOiAxLjhyZW07XHJcblxyXG5cdC8qKlxyXG5cdCogYm9va2luZyBzdW1tYXJ5IGJveFxyXG5cdCovXHJcblx0JHN1bW1hcnlib3gtYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcclxuXHQkc3VtbWFyeWJveC10b3RhbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeUNvbG9yO1xyXG5cdCRzdW1tYXJ5Ym94LWhlYWRlci1jb2xvcjogJGJyYW5kR29sZDtcclxuXHJcblx0LyoqXHJcblx0KiBQb3B1cCBwYW5lbFxyXG5cdCovXHJcblx0JHBvcHVwLWhlYWRlci1jb2xvcjogJGJyYW5kR29sZDtcclxuXHQkcG9wdXAtaGVhZGVyLXNpemU6IDJyZW07XHJcblxyXG5cdC8qKlxyXG5cdCogR2FsbGVyeSBuYXZcclxuXHQqL1xyXG5cdCRnYWxsZXJ5LWRvdC1iYWNrZ3JvdW5kOiAkcHJpbWFyeUNvbG9yO1xyXG5cdCRnYWxsZXJ5LWRvdC1zaXplOiA2cHg7XHJcblx0JGdhbGxlcnktZG90LXNpemUtc2VsZWN0ZWQ6IDZweDtcclxuXHQkZ2FsbGVyeS1kb3QtY29sb3I6IHJnYmEod2hpdGUsIDAuNSk7XHJcblx0JGdhbGxlcnktZG90LWNvbG9yLXNlbGVjdGVkOiB3aGl0ZTtcclxuXHQkZ2FsbGVyeS10ZXh0LWNvbG9yOiAkYnJhbmRHb2xkO1xyXG5cdCRnYWxsZXJ5LWZvbnQ6ICRoZWFkZXItZm9udDtcclxuXHRcclxuXHQvKipcclxuXHQqIE1pc2NcclxuXHQqL1xyXG5cdCRsb2FkZXItZm9udDogJGhlYWRlci1mb250O1xyXG5cdCRsb2FkZXItYmFja2dyb3VuZDogJHByaW1hcnlDb2xvcjsgXHJcblx0JG1vYmlsZS1oZWFkZXItYnV0dG9uLWJhY2tncm91bmQ6ICNlZWVlZWU7XHJcblx0JGxhbmRzY2FwZU5vdGUtYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcclxuXHQkbGFuZHNjYXBlTm90ZS10ZXh0LWNvbG9yOiBncmV5O1xyXG5cclxuXHQvKipcclxuXHQqIFBhZ2VzXHJcblx0Ki9cclxuXHQkZGV0YWlscy1ib3JkZXI6IHNvbGlkIDFweCAkcHJpbWFyeUNvbG9yO1xyXG5cclxuXHQvKipcclxuXHQqIEF2YWlsYWJpbGl0eSBDYWxlbmRhclxyXG5cdCovXHJcblx0JGF2YWlsYWJpbGl0eS1jYWxlbmRhci1kYXJrLWdyYXk6ICM2NjY2NjY7XHJcblxyXG4iLCIvKipcclxuICogTmFtZTogX2h0bWxcclxuICpcclxuICogQmFzZSBIVE1MIHN0eWxlcyBhbmQgaGVscGVyc1xyXG4gKi9cclxuXHJcblxyXG4vKiBTdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuaHRtbCxcclxuYm9keSB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcblxyXG5cdC8vIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3dlYi91cGRhdGVzLzIwMTMvMTIvMzAwbXMtdGFwLWRlbGF5LWdvbmUtYXdheVxyXG5cdHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xyXG59XHJcblxyXG5ib2R5e1xyXG5cdHBhZGRpbmctYm90dG9tOiAzcmVtOyAvLyBBbGxvdyBmb3IgZml4ZWQgZm9vdGVycy5cclxufVxyXG5cclxuXHJcbi8qIEhlbHBlcnNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmhpZGRlbntcclxuXHR2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGg3NjUpIHtcclxuXHQuaGlkZS1tb2JpbGV7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxufSIsIi8qKlxyXG4gKiBOYW1lOiBUeXBvZ3JhcGh5XHJcbiAqL1xyXG5cclxuLyogVmFyaWFibGVzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcblx0Ly8gRm9udHNcclxuXHQkcGFnZUhlYWRlci1mb250OiBzZXJpZiAhZGVmYXVsdDtcclxuXHQkYm9keS1mb250OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xyXG5cclxuXHQvLyBTaXplc1xyXG5cdCRiYXNlLWZvbnQtc2l6ZTogMTZweCFkZWZhdWx0OyBcclxuXHQkYmFzZS1sZXR0ZXItc3BhY2luZzogaW5pdGlhbCAhZGVmYXVsdDtcclxuXHJcblx0Ly8gQ29sb3Vyc1xyXG5cdCRib2R5Q29weTogYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG5cclxuLyogRWxlbWVudHNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuaHRtbCxcclxuYm9keSB7XHJcblx0Zm9udC1mYW1pbHk6ICRib2R5LWZvbnQ7XHJcblx0Y29sb3I6ICRib2R5Q29weTtcclxuXHRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcclxuXHRsZXR0ZXItc3BhY2luZzogJGJhc2UtbGV0dGVyLXNwYWNpbmc7XHJcbn1cclxuXHJcbmg0e1xyXG5cdGZvbnQtZmFtaWx5OiAkcGFnZUhlYWRlci1mb250O1xyXG59XHJcblxyXG4vKiBNZWRpYSBxdWVyaWVzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGg3NjUpIHtcclxuXHRodG1sLFxyXG5cdGJvZHkge1xyXG5cdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogTmFtZTogR3JpZFxyXG4gKlxyXG4gKiBDb250cm9scyBnZW5lcmFsIGxheW91dCBjb21wb25lbnRzLlxyXG4gKi9cclxuXHJcbi8qIFZhcmlhYmxlc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cdC8vIFNpemVzXHJcblx0JHNlY3Rpb24tc3BhY2luZzogODBweCAhZGVmYXVsdDtcclxuXHQkc2VjdGlvbi10aGluV2lkdGg6IDM1MHB4ICFkZWZhdWx0OyBcclxuXHQkbW9iaWxlLXBhZ2Utd2lkdGg6IDQwMHB4ICFkZWZhdWx0OyBcclxuXHJcblxyXG4vKiBFbGVtZW50c1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uc2VjdGlvbi0tZ3JpZCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLnNlY3Rpb24tLXZlcnRpY2FsLXNwYWNpbmcge1xyXG5cdG1hcmdpbi10b3A6ICRzZWN0aW9uLXNwYWNpbmc7XHJcblx0bWFyZ2luLWJvdHRvbTogJHNlY3Rpb24tc3BhY2luZztcclxufVxyXG5cclxuLnNlY3Rpb25fX2lubmVyLS12ZXJ0aWNhbC1wYWRkaW5nIHtcclxuXHRwYWRkaW5nLXRvcDogJHNlY3Rpb24tc3BhY2luZztcclxuXHRwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tc3BhY2luZztcclxufVxyXG5cclxuLnNlY3Rpb25fX2lubmVyLS1wYWRkaW5nLWJvdHRvbSB7XHJcblx0cGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXNwYWNpbmc7XHJcbn1cclxuXHJcbi5zZWN0aW9uX19pbm5lciB7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi5zZWN0aW9uX19pbm5lci0tZnVsbC13aWR0aCB7XHJcblx0ZmxleC1iYXNpczogMTAwJTtcclxuXHRmbGV4LWdyb3c6IDA7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi5zZWN0aW9uX19pbm5lci0taGFsZi13aWR0aCB7XHJcblx0ZmxleC1iYXNpczogY2FsYyg1MCUgLSAjeyRzdGFuZGFyZFNwYWNpbmd9KTtcclxuXHRmbGV4LWdyb3c6IDA7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi5zZWN0aW9uX19pbm5lci0taGFsZi13aWR0aDpmaXJzdC1vZi10eXBlIHtcclxuXHRtYXJnaW4tcmlnaHQ6ICRzdGFuZGFyZFNwYWNpbmc7XHJcbn1cclxuXHJcbi5zZWN0aW9uX19pbm5lci0taGFsZi13aWR0aDpsYXN0LW9mLXR5cGUge1xyXG5cdG1hcmdpbi1sZWZ0OiAkc3RhbmRhcmRTcGFjaW5nO1xyXG59XHJcblxyXG4uc2VjdGlvbl9faW5uZXItLXRoaW4ge1xyXG5cdG1heC13aWR0aDogJHNlY3Rpb24tdGhpbldpZHRoO1xyXG5cdHBhZGRpbmc6IDAgJHN0YW5kYXJkU3BhY2luZztcclxufVxyXG5cclxuXHJcbi8qIHBhZ2UgbW9kaWZpZXJcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmVsZW1lbnQtLWZhZGUtaW4ge1xyXG5cdGFuaW1hdGlvbjogZmFkZUluIDAuOHMgZm9yd2FyZHM7XHJcbn1cclxuXHJcblxyXG5cclxuLyogTWVkaWEgcXVlcmllc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogJHdpZHRoNzY1KSB7XHJcblx0LnNlY3Rpb24tLWdyaWQge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0fVxyXG5cclxuXHQuc2VjdGlvbl9faW5uZXItY29udGVudHtcclxuXHRcdG1heC13aWR0aDogJG1vYmlsZS1wYWdlLXdpZHRoO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblx0fVxyXG5cclxuXHQuc2VjdGlvbl9faW5uZXItLWhhbGYtd2lkdGg6Zmlyc3Qtb2YtdHlwZSB7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRwYWRkaW5nOiAwICRzdGFuZGFyZFNwYWNpbmc7XHJcblx0fVxyXG5cclxuXHQuc2VjdGlvbl9faW5uZXItLWhhbGYtd2lkdGg6bGFzdC1vZi10eXBlIHtcclxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0cGFkZGluZzogMCAkc3RhbmRhcmRTcGFjaW5nO1xyXG5cdH1cclxufSIsIi8qKlxyXG4gKiBOYW1lOiBTZWN0aW9uc1xyXG4gKlxyXG4gKiBEZWFscyB3aXRoIGZvbnRzIGFuZCBjb2xvdXJzIG9mIHNlY3Rpb25zXHJcbiAqL1xyXG5cclxuLyogVmFyaWFibGVzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcblx0Ly8gRm9udHNcclxuXHQkcGFnZUhlYWRlci1mb250OiBzZXJpZiAhZGVmYXVsdDtcclxuXHQkYm9keS1mb250OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xyXG5cdCRwYWdlSGVhZGVyLXdlaWdodDogYm9sZCAhZGVmYXVsdDtcclxuXHQkcGFnZVN1YkhlYWRlci13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XHJcblx0JHBhZ2VTdWJIZWFkZXItdHJhbnNmb3JtOiBpbml0aWFsICFkZWZhdWx0O1xyXG5cclxuXHQvLyBDb2xvdXJzXHJcblx0JG1vYmlsZS1oZWFkZXItYnV0dG9uLWJhY2tncm91bmQ6IGdyZXkgIWRlZmF1bHQ7XHJcblx0JHBhZ2VCbHVyYi1jb2xvcjogZ3JleSAhZGVmYXVsdDtcclxuXHQkcGFnZUhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcclxuXHQvLyBTaXplc1xyXG5cdCRwYWdlSGVhZGVyLWZvbnQtc2l6ZTogM3JlbSAhZGVmYXVsdDtcclxuXHQkcGFnZVN1YkhlYWRlci1mb250LXNpemU6IDEuNHJlbSAhZGVmYXVsdDtcclxuXHQkcGFnZVNtYWxsSGVhZGVyLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xyXG5cdCRwYWdlSGVhZGVyLWxldHRlci1zcGFjaW5nOiBpbml0aWFsICFkZWZhdWx0O1xyXG5cclxuXHQvLyBJY29uc1xyXG5cdCRpY29uLXNob3c6ICcuLi9pbWcvaWNvbnMvc3ZnL2NpcmNsZXBsdXMuc3ZnJyAhZGVmYXVsdDtcclxuXHQkaWNvbi1oaWRlOiAnLi4vaW1nL2ljb25zL3N2Zy9jaXJjbGVtaW51cy5zdmcnICFkZWZhdWx0O1xyXG5cdCRpY29uLXNob3ctaGlkZS1zaXplOiAyOHB4ICFkZWZhdWx0O1xyXG5cclxuLyogRWxlbWVudHNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnNlY3Rpb25fX2hlYWRlcntcclxuXHRjb2xvcjogJHBhZ2VIZWFkZXItY29sb3I7XHJcblx0Zm9udC1mYW1pbHk6ICRwYWdlSGVhZGVyLWZvbnQ7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGZvbnQtc2l6ZTogJHBhZ2VIZWFkZXItZm9udC1zaXplO1xyXG5cdGZvbnQtd2VpZ2h0OiAkcGFnZUhlYWRlci13ZWlnaHQ7XHJcblx0bWFyZ2luOiA0LjVyZW0gMCAzcmVtIDA7XHJcblx0bGV0dGVyLXNwYWNpbmc6ICRwYWdlSGVhZGVyLWxldHRlci1zcGFjaW5nO1xyXG5cclxuXHRzbWFsbCB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGZvbnQtc2l6ZTogMS41cmVtO1xyXG5cdH1cclxufVxyXG5cclxuLnBhZ2UgLnNlY3Rpb25fX2hlYWRlciB7XHJcblx0bWFyZ2luOiA0LjVyZW0gJHN0YW5kYXJkU3BhY2luZyAzcmVtICRzdGFuZGFyZFNwYWNpbmc7XHJcbn1cclxuXHJcbi5zZWN0aW9uX19zdWItaGVhZGVye1xyXG5cdHRleHQtdHJhbnNmb3JtOiAkcGFnZVN1YkhlYWRlci10cmFuc2Zvcm07XHJcblx0Zm9udC1zaXplOiAkcGFnZVN1YkhlYWRlci1mb250LXNpemU7XHJcblx0Zm9udC13ZWlnaHQ6ICRwYWdlU3ViSGVhZGVyLXdlaWdodDtcclxufVxyXG5cclxuLnNlY3Rpb25fX2JsdXJiIHtcclxuXHRjb2xvcjogJHBhZ2VCbHVyYi1jb2xvcjtcclxuXHRtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cdGZvbnQtc2l6ZTogMC45cmVtO1xyXG59XHJcblxyXG4uc2VjdGlvbl9faGVhZGVyLS1zbWFsbHtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGZvbnQtc2l6ZTogJHBhZ2VTbWFsbEhlYWRlci1mb250LXNpemU7XHJcbn1cclxuXHJcbi5zZWN0aW9uX19oZWFkZXItLWNhcHN7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG5cclxuXHJcbi8qIE1lZGlhIHF1ZXJpZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aDg2NSkge1xyXG5cdC5zZWN0aW9uX19oZWFkZXJ7XHJcblx0XHRtYXJnaW4tdG9wOiAycmVtO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMnJlbTtcclxuXHR9XHJcblxyXG5cdC5wYWdlIC5zZWN0aW9uX19oZWFkZXIge1xyXG5cdFx0bWFyZ2luOiAkc3RhbmRhcmRTcGFjaW5nICRzdGFuZGFyZFNwYWNpbmcgJHN0YW5kYXJkU3BhY2luZyAkc3RhbmRhcmRTcGFjaW5nO1xyXG5cdH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aDc2NSkge1xyXG5cdFxyXG5cdC5zZWN0aW9uX19oZWFkZXJ7XHJcblx0XHRmb250LXNpemU6IDIuMnJlbTtcclxuXHR9XHJcblx0XHJcblx0LyoqXHJcblx0KiBNb2JpbGUgXCJzaG93IGJvb2tpbmcgZGV0YWlsc1wiIGJ1dHRvbi5cclxuXHQqL1xyXG5cdC5zZWN0aW9uX19zdWItaGVhZGVyLS1tb2JpbGUtYnV0dG9uIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRtb2JpbGUtaGVhZGVyLWJ1dHRvbi1iYWNrZ3JvdW5kO1xyXG5cdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRwYWRkaW5nOiAycmVtIDA7XHJcblx0XHRcdFxyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdCY6YWZ0ZXJ7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHdpZHRoOiAkaWNvbi1zaG93LWhpZGUtc2l6ZTtcclxuXHRcdFx0aGVpZ2h0OiAkaWNvbi1zaG93LWhpZGUtc2l6ZTtcclxuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCRpY29uLXNob3cpO1xyXG5cdFx0XHR0b3A6IGNhbGMoNTAlIC0gI3skaWNvbi1zaG93LWhpZGUtc2l6ZS8yfSk7XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuXHRcdFx0cmlnaHQ6IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQucmV2ZWFsZXItY2hlY2tib3g6Y2hlY2tlZCArIGxhYmVsID4gLnNlY3Rpb25fX3N1Yi1oZWFkZXItLW1vYmlsZS1idXR0b24ge1xyXG5cdFx0JjphZnRlcntcclxuXHQgIFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGljb24taGlkZSk7XHJcblx0XHR9XHJcblx0fVxyXG59IiwiLyoqXHJcbiAqIE5hbWU6IEdyaWRcclxuICpcclxuICogQ29udHJvbHMgZ2VuZXJhbCBsYXlvdXQgY29tcG9uZW50cy5cclxuICovXHJcblxyXG4vKiBWYXJpYWJsZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHQvLyBDb2xvdXJzXHJcblx0JGhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFkZWZhdWx0O1xyXG5cdCRoZWFkZXItYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMCAhZGVmYXVsdDtcclxuXHJcblx0Ly8gU2l6ZXNcclxuXHQkaGVhZGVyLWhlaWdodDogOTBweCAhZGVmYXVsdDtcclxuXHJcblxyXG4vKiBFbGVtZW50c1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG5oZWFkZXIge1xyXG5cdHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JGhlYWRlci1oZWlnaHR9ICsgMXB4KSAgLy8gMXB4IGV4dHJhIGZvciBib3JkZXIuIFBhZCBjb250ZW50IGZvciBoZWFkZXIgaGVpZ2h0XHJcbn1cclxuXHJcbi8vIEZpeCBoZWFkZXIgdG8gdG9wIG9mIHBhZ2UuXHJcbmhlYWRlciAud3JhcHBlcntcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0ei1pbmRleDogMTA7XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWF4LXdpZHRoOiAxMDB2dzsgIC8vIGZvciBpT1MgaWZyYW1lIGlzc3VlXHJcblx0aGVpZ2h0OiAkaGVhZGVyLWhlaWdodDtcclxuXHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLWJhY2tncm91bmQtY29sb3I7XHJcblx0Ym9yZGVyLWJvdHRvbTogJGhlYWRlci1ib3JkZXI7XHJcbn0iLCIvKipcclxuICogTmFtZTogSW5wdXRzXHJcbiAqXHJcbiAqIEFuZCBvdGhlciBmb3JtIGVsZW1lbnRzXHJcbiAqL1xyXG5cclxuXHJcbi8qIFZhcmlhYmxlc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cdC8vIENvbG91cnNcclxuXHQkaW5wdXQtYm9yZGVyLWVycm9yOiByZWQgIWRlZmF1bHQ7XHJcblx0JGlucHV0LWJvcmRlci12YWxpZDogIzAwZWEwMCAhZGVmYXVsdDtcclxuXHQkaW5wdXQtaW5uZXItYm9yZGVyLWNvbG9yOiAjMzQ3ZWFmICFkZWZhdWx0O1xyXG5cdCRpbnB1dC1ib3JkZXItY29sb3I6ICMzNDdlYWYgIWRlZmF1bHQ7XHJcblx0JGlucHV0LXRleHQtY29sb3I6ICMwMDcxQkMgIWRlZmF1bHQ7XHJcblx0JGlucHV0LXRleHQtY29sb3ItdmFsaWQ6ICMwMDcxQkMgIWRlZmF1bHQ7XHJcblx0JGlucHV0LWxhYmVsLWNvbG9yOiBibGFjayAhZGVmYXVsdDtcclxuXHQkaW5wdXQtbGFiZWwtY29sb3ItdmFsaWQ6IGJsYWNrICFkZWZhdWx0O1xyXG5cdCRjaGVja2JveC1ib3JkZXI6ICMxMTMzMjIgIWRlZmF1bHQ7XHJcblx0JGNoZWNrYm94LWJvcmRlci1jaGVja2VkOiAjMDA3MUJDICFkZWZhdWx0O1xyXG5cdCRjaGVja2JveC1sYWJlbC1jb2xvcjogZ3JleSAhZGVmYXVsdDtcclxuXHQkY2hlY2tib3gtbGFiZWwtY29sb3ItY2hlY2tlZDogIzAwNzFCQyAhZGVmYXVsdDtcclxuXHJcblx0Ly8gU2l6ZXNcclxuXHQkaW5wdXQtcGFkZGluZzogOHB4ICFkZWZhdWx0O1xyXG5cdCRjaGVja2JveC1zaXplOiAyNXB4ICFkZWZhdWx0O1xyXG5cclxuXHQvLyBJY29uc1xyXG5cdCRpY29uLWNhbGVuZGFyOiAnLi4vaW1nL2ljb25zL3N2Zy9jYWxlbmRhci5zdmcnICFkZWZhdWx0O1xyXG5cdCRpY29uLWNhbGVuZGFyLXNpemU6IDIwcHggIWRlZmF1bHQ7XHJcblx0JGljb24tY2hldnJvbjogJy4uL2ltZy9pY29ucy9zdmcvY2hldnJvbi5zdmcnICFkZWZhdWx0O1xyXG5cdCRpY29uLWNoZXZyb24tc2l6ZTogMTVweCBkZWZhdWx0O1xyXG5cdCRpY29uLWNoZWNrYm94LXRpY2s6ICcuLi9pbWcvaWNvbnMvc3ZnL3RpY2stYmx1ZS5zdmcnICFkZWZhdWx0O1xyXG5cclxuXHJcbi8qIEVsZW1lbnRzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcbi5pbnB1dCB7XHJcblx0cGFkZGluZzogMDtcclxuXHRtYXJnaW46IDA7XHJcblx0Zm9udC1zaXplOiAwO1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcclxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR0cmFuc2l0aW9uOiAwLjRzO1xyXG59XHJcblxyXG4uaW5wdXQtLXZlcnRpY2FsIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4uZGV0YWlscy1wYWdlIC5pbnB1dC0tdmVydGljYWwge1xyXG5cdG1hcmdpbi1ib3R0b206IDEuNzVyZW07XHJcbn1cclxuXHJcbi8vIE1haW4gaW5wdXQgc3R5bGluZ3NcclxuLmlucHV0X19jb250cm9sIHtcclxuXHRpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuXHRpbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcblx0aW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxyXG5cdGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXHJcblx0aW5wdXRbdHlwZT1cInRlbFwiXSxcclxuXHRpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcclxuXHRzZWxlY3QsXHJcblx0dGV4dGFyZWEge1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdGZvbnQtc2l6ZTogMXJlbTtcclxuXHRcdHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xyXG5cdFx0cGFkZGluZy10b3A6ICRpbnB1dC1wYWRkaW5nIC8gMjtcclxuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdFx0Y29sb3I6ICRpbnB1dC10ZXh0LWNvbG9yO1xyXG5cdH1cclxuXHJcblx0c2VsZWN0IHtcclxuXHRcdHBhZGRpbmctbGVmdDogNHB4ICsgJGlucHV0LXBhZGRpbmcgLyAyO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi5pbnB1dF9fbGFiZWwge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRmb250LXNpemU6IDExcHg7XHJcblx0bGluZS1oZWlnaHQ6IDE7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0cGFkZGluZzogJGlucHV0LXBhZGRpbmc7XHJcblx0cGFkZGluZy1ib3R0b206ICRpbnB1dC1wYWRkaW5nIC8gMjtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRjb2xvcjogJGlucHV0LWxhYmVsLWNvbG9yO1xyXG5cdHRyYW5zaXRpb246IDAuNHM7XHJcbn1cclxuXHJcbi5yZWFjdC1kYXRlcGlja2VyX19pbnB1dC1jb250YWluZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPVwidGV4dFwiXS5oaWRkZW5JbnB1dCB7XHJcblx0b3BhY2l0eTogMDtcclxuXHRoZWlnaHQ6IDA7XHJcblx0d2lkdGg6IDA7XHJcblx0Zm9udC1zaXplOiAwO1xyXG5cdGxpbmUtaGVpZ2h0OiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi8qIENoZWNrYm94IHN0eWxlc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uaW5wdXQtLWNoZWNrYm94IHtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcblx0LmlucHV0X19sYWJlbCB7XHJcblx0XHRmb250LXNpemU6IDEycHg7XHJcblx0XHRwYWRkaW5nOiAwcHg7XHJcblx0fVxyXG5cclxuXHQuaW5wdXRfX2NvbnRyb2wge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcblxyXG5cdFx0aW5wdXQge1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdG9wYWNpdHk6IDA7XHJcblx0XHRcdGxlZnQ6IC0xMDAlO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHRpbnB1dDpmb2N1cyB+IC5pbnB1dF9fbGFiZWwtdGV4dDphZnRlciB7XHJcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRjaGVja2JveC1ib3JkZXItY2hlY2tlZDtcclxuXHRcdFx0YW5pbWF0aW9uOiBmYWRlSW4gMC40cyBmb3J3YXJkcztcclxuXHRcdH1cclxuXHJcblx0XHRpbnB1dDpjaGVja2VkIH4gLmlucHV0X19sYWJlbC10ZXh0IHtcclxuXHRcdFx0Y29sb3I6ICRjaGVja2JveC1sYWJlbC1jb2xvci1jaGVja2VkO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlucHV0OmNoZWNrZWQgfiAuaW5wdXRfX2xhYmVsLXRleHQ6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiAnLic7XHJcblx0XHRcdGNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCRpY29uLWNoZWNrYm94LXRpY2spO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDUwJTtcclxuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGNoZWNrYm94LWJvcmRlci1jaGVja2VkO1xyXG5cclxuXHRcdFx0YW5pbWF0aW9uOiBmYWRlSW4gMC40cyBmb3J3YXJkcztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5pbnB1dF9fbGFiZWwtdGV4dCB7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IGNhbGMoI3skY2hlY2tib3gtc2l6ZX0gKyAjeyRzdGFuZGFyZFNwYWNpbmd9KTtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0Y29sb3I6ICRjaGVja2JveC1sYWJlbC1jb2xvcjtcclxuXHRcdHRyYW5zaXRpb246IDAuMnM7XHJcblxyXG5cdFx0JjpiZWZvcmUsXHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHR0b3A6IDA7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0d2lkdGg6ICRjaGVja2JveC1zaXplO1xyXG5cdFx0XHRoZWlnaHQ6ICRjaGVja2JveC1zaXplO1xyXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkY2hlY2tib3gtYm9yZGVyO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRcdHRyYW5zaXRpb246IDAuMnM7XHJcblx0XHR9XHJcblxyXG5cdFx0YSwgYTp2aXNpdGVkLCBhOmZvY3VzIHtcclxuXHRcdFx0Y29sb3I6ICRpbnB1dC1ib3JkZXItdmFsaWQ7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vKiBTZWxlY3Qgc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcbi5pbnB1dC0tZmFuY3ktc2VsZWN0IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdHNlbGVjdCB7XHJcblx0XHRwYWRkaW5nLXRvcDogMzhweDtcclxuXHRcdGFwcGVhcmFuY2U6IG5vbmU7XHJcblxyXG5cdFx0Jjo6LW1zLWV4cGFuZCB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuaW5wdXRfX2xhYmVsIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0fVxyXG5cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHdpZHRoOiAkaWNvbi1jaGV2cm9uLXNpemU7XHJcblx0XHRoZWlnaHQ6ICRpY29uLWNoZXZyb24tc2l6ZTtcclxuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGljb24tY2hldnJvbik7XHJcblxyXG5cdFx0dG9wOiAwO1xyXG5cdFx0cmlnaHQ6IDA7XHJcblxyXG5cdFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkaW5wdXQtaW5uZXItYm9yZGVyLWNvbG9yO1xyXG5cdFx0Ly8gY3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0aGVpZ2h0OjEwMCU7XHJcblx0XHR3aWR0aDogM3JlbTtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogMXJlbTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG5cdFx0ei1pbmRleDogLTE7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyogVmFsaWRhdGlvblxyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uaW5wdXQuZXJyb3Ige1xyXG5cdGJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlci1lcnJvcjtcclxuXHJcblx0LmlucHV0X192YWxpZGF0aW9uLW1lc3NhZ2Uge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0XHRmb250LXNpemU6IDEzcHg7XHJcblx0XHRjb2xvcjogJGlucHV0LWJvcmRlci1lcnJvcjtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdHBhZGRpbmc6IDRweDtcclxuXHR9XHJcbn1cclxuXHJcbi5pbnB1dC52YWxpZCxcclxuLmlucHV0LS10b3VjaGVkIHtcclxuXHRib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXItdmFsaWQ7XHJcblx0XHJcblx0LmlucHV0X19sYWJlbCB7XHJcblx0XHRjb2xvcjogJGlucHV0LWxhYmVsLWNvbG9yLXZhbGlkO1xyXG5cdH1cclxuXHJcblx0XHJcblx0aW5wdXRbdHlwZT1cInRleHRcIl0sXHJcblx0aW5wdXRbdHlwZT1cImVtYWlsXCJdLFxyXG5cdGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcclxuXHRpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxyXG5cdGlucHV0W3R5cGU9XCJ0ZWxcIl0sXHJcblx0aW5wdXRbdHlwZT1cImRhdGVcIl0sXHJcblx0c2VsZWN0LFxyXG5cdHRleHRhcmVhIHtcclxuXHRcdGNvbG9yOiAkaW5wdXQtdGV4dC1jb2xvci12YWxpZDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuLyogTW9kaWZpZXJzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcbi5pbnB1dC0tbGFyZ2UgLmlucHV0X19jb250cm9sIGlucHV0e1xyXG5cdHBhZGRpbmc6ICRzdGFuZGFyZFNwYWNpbmcgMXJlbTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcblxyXG4ucGFnZS0tcmV0cmlldmV7XHJcblx0aW5wdXR7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdH1cclxufVxyXG5cclxuLmlucHV0LS1kaXNhYmxlZCB7XHJcblx0b3BhY2l0eTogMC41O1xyXG5cdGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcblxyXG5cdGlucHV0IHtcclxuXHRcdGN1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKiBEYXRlcGlja2VyIHNldCB1cFxyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uaW5wdXQtLWRhdGVwaWNrZXJ7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHdpZHRoOiAkaWNvbi1jYWxlbmRhci1zaXplO1xyXG5cdFx0aGVpZ2h0OiAkaWNvbi1jYWxlbmRhci1zaXplO1xyXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaWNvbi1jYWxlbmRhcik7XHJcblx0XHR0b3A6IGNhbGMoNTAlIC0gI3skaWNvbi1jYWxlbmRhci1zaXplLzJ9KTtcclxuXHRcdHJpZ2h0OiBjYWxjKCN7JHN0YW5kYXJkU3BhY2luZyAvIDJ9ICsgI3skaWNvbi1jYWxlbmRhci1zaXplLzR9KTtcclxuXHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGlucHV0LWlubmVyLWJvcmRlci1jb2xvcjtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8qIE1lZGlhIHF1ZXJpZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aDc2NSkge1xyXG5cdC5pbnB1dF9fbGFiZWwge1xyXG5cdFx0Zm9udC1zaXplOiAxcmVtO1xyXG5cdH1cclxufSIsIi8qKlxyXG4gKiBOYW1lOiBGb3Jtc1xyXG4gKlxyXG4gKiBHZW5lcmljIGZvcm0gc3R5bGVzLlxyXG4gKi9cclxuXHJcbiAkZm9ybS1saW5rLWNvbG9yOiByZWQgIWRlZmF1bHQ7XHJcblxyXG4vKiBFbGVtZW50c1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uZm9ybSB7XHJcbiAgbWFyZ2luOiAwIGF1dG8gMCBhdXRvO1xyXG59XHJcblxyXG4uZm9ybS1zZWN0aW9ue1xyXG4gIG1hcmdpbi1ib3R0b206IDIqJHN0YW5kYXJkU3BhY2luZztcclxufVxyXG5cclxuLmZvcm1fX21lc3NhZ2V7XHJcbiAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XHJcblxyXG4gIGF7XHJcbiAgICAmLCAmOnZpc2l0ZWQsICY6aG92ZXIsICY6YWN0aXZle1xyXG4gICAgICBjb2xvcjogICRmb3JtLWxpbmstY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZm9ybS1zZWN0aW9uX19saW5rIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBmb250LXNpemU6IDEuNHJlbTtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG59XHJcblxyXG4vKiBNZWRpYSBxdWVyaWVzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogJHdpZHRoNjc4KSB7XHJcblxyXG4gIC5mb3JtLXNlY3Rpb25fX2xpbmsge1xyXG4gICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgfVxyXG59IiwiLyoqXHJcbiAqIE5hbWU6IFBsYWNlbmFtZSBhdXRvY29tcGxldGVcclxuICpcclxuICovXHJcblxyXG4vKiBWYXJpYWJsZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHQvLyBDb2xvdXJzXHJcblx0JHBsYWNlbmFtZS1zZWxlY3QtY29sb3I6IGJsdWUgIWRlZmF1bHQ7XHJcblx0JHBsYWNlbmFtZS1zZWxlY3QtbGluay1jb2xvcjogYmx1ZSAhZGVmYXVsdDtcclxuXHJcbi8qIEVsZW1lbnRzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcbi5nZW9zdWdnZXN0X19zdWdnZXN0cyB7XHJcblx0cGFkZGluZzogMDtcclxuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbn1cclxuXHJcbi5nZW9zdWdnZXN0X19pdGVtIHtcclxuXHRmb250LXNpemU6IDAuNzVyZW07XHJcblx0cGFkZGluZzogJHN0YW5kYXJkU3BhY2luZy80ICRzdGFuZGFyZFNwYWNpbmcvMjtcclxuXHJcblx0Jjpob3ZlcixcclxuXHQmLS1hY3RpdmVcclxuXHR7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcGxhY2VuYW1lLXNlbGVjdC1jb2xvcjtcclxuXHRcdGNvbG9yOiB3aGl0ZTtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHR9XHJcbn1cclxuXHJcbi8qIFwiVG9nZ2xlIGxvb2t1cC9tYW51YWxcIiBsaW5rLlxyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG4ucGxhY2VuYW1lLWxvb2t1cF9fbGluayB7XHJcblx0bWFyZ2luOiAwIDAgJHN0YW5kYXJkU3BhY2luZyoxLjUgMDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Y29sb3I6ICRwbGFjZW5hbWUtc2VsZWN0LWxpbmstY29sb3I7IFxyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn0iLCJcclxuXHJcbi5kcmF3ZXIge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB3aWR0aDogNDAwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICB0b3A6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIHotaW5kZXg6IDEyO1xyXG4gIHBhZGRpbmc6IDIwcHggMCAwIDAgO1xyXG4gIGJveC1zaGFkb3c6IDEwcHggMCAxMHB4IDhweCAjODg4O1xyXG4gIHJpZ2h0OiAtNDAwcHg7XHJcbiAgdHJhbnNpdGlvbjogLjRzO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcblx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xyXG59XHJcblxyXG4uZHJhd2VyOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgd2lkdGg6IDEwcHg7XHJcbn1cclxuXHJcbi5kcmF3ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICBiYWNrZ3JvdW5kOiAjZGRkO1xyXG59XHJcblxyXG4uZHJhd2VyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgYmFja2dyb3VuZDogIzY2NjtcclxufVxyXG5cclxuLmRyYXdlci0tb3BlbiB7XHJcbiAgcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi5kcmF3ZXJfX292ZXJsYXkge1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgkY29sb3I6ICgjZmZmKSwgJGFscGhhOiAwLjgpO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgei1pbmRleDogMTE7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIHRyYW5zaXRpb246IC40cztcclxufVxyXG5cclxuLmRyYXdlcl9fb3ZlcmxheS0tc2hvd24ge1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuLmRyYXdlcl9fY2xvc2Uge1xyXG4gIHotaW5kZXg6IDE7XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1NHB4O1xyXG4gIHJpZ2h0OiAxLjVyZW07XHJcbiAgYm9yZGVyOiAwO1xyXG4gIHdpZHRoOiAxLjVyZW07XHJcbiAgaGVpZ2h0OiAxLjVyZW07XHJcbiAgcGFkZGluZzogMDtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjJzO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgc3ZnIHtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICB3aWR0aDogMjNweDtcclxuICAgICAgZmlsbDogJHByaW1hcnlDb2xvcjtcclxuICAgICAgc3Ryb2tlOiAkcHJpbWFyeUNvbG9yO1xyXG4gICAgICBzdHJva2Utd2lkdGg6IDAuMXB4OyAvLyBuZWVkIGEgdGlueSB3aWR0aCBmb3IgdGhlIGFycm93XHJcbiAgfVxyXG59XHJcblxyXG4uZHJhd2VyX19jbG9zZS0tZ2FsbGVyeSB7XHJcbiAgdG9wOiAxcmVtO1xyXG4gIHJpZ2h0OiAwLjc1cmVtO1xyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHdpZHRoNjc4KSB7XHJcbiAgLmRyYXdlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAkd2lkdGg2NzgpIHtcclxuXHJcbiAgLmRyYXdlciB7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDJyZW0gMCAycmVtO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMjtcclxuICB9XHJcblxyXG4gIC5kcmF3ZXJfX2Nsb3NlIHtcclxuICAgIHRvcDogMnJlbTtcclxuICB9XHJcblxyXG59IiwiLyoqXHJcbiAqIE5hbWU6IFJvb21zIHNlbGVjdGlvbiBwYWdlXHJcbiAqXHJcbiAqIENvbnRhaW5zIGxpc3Qgb2Ygcm9vbXMgdGhhdCBjYW4gYmUgYm9va2VkLlxyXG4gKi9cclxuIFxyXG4vKiBWYXJpYWJsZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIFBhZ2Ugc2V0IHVwXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcbi5yb29tLXBhZ2Uge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcblx0LnNlY3Rpb25fX2hlYWRlcntcclxuXHRcdG1hcmdpbi10b3A6IDMuNXJlbTtcclxuXHR9XHJcbn1cclxuXHJcbi8qIEVsZW1lbnRzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcbi5yb29tLXBhZ2VfX3NlY3Rpb24ge1xyXG5cdHBhZGRpbmctYm90dG9tOiA2MHB4O1xyXG5cdHBhZGRpbmc6IDAgNXJlbTtcclxufVxyXG5cclxuLnJvb21fcGFnZV9fc2VjdGlvbi1oZWFkZXIge1xyXG5cdG1hcmdpbjogMTVweCAwO1xyXG59XHJcblxyXG5cclxuLyogTWVkaWEgcXVlcmllc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogJHdpZHRoMTUwMCkge1xyXG5cdC5yb29tLXBhZ2VfX3NlY3Rpb24ge1xyXG5cdFx0cGFkZGluZzogMCAyKiRzdGFuZGFyZFNwYWNpbmc7XHJcblxyXG5cdFx0LnNlY3Rpb257XHJcblx0XHQgICAgbWF4LXdpZHRoOiA3MHJlbTtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGg3NjUpIHtcclxuXHQucm9vbS1wYWdlX19zZWN0aW9uIHtcclxuXHRcdHBhZGRpbmc6IDAgJHN0YW5kYXJkU3BhY2luZztcclxuXHJcblx0XHQuc2VjdGlvbntcclxuXHRcdFx0bWF4LXdpZHRoOiA0MDBweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIFN1Yi1jb21wb25lbnRzXHJcbkBpbXBvcnQgXCJyb29tSW5mb1wiO1xyXG4vLyBAaW1wb3J0IFwicm9vbU9wdGlvblwiO1xyXG5AaW1wb3J0IFwicm9vbUluZm9HYWxsZXJ5XCI7XHJcblxyXG4iLCIvKipcclxuICogTmFtZTogUm9vbSBpbmZvXHJcbiAqXHJcbiAqIFJvb20gZGV0YWlscyByb3cuIENvbnRhaW5zIGhlYWRlciwgYmx1cmIsIGZlYXR1cmVzLCBib29raW5nIGJ1dHRvbnMsIHJhdGUgZGV0YWlscy9cclxuICovXHJcblxyXG4vKiBWYXJpYWJsZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHQvLyBGb250c1xyXG5cdCRyb29taW5mby1pY29uLWZvbnQ6IHNlcmlmICFkZWZhdWx0O1xyXG5cdCRyb29taW5mby10aXRsZS1mb250OiBzZXJpZiAhZGVmYXVsdDtcclxuXHJcblx0Ly8gQ29sb3Vyc1xyXG5cdCRyb29taW5mby1ib3JkZXItY29sb3I6IHJlZCAhZGVmYXVsdDtcclxuXHQkcm9vbWluZm8tYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XHJcblx0JHJvb21pbmZvLWJhY2tncm91bmQtY29sb3Itc2VsZWN0ZWQ6ICNGRUYgIWRlZmF1bHQ7XHJcblx0JHJvb21pbmZvLXRleHQtY29sb3I6IGJsdWUgIWRlZmF1bHQ7XHJcblx0JHJvb21pbmZvLXRleHQtZm9udDogc2Fucy1zZXJpZiAhZGVmYXVsdDtcclxuXHQkcm9vbWluZm8tcHJpY2UtY29sb3I6IGJsdWUgIWRlZmF1bHQ7XHJcblx0JHJvb21pbmZvLWJvZHktdGV4dC1jb2xvcjogZ3JlZW4gIWRlZmF1bHQ7XHJcblx0JHJvb21pbmZvLWljb24tYm9yZGVyLWNvbG9yOiBibHVlICFkZWZhdWx0O1xyXG5cdCRyb29taW5mby1pY29uLXRleHQtY29sb3I6IGJsdWUgIWRlZmF1bHQ7XHJcblx0JHJvb21pbmZvLXRpdGxlLWNvbG9yOiBibHVlICFkZWZhdWx0O1xyXG5cclxuXHQvLyBTaXplc1xyXG5cdCRyb29taW5mby1pY29uLXNpemU6IDEuNnJlbSAhZGVmYXVsdDtcclxuXHQkcm9vbWluZm8tc3BhY2luZzogMXJlbSAhZGVmYXVsdDtcclxuXHJcblxyXG5cclxuXHJcbi8qIEVsZW1lbnRzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcbi5yb29tLWluZm8ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0cGFkZGluZy1ib3R0b206IDVyZW07XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLnJvb20taW5mb19faW5mbyB7XHJcblx0ZmxleC1iYXNpczogMzMuMzMzMyU7XHJcblx0cGFkZGluZzogMCAzcmVtIDtcclxufVxyXG5cclxuLnJvb20taW5mb19fcHJpY2VzIHtcclxuXHRmbGV4LWJhc2lzOiAzMy4zMzMzJTtcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4ucm9vbS1pbmZvX19nYWxsZXJ5IHtcclxuXHRmbGV4LWJhc2lzOiA0MCU7XHJcblx0ZmxleC1zaHJpbms6IDE7XHJcbn1cclxuXHJcbi5yb29tLWluZm9fX2luZm8taGVhZGVye1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdFxyXG5cdC5yb29tLWluZm9fX3ByaWNlLWluZm8taWNvbntcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4ucm9vbS1pbmZvX190aXRsZSB7XHJcblx0bWFyZ2luLXRvcDogMDtcclxuXHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuXHRjb2xvcjogJHJvb21pbmZvLXRpdGxlLWNvbG9yO1xyXG5cdGZvbnQtZmFtaWx5OiAkcm9vbWluZm8tdGl0bGUtZm9udDtcclxuXHRmb250LXdlaWdodDogMTAwO1xyXG5cdGZvbnQtc2l6ZTogMnJlbTtcclxufVxyXG5cclxuLnJvb21fX2ZlYXR1cmVzIHtcclxuXHRwYWRkaW5nOiAxcmVtIDAgMCAxZW07XHJcblxyXG5cdGxpIHtcclxuXHRcdGxpbmUtaGVpZ2h0OiAyZW07XHJcblx0XHRmb250LXNpemU6IDAuOGVtO1xyXG5cdFx0Y29sb3I6ICRyb29taW5mby1ib2R5LXRleHQtY29sb3I7XHJcblx0fVxyXG5cclxuXHRzcGFuIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxufVxyXG5cclxuLy8gUHJpY2UgcGFuZWxcclxuLnJvb20taW5mb19fcHJpY2Uge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcblx0Ym9yZGVyLXRvcDogc29saWQgMXB4ICRyb29taW5mby1ib3JkZXItY29sb3I7XHJcblx0cGFkZGluZzogMnJlbSAwO1xyXG59XHJcblxyXG5cclxuLnJvb20taW5mb19fcHJpY2U6bGFzdC1vZi10eXBlIHtcclxuXHRib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJHJvb21pbmZvLWJvcmRlci1jb2xvcjtcclxufVxyXG5cclxuLnJvb20taW5mb19fcHJpY2UtaG9sZCB7XHJcblx0ZmxleC1ncm93OiAxO1xyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ucm9vbS1pbmZvX19wcmljZS10aXRsZSB7XHJcblx0ZmxleC1ncm93OiAxO1xyXG5cclxuXHRtYXJnaW4tcmlnaHQ6ICRyb29taW5mby1zcGFjaW5nO1xyXG5cdGNvbG9yOiAkcm9vbWluZm8tdGV4dC1jb2xvcjtcclxuXHJcblx0Zm9udC1mYW1pbHk6ICRyb29taW5mby10ZXh0LWZvbnQ7XHJcblx0Zm9udC1zaXplOiAxLjI1cmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiAxMDA7XHJcblx0bGV0dGVyLXNwYWNpbmc6IDFweDtcclxufVxyXG5cclxuLnJvb20taW5mb19fcHJpY2UtdmFsdWUge1xyXG5cdG1hcmdpbi1yaWdodDogJHJvb21pbmZvLXNwYWNpbmc7XHJcblxyXG5cdGZvbnQtc2l6ZTogMS41cmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiAxMDA7XHJcblxyXG5cdGNvbG9yOiAkcm9vbWluZm8tcHJpY2UtY29sb3I7XHJcbn1cclxuXHJcbi5yb29tLWluZm9fX3ByaWNlLWJvb2sge1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cclxuXHRtYXJnaW4tcmlnaHQ6ICRyb29taW5mby1zcGFjaW5nO1xyXG59XHJcblxyXG4ucm9vbS1pbmZvX19wcmljZS1pbmZvLWljb24ge1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG5cdHdpZHRoOiAkcm9vbWluZm8taWNvbi1zaXplO1xyXG5cdGhlaWdodDogJHJvb21pbmZvLWljb24tc2l6ZTtcclxuXHJcblx0Ym9yZGVyOiBzb2xpZCAxcHggJHJvb21pbmZvLWljb24tYm9yZGVyLWNvbG9yO1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHJcblx0bGluZS1oZWlnaHQ6ICRyb29taW5mby1pY29uLXNpemU7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdGZvbnQtZmFtaWx5OiAkcm9vbWluZm8taWNvbi1mb250O1xyXG5cdGZvbnQtc2l6ZTogJHJvb21pbmZvLWljb24tc2l6ZTtcclxuXHJcblx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcblx0Y29sb3I6ICRyb29taW5mby1pY29uLXRleHQtY29sb3I7XHJcblx0XHJcblx0c3BhbntcclxuXHRcdGZvbnQtc2l6ZTogMS4ycmVtO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAtMnB4O1xyXG5cdFx0bWFyZ2luLXRvcDogMC41cHg7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLnJvb20taW5mb19faW5mby1ib2R5LXRleHQge1xyXG5cdG1heC13aWR0aDogMzFyZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuNWVtO1xyXG5cdGNvbG9yOiAkcm9vbWluZm8tYm9keS10ZXh0LWNvbG9yO1xyXG59XHJcblxyXG4vKiBNb2RpZmllcnNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnJvb20taW5mb19fcHJpY2UtLXNlbGVjdGVkIHtcclxuXHRhbmltYXRpb246IHNlbGVjdFByaWNlIDAuNHMgZm9yd2FyZHM7XHJcbn1cclxuXHJcbi5yb29tLWluZm9fX3ByaWNlLS1oZWFkZXIge1xyXG5cdHBhZGRpbmc6IDEwcHggMDtcclxuXHRib3JkZXItdG9wOiBub25lO1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0XHRcclxuXHQucm9vbS1pbmZvX19wcmljZS12YWx1ZSB7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRjb2xvcjogJHJvb21pbmZvLWJvZHktdGV4dC1jb2xvcjtcclxuXHRcdGZvbnQtc2l6ZTogMXJlbTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuLyogTWVkaWEgcXVlcmllc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG4vLyBUYWJsZXQgbGF5b3V0XHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGgxNTAwKSB7XHJcblx0LnJvb20taW5mbyB7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0fVxyXG5cclxuXHQucm9vbS1pbmZvX19pbmZvIHtcclxuXHRcdGZsZXgtYmFzaXM6IDA7XHJcblx0XHRmbGV4LWdyb3c6IDE7XHJcblx0XHRwYWRkaW5nOiAwIDJyZW0gMCAycmVtO1xyXG5cdH1cclxuXHJcblx0LnJvb20taW5mb19fZ2FsbGVyeSB7XHJcblx0XHRmbGV4LWdyb3c6IDE7XHJcblx0XHRmbGV4LWJhc2lzOiAwO1xyXG5cdH1cclxuXHJcblx0LnJvb20taW5mb19fcHJpY2VzIHtcclxuXHRcdGZsZXgtYmFzaXM6IDEwMCU7XHJcblx0XHRwYWRkaW5nOiAxcmVtIDAgMCAwO1xyXG5cdH1cclxuXHJcblx0LnJvb20taW5mb19fcHJpY2Uge1xyXG5cdFx0cGFkZGluZzogMXJlbSAwO1xyXG5cdH1cclxuXHJcblx0LnJvb20taW5mb19faW5mby1ib2R5LXRleHQge1xyXG5cdFx0bWF4LXdpZHRoOiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuLy8gTW9iaWxlIGxheW91dFxyXG5AbWVkaWEgKG1heC13aWR0aDogJHdpZHRoNzY1KSB7XHJcblx0LnJvb20taW5mbyB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcblxyXG5cdC5yb29tLWluZm9fX2luZm8ge1xyXG5cdFx0cGFkZGluZy10b3A6IDFyZW07XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdH1cclxuXHRcdFxyXG5cdC5yb29tLWluZm9fX3ByaWNlLWhvbGQsXHJcblx0LnJvb20taW5mb19fcHJpY2UtdGl0bGUsXHJcblx0LnJvb20taW5mb19fcHJpY2UtdmFsdWVcclxuXHR7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcblxyXG5cdC5yb29tLWluZm9fX2luZm8tYm9keXtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQucm9vbS1pbmZvX19pbmZvLWhlYWRlcntcdFxyXG5cdFx0LnJvb20taW5mb19fcHJpY2UtaW5mby1pY29ue1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnJvb20taW5mb19fcHJpY2UtLXNlbGVjdGVkIHtcclxuXHRcdGFuaW1hdGlvbjogc2VsZWN0UHJpY2VNb2JpbGUgMC40cyBmb3J3YXJkcztcclxuXHRcdGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkcm9vbWluZm8tYm9yZGVyLWNvbG9yO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogLTFweDsgLy8gT2Zmc2V0IGZvciBib3JkZXJcclxuXHR9XHJcblx0XHJcblx0LnJvb21fX2ZlYXR1cmVzIHtcclxuXHRcdGxpIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxZW07XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQucm9vbS1pbmZvX19wcmljZS0taGVhZGVyIHtcclxuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKiBBbmltYXRpb25zXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcbkBrZXlmcmFtZXMgc2VsZWN0UHJpY2V7XHJcblx0MCUge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHJvb21pbmZvLWJhY2tncm91bmQtY29sb3I7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDByZW07XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiAwcmVtO1xyXG5cdH1cclxuXHJcblx0MTAwJSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcm9vbWluZm8tYmFja2dyb3VuZC1jb2xvci1zZWxlY3RlZDtcclxuXHRcdHBhZGRpbmctbGVmdDogJHN0YW5kYXJkU3BhY2luZy8zO1xyXG5cdFx0cGFkZGluZy1yaWdodDogJHN0YW5kYXJkU3BhY2luZy8zO1xyXG5cdH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzZWxlY3RQcmljZU1vYmlsZXtcclxuXHQwJSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcm9vbWluZm8tYmFja2dyb3VuZC1jb2xvcjtcclxuXHRcdHBhZGRpbmctbGVmdDogMHJlbTtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDByZW07XHJcblx0XHRtYXJnaW4tbGVmdDogMHJlbTtcclxuXHRcdG1hcmdpbi1yaWdodDogMHJlbTtcclxuXHR9XHJcblxyXG5cdDEwMCUge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHJvb21pbmZvLWJhY2tncm91bmQtY29sb3Itc2VsZWN0ZWQ7XHJcblx0XHRwYWRkaW5nLWxlZnQ6ICRzdGFuZGFyZFNwYWNpbmc7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiAkc3RhbmRhcmRTcGFjaW5nO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IC0kc3RhbmRhcmRTcGFjaW5nO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAtJHN0YW5kYXJkU3BhY2luZztcclxuXHR9XHJcbn1cclxuIiwiLyoqXHJcbiAqIE5hbWU6IEdhbGxlcnlcclxuICpcclxuICogQ2Fyb3VzZWwsIGlubml0XHJcbiAqL1xyXG5cclxuLyogVmFyaWFibGVzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcblx0Ly8gQ29sb3Vyc1xyXG5cdCRnYWxsZXJ5LWRvdC1iYWNrZ3JvdW5kOiBibHVlICFkZWZhdWx0O1xyXG5cdCRnYWxsZXJ5LWRvdC1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XHJcblx0JGdhbGxlcnktZG90LWNvbG9yLXNlbGVjdGVkOiByZWQgIWRlZmF1bHQ7XHJcblxyXG5cdC8vIFNpemVzXHJcblx0JGdhbGxlcnktZG90LXNpemU6IDIwcHggIWRlZmF1bHQ7XHJcblx0JGdhbGxlcnktZG90LXNpemUtc2VsZWN0ZWQ6IDI1cHggIWRlZmF1bHQ7XHJcblx0JGdhbGxlcnktZm9udDogc2VyaWYgIWRlZmF1bHQ7XHJcblxyXG5cdC8vIEZ1bGxzY3JlZW4gaWNvblxyXG5cdCRmdWxsc2NyZWVuLWljb24tc2l6ZTogMjBweDtcclxuXHQkZnVsbHNjcmVlbi1zcGFjaW5nOiAxMHB4O1xyXG5cdCRmdWxsc2NyZWVuLXRleHQtb2Zmc2V0OiA4cHg7XHJcblxyXG4vKiBFbGVtZW50c1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiogSG9sZGVyc1xyXG4qL1xyXG5cdC5yb29tLWluZm8tZ2FsbGVyeV9faG9sZGVyIHsgIC8vIE1haW4gaG9sZGVyXHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcblx0fVxyXG5cclxuXHQucm9vbS1pbmZvLWdhbGxlcnkge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR9XHJcblxyXG5cdC5yb29tLWluZm8tZ2FsbGVyeV9faW5uZXIge1xyXG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXM7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGxpbmUtaGVpZ2h0OiAwO1xyXG5cdH1cclxuXHJcblxyXG4vKipcclxuKiBJbWFnZSBlbGVtZW50cyBcclxuKi9cclxuXHQucm9vbS1pbmZvLWdhbGxlcnlfX2l0ZW0ge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdH1cclxuXHJcblx0LnJvb20taW5mby1nYWxsZXJ5X19pbWFnZSB7XHJcblx0XHRkaXNwbGF5OiBibG9jazsgXHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG4vKipcclxuKiBOYXZpZ2F0aW9uIFxyXG4qL1xyXG5cclxuXHQvKipcclxuXHQqIEhvbGRlciBcclxuXHQqL1xyXG5cdC5yb29tLWluZm8tZ2FsbGVyeV9fbmF2IHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHotaW5kZXg6IDE7XHJcblxyXG5cdFx0bGVmdDogMDtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdFx0Ym90dG9tOiAtMS41cmVtO1xyXG5cdFx0aGVpZ2h0OiAyLjVyZW07XHJcblxyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ2FsbGVyeS1kb3QtYmFja2dyb3VuZDtcclxuXHR9XHJcblxyXG5cclxuXHQvKipcclxuXHQqIExlZnQvcmlnaHQgY29udHJvbHMgXHJcblx0Ki9cclxuXHQucm9vbS1pbmZvLWdhbGxlcnlfX3RyaWdnZXJ7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRib3R0b206IDA7XHJcblxyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XHJcblx0XHRcclxuXHRcdHNwYW4ge1xyXG5cdFx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6aG92ZXIsXHJcblx0XHQmOmZvY3Vze1xyXG5cdFx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6YWZ0ZXJ7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogY2FsYyg1MCUgLSAxNXB4KTtcclxuXHJcblx0XHRcdHdpZHRoOiAzMHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDMwcHg7XHJcblxyXG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29ucy9zdmcvY2hldnJvbi13aGl0ZS5zdmcnKTtcclxuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnJvb20taW5mby1nYWxsZXJ5X19sZWZ0LXRyaWdnZXIge1xyXG5cdFx0cmlnaHQ6IDUwJTtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYShibGFjaywwKSAwJSxyZ2JhKGJsYWNrLDApIDcwJSxyZ2JhKGJsYWNrLDAuOSkgMTAwJSk7XHJcblxyXG5cdFx0JjphZnRlcntcclxuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuXHRcdFx0bGVmdDogNXB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnJvb20taW5mby1nYWxsZXJ5X19yaWdodC10cmlnZ2VyIHtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdFx0bGVmdDogNTAlO1xyXG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKGJsYWNrLDApIDAlLHJnYmEoYmxhY2ssMCkgNzAlLHJnYmEoYmxhY2ssMC45KSAxMDAlKTtcclxuXHJcblx0XHQmOmFmdGVye1xyXG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuXHRcdFx0cmlnaHQ6IDVweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCogTmF2IGRvdHMgXHJcblx0Ki9cclxuXHQucm9vbS1pbmZvLWdhbGxlcnlfX2NpcmNsZSB7XHJcblx0XHR3aWR0aDogJGdhbGxlcnktZG90LXNpemU7XHJcblx0XHRoZWlnaHQ6ICRnYWxsZXJ5LWRvdC1zaXplO1xyXG5cdFx0bWFyZ2luOiAwIDVweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHJcblx0XHRiYWNrZ3JvdW5kOiAkZ2FsbGVyeS1kb3QtY29sb3I7XHJcblx0XHR0cmFuc2l0aW9uOiAwLjNzO1x0XHJcblx0fVxyXG5cclxuXHQvLyBOYXYgZG90IHNlbGVjdGVkIHN0YXRlXHJcblx0LnJvb20taW5mby1nYWxsZXJ5X19jaXJjbGUtLWFjdGl2ZSB7XHJcblx0XHR3aWR0aDogJGdhbGxlcnktZG90LXNpemUtc2VsZWN0ZWQ7XHJcblx0XHRoZWlnaHQ6ICRnYWxsZXJ5LWRvdC1zaXplLXNlbGVjdGVkO1xyXG5cclxuXHRcdGJhY2tncm91bmQ6ICRnYWxsZXJ5LWRvdC1jb2xvci1zZWxlY3RlZDtcclxuXHR9XHJcblxyXG5cclxuLyoqXHJcbiogRnVsbCBzY3JlZW4gbGluayBcclxuKi9cclxuLnJvb20taW5mby1nYWxsZXJ5X19mdWxsLWxpbmsge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRyaWdodDogJGZ1bGxzY3JlZW4taWNvbi1zaXplICsgJGZ1bGxzY3JlZW4tdGV4dC1vZmZzZXQgKyAkZnVsbHNjcmVlbi1zcGFjaW5nO1xyXG5cdHRvcDogMTJweDtcclxuXHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFxyXG5cdHBhZGRpbmctbGVmdDogJGZ1bGxzY3JlZW4tc3BhY2luZztcclxuXHRcclxuXHRmb250LXNpemU6IDAuOHJlbTtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG5cdGJhY2tncm91bmQtY29sb3I6ICRnYWxsZXJ5LWRvdC1iYWNrZ3JvdW5kO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxuXHRcclxuXHQmOmFmdGVyIHtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAtM3B4O1xyXG5cdFx0cmlnaHQ6IC0kZnVsbHNjcmVlbi1pY29uLXNpemUgLSAkZnVsbHNjcmVlbi10ZXh0LW9mZnNldDtcclxuXHJcblx0XHR3aWR0aDogJGZ1bGxzY3JlZW4taWNvbi1zaXplO1xyXG5cdFx0aGVpZ2h0OiAkZnVsbHNjcmVlbi1pY29uLXNpemU7XHJcblxyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvc3ZnL2dyZXktY2lyY2xlLXBsdXMuc3ZnJyk7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiogRnVsbCBzY3JlZW4gaG9sZGVyIFxyXG4qL1xyXG4ucm9vbS1pbmZvLWdhbGxlcnlfX2Z1bGwtc2NyZWVuIHtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0dG9wOiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdHotaW5kZXg6IDk5OTtcclxuXHRcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuXHRwYWRkaW5nOiAkc3RhbmRhcmRTcGFjaW5nICogMjtcclxuXHJcblx0YW5pbWF0aW9uOiBmYWRlSW4gMC4ycyBmb3J3YXJkcztcclxuXHJcblx0LnBvcHVwX19jbG9zZSB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHotaW5kZXg6IDE7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XHJcblx0fVxyXG5cclxuXHQucm9vbS1pbmZvLWdhbGxlcnlfX2hvbGRlciB7XHJcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcclxuXHR9XHJcblx0XHJcblx0LnJvb20taW5mby1nYWxsZXJ5X19pbWFnZSB7XHJcblx0XHR3aWR0aDogaW5pdGlhbDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8qIE1vZGlmaWVyc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG4ucm9vbS1pbmZvLWdhbGxlcnktLW1vYmlsZSAucm9vbS1pbmZvLWdhbGxlcnlfX2l0ZW17XHJcblx0bWFyZ2luOiAwO1xyXG5cdG1hcmdpbi1ib3R0b206IDJyZW07XHJcbn1cclxuXHJcblxyXG4vKiBNZWRpYSBxdWVyaWVzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGg3NjUpIHtcclxuXHQucm9vbS1pbmZvLWdhbGxlcnlfX2Z1bGwtc2NyZWVuIHtcclxuXHRcdHBhZGRpbmc6ICRzdGFuZGFyZFNwYWNpbmc7XHJcblxyXG5cdFx0LnJvb20taW5mby1nYWxsZXJ5X19ob2xkZXIge1xyXG5cdFx0XHR3aWR0aDogMTAwJSAhaW1wb3J0YW50OyAvLyBpbXBvcnRhbnQgdG8gb3ZlcnJpZGUgc3R5bGVzIHNldCBieSBqYXZhc2NyaXB0LlxyXG5cdFx0fVxyXG5cclxuXHRcdC5yb29tLWluZm8tZ2FsbGVyeV9faW1hZ2Uge1xyXG5cdFx0XHR3aWR0aDogMTAwJSAhaW1wb3J0YW50OyAvLyBpbXBvcnRhbnQgdG8gb3ZlcnJpZGUgc3R5bGVzIHNldCBieSBqYXZhc2NyaXB0LlxyXG5cdFx0XHRoZWlnaHQ6IGluaXRpYWwgIWltcG9ydGFudDsgLy8gaW1wb3J0YW50IHRvIG92ZXJyaWRlIHN0eWxlcyBzZXQgYnkgamF2YXNjcmlwdC5cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5yb29tLWluZm8tZ2FsbGVyeV9fZnVsbC1saW5rIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQucm9vbS1pbmZvLWdhbGxlcnlfX3RyaWdnZXIge1xyXG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblxyXG5cdFx0JjphZnRlcntcclxuXHRcdFx0Y29udGVudDogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCIvKipcclxuICogTmFtZTogU3VtbWFyeSBiYXJcclxuICpcclxuICogU2hvd3Mgc21hbGwgc3VtbWFyeSBhdCB0b3Agb2YgcGFnZVxyXG4gKi9cclxuXHJcbi8qIFZhcmlhYmxlc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cdC8vIENvbG91cnNcclxuXHQkc3VtbWFyeWJhci1jb2xvcjogbGlnaHRncmF5ICFkZWZhdWx0O1xyXG5cdCRzdW1tYXJ5YmFyLWRpdmlkZXItY29sb3I6IGdyZXkgIWRlZmF1bHQ7XHJcblx0JHN1bW1hcnliYXItdGV4dC1jb2xvcjogYmxhY2sgIWRlZmF1bHQ7XHJcblx0JHN1bW1hcnliYXItbGluay1jb2xvcjogYmx1ZSAhZGVmYXVsdDtcclxuXHJcblx0Ly8gU2l6ZXNcclxuXHQkc3VtbWFyeWJhci1oZWlnaHQ6IDVyZW0gIWRlZmF1bHQ7XHJcblx0JHN1bW1hcnliYXItaXRlbS1tYXJnaW46IDVyZW0gIWRlZmF1bHQ7XHJcblx0JHN1bW1hcnliYXItZGl2aWRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xyXG5cdCRzdW1tYXJ5YmFyLWRpdmlkZXItaGVpZ2h0OiAyLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vKiBFbGVtZW50c1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uc3VtbWFyeWJhciB7XHJcblx0cGFkZGluZy1ib3R0b206ICRzdW1tYXJ5YmFyLWhlaWdodDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5zdW1tYXJ5YmFyX19ob2xkZXIge1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR6LWluZGV4OiAxMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblxyXG5cdGhlaWdodDogJHN1bW1hcnliYXItaGVpZ2h0O1xyXG59XHJcblxyXG4uc3VtbWFyeWJhcl9faW5uZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRzdW1tYXJ5YmFyLWNvbG9yO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRkaXNwbGF5OiByZWxhdGl2ZTtcclxuXHR6LWluZGV4OiAxO1xyXG59XHJcblxyXG5cclxuLnN1bW1hcnliYXJfX2luZm8ge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRtYXJnaW4tcmlnaHQ6ICRzdW1tYXJ5YmFyLWl0ZW0tbWFyZ2luO1xyXG5cclxuXHRjb2xvcjogJHN1bW1hcnliYXItdGV4dC1jb2xvcjtcclxuXHRsZXR0ZXItc3BhY2luZzogMC45cHg7XHJcblx0XHJcblx0JjphZnRlciB7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IGNhbGMoMHJlbSAtICN7JHN1bW1hcnliYXItZGl2aWRlci1oZWlnaHQgLyAyfSArIDAuNXJlbSk7XHJcblx0XHRyaWdodDogLSAoJHN1bW1hcnliYXItaXRlbS1tYXJnaW4vMik7XHJcblxyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblxyXG5cdFx0d2lkdGg6ICRzdW1tYXJ5YmFyLWRpdmlkZXItd2lkdGg7XHJcblx0XHRoZWlnaHQ6ICRzdW1tYXJ5YmFyLWRpdmlkZXItaGVpZ2h0O1xyXG5cclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRzdW1tYXJ5YmFyLWRpdmlkZXItY29sb3I7XHJcblx0fVxyXG59XHJcblxyXG4vKiBNb2RpZmllcnNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnN1bW1hcnliYXJfX2luZm8tLWxpbmsge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRjb2xvcjogJHN1bW1hcnliYXItbGluay1jb2xvcjtcclxuXHJcblx0JjphZnRlciB7XHJcblx0XHRjb250ZW50OiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuLyogTWVkaWEgcXVlcmllc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogJHdpZHRoODY1KSB7XHJcblx0LnN1bW1hcnliYXIge1xyXG5cdFx0cGFkZGluZy1ib3R0b206ICRzdW1tYXJ5YmFyLWhlaWdodCAvIDEuNTtcclxuXHR9XHJcblx0XHJcblx0LnN1bW1hcnliYXItLW11bHRpcm9vbSB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogJHN1bW1hcnliYXItaGVpZ2h0O1xyXG5cdH1cclxuXHJcblx0LnN1bW1hcnliYXJfX2hvbGRlciB7XHJcblx0XHRwYWRkaW5nOiAwIDA7XHJcblx0XHRmb250LXNpemU6IDAuOWVtO1xyXG5cdFx0aGVpZ2h0OiAkc3VtbWFyeWJhci1oZWlnaHQgLyAxLjU7XHJcblx0fVxyXG5cdFxyXG5cdC5zdW1tYXJ5YmFyX19pbmZvIHtcclxuXHRcdGZsZXgtZ3JvdzogMTtcclxuXHRcdGZsZXgtc2hyaW5rOiAwO1xyXG5cclxuXHRcdG1hcmdpbi1yaWdodDogJHN1bW1hcnliYXItaXRlbS1tYXJnaW4gLyAyO1xyXG5cdFx0cGFkZGluZzogMCAxcmVtO1xyXG5cclxuXHRcdHdpZHRoOiAwO1xyXG5cclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aDY3OCkge1xyXG5cdFxyXG5cdC5zdW1tYXJ5YmFyX19pbmZvIHtcclxuXHRcdG1hcmdpbi1yaWdodDogMDtcclxuXHR9XHJcblxyXG5cdC5zdW1tYXJ5YmFyX19pbmZvLS1ndWVzdHN7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxufSIsIu+7vy8qKlxyXG4gKiBOYW1lOiBNdWx0aS1yb29tIGJhclxyXG4gKlxyXG4gKiBTaG93cyBzbWFsbCBzdW1tYXJ5IG9mIHN0YWdlIGluIG11bHRpcm9vbSBib29raW5nIGF0IHRvcCBvZiBwYWdlXHJcbiAqL1xyXG5cclxuLyogVmFyaWFibGVzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcblx0Ly8gQ29sb3Vyc1xyXG5cdCRtdWx0aXJvb21iYXItY29sb3I6IGdvbGQgIWRlZmF1bHQ7XHJcblx0JG11bHRpcm9vbWJhci10ZXh0LWNvbG9yOiBibGFjayAhZGVmYXVsdDtcclxuXHJcblxyXG4vKiBFbGVtZW50c1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG4ubXVsdGlyb29tYmFyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbXVsdGlyb29tYmFyLWNvbG9yO1xyXG5cdGNvbG9yOiAkbXVsdGlyb29tYmFyLXRleHQtY29sb3I7XHJcblxyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRib3R0b206IDA7XHJcblx0bGVmdDogMDtcclxuXHRyaWdodDogMDtcclxuXHR6LWluZGV4OiAtMTtcclxuXHJcblx0YW5pbWF0aW9uOiBtdWx0aXJvb21iYXJPcGVuIDFzIGZvcndhcmRzLCBtdWx0aXJvb21iYXJDbG9zZSAxcyA2cyBmb3J3YXJkcztcclxuXHJcblx0cGFkZGluZzogJHN0YW5kYXJkU3BhY2luZy8yO1xyXG59XHJcblxyXG5cclxuLyogQW5pbWF0aW9uc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG5Aa2V5ZnJhbWVzIG11bHRpcm9vbWJhck9wZW4ge1xyXG5cdDAlIHtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcblx0fVxyXG5cclxuXHQxNSUge1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuXHR9XHJcblxyXG5cdDEwMCUge1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbkBrZXlmcmFtZXMgbXVsdGlyb29tYmFyQ2xvc2Uge1xyXG5cdDAlIHtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcclxuXHR9XHJcblxyXG5cdDEwMCUge1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuXHR9XHJcbn0iLCIvKipcclxuICogTmFtZTogQ29uZmlybWF0aW9uIHBhZ2VcclxuICpcclxuICogQ29udHJvbHMgbGF5b3V0IGZvciBjb25maXJtYXRpb24gYW5kIFwiUmV0cmlldmUgYm9va2luZ1wiIHBhZ2VzLlxyXG4gKi9cclxuXHJcbi8qIFVudXNlZCBjb21wb25lbnRzICovXHJcbi8vIEBpbXBvcnQgXCJib29raW5nSW5mb1wiO1xyXG4vLyBAaW1wb3J0IFwiYm9va2luZ0ZlYXR1cmVzXCI7XHJcbi8vIEBpbXBvcnQgXCJib29raW5nTmV4dHN0ZXBzXCI7XHJcbi8vIEBpbXBvcnQgXCJib29raW5nTG9jYXRpb25cIjtcclxuLy8gQGltcG9ydCBcImJvb2tpbmdVcHNlbGxcIjtcclxuLy8gQGltcG9ydCBcImJvb2tpbmdTaGFyZVwiO1xyXG4vLyBAaW1wb3J0IFwiYm9va2luZ05ld3NsZXR0ZXJcIjtcclxuXHJcblxyXG4vKiBQYWdlIHN0eWxlc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG4ucGFnZS0tcmV0cmlldmUsXHJcbi5wYWdlLS1jb25maXJtYXRpb24ge1xyXG5cdC5zZWN0aW9uX19pbm5lciB7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0fVxyXG59XHJcblxyXG4vKiBcIk5leHQgc3RlcHNcIiBzZWN0aW9uXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcbi5jb25maXJtYXRpb24tbmV4dC1zdGVwcyB7XHJcblx0LnNlY3Rpb25fX2hlYWRlcntcclxuXHRcdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuXHR9XHJcbn1cclxuXHJcbi5jb25maXJtYXRpb24tbmV4dC1zdGVwc19fYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxufSIsIi8qKlxyXG4gKiBOYW1lOiBEZXRhaWxzIHBhZ2VcclxuICpcclxuICogQ29udHJvbHMgbGF5b3V0IGZvciBkZXRhaWxzIHBhZ2UuXHJcbiAqL1xyXG5cclxuLyogVmFyaWFibGVzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcblx0Ly8gQ29sb3Vyc1xyXG5cdCRkZXRhaWxzLWJvcmRlcjogc29saWQgMXB4IGJsdWUgIWRlZmF1bHQ7XHJcblxyXG5cdC8vIFNpemVzXHJcblx0JGRldGFpbHMtcGFnZS13aWR0aDogMTIwMHB4ICFkZWZhdWx0O1xyXG5cdCRkZXRhaWxzLXBhZ2UtbW9iaWxlLXdpZHRoOiA0MDBweCAhZGVmYXVsdDtcclxuXHQkZGV0YWlscy1wYWdlLWZvcm0td2lkdGg6IDM1MHB4ICFkZWZhdWx0O1xyXG5cclxuXHJcbi8qIEVsZW1lbnRzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcbi5kZXRhaWxzLXBhZ2Uge1xyXG5cdG1heC13aWR0aDogJGRldGFpbHMtcGFnZS13aWR0aDtcclxuXHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblx0cGFkZGluZzogMCAkc3RhbmRhcmRTcGFjaW5nO1xyXG5cclxuXHQvLyBNb2RpZnkgdXNlZCBjb21wb25lbnRzXHJcblx0Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdC5mb3JtIHtcclxuXHRcdG1heC13aWR0aDogJGRldGFpbHMtcGFnZS1mb3JtLXdpZHRoO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG8gMCAwO1xyXG5cdH1cclxuXHJcblx0LnNlY3Rpb25fX2lubmVyLS1oYWxmLXdpZHRoe1xyXG5cdFx0Ym9yZGVyLXRvcDogJGRldGFpbHMtYm9yZGVyO1xyXG5cdH1cclxufVxyXG5cclxuLyogTWVkaWEgcXVlcmllc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogJHdpZHRoNzY1KSB7XHJcblx0LmRldGFpbHMtcGFnZSB7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cclxuXHRcdC5zZWN0aW9uX19pbm5lci0taGFsZi13aWR0aHtcclxuXHRcdFx0Ym9yZGVyLXRvcDogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCIvKipcclxuICogTmFtZTogUGF5bWVudCBwYWdlXHJcbiAqXHJcbiAqIENvbnRyb2xzIGxheW91dCBmb3IgZGV0YWlscyBwYWdlLlxyXG4gKi9cclxuXHJcbi8qIFZhcmlhYmxlc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHJcblxyXG4vKiBQYWdlXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcbi5wYWdlLS1wYXltZW50IC5wYWdle1xyXG5cdHBhZGRpbmc6IDAgJHN0YW5kYXJkU3BhY2luZztcclxufVxyXG5cclxuLyogRWxlbWVudHNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuLy8gTG9hZGluZyBtZXNzYWdlXHJcbi5wYXltZW50X19tZXNzYWdlLWhvbGRlciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDA7XHJcblxyXG5cdCY6YWZ0ZXJ7XHJcblx0XHRjb250ZW50OiBhdHRyKGRhdGEtbG9hZGluZy10ZXh0KTtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHotaW5kZXg6IC0xO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHRcdHRvcDogMjE0cHg7XHJcblx0XHRjb2xvcjogZ3JleTtcclxuXHRcdGxlZnQ6IDUwJTtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuXHRcdGFuaW1hdGlvbjogcGFydEZhZGUgMC45cyBhbHRlcm5hdGUgaW5maW5pdGU7XHJcblx0fVxyXG59XHJcblxyXG4ucGF5bWVudF9faWZyYW1lLWhvbGRlcntcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogIDE7XHJcblxyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcblx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoICFpbXBvcnRhbnQ7XHJcblxyXG5cdGFuaW1hdGlvbjogd2hpdGVuIDAuOXMgNXMgZm9yd2FyZHM7ICAvLyBIaWRlIGxvYWRpbmcgbWVzc2FnZSBldmVudHVhbHkuXHJcbn1cclxuXHJcblxyXG4ucGF5bWVudF9pZnJhbWUge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR6LWluZGV4OiAgMTtcclxuXHJcblx0bWluLWhlaWdodDogNzAwcHg7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cclxuXHRib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi5wYXltZW50LXdhcm5pbmctbWVzc2FnZXtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtYmFzaXM6IGNvbHVtbjtcclxuXHRtYXJnaW46IDAgYXV0byAxMHB4IGF1dG87XHJcblx0YmFja2dyb3VuZDogIzE3MmU0MTtcclxuXHRjb2xvcjogd2hpdGU7XHJcblx0bWF4LXdpZHRoOiA2MDBweDtcdFxyXG59XHJcblxyXG4ucGF5bWVudC13YXJuaW5nLWljb257XHJcblx0cGFkZGluZzogIDAgMTBweDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHRcdFxyXG59XHJcblxyXG4ucGF5bWVudC13YXJuaW5nLW1lc3NhZ2V7XHRcclxuXHRwYWRkaW5nOiAxMHB4IDEycHggN3B4IDEwcHg7XHJcblx0dGV4dC1hbGlnbjoganVzdGlmeTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHRcdFxyXG5cclxuXHRwe1xyXG5cdFx0Zm9udC1zaXplOiAwLjg1cmVtO1xyXG5cdFx0bWFyZ2luOiAwOyBcclxuXHRcdHBhZGRpbmc6IDBcclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuLyogQW5pbWF0aW9uc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG5Aa2V5ZnJhbWVzIHdoaXRlbntcclxuXHQwJXtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdH1cclxuXHJcblx0MTAwJXtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG5cdH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBwYXJ0RmFkZSB7XHJcblx0XHQwJSB7XHJcblx0XHRcdG9wYWNpdHk6IDAuMztcclxuXHR9XHJcblxyXG5cdFx0MTAwJSB7XHJcblx0XHRcdG9wYWNpdHk6IDE7XHJcblx0fVxyXG59Iiwi77u/LyoqXHJcbiAqIE5hbWU6IExhbmRzY2FwZSBOb3RlXHJcbiAqXHJcbiAqIENvbXBvbmVudCBhc2tpbmcgbW9iaWxlIHVzZXJzIHRvIHR1cm4gdGhlaXIgZGV2aWNlcyB0byBsYW5kc2NhcGVcclxuICogbW9kZSB0byBtYWtlIFBYUCBwYXltZW50IGEgbGl0dGxlIGxlc3MgY3JhcHB5LlxyXG4gKi9cclxuXHJcbi8qIFZhcmlhYmxlc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG4kbGFuZHNjYXBlTm90ZS1iYWNrZ3JvdW5kLWNvbG9yOiBncmV5ICFkZWZhdWx0O1xyXG4kbGFuZHNjYXBlTm90ZS10ZXh0LWNvbG9yOiBibGFjayAhZGVmYXVsdDtcclxuXHJcblxyXG4vKiBFbGVtZW50c1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG4ubGFuZHNjYXBlLW5vdGV7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGxhbmRzY2FwZU5vdGUtYmFja2dyb3VuZC1jb2xvcjtcclxuXHRwYWRkaW5nOiAkc3RhbmRhcmRTcGFjaW5nIDMqJHN0YW5kYXJkU3BhY2luZztcclxuXHJcblx0bWFyZ2luLWxlZnQ6IC0kc3RhbmRhcmRTcGFjaW5nO1xyXG5cdG1hcmdpbi1yaWdodDogLSRzdGFuZGFyZFNwYWNpbmc7XHJcblx0bWFyZ2luLWJvdHRvbTogJHN0YW5kYXJkU3BhY2luZztcclxufVxyXG5cclxuLmxhbmRzY2FwZS1ub3RlX19pbWFnZSB7XHJcblx0ZmxleC1iYXNpczogMTAwcHg7XHJcblxyXG5cdGltZ3tcclxuXHRcdHdpZHRoOiA1MHB4O1xyXG5cdFx0aGVpZ2h0OiA1MHB4O1xyXG5cdH1cclxufVxyXG5cclxuLmxhbmRzY2FwZS1ub3RlX19oZWFkZXJ7XHJcblx0ZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLmxhbmRzY2FwZS1ub3RlX19oZWFkZXItdGV4dHtcclxuXHRtYXJnaW46IDA7XHJcblx0bWFyZ2luLWxlZnQ6ICRzdGFuZGFyZFNwYWNpbmc7XHJcblxyXG5cdGZvbnQtc2l6ZTogMnJlbTtcclxuXHRmb250LXdlaWdodDogMTAwO1xyXG5cclxuXHRsaW5lLWhlaWdodDogMnJlbTtcclxufVxyXG5cclxuLmxhbmRzY2FwZS1ub3RlX190ZXh0e1xyXG5cdGZvbnQtc2l6ZTogMC44NXJlbTtcclxuXHJcblx0Y29sb3I6ICRsYW5kc2NhcGVOb3RlLXRleHQtY29sb3I7XHJcbn1cclxuXHJcbi8qIE1lZGlhIHF1ZXJpZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aDc2NSkgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcclxuXHQubGFuZHNjYXBlLW5vdGV7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcbn1cclxuIiwiLyoqXHJcbiAqIE5hbWU6IEJ1dHRvbnMgLyBDJ3NUQVxyXG4gKi9cclxuXHJcbi8qIFZhcmlhYmxlc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cdC8vIENvbG91cnNcclxuXHQkYnV0dG9uLWJhY2tncm91bmRDb2xvcjogI2ZmZmZmZiAhZGVmYXVsdDtcclxuXHQkYnV0dG9uLXRleHRjb2xvcjogIzM0N2VhZiAhZGVmYXVsdDtcclxuXHQkYnV0dG9uLWJvcmRlckNvbG9yOiAjMzQ3ZWFmICFkZWZhdWx0O1xyXG5cdCRidXR0b24tYmFja2dyb3VuZENvbG9yLWZpbGxlZDogIzM0N2VhZiAhZGVmYXVsdDtcclxuXHQkYnV0dG9uLWJvcmRlckNvbG9yLWZpbGxlZDogIzM0N2VhZiAhZGVmYXVsdDtcclxuXHQkYnV0dG9uLXRleHRjb2xvci1maWxsZWQ6IHdoaXRlICFkZWZhdWx0O1xyXG5cclxuXHQvLyBTaXplc1xyXG5cdCRidXR0b24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xyXG5cdCRidXR0b24tcGFkZGluZzogMTBweCAhZGVmYXVsdDtcclxuXHJcblx0Ly8gSWNvbnNcclxuXHQkaWNvbi10aWNrOiAnLi4vaW1nL2ljb25zL3N2Zy90aWNrLnN2ZycgIWRlZmF1bHQ7XHJcblx0JGljb24tdGljay1zaXplOiAyMHB4ICFkZWZhdWx0O1xyXG5cclxuLyogRWxlbWVudHNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmJ1dHRvbiB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuXHRwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmcgJGJ1dHRvbi1wYWRkaW5nKjM7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgJGJ1dHRvbi1ib3JkZXJDb2xvcjtcclxuXHRcclxuXHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kQ29sb3I7XHJcblx0Y29sb3I6ICRidXR0b24tdGV4dGNvbG9yO1xyXG5cclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Zm9udC1zaXplOiAkYnV0dG9uLWZvbnQtc2l6ZTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG5cdHRyYW5zaXRpb246IDAuMnM7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFxyXG5cdGJvcmRlci1yYWRpdXM6IDA7XHJcblxyXG5cdCZbZGlzYWJsZWRdIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYnV0dG9uLWJhY2tncm91bmRDb2xvciwgMTAlKTtcclxuXHRcdGNvbG9yOiBkYXJrZW4oJGJ1dHRvbi10ZXh0Y29sb3IsIDQwJSk7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4oJGJ1dHRvbi1ib3JkZXJDb2xvciwgNDAlKTtcclxuXHRcdGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcblx0fVxyXG5cclxuXHQmOmhvdmVyLFxyXG5cdCY6Zm9jdXN7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXRleHRjb2xvcjtcclxuXHRcdGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmRDb2xvcjtcclxuXHRcdGJvcmRlci1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kQ29sb3I7XHJcblx0fVxyXG59XHJcblxyXG4vKiBNb2RpZmllcnNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmJ1dHRvbi0tZmlsbGVkIHtcclxuXHQvLyBib3JkZXI6IDFweCBzb2xpZCAkYnV0dG9uLWJvcmRlckNvbG9yLWZpbGxlZDtcclxuXHRjb2xvcjogJGJ1dHRvbi10ZXh0Y29sb3ItZmlsbGVkO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZENvbG9yLWZpbGxlZDtcclxuXHJcblx0Jjpob3ZlcixcclxuXHQmOmZvY3Vze1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGJ1dHRvbi1ib3JkZXJDb2xvci1maWxsZWQ7XHJcblx0XHRjb2xvcjogJGJ1dHRvbi10ZXh0Y29sb3ItZmlsbGVkO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XHJcblx0fVxyXG5cclxuXHQmW2Rpc2FibGVkXSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJ1dHRvbi1iYWNrZ3JvdW5kQ29sb3ItZmlsbGVkLCBsaWdodGdyZXksIDEwJSk7XHJcblx0XHRjb2xvcjogbWl4KCRidXR0b24tdGV4dGNvbG9yLWZpbGxlZCwgbGlnaHRncmV5LCA0MCUpO1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgbWl4KCRidXR0b24tYm9yZGVyQ29sb3ItZmlsbGVkLCBsaWdodGdyZXksIDQwJSk7XHJcblx0XHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG5cdH1cclxufVxyXG5cclxuLmJ1dHRvbi0tbm8tc2hvdXQge1xyXG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG59XHJcblxyXG4uYnV0dG9uLmJ1dHRvbi0tZnVsbCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nKjIgJGJ1dHRvbi1wYWRkaW5nKjM7XHJcbn1cclxuXHJcblxyXG4vKiBDb21wb25lbnQgbW9kaWZpZXJzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcbi5yb29tLWluZm9fX3ByaWNlLS1zZWxlY3RlZHtcclxuXHQuYnV0dG9uIHsgXHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWJvcmRlckNvbG9yO1xyXG5cdFx0Y29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdCY6YWZ0ZXJ7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHdpZHRoOiAkaWNvbi10aWNrLXNpemU7XHJcblx0XHRcdGhlaWdodDogJGljb24tdGljay1zaXplO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaWNvbi10aWNrKTtcclxuXHRcdFx0dG9wOiBjYWxjKDUwJSAtICN7JGljb24tdGljay1zaXplLzJ9KTtcclxuXHRcdFx0cmlnaHQ6IGNhbGMoNTAlIC0gI3skaWNvbi10aWNrLXNpemUvMn0pO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcblx0XHRcdGFuaW1hdGlvbjogZmFkZUluIDAuOHMgZm9yd2FyZHM7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZml4ZWQtYnV0dG9uX19ob2xkZXJ7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdGJvdHRvbTogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuXHRwYWRkaW5nLXRvcDogMTBweDtcclxuXHRwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuXHRib3JkZXItdG9wOiBzb2xpZCAxcHggI2VlZWVlZTtcclxuXHJcblx0LnNlY3Rpb25fX2lubmVyLS10aGluIHtcclxuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qIE1lZGlhIHF1ZXJpZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aDY3OCkge1x0XHJcblx0LmJ1dHRvbiB7XHJcblx0XHRwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmcgJGJ1dHRvbi1wYWRkaW5nKjI7XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBOYW1lOiBQcm9ncmVzcyBiYXJcclxuICovXHJcblxyXG4vKiBWYXJpYWJsZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHQvLyBDb2xvdXJzXHJcblx0JGJhc2tldC1iYWNrZ3JvdW5kLWNvbG9yOiAjY2NjICFkZWZhdWx0O1xyXG5cdCRiYXNrZXQtdGl0bGUtY29sb3I6IGJsdWUgIWRlZmF1bHQ7XHJcblx0JGJhc2tldC12YWx1ZS1jb2xvcjogeWVsbG93ICFkZWZhdWx0O1xyXG5cdCRiYXNrZXQtaGVhZGVyLWNvbG9yLWFsdDogZ3JleSAhZGVmYXVsdDtcclxuXHJcblx0Ly8gRm9udHNcclxuXHQkYmFza2V0LXRpdGxlLWZvbnQ6IHNlcmlmICFkZWZhdWx0O1xyXG5cdCRiYXNrZXQtYm9keS1mb250OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xyXG5cclxuXHQvLyBTaXplc1xyXG5cdCRiYXNrZXQtaGVpZ2h0OiAxMnJlbSAhZGVmYXVsdDtcclxuXHQkYmFza2V0LXRpdGxlLXNpemU6IDFyZW0gIWRlZmF1bHQ7XHJcblx0JGJhc2tldC12YWx1ZS1zaXplOiAycmVtICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIFVzZSB0aGlzIHRvIHBhZCBhYm92ZSBwYWdlXHJcbi5iYXNrZXRfX2hvbGRlcntcclxuXHRtYXJnaW4tdG9wOiAkYmFza2V0LWhlaWdodDtcclxufVxyXG5cclxuXHJcbi8qIEVsZW1lbnRzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcbi5iYXNrZXQge1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRib3R0b206IDA7XHJcblx0bGVmdDogMDtcclxuXHRyaWdodDogMDtcclxuXHR6LWluZGV4OiAxMDtcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuXHRoZWlnaHQ6ICRiYXNrZXQtaGVpZ2h0O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRiYXNrZXQtYmFja2dyb3VuZC1jb2xvcjtcclxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuXHRhbmltYXRpb246IHNsaWRlVXAgMC42cyBmb3J3YXJkczsgXHJcbn1cclxuXHJcblxyXG4uYmFza2V0X19pbm5lciB7XHJcblx0ZmxleC1iYXNpczogMTAwJTtcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRwYWRkaW5nOiAwLjVyZW0gNXJlbTtcclxufVxyXG5cclxuLmJhc2tldF9faW5mbyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbn1cclxuXHJcbi5iYXNrZXRfX2luZm8taXRlbSB7XHJcblx0cGFkZGluZy1yaWdodDogMi41cmVtO1xyXG59XHJcblxyXG4uYmFza2V0X19pbmZvLWl0ZW0taGVhZGVyIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHRmb250LXNpemU6ICRiYXNrZXQtdGl0bGUtc2l6ZTtcclxuXHRjb2xvcjogJGJhc2tldC10aXRsZS1jb2xvcjtcclxuXHRmb250LWZhbWlseTogJGJhc2tldC10aXRsZS1mb250O1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Zm9udC13ZWlnaHQ6IDEwMDtcclxufVxyXG5cclxuLmJhc2tldF9faW5mby1pdGVtLXZhbHVlIHtcclxuXHRmb250LXNpemU6ICRiYXNrZXQtdmFsdWUtc2l6ZTtcclxuXHRjb2xvcjogJGJhc2tldC12YWx1ZS1jb2xvcjtcclxufVxyXG5cclxuLmJhc2tldF9fYm9vayB7XHJcblx0ZmxleC1ncm93OiAxO1xyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0YWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG5cclxuXHR0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuXHJcbi8qIE1vZGlmaWVyc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uYmFza2V0X19pbmZvLWl0ZW0tLXRvdGFse1xyXG5cdFxyXG5cdC5iYXNrZXRfX2luZm8taXRlbS12YWx1ZXtcclxuXHRcdGNvbG9yOiAkYmFza2V0LXRpdGxlLWNvbG9yO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDEwMDtcclxuXHRcdG1hcmdpbi1yaWdodDogMnJlbTtcclxuXHRcdGZvbnQtc2l6ZTogMi41cmVtO1xyXG5cdH1cclxuXHJcblx0LmJhc2tldF9faW5mby1pdGVtLWhlYWRlcntcclxuXHRcdGNvbG9yOiAkYmFza2V0LWhlYWRlci1jb2xvci1hbHQ7XHJcblx0XHRmb250LWZhbWlseTogJGJhc2tldC1ib2R5LWZvbnQ7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcbi8qIE1lZGlhIHF1ZXJpZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aDE1MDApIHtcclxuXHQuYmFza2V0IHtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHR9XHJcblxyXG5cdC5iYXNrZXRfX2lubmVyIHtcclxuXHRcdHBhZGRpbmc6IDFyZW0gJHN0YW5kYXJkU3BhY2luZyoyO1xyXG5cdH1cclxuXHRcclxuXHQuYmFza2V0X19pbmZvLWl0ZW0tdmFsdWV7XHJcblx0XHRmb250LXNpemU6IDEuM3JlbTtcclxuXHR9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGg4NjUpIHtcclxuXHJcblx0LmJhc2tldCB7XHJcblx0XHRoZWlnaHQ6ICRiYXNrZXQtaGVpZ2h0IC8gMi41O1xyXG5cdH1cclxuXHJcblx0XHJcblx0LmJhc2tldF9faW5uZXJ7XHJcblx0XHRwYWRkaW5nOiAxcmVtICRzdGFuZGFyZFNwYWNpbmc7XHJcblx0fVxyXG5cclxuXHQuYmFza2V0X19pbmZve1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdC5iYXNrZXRfX2luZm8taXRlbS0tdG90YWx7XHJcblx0XHQuYmFza2V0X19pbmZvLWl0ZW0tdmFsdWV7XHJcblx0XHRcdGZvbnQtc2l6ZTogMnJlbTtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuLyogQW5pbWF0aW9uc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG5Aa2V5ZnJhbWVzIHNsaWRlVXB7XHJcblx0XHQwJSB7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcclxuXHR9XHJcblxyXG5cdFx0MTAwJSB7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuXHR9XHJcbn0iLCIvKipcclxuICogTmFtZTogTG9hZGVyXHJcbiAqXHJcbiAqIEZ1bGwgc2NyZWVuIGxvYWRpbmcgc2NyZWVuXHJcbiAqL1xyXG5cclxuLyogVmFyaWFibGVzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcblx0Ly8gQ29sb3Vyc1xyXG5cdCRsb2FkZXItYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpICFkZWZhdWx0O1xyXG5cdCRsb2FkZXItZm9udDogc2Fucy1zZXJpZiAhZGVmYXVsdDtcclxuXHQkbG9hZGVyLWJvcmRlcjogc29saWQgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KSAhZGVmYXVsdDtcclxuXHQkbG9hZGVyLWJvcmRlci1vZmZzZXQ6IDFyZW07XHJcblxyXG4vKiBFbGVtZW50c1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG4ubG9hZGVyIHtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0ei1pbmRleDogMTAwMDtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDB2aDsgIC8vIHZoIGluc3RlYWQgb2YgJSBmb3IgbW9iaWxlIHZpZXdwb3J0c1xyXG5cclxuXHRiYWNrZ3JvdW5kOiAkbG9hZGVyLWJhY2tncm91bmQ7XHJcblx0ZGlzcGxheTogdGFibGU7XHJcblxyXG5cdGFuaW1hdGlvbjogZmFkZUluIDAuMnMgZm9yd2FyZHM7XHJcblxyXG5cdCYubG9hZGVyLS1oaWRkZW4ge1xyXG5cdFx0YW5pbWF0aW9uOiBmYWRlT3V0IDAuMnMgZm9yd2FyZHM7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLmxvYWRlcl9faW5uZXIge1xyXG5cdGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHBhZGRpbmc6ICRzdGFuZGFyZFNwYWNpbmcgKiAyO1xyXG5cclxuXHQmOmFmdGVye1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGJvcmRlcjogJGxvYWRlci1ib3JkZXI7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6ICRsb2FkZXItYm9yZGVyLW9mZnNldDtcclxuXHRcdGJvdHRvbTogJGxvYWRlci1ib3JkZXItb2Zmc2V0O1xyXG5cdFx0bGVmdDogJGxvYWRlci1ib3JkZXItb2Zmc2V0O1xyXG5cdFx0cmlnaHQ6ICRsb2FkZXItYm9yZGVyLW9mZnNldDtcclxuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRsb2FkZXItYm9yZGVyLW9mZnNldCAqIDJ9KTtcclxuXHRcdGhlaWdodDogY2FsYygxMDB2aCAtICN7JGxvYWRlci1ib3JkZXItb2Zmc2V0ICogMn0pO1xyXG5cdH1cclxufVxyXG5cclxuLmxvYWRlcl9faW1hZ2Uge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG5cdGltZ3tcclxuXHRcdHdpZHRoOiAxNXJlbTtcclxuXHRcdG1heC13aWR0aDogNTAlO1xyXG5cdH1cclxufVxyXG5cclxuJGxvYWRpbmctYW5pbWF0aW9uLXRpbWU6IDAuNnM7XHJcbi5sb2FkZXJfX3RleHQge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGZvbnQtc2l6ZTogMXJlbTtcclxuXHRjb2xvcjogI2ZmZmZmZjtcclxuXHRmb250LWZhbWlseTogJGxvYWRlci1mb250O1xyXG5cclxuXHRzcGFuIHtcclxuXHRcdGFuaW1hdGlvbjogZmFkZUluICRsb2FkaW5nLWFuaW1hdGlvbi10aW1lIGFsdGVybmF0ZSBpbmZpbml0ZTtcclxuXHRcdCY6Zmlyc3Qtb2YtdHlwZXtcclxuXHRcdFx0YW5pbWF0aW9uLWRlbGF5OiAwcztcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0YW5pbWF0aW9uLWRlbGF5OiAkbG9hZGluZy1hbmltYXRpb24tdGltZS82O1xyXG5cdFx0XHJcblx0XHQmOmxhc3Qtb2YtdHlwZXtcclxuXHRcdFx0YW5pbWF0aW9uLWRlbGF5OiAkbG9hZGluZy1hbmltYXRpb24tdGltZS8zO1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcbn1cclxuXHJcbi5sb2FkZXItLWNhbGVuZGFyIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMywgNDYsIDY1LCAwLjI1KTtcclxuXHR0b3A6IDI5cHg7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcblx0d2lkdGg6IGF1dG87XHJcblx0ei1pbmRleDogMTtcclxuXHRcclxuXHQubG9hZGVyX19pbm5lciB7XHJcblxyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5sb2FkZXJfX2ltYWdlIGltZyB7XHJcblx0XHRtYXgtd2lkdGg6IDEyMHB4O1xyXG5cdH1cclxufSIsIi8qKlxyXG4gKiBOYW1lOiBTdW1tYXJ5IEJveFxyXG4gKlxyXG4gKiBTaG93cyBhIGJvb2tpbmcgc3VtbWFyeVxyXG4gKi9cclxuXHJcblxyXG4vKiBWYXJpYWJsZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHQvLyBDb2xvdXJzXHJcblx0JHN1bW1hcnlib3gtYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNCAhZGVmYXVsdDtcclxuXHQkc3VtbWFyeWJveC10b3RhbC1iYWNrZ3JvdW5kOiBkYXJrYmx1ZSAhZGVmYXVsdDtcclxuXHQkc3VtbWFyeWJveC10b3RhbC1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XHJcblx0JHN1bW1hcnlib3gtaGVhZGVyLWNvbG9yOiBibHVlICFkZWZhdWx0O1xyXG5cclxuXHJcbi8qIEVsZW1lbnRzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcbi5zdW1tYXJ5Ym94IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VtbWFyeWJveC1iYWNrZ3JvdW5kLWNvbG9yO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdHBhZGRpbmc6IDIgKiAkc3RhbmRhcmRTcGFjaW5nO1xyXG5cdG1hcmdpbi1ib3R0b206IDJweDtcclxufVxyXG5cclxuLnN1bW1hcnlib3g6bGFzdC1vZi10eXBlIHtcclxuXHRtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4uc3VtbWFyeWJveF9faW1hZ2V7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uc3VtbWFyeWJveF9faGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcblxyXG5cdGZvbnQtc2l6ZTogMS40ZW07XHJcblx0bWFyZ2luLWJvdHRvbTogMWVtO1xyXG5cclxuXHRjb2xvcjogJHN1bW1hcnlib3gtaGVhZGVyLWNvbG9yO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcbi5zdW1tYXJ5Ym94X19lZGl0LWxpbmsge1xyXG5cdGNvbG9yOiAkc3VtbWFyeWJveC1oZWFkZXItY29sb3I7XHJcblx0Zm9udC1zaXplOiAwLjdlbTtcclxufVxyXG5cclxuLnN1bW1hcnlib3hfX2xpc3Qge1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWFyZ2luOiAwO1xyXG5cclxuXHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi5zdW1tYXJ5Ym94X19saXN0aXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLnN1bW1hcnlib3hfX3RpdGxlIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIElFMTBcclxuXHR3aWR0aDogNTAlOyAvLyBJRTEwXHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRmbGV4LWJhc2lzOiA0MCU7XHJcbn1cclxuXHJcbi5zdW1tYXJ5Ym94X192YWx1ZSB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrOyAgLy8gSUUxMFxyXG5cdGZsZXgtYmFzaXM6IDYwJTtcclxuXHR0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuLnN1bW1hcnlib3gtLXRvdGFsIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VtbWFyeWJveC10b3RhbC1iYWNrZ3JvdW5kO1xyXG5cdGNvbG9yOiAkc3VtbWFyeWJveC10b3RhbC1jb2xvcjtcclxuXHRmb250LXNpemU6IDEuMmVtO1xyXG5cclxuXHQuc3VtbWFyeWJveF9fbGlzdGl0ZW17XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHQuc3VtbWFyeWJveF9fdmFsdWUge1xyXG5cdFx0Zm9udC1zaXplOiAxLjc1ZW07XHJcblx0fSAgXHJcbn1cclxuXHJcbi8vIFNtYWxsIGNoYW5nZSBpZiB3ZSdyZSBvbiB0aGUgZGVwb3NpdCBsaW5lXHJcbi5zdW1tYXJ5Ym94LS10b3RhbCAuc3VtbWFyeWJveF9fbGlzdGl0ZW0tLWRlcG9zaXQge1xyXG5cdC5zdW1tYXJ5Ym94X190aXRsZSxcclxuXHQuc3VtbWFyeWJveF9fdmFsdWUge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHRcdGZvbnQtc2l6ZTogMXJlbTtcclxuXHR9XHJcbn1cclxuXHJcbi5zdW1tYXJ5Ym94X192YXR7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0Zm9udC1zaXplOiAwLjRlbTtcclxufVxyXG5cclxuXHJcbi8qIENoZWNrYm94IHVzZWQgZm9yIHNob3cvaGlkZSBvbiBtb2JpbGVcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnJldmVhbGVyLWNoZWNrYm94IHtcclxuXHRhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcblxyXG4vKiBQcmludCBidXR0b25cclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnN1bW1hcnlib3hfX3ByaW50IHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHJcblx0LnBhZ2UtLWNvbmZpcm1hdGlvbiAmIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxuXHRcclxuXHRhe1xyXG5cdFx0Zm9udC1zaXplOiAxcmVtO1xyXG5cdFx0Y29sb3I6IGJsYWNrO1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdGltZ3tcclxuXHRcdHdpZHRoOiAzMHB4O1xyXG5cdFx0aGVpZ2h0OiAzMHB4O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qIE1vZGlmeSBpcyB1c2VkIG9uIGNvbmZpcm1hdGlvbiBvciByZXRyaWV2ZSBib29raW5nIHBhZ2VzLlxyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG4ucGFnZS0tcmV0cmlldmUgLnBhZ2UsXHJcbi5wYWdlLS1jb25maXJtYXRpb24gLnBhZ2Uge1xyXG5cdHAge1xyXG5cdFx0cGFkZGluZzogMCAkc3RhbmRhcmRTcGFjaW5nO1xyXG5cdH1cclxuXHJcblx0LnN1bW1hcnlib3gge1xyXG5cdFx0cGFkZGluZzogJHN0YW5kYXJkU3BhY2luZztcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0Zm9udC1zaXplOiAxLjRyZW07XHJcblx0XHRib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJHN1bW1hcnlib3gtYmFja2dyb3VuZC1jb2xvcjtcclxuXHR9XHJcblxyXG5cdC5zdW1tYXJ5Ym94X19lZGl0LWxpbmsge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdC5zdW1tYXJ5Ym94X19saXN0aXRlbSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxZW07XHJcblx0fVxyXG5cclxuXHQuc3VtbWFyeWJveF9fdmFsdWV7XHJcblx0XHRjb2xvcjogJHN1bW1hcnlib3gtaGVhZGVyLWNvbG9yO1xyXG5cdH1cclxuXHJcblx0LnN1bW1hcnlib3gtLXRvdGFsIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRzdW1tYXJ5Ym94LXRvdGFsLWJhY2tncm91bmQ7XHJcblx0XHRwYWRkaW5nOiAzcmVtO1xyXG5cclxuXHRcdC5zdW1tYXJ5Ym94X19saXN0aXRlbXtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0LnN1bW1hcnlib3hfX3ZhbHVlLFxyXG5cdFx0LnN1bW1hcnlib3hfX3RpdGxlIHtcclxuXHRcdFx0Y29sb3I6IHdoaXRlO1xyXG5cdFx0fSAgIFxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qIE1lZGlhIHF1ZXJpZXMuXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGg4NjUpIHtcclxuXHQuc3VtbWFyeWJveCB7XHJcblx0XHRwYWRkaW5nOiAkc3RhbmRhcmRTcGFjaW5nO1xyXG5cdH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aDc2NSkge1xyXG5cdC5zdW1tYXJ5Ym94X19ob2xkZXJ7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VtbWFyeWJveC1iYWNrZ3JvdW5kLWNvbG9yO1xyXG5cdH1cclxuXHJcblx0LnBhZ2UtLWNvbmZpcm1hdGlvbiB7XHJcblx0XHQuc3VtbWFyeWJveC0tdG90YWwge1xyXG5cdFx0XHRwYWRkaW5nOiAkc3RhbmRhcmRTcGFjaW5nO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnJldmVhbGVyLWNoZWNrYm94e1xyXG5cdFx0ZGlzcGxheTogaW5pdGlhbDtcclxuXHR9XHJcblxyXG5cdCNzdW1tYXJ5LXJldmVhbCB+IC5zdW1tYXJ5Ym94ZXMge1xyXG5cdFx0bWF4LWhlaWdodDogMDtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHR0cmFuc2l0aW9uOiAwLjVzO1xyXG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAwLjIyLCAwLjI4LCAwLjg5KTtcclxuXHRcdG1hcmdpbjogMCAtI3skc3RhbmRhcmRTcGFjaW5nfTtcclxuXHR9XHJcblxyXG5cdCNzdW1tYXJ5LXJldmVhbDpjaGVja2VkIH4gLnN1bW1hcnlib3hlcyB7XHJcblx0XHRtYXgtaGVpZ2h0OiAxMTAwcHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA1cmVtO1xyXG5cdH1cclxufSIsIi5zZWFyY2gtcGFnZS1tZXNzYWdlIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xyXG5cclxuICAgIGF7XHJcbiAgICAgICAgY29sb3I6ICRicmFuZEdvbGQ7XHJcbiAgICB9XHJcbn0iLCIvLyBAaW1wb3J0IFwiLi9hbGVydHMvaW5saW5lQWxlcnRcIjtcclxuQGltcG9ydCBcIi4vYnV0dG9ucy9idXR0b25zXCI7XHJcbkBpbXBvcnQgXCIuL2Jvb2tpbmcvYmFza2V0XCI7XHJcbkBpbXBvcnQgXCIuL2xvYWRlci9sb2FkZXJcIjtcclxuQGltcG9ydCBcIi4vc3VtbWFyeWJveC9zdW1tYXJ5Ym94XCI7XHJcbkBpbXBvcnQgXCIuL2FsZXJ0cy9tZXNzYWdlXCI7XHJcblxyXG5ociB7XHJcblx0Ym9yZGVyLXRvcDogMnB4IGRvdHRlZCAjMzQ3ZWFmO1xyXG5cdGhlaWdodDogMXB4O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbjogMzBweCAwO1xyXG59IiwiLyoqXHJcbiAqIE5hbWU6IFBhZ2VzXHJcbiAqXHJcbiAqIE1vZGlmeSBtaXNjIHBhZ2VzLlxyXG4gKi9cclxuXHJcbi5wYWdlLS1zZWFyY2gge1xyXG5cdHBhZGRpbmctYm90dG9tOiAxMDBweDsgLy8gU3BhY2UgZm9yIGZpeGVkIGJ1dHRvblxyXG59XHJcblxyXG5cclxuLnBhZ2UtLWRldGFpbHMge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbi5wYWdlLS1yZXRyaWV2ZSAucGFnZSxcclxuLnBhZ2UtLWNvbmZpcm1hdGlvbiAucGFnZXtcclxuXHRtYXgtd2lkdGg6IDU1MHB4O1xyXG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdG1hcmdpbi1yaWdodDogYXV0bztcclxufSIsIi8qKlxyXG4gKiBOYW1lOiBQcm9ncmVzcyBiYXJcclxuICovXHJcblxyXG4vKiBWYXJpYWJsZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuLy8gQ29sb3JzXHJcblx0JHByb2dyZXNzQmFyLXRleHRDb2xvcjogI0MyRENFRCAhZGVmYXVsdDtcclxuXHQkcHJvZ3Jlc3NCYXItaW5kaWNhdG9yQ29sb3I6ICNDMkRDRUQgIWRlZmF1bHQ7XHJcblx0JHByb2dyZXNzQmFyLWxpbmVDb2xvcjogICNDMkRDRUQgIWRlZmF1bHQ7XHJcblx0XHJcblx0JHByb2dyZXNzQmFyLXRleHRDb2xvci1hY3RpdmU6IGRhcmtlbigkcHJvZ3Jlc3NCYXItaW5kaWNhdG9yQ29sb3IsIDQwJSkgIWRlZmF1bHQ7XHJcblxyXG5cdCRwcm9ncmVzc0Jhci1pbmRpY2F0b3JDb2xvci1oaWdobGlnaHQ6IGRhcmtlbigkcHJvZ3Jlc3NCYXItaW5kaWNhdG9yQ29sb3IsIDQwJSkgIWRlZmF1bHQ7XHJcblx0JHByb2dyZXNzQmFyLWxpbmVDb2xvci1oaWdobGlnaHQ6IGRhcmtlbigkcHJvZ3Jlc3NCYXItbGluZUNvbG9yLCA0MCUpICFkZWZhdWx0O1xyXG5cclxuXHQkcHJvZ3Jlc3NCYXItbG9nb0JhY2tncm91bmRDb2xvcjogI0ZGRkZGRiAhZGVmYXVsdDtcclxuXHJcbi8vIFNpemVzXHJcblx0JHByb2dyZXNzQmFyLW1hcmdpbjogMTVweCAhZGVmYXVsdDtcclxuXHQkcHJvZ3Jlc3NCYXItZGlzY1NpemU6IDhweCAhZGVmYXVsdDtcclxuXHQkcHJvZ3Jlc3NCYXItZGlzY1NpemUtYWN0aXZlOiAxNXB4ICFkZWZhdWx0O1xyXG5cdCRwcm9ncmVzc0Jhci1saW5lSGVpZ2h0OiAxcHggIWRlZmF1bHQ7XHJcblx0JHByb2dyZXNzQmFyLWxvZ29TaXplOiAxODBweCAhZGVmYXVsdDtcclxuXHJcbi8vIENhbGN1bGF0ZWQgc3R5bGVzIC0gZG8gbm90IG92ZXJyaWRlXHJcblx0JHByb2dyZXNzQmFyLWxpbmVPZmZzZXQ6ICRwcm9ncmVzc0Jhci1kaXNjU2l6ZSAvIDI7XHJcblx0JHByb2dyZXNzQmFyLWRpc2NTaXplLWRpZmZlcmVuY2U6ICRwcm9ncmVzc0Jhci1kaXNjU2l6ZS1hY3RpdmUgLSAkcHJvZ3Jlc3NCYXItZGlzY1NpemU7XHJcblxyXG5cclxuXHJcblxyXG4vKiBIb2xkZXJcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnByb2dyZXNzYmFyIHtcclxuXHRtYXJnaW4tdG9wOiAkcHJvZ3Jlc3NCYXItbWFyZ2luO1xyXG5cclxuXHRtYXgtd2lkdGg6IDEyMDBweDtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLyoqXHJcbiogSXRlbXMgaG9sZGVyXHJcbiovXHJcbi5wcm9ncmVzc2Jhcl9faXRlbXMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdHBhZGRpbmctdG9wOiAkcHJvZ3Jlc3NCYXItbGluZU9mZnNldCAtICRwcm9ncmVzc0Jhci1saW5lSGVpZ2h0LzI7XHJcbn1cclxuXHJcbi8qKlxyXG4qIEl0ZW0gb24gcHJvZ3Jlc3MgYmFyXHJcbiovXHJcbi5wcm9ncmVzc2Jhcl9faXRlbSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRmbGV4LWJhc2lzOiAyMCU7XHJcblx0ZmxleC1ncm93OiAxO1xyXG5cclxuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4vKipcclxuKiBMaW5rXHJcbiovXHJcbi5wcm9ncmVzc2Jhcl9faXRlbSBhIHtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGhlaWdodDogMzNweDtcclxuXHJcblx0Jjpob3ZlcixcclxuXHQmOmZvY3VzIHtcclxuXHRcdC5wcm9ncmVzc2Jhcl9fdGV4dCB7XHJcblx0XHRcdGNvbG9yOiAkcHJvZ3Jlc3NCYXItdGV4dENvbG9yLWFjdGl2ZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8qKlxyXG4qIERvbid0IHNob3cgbGluZSBvbiBsYXN0IGl0ZW1cclxuKi9cclxuLnByb2dyZXNzYmFyX19pdGVtOmxhc3QtY2hpbGQge1xyXG5cdC5wcm9ncmVzc2Jhcl9fbGluZSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4qIENlbnRlciBsb2dvXHJcbiovXHJcbi5wcm9ncmVzc2Jhcl9fbG9nb3tcclxuXHRtYXJnaW4tdG9wOiAkcHJvZ3Jlc3NCYXItbGluZUhlaWdodC8yIC0gJHByb2dyZXNzQmFyLWxpbmVPZmZzZXQ7XHJcbn1cclxuXHJcbi8qKlxyXG4qIFByb2dyZXNzIGNpcmNsZVxyXG4qL1xyXG4ucHJvZ3Jlc3NiYXJfX2luZGljYXRvciB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDE7XHJcblxyXG5cdG1hcmdpbjogMCBhdXRvO1xyXG5cdHdpZHRoOiAkcHJvZ3Jlc3NCYXItZGlzY1NpemU7XHJcblx0aGVpZ2h0OiAkcHJvZ3Jlc3NCYXItZGlzY1NpemU7XHJcblxyXG5cdGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzQmFyLWluZGljYXRvckNvbG9yO1xyXG5cdHRyYW5zaXRpb246IDAuNHM7XHJcbn1cclxuXHJcbi8qKlxyXG4qIFByb2dyZXNzIGxpbmVcclxuKi9cclxuLnByb2dyZXNzYmFyX19saW5lIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAkcHJvZ3Jlc3NCYXItbGluZU9mZnNldCAtICRwcm9ncmVzc0Jhci1saW5lSGVpZ2h0LzI7XHJcblx0bGVmdDogNTAlO1xyXG5cclxuXHRtYXJnaW46IDAgMCAwIDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAkcHJvZ3Jlc3NCYXItbGluZUhlaWdodDtcclxuXHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzQmFyLWxpbmVDb2xvcjtcclxufVxyXG5cclxuLyoqXHJcbiogTGluayB0ZXh0XHJcbiovXHJcbi5wcm9ncmVzc2Jhcl9fdGV4dCB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblxyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRib3R0b206IC0zcHg7XHJcblx0bGVmdDogNTAlO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuXHRcclxuXHRtYXJnaW4tdG9wOiA0cHg7XHJcblx0Zm9udC1zaXplOiAwLjlyZW07XHJcblx0bGluZS1oZWlnaHQ6IDAuN3JlbTtcclxuXHRsZXR0ZXItc3BhY2luZzogMXB4O1xyXG5cclxuXHRjb2xvcjogJHByb2dyZXNzQmFyLXRleHRDb2xvcjtcclxuXHRvcGFjaXR5OiAxO1xyXG5cdHRyYW5zaXRpb246IDAuNHM7XHJcbn1cclxuXHJcbi8qKlxyXG4qIE1vYmlsZSB0ZXh0XHJcbiovXHJcbi5wcm9ncmVzc2Jhcl9fbW9iaWxlLXRpdGxlIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0Y29sb3I6ICRwcm9ncmVzc0Jhci10ZXh0Q29sb3I7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuLyogTW9kaWZpZXJzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuKiBWaXNpdGVkIGl0ZW1cclxuKi9cclxuLnByb2dyZXNzYmFyX19pdGVtLS12aXNpdGVkIHtcclxuXHQucHJvZ3Jlc3NiYXJfX2xpbmUge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzQmFyLWxpbmVDb2xvci1oaWdobGlnaHQ7XHJcblx0fVxyXG5cclxuXHQucHJvZ3Jlc3NiYXJfX2luZGljYXRvciB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3NCYXItaW5kaWNhdG9yQ29sb3ItaGlnaGxpZ2h0O1xyXG5cdH1cclxufVxyXG5cclxuLyoqXHJcbiogQ3VycmVudCBpdGVtXHJcbiovXHJcbi5wcm9ncmVzc2Jhcl9faXRlbS0tYWN0aXZlLFxyXG4ucHJvZ3Jlc3NiYXJfX2l0ZW0tLXZpc2l0ZWQgYTpob3ZlciB7XHJcblx0XHJcblx0LnByb2dyZXNzYmFyX190ZXh0IHtcclxuXHRcdGFuaW1hdGlvbjogYWN0aXZhdGVEaXNjVGV4dCAwLjRzIGZvcndhcmRzO1xyXG5cdH1cclxuXHJcblx0LnByb2dyZXNzYmFyX19pbmRpY2F0b3Ige1xyXG5cdFx0YW5pbWF0aW9uOiBhY3RpdmF0ZURpc2MgMC40cyBmb3J3YXJkcztcclxuXHR9XHJcbn1cclxuXHJcbi8qKlxyXG4qIExvZ28gaXRlbSBjaGFuZ2VzXHJcbiovXHJcbi5wcm9ncmVzc2Jhcl9faXRlbS0tbG9nbyBhIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogMjtcclxuXHRwYWRkaW5nOiAwIDEwcHg7XHJcblxyXG5cdGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzc0Jhci1sb2dvQmFja2dyb3VuZENvbG9yO1xyXG5cclxuXHRcclxuXHR3aWR0aDogMTgzcHg7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLyoqXHJcbiogQ29uZmlybWF0aW9uIHBhZ2VcclxuKi9cclxuLnBhZ2UtLWNvbmZpcm1hdGlvbixcclxuLnBhZ2UtLXJldHJpZXZlIHtcclxuXHQucHJvZ3Jlc3NiYXJfX3RleHR7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdH1cclxufVxyXG5cclxuLyoqXHJcbiogUGF5bWVudCwgY29uZmlybWF0aW9uIHBhZ2VzXHJcbiovXHJcbi5wYWdlLS1wYXltZW50LFxyXG4ucGFnZS0tY29uZmlybWF0aW9uLFxyXG4ucGFnZS0tcmV0cmlldmUge1xyXG5cdC5wcm9ncmVzc2Jhcl9faXRlbSBhe1xyXG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4ucGFnZS0tY29uZmlybWF0aW9uLFxyXG4ucGFnZS0tcmV0cmlldmUge1xyXG5cdC5wcm9ncmVzc2Jhcl9faXRlbS0tbG9nbyBhIHtcclxuXHRcdHBvaW50ZXItZXZlbnRzOiBhbGw7ICAvLyBBY3RpdmF0ZSBob21lIGxpbmsgb24gY29uZmlybWF0aW9uL3JldHJpZXZlIHBhZ2UuXHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcbi8qIE1lZGlhIHF1ZXJpZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aDg2NSkge1xyXG5cdC5wcm9ncmVzc2Jhcl9fdGV4dCB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0LnByb2dyZXNzYmFyX19pdGVtc3tcclxuXHRcdHBhZGRpbmctdG9wOiAwO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cdH1cclxuXHRcclxuXHQucHJvZ3Jlc3NiYXJfX21vYmlsZS10aXRsZSB7XHRcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdG1hcmdpbi10b3A6IC0xM3B4O1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0ei1pbmRleDogMjtcclxuXHR9XHJcblxyXG5cdC5wcm9ncmVzc2Jhcl9faXRlbSB7XHJcblx0XHRmbGV4LWJhc2lzOiBpbml0aWFsO1xyXG5cdH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aDc2NSkge1xyXG5cdC5wcm9ncmVzc2Jhcl9faXRlbS0tbG9nbyB7XHJcblx0XHQucHJvZ3Jlc3NiYXJfX2xpbmV7XHJcblx0XHRcdG1heC13aWR0aDogMjAwcHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHdpZHRoNjc4KSB7XHJcblx0LnByb2dyZXNzYmFyX19pdGVtLS1sb2dvIHtcclxuXHRcdC5wcm9ncmVzc2Jhcl9fbGluZXtcclxuXHRcdFx0bWF4LXdpZHRoOiAxNjVweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKiBBbmltYXRpb25zXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcbkBrZXlmcmFtZXMgYWN0aXZhdGVEaXNje1xyXG4gICAgMCUge1xyXG5cdFx0d2lkdGg6ICRwcm9ncmVzc0Jhci1kaXNjU2l6ZTtcclxuXHRcdGhlaWdodDogJHByb2dyZXNzQmFyLWRpc2NTaXplO1xyXG5cdFx0XHJcblx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzQmFyLWluZGljYXRvckNvbG9yLWhpZ2hsaWdodDtcclxuXHR9XHJcblxyXG4gICAgMTAwJSB7XHJcblx0XHR3aWR0aDogJHByb2dyZXNzQmFyLWRpc2NTaXplLWFjdGl2ZTtcclxuXHRcdGhlaWdodDogJHByb2dyZXNzQmFyLWRpc2NTaXplLWFjdGl2ZTtcclxuXHRcdFxyXG5cdFx0bWFyZ2luLXRvcDogLSAkcHJvZ3Jlc3NCYXItZGlzY1NpemUtZGlmZmVyZW5jZSAvIDI7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3NCYXItaW5kaWNhdG9yQ29sb3ItaGlnaGxpZ2h0O1xyXG5cdH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBhY3RpdmF0ZURpc2NUZXh0IHtcclxuICAgIDAlIHtcclxuXHRcdGNvbG9yOiAkcHJvZ3Jlc3NCYXItdGV4dENvbG9yO1xyXG5cdFx0Ym90dG9tOiAtM3B4O1xyXG5cdH1cclxuXHJcbiAgICAxMDAlIHtcclxuXHRcdGNvbG9yOiAkcHJvZ3Jlc3NCYXItdGV4dENvbG9yLWFjdGl2ZTtcclxuXHRcdGJvdHRvbTogLSAoJHByb2dyZXNzQmFyLWRpc2NTaXplLWRpZmZlcmVuY2UgLyAyKSAtIDM7XHJcblx0fVxyXG59IiwiLyoqXHJcbiAqIE5hbWU6IFBvcHVwXHJcbiAqXHJcbiAqIE92ZXJsYXkgc2hvd24gZ2l2aW5nIGV4dHJhIGluZm9cclxuICovXHJcblxyXG4vKiBWYXJpYWJsZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHQvLyBDb2xvdXJzXHJcblx0JHBvcHVwLWhlYWRlci1jb2xvcjogcmVkICFkZWZhdWx0O1xyXG5cdCRwb3B1cC1oZWFkZXItc2l6ZTogMmVtICFkZWZhdWx0O1xyXG5cdCRwb3B1cC1iYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcclxuXHQkcG9wdXAtYmFja2dyb3VuZC1zaGFkZTogcmdiYShncmV5LCAwLjUpICFkZWZhdWx0O1xyXG5cclxuXHQvLyBJY29uc1xyXG5cdCRpY29uLWNyb3NzOiAnLi4vaW1nL2ljb25zL3N2Zy9jcm9zcy5zdmcnICFkZWZhdWx0O1xyXG5cdCRpY29uLWNyb3NzLXNpemU6IDI1cHggIWRlZmF1bHQ7XHJcblxyXG4vKiBFbGVtZW50c1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG4ucG9wdXAge1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR0b3A6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0bGVmdDogMDtcclxuXHRib3R0b206IDA7XHJcblxyXG5cdHotaW5kZXg6IDEwO1xyXG5cclxuXHRhbmltYXRpb246IGZhZGVJbiAwLjJzIGZvcndhcmRzO1xyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHBvcHVwLWJhY2tncm91bmQtc2hhZGU7XHJcblx0XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuXHJcbi5wb3B1cF9faGVhZGVye1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0Y29sb3I6ICRwb3B1cC1oZWFkZXItY29sb3I7XHJcblx0Zm9udC1zaXplOiAkcG9wdXAtaGVhZGVyLXNpemU7XHJcbn1cclxuXHJcbi5wb3B1cF9fc3ViLWhlYWRlcntcclxuXHRmb250LXNpemU6ICRwb3B1cC1oZWFkZXItc2l6ZSAqIDAuNztcclxuXHRtYXJnaW46IDEuNWVtIDAgMC43NWVtO1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi5wb3B1cF9fY2xvc2Uge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0d2lkdGg6ICRpY29uLWNyb3NzLXNpemU7XHJcblx0aGVpZ2h0OiAkaWNvbi1jcm9zcy1zaXplO1xyXG5cdGNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRmb250LXNpemU6IDA7XHJcblx0cGFkZGluZzogJHN0YW5kYXJkU3BhY2luZztcclxuXHJcblx0JjpiZWZvcmUge1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR3aWR0aDogJGljb24tY3Jvc3Mtc2l6ZTtcclxuXHRcdGhlaWdodDogJGljb24tY3Jvc3Mtc2l6ZTtcclxuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGljb24tY3Jvc3MpO1xyXG5cdFx0dG9wOiBjYWxjKDUwJSAtICN7JGljb24tY3Jvc3Mtc2l6ZSAvIDJ9KTtcclxuXHRcdHJpZ2h0OiBjYWxjKDUwJSAtICN7JGljb24tY3Jvc3Mtc2l6ZSAvIDJ9KTtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHR9XHJcbn1cclxuXHJcbi5wb3B1cF9faW5uZXJ7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiAxMDAwcHg7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRwb3B1cC1iYWNrZ3JvdW5kLWNvbG9yO1xyXG5cdHBhZGRpbmc6ICRzdGFuZGFyZFNwYWNpbmc7XHJcblx0bWFyZ2luOiAkc3RhbmRhcmRTcGFjaW5nO1xyXG5cdHBhZGRpbmctdG9wOiAkaWNvbi1jcm9zcy1zaXplO1xyXG59XHJcblxyXG4ucG9wdXBfX2NvbnRlbnR7XHJcblx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cdG1heC13aWR0aDogMzVyZW07XHJcblx0bWFyZ2luLWJvdHRvbTogNC41cmVtO1xyXG59XHJcblxyXG4vKiBNb2RpZmllcnNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnBvcHVwLS1mdWxse1xyXG5cdC5wb3B1cF9faW5uZXIge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRhbGlnbi1zZWxmOiBzdHJldGNoO1xyXG5cdCAgICBvdmVyZmxvdzogYXV0bztcclxuXHRcdC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuXHR9XHJcblxyXG5cdC5wb3B1cF9fY2xvc2Uge1xyXG5cdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcG9wdXAtYmFja2dyb3VuZC1jb2xvciwgMC44KTtcclxuXHRcdHotaW5kZXg6IDE7XHJcblx0fVxyXG59IiwiLyoqXHJcbiAqIE5hbWU6IElubGluZSBMaW5rXHJcbiAqXHJcbiAqIElubGluZSBsaW5rIHN0eWxpbmdcclxuICovXHJcblxyXG4uaW5saW5lLWxpbmsge1xyXG4gICAgY29sb3I6ICRicmFuZEdvbGQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIC8vIHJlbW92ZSBhbnkgaW5oZXJpdGVkIGJ1dHRvbiBzdHlsZXMgZm9yIGJ1dHRvbiBlbGVtZW50c1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjJzIGVhc2U7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRib2R5Q29weTtcclxuICAgIH1cclxufSIsIi8qXHJcblx0TW9kaWZpZWQgZnJvbSBvcmlnaW5hbCBTQ1NTIGZpbGVzLlxyXG5cclxuXHRSZW1vdmVkIHRyaWFuZ2xlIG1peGlucyBhbmQgdmFyaWFibGVzIGZpbGVzLlxyXG5cclxuXHRDdXN0b20gY29kZSBmb3VuZCBhdCBib3R0b20gb2YgdGhpcyBmaWxlLlxyXG4qL1xyXG5cclxuLyogVmFyaWFibGVzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcblx0Ly8gQ29sb3Vyc1xyXG5cdCRkYXRlcGlja2VyLWJvcmRlci1jb2xvcjogI2FlYWVhZSAhZGVmYXVsdDtcclxuXHQkZGF0ZXBpY2tlci1iYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwICFkZWZhdWx0O1xyXG5cdCRkYXRlcGlja2VyLXNlbGVjdGVkLWNvbG9yOiAjMjE2YmE1ICFkZWZhdWx0O1xyXG5cdCRkYXRlcGlja2VyLWhpZ2hsaWdodGVkLWNvbG9yOiAjM2RjYzRhICFkZWZhdWx0O1xyXG5cdCRkYXRlcGlja2VyLW11dGVkLWNvbG9yOiAjY2NjICFkZWZhdWx0O1xyXG5cdCRkYXRlcGlja2VyLXRleHQtY29sb3I6ICMwMDAgIWRlZmF1bHQ7XHJcblx0JGRhdGVwaWNrZXItYXZhaWxhYmxlLWNvbG9yOiByZWQgIWRlZmF1bHQ7XHJcblxyXG5cdC8vIFNpemVzXHJcblx0JGRhdGVwaWNrZXItZm9udC1zaXplOiAuOHJlbSAhZGVmYXVsdDtcclxuXHQkZGF0ZXBpY2tlci1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG5cdCRkYXRlcGlja2VyLWl0ZW0tc2l6ZTogMi41cmVtICFkZWZhdWx0O1xyXG5cdCRkYXRlcGlja2VyLWRheS1tYXJnaW46IC4xNjZyZW0gIWRlZmF1bHQ7XHJcblx0JGRhdGVwaWNrZXItdHJpYW5nbGUtc2l6ZTogOHB4ICFkZWZhdWx0O1xyXG5cdCRkYXRlcGlja2VyLWRhdGVwaWNrZXItbWFyZ2luOiAwLjVyZW0gIWRlZmF1bHQ7XHJcblx0JGRhdGVwaWNrZXItbmF2aWdhdGlvbi1zaXplOiAuNDVyZW0gIWRlZmF1bHQ7XHJcblxyXG5cdC8vIE1vYmlsZVxyXG5cdCRkYXRlcGlja2VyLW1vYmlsZS1oZWFkZXItZm9udDogc2VyaWYgIWRlZmF1bHQ7XHJcblx0JGRhdGVwaWNrZXItbW9iaWxlLWhlYWRlci1oaWdobGlnaHQ6IGdyZWVuICFkZWZhdWx0O1xyXG5cclxuXHJcbi8qIEVsZW1lbnRzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5cclxuLnJlYWN0LWRhdGVwaWNrZXIge1xyXG5cdGZvbnQtc2l6ZTogJGRhdGVwaWNrZXItZm9udC1zaXplO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRkYXRlcGlja2VyLWJhY2tncm91bmQtY29sb3I7XHJcblx0Y29sb3I6ICRkYXRlcGlja2VyLXRleHQtY29sb3I7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgJGRhdGVwaWNrZXItYm9yZGVyLWNvbG9yO1xyXG5cdGJvcmRlci1yYWRpdXM6ICRkYXRlcGlja2VyLWJvcmRlci1yYWRpdXM7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdC8vIHdpZHRoOiA1MDBweDtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcblxyXG5cdC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHQvLyB0b3A6IC0xcHg7XHJcblx0Ly8gbGVmdDogLTFweDtcclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KSB0cmFuc2xhdGVZKC0xN3B4KSB0cmFuc2xhdGVaKDBweCk7XHJcblx0d2lkdGg6IDIxLjc1cmVtO1xyXG5cdHdpZHRoOiAzNDhweDtcclxuXHR6LWluZGV4OiAyO1xyXG59XHJcblxyXG4ucmVhY3QtZGF0ZXBpY2tlcl9fdHJpYW5nbGUge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcblxyXG4ucmVhY3QtZGF0ZXBpY2tlcl9fdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtYm90dG9tLnJlYWN0LWRhdGVwaWNrZXJfX3RldGhlci1lbGVtZW50IHtcclxuXHRtYXJnaW4tdG9wOiAtMjBweDtcclxufVxyXG5cclxuLnJlYWN0LWRhdGVwaWNrZXJfX2hlYWRlciB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRkYXRlcGlja2VyLWJhY2tncm91bmQtY29sb3I7XHJcblx0cGFkZGluZy10b3A6IDhweDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcbi5yZWFjdC1kYXRlcGlja2VyX195ZWFyLWRyb3Bkb3duLWNvbnRhaW5lci0tc2VsZWN0LFxyXG4ucmVhY3QtZGF0ZXBpY2tlcl9fbW9udGgtZHJvcGRvd24tY29udGFpbmVyLS1zZWxlY3QsXHJcbi5yZWFjdC1kYXRlcGlja2VyX195ZWFyLWRyb3Bkb3duLWNvbnRhaW5lci0tc2Nyb2xsLFxyXG4ucmVhY3QtZGF0ZXBpY2tlcl9fbW9udGgtZHJvcGRvd24tY29udGFpbmVyLS1zY3JvbGwge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRtYXJnaW46IDAgMnB4O1xyXG59XHJcblxyXG4ucmVhY3QtZGF0ZXBpY2tlcl9fY3VycmVudC1tb250aCB7XHJcblx0bWFyZ2luLXRvcDogMDtcclxuXHRjb2xvcjogJGRhdGVwaWNrZXItdGV4dC1jb2xvcjtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHRmb250LXNpemU6ICRkYXRlcGlja2VyLWZvbnQtc2l6ZTtcclxuXHRtYXJnaW46IDFyZW0gJGRhdGVwaWNrZXItZGF0ZXBpY2tlci1tYXJnaW47XHJcblx0cGFkZGluZy1ib3R0b206IDFyZW07XHJcblx0Ym9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRkYXRlcGlja2VyLXRleHQtY29sb3I7XHJcblx0XHJcbn1cclxuXHJcbi5yZWFjdC1kYXRlcGlja2VyX19uYXZpZ2F0aW9uIHtcclxuXHRsaW5lLWhlaWdodDogJGRhdGVwaWNrZXItaXRlbS1zaXplO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMjJweDtcclxuXHR3aWR0aDogMDtcclxuXHRib3JkZXI6ICRkYXRlcGlja2VyLW5hdmlnYXRpb24tc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHR6LWluZGV4OiAxO1xyXG5cclxuXHQmLS1wcmV2aW91cyB7XHJcblx0XHRsZWZ0OiAxMHB4O1xyXG5cdFx0Ym9yZGVyLXJpZ2h0LWNvbG9yOiAkZGF0ZXBpY2tlci1tdXRlZC1jb2xvcjtcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Ym9yZGVyLXJpZ2h0LWNvbG9yOiBkYXJrZW4oJGRhdGVwaWNrZXItbXV0ZWQtY29sb3IsIDEwJSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLS1uZXh0IHtcclxuXHRcdHJpZ2h0OiAxMHB4O1xyXG5cdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRkYXRlcGlja2VyLW11dGVkLWNvbG9yO1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRib3JkZXItbGVmdC1jb2xvcjogZGFya2VuKCRkYXRlcGlja2VyLW11dGVkLWNvbG9yLCAxMCUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji0teWVhcnMge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcclxuXHJcblx0XHQmLXByZXZpb3VzIHtcclxuXHRcdFx0dG9wOiA0cHg7XHJcblx0XHRcdGJvcmRlci10b3AtY29sb3I6ICRkYXRlcGlja2VyLW11dGVkLWNvbG9yO1xyXG5cclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRkYXRlcGlja2VyLW11dGVkLWNvbG9yLCAxMCUpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji11cGNvbWluZyB7XHJcblx0XHRcdHRvcDogLTRweDtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJGRhdGVwaWNrZXItbXV0ZWQtY29sb3I7XHJcblxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiBkYXJrZW4oJGRhdGVwaWNrZXItbXV0ZWQtY29sb3IsIDEwJSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4ucmVhY3QtZGF0ZXBpY2tlcl9fbW9udGgge1xyXG5cdG1hcmdpbjogJGRhdGVwaWNrZXItZGF0ZXBpY2tlci1tYXJnaW47XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ucmVhY3QtZGF0ZXBpY2tlcl9fd2Vlay1udW1iZXIge1xyXG5cdGNvbG9yOiAkZGF0ZXBpY2tlci1tdXRlZC1jb2xvcjtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0d2lkdGg6ICRkYXRlcGlja2VyLWl0ZW0tc2l6ZTtcclxuXHRsaW5lLWhlaWdodDogJGRhdGVwaWNrZXItaXRlbS1zaXplO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRtYXJnaW46ICRkYXRlcGlja2VyLWRheS1tYXJnaW47XHJcbn1cclxuXHJcbi5yZWFjdC1kYXRlcGlja2VyX19kYXktbmFtZXMsXHJcbi5yZWFjdC1kYXRlcGlja2VyX193ZWVre1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5yZWFjdC1kYXRlcGlja2VyX19kYXktbmFtZSxcclxuLnJlYWN0LWRhdGVwaWNrZXJfX2RheSB7XHJcblx0Y29sb3I6ICRkYXRlcGlja2VyLXRleHQtY29sb3I7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHdpZHRoOiAkZGF0ZXBpY2tlci1pdGVtLXNpemU7XHJcblx0bGluZS1oZWlnaHQ6ICRkYXRlcGlja2VyLWl0ZW0tc2l6ZTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0bWFyZ2luOiAkZGF0ZXBpY2tlci1kYXktbWFyZ2luO1xyXG5cclxuXHRmbGV4LWdyb3c6IDE7XHJcbn1cclxuXHJcbi5yZWFjdC1kYXRlcGlja2VyX19kYXktbmFtZXtcclxuXHRsaW5lLWhlaWdodDogaW5oZXJpdDtcclxufVxyXG5cclxuLnJlYWN0LWRhdGVwaWNrZXJfX2RheSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGRhdGVwaWNrZXItYXZhaWxhYmxlLWNvbG9yO1xyXG5cdGJvcmRlcjogc29saWQgMnB4ICRkYXRlcGlja2VyLWF2YWlsYWJsZS1jb2xvcjtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Jjpob3ZlciB7XHJcblx0XHRib3JkZXItcmFkaXVzOiAkZGF0ZXBpY2tlci1ib3JkZXItcmFkaXVzO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGRhdGVwaWNrZXItYmFja2dyb3VuZC1jb2xvcjtcclxuXHR9XHJcblxyXG5cdCYtLXRvZGF5IHtcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdH1cclxuXHJcblx0Ji0taGlnaGxpZ2h0ZWQge1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogJGRhdGVwaWNrZXItYm9yZGVyLXJhZGl1cztcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRkYXRlcGlja2VyLWhpZ2hsaWdodGVkLWNvbG9yO1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkZGF0ZXBpY2tlci1oaWdobGlnaHRlZC1jb2xvciwgNSUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji0tc2VsZWN0ZWQsXHJcblx0Ji0taW4tc2VsZWN0aW5nLXJhbmdlLFxyXG5cdCYtLWluLXJhbmdlIHtcclxuXHRcdGJvcmRlci1yYWRpdXM6ICRkYXRlcGlja2VyLWJvcmRlci1yYWRpdXM7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGF0ZXBpY2tlci1zZWxlY3RlZC1jb2xvcjtcclxuXHRcdGJvcmRlci1jb2xvcjogJGRhdGVwaWNrZXItc2VsZWN0ZWQtY29sb3I7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRkYXRlcGlja2VyLXNlbGVjdGVkLWNvbG9yLCA1JSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLS1rZXlib2FyZC1zZWxlY3RlZCB7XHJcblx0XHRib3JkZXItcmFkaXVzOiAkZGF0ZXBpY2tlci1ib3JkZXItcmFkaXVzO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkZGF0ZXBpY2tlci1zZWxlY3RlZC1jb2xvciwgMTAlKTtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGRhdGVwaWNrZXItc2VsZWN0ZWQtY29sb3IsIDUlKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYtLWluLXNlbGVjdGluZy1yYW5nZTpub3QoJi0taW4tcmFuZ2UpIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGRhdGVwaWNrZXItc2VsZWN0ZWQtY29sb3IsIC41KTtcclxuXHR9XHJcblxyXG5cdCYtLWluLXJhbmdlOm5vdCgmLS1pbi1zZWxlY3RpbmctcmFuZ2UpIHtcclxuXHRcdC5yZWFjdC1kYXRlcGlja2VyX19tb250aC0tc2VsZWN0aW5nLXJhbmdlICYge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGF0ZXBpY2tlci1iYWNrZ3JvdW5kLWNvbG9yO1xyXG5cdFx0XHRjb2xvcjogJGRhdGVwaWNrZXItdGV4dC1jb2xvcjtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYtLWRpc2FibGVkIHtcclxuXHRcdGN1cnNvcjogZGVmYXVsdDtcclxuXHRcdGNvbG9yOiAkZGF0ZXBpY2tlci1tdXRlZC1jb2xvcjtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRkYXRlcGlja2VyLWJhY2tncm91bmQtY29sb3I7XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnJlYWN0LWRhdGVwaWNrZXJfX2lucHV0LWNvbnRhaW5lciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLnJlYWN0LWRhdGVwaWNrZXJfX3llYXItcmVhZC12aWV3LFxyXG4ucmVhY3QtZGF0ZXBpY2tlcl9fbW9udGgtcmVhZC12aWV3IHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRib3JkZXItcmFkaXVzOiAkZGF0ZXBpY2tlci1ib3JkZXItcmFkaXVzO1xyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHJcblx0XHQucmVhY3QtZGF0ZXBpY2tlcl9feWVhci1yZWFkLXZpZXctLWRvd24tYXJyb3csXHJcblx0XHQucmVhY3QtZGF0ZXBpY2tlcl9fbW9udGgtcmVhZC12aWV3LS1kb3duLWFycm93IHtcclxuXHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRkYXRlcGlja2VyLW11dGVkLWNvbG9yLCAxMCUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji0tZG93bi1hcnJvdyB7XHJcblx0XHRib3JkZXItdG9wLWNvbG9yOiAkZGF0ZXBpY2tlci1tdXRlZC1jb2xvcjtcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHRcdG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG5cdFx0dG9wOiA4cHg7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRib3JkZXItd2lkdGg6ICRkYXRlcGlja2VyLW5hdmlnYXRpb24tc2l6ZTtcclxuXHR9XHJcblxyXG59XHJcblxyXG4ucmVhY3QtZGF0ZXBpY2tlcl9feWVhci1kcm9wZG93bixcclxuLnJlYWN0LWRhdGVwaWNrZXJfX21vbnRoLWRyb3Bkb3duIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGF0ZXBpY2tlci1iYWNrZ3JvdW5kLWNvbG9yO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR3aWR0aDogNTAlO1xyXG5cdGxlZnQ6IDI1JTtcclxuXHR0b3A6IDMwcHg7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGJvcmRlci1yYWRpdXM6ICRkYXRlcGlja2VyLWJvcmRlci1yYWRpdXM7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgJGRhdGVwaWNrZXItYm9yZGVyLWNvbG9yO1xyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHR9XHJcblxyXG5cdCYtLXNjcm9sbGFibGUge1xyXG5cdFx0aGVpZ2h0OiAxNTBweDtcclxuXHRcdG92ZXJmbG93LXk6IHNjcm9sbDtcclxuXHR9XHJcbn1cclxuXHJcbi5yZWFjdC1kYXRlcGlja2VyX195ZWFyLW9wdGlvbixcclxuLnJlYWN0LWRhdGVwaWNrZXJfX21vbnRoLW9wdGlvbiB7XHJcblx0bGluZS1oZWlnaHQ6IDIwcHg7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cclxuXHQmOmZpcnN0LW9mLXR5cGUge1xyXG5cdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGRhdGVwaWNrZXItYm9yZGVyLXJhZGl1cztcclxuXHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkZGF0ZXBpY2tlci1ib3JkZXItcmFkaXVzO1xyXG5cdH1cclxuXHJcblx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuXHRcdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0XHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0XHR1c2VyLXNlbGVjdDogbm9uZTtcclxuXHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRkYXRlcGlja2VyLWJvcmRlci1yYWRpdXM7XHJcblx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGRhdGVwaWNrZXItYm9yZGVyLXJhZGl1cztcclxuXHR9XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGRhdGVwaWNrZXItbXV0ZWQtY29sb3I7XHJcblxyXG5cdFx0LnJlYWN0LWRhdGVwaWNrZXJfX25hdmlnYXRpb24tLXllYXJzLXVwY29taW5nIHtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogZGFya2VuKCRkYXRlcGlja2VyLW11dGVkLWNvbG9yLCAxMCUpO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5yZWFjdC1kYXRlcGlja2VyX19uYXZpZ2F0aW9uLS15ZWFycy1wcmV2aW91cyB7XHJcblx0XHRcdGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkZGF0ZXBpY2tlci1tdXRlZC1jb2xvciwgMTAlKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYtLXNlbGVjdGVkIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGxlZnQ6IDE1cHg7XHJcblx0fVxyXG59XHJcblxyXG4ucmVhY3QtZGF0ZXBpY2tlcl9fY2xvc2UtaWNvbiB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyOiAwO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0aGVpZ2h0OiAwO1xyXG5cdG91dGxpbmU6IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cclxuXHQmOjphZnRlciB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGF0ZXBpY2tlci1zZWxlY3RlZC1jb2xvcjtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdGJvdHRvbTogMDtcclxuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdGNvbnRlbnQ6IFwiXFwwMGQ3XCI7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRmb250LXNpemU6IDEycHg7XHJcblx0XHRoZWlnaHQ6IDE2cHg7XHJcblx0XHR3aWR0aDogMTZweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdFx0bWFyZ2luOiAtOHB4IGF1dG8gMDtcclxuXHRcdHBhZGRpbmc6IDJweDtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHJpZ2h0OiA3cHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHR0b3A6IDUwJTtcclxuXHR9XHJcbn1cclxuXHJcbi5yZWFjdC1kYXRlcGlja2VyX190b2RheS1idXR0b24ge1xyXG5cdGJhY2tncm91bmQ6ICRkYXRlcGlja2VyLWJhY2tncm91bmQtY29sb3I7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRkYXRlcGlja2VyLWJvcmRlci1jb2xvcjtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdHBhZGRpbmc6IDVweCAwO1xyXG5cdGNsZWFyOiBsZWZ0O1xyXG59XHJcblxyXG4ucmVhY3QtZGF0ZXBpY2tlcl9fdGV0aGVyLWVsZW1lbnQge1xyXG5cdHotaW5kZXg6IDIxNDc0ODM2NDc7XHJcbn1cclxuXHJcbi5yZWFjdC1kYXRlcGlja2VyX19wb3J0YWwge1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR3aWR0aDogMTAwdnc7XHJcblx0aGVpZ2h0OiAxMDB2aDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC44KTtcclxuXHRsZWZ0OiAwO1xyXG5cdHRvcDogMDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ei1pbmRleDogMjE0NzQ4MzY0NztcclxuXHJcblx0LnJlYWN0LWRhdGVwaWNrZXJfX2RheS1uYW1lLFxyXG5cdC5yZWFjdC1kYXRlcGlja2VyX19kYXkge1xyXG5cdFx0d2lkdGg6IDNyZW07XHJcblx0XHRsaW5lLWhlaWdodDogM3JlbTtcclxuXHR9XHJcblxyXG5cdC8vIFJlc2l6ZSBmb3Igc21hbGwgc2NyZWVuc1xyXG5cdEBtZWRpYSAobWF4LXdpZHRoOiA0MDBweCksIChtYXgtaGVpZ2h0OiA1NTBweClcdHtcclxuXHRcdC5yZWFjdC1kYXRlcGlja2VyX19kYXktbmFtZSxcclxuXHRcdC5yZWFjdC1kYXRlcGlja2VyX19kYXkge1xyXG5cdFx0XHR3aWR0aDogMnJlbTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDJyZW07XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQucmVhY3QtZGF0ZXBpY2tlcl9fY3VycmVudC1tb250aCB7XHJcblx0XHRmb250LXNpemU6ICRkYXRlcGlja2VyLWZvbnQtc2l6ZSAqIDEuODtcclxuXHR9XHJcblxyXG5cdC5yZWFjdC1kYXRlcGlja2VyX19uYXZpZ2F0aW9uIHtcclxuXHRcdGJvcmRlcjogMS44ICogJGRhdGVwaWNrZXItbmF2aWdhdGlvbi1zaXplIHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdH1cclxuXHJcblx0LnJlYWN0LWRhdGVwaWNrZXJfX25hdmlnYXRpb24tLXByZXZpb3VzIHtcclxuXHRcdGJvcmRlci1yaWdodC1jb2xvcjogJGRhdGVwaWNrZXItbXV0ZWQtY29sb3I7XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGJvcmRlci1yaWdodC1jb2xvcjogZGFya2VuKCRkYXRlcGlja2VyLW11dGVkLWNvbG9yLCAxMCUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnJlYWN0LWRhdGVwaWNrZXJfX25hdmlnYXRpb24tLW5leHQge1xyXG5cdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRkYXRlcGlja2VyLW11dGVkLWNvbG9yO1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRib3JkZXItbGVmdC1jb2xvcjogZGFya2VuKCRkYXRlcGlja2VyLW11dGVkLWNvbG9yLCAxMCUpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8qIEN1c3RvbSBjb2RlXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ucmVhY3QtZGF0ZXBpY2tlcl9faW5wdXQtY29udGFpbmVyID4gaW5wdXQge1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0aGVpZ2h0OiAwO1xyXG5cdHdpZHRoOiAwO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR6LWluZGV4OiAtMTtcclxufVxyXG5cclxuLmRhdGVwaWNrZXJfX3Nob3ctaG9sZGVyIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogMTU7XHJcblx0YW5pbWF0aW9uOiBmYWRlSW4gMC4ycyBmb3J3YXJkcztcclxufVxyXG5cclxuLmRhdGVwaWNrZXJfX2JhY2tncm91bmQge1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHRyaWdodDogMDtcclxuXHRib3R0b206IDA7XHJcblx0ei1pbmRleDogMTtcclxuXHRcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGJsYWNrLCAwLjQpO1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlcl9fbW9iaWxlLWVsZW1zIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlcl9fY2xvc2Uge1xyXG5cdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdGRpcmVjdGlvbjogcnRsO1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlcl9fY2xvc2UtYnV0dG9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IDNyZW07XHJcblx0aGVpZ2h0OiAzcmVtO1xyXG59XHJcblxyXG5cclxuLmRhdGVwaWNrZXJfX21vYmlsZS1oZWFkZXJ7XHJcblx0Zm9udC1mYW1pbHk6ICRkYXRlcGlja2VyLW1vYmlsZS1oZWFkZXItZm9udDtcclxuXHRmb250LXdlaWdodDogMTAwO1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlcl9fbW9iaWxlLXR5cGV7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0Y29sb3I6ICRkYXRlcGlja2VyLW1vYmlsZS1oZWFkZXItaGlnaGxpZ2h0O1xyXG5cdGZvbnQtc2l6ZTogMS4zZW07XHJcbn1cclxuXHJcbi5yZWFjdC1kYXRlcGlja2VyX19kYXktLWRpc2FibGVke1xyXG5cdGJvcmRlci1jb2xvcjogI2U2ZTZlNjtcclxufVxyXG5cclxuJGRhdGVwaWNrZXItaWNvbi1oZWlnaHQ6IDEwcHg7XHJcbi5yZWFjdC1kYXRlcGlja2VyX19uYXZpZ2F0aW9uIHtcclxuXHRib3JkZXI6IG5vbmU7XHJcbiAgICBoZWlnaHQ6IDI5cHg7XHJcbiAgICB3aWR0aDogMjBweDtcclxuXHJcblx0JjphZnRlcntcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0d2lkdGg6IDI1cHg7XHJcblx0XHRoZWlnaHQ6IDI1cHg7XHJcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb25zL3N2Zy9jaGV2cm9uLnN2ZycpO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcblx0XHRhbmltYXRpb246IGZhZGVJbiAwLjJzIGZvcndhcmRzO1xyXG5cdH1cclxuXHJcblx0Ji0tcHJldmlvdXMge1xyXG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG5cdH1cclxuXHJcblx0Ji0tbmV4dCB7XHJcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xyXG5cdFx0XHJcblx0XHQmOmFmdGVye1xyXG5cdFx0XHRsZWZ0OiAtMXB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLyogTWVkaWEgcXVlcmllc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogJHdpZHRoNjc4KSB7XHJcblx0LnJlYWN0LWRhdGVwaWNrZXIge1xyXG5cdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0dHJhbnNmb3JtOiBpbml0aWFsO1xyXG5cdFx0XHRcclxuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0fVxyXG5cclxuXHQuZGF0ZXBpY2tlcl9fc2hvdy1ob2xkZXIge1xyXG5cdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG5cclxuXHRcdHBhZGRpbmc6ICRzdGFuZGFyZFNwYWNpbmc7XHJcblx0fVxyXG5cclxuXHQuZGF0ZXBpY2tlcl9fbW9iaWxlLWVsZW1ze1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR6LWluZGV4OiAxNTtcclxuXHRcdGZvbnQtc2l6ZTogMXJlbTtcclxuXHR9XHJcblxyXG5cdC5kYXRlcGlja2VyX19iYWNrZ3JvdW5kIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQucmVhY3QtZGF0ZXBpY2tlcl9fdGV0aGVyLWVsZW1lbnR7XHJcblx0XHRwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsgLy8gT3ZlcmlkZSBpbmxpbmUgc3R5bGVzO1xyXG5cdFx0dHJhbnNmb3JtOiBpbml0aWFsICFpbXBvcnRhbnQ7IC8vIE92ZXJpZGUgaW5saW5lIHN0eWxlc1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuXHRcdG1hcmdpbi10b3A6IDhyZW07XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0fVxyXG59IiwiLyoqXHJcbiAqIE5hbWU6IENhbGVuZGFyXHJcbiAqXHJcbiAqIENvbnRyb2xzIGxheW91dCBmb3IgaW1wcm92ZWQgY2FsZW5kYXJcclxuICovXHJcblxyXG5cclxuLyogVmFyaWFibGVzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4kY2FsZW5kYXItc3BhY2luZzogMXJlbSAhZGVmYXVsdDtcclxuJGNhbGVuZGFyLWhlYWRlci1oZWlnaHQ6IDNyZW0gIWRlZmF1bHQ7XHJcbiRjYWxlbmRhci1ib3JkZXItY29sb3VyOiAjMTcyZTQxICFkZWZhdWx0O1xyXG4kY2FsZW5kYXItdGV4dC1jb2xvcjogI2NjYyAhZGVmYXVsdDtcclxuJGNhbGVuZGFyLWhlYWRlci1jb2xvcjogJGJvZHlDb3B5ICFkZWZhdWx0O1xyXG4kY2FsZW5kYXItdGV4dC1jb2xvci1zZWxlY3RlZDogJGNvbG9yLXdoaXRlICFkZWZhdWx0O1xyXG4kY2FsZW5kYXItdGV4dC1jb2xvci1ob3ZlcjogJGNhbGVuZGFyLXRleHQtY29sb3Itc2VsZWN0ZWQgIWRlZmF1bHQ7XHJcbiRjYWxlbmRhci10ZXh0LWNvbG9yLWhpZ2hsaWdodDogJGNhbGVuZGFyLXRleHQtY29sb3IgIWRlZmF1bHQ7XHJcbiRjYWxlbmRhci10ZXh0LWNvbG9yLWRpc2FibGVkOiAkY2FsZW5kYXItdGV4dC1jb2xvciAhZGVmYXVsdDtcclxuJGNhbGVuZGFyLXRleHQtbG93ZXN0LXJhdGU6IGJsdWUgIWRlZmF1bHQ7XHJcbiRjYWxlbmRhci1jb250cm9sLWNvbG9yOiBibHVlICFkZWZhdWx0O1xyXG4kY2FsZW5kYXItcHJpY2UtY29sb3I6ICNhYTZkNTEgIWRlZmF1bHQ7XHJcbiRjYWxlbmRhci1wcmljZS1jb2xvci1zZWxlY3RlZDogJGNhbGVuZGFyLXRleHQtY29sb3Itc2VsZWN0ZWQgIWRlZmF1bHQ7XHJcbiRjYWxlbmRhci1wcmljZS1jb2xvci1ob3ZlcjogJGNhbGVuZGFyLXByaWNlLWNvbG9yICFkZWZhdWx0O1xyXG4kY2FsZW5kYXItcHJpY2UtY29sb3ItaGlnaGxpZ2h0OiAkY2FsZW5kYXItcHJpY2UtY29sb3IgIWRlZmF1bHQ7XHJcbiRjYWxlbmRhci1wcmljZS1jb2xvci1kaXNhYmxlZDogJGNhbGVuZGFyLXRleHQtY29sb3ItZGlzYWJsZWQgIWRlZmF1bHQ7XHJcbiRjYWxlbmRhci1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGUgIWRlZmF1bHQ7XHJcbiRjYWxlbmRhci1iYWNrZ3JvdW5kLWNvbG9yLXNlbGVjdGVkOiAjYWE2ZDUxICFkZWZhdWx0O1xyXG4kY2FsZW5kYXItYmFja2dyb3VuZC1jb2xvci1ob3ZlcjogJGNhbGVuZGFyLWJhY2tncm91bmQtY29sb3Itc2VsZWN0ZWQgIWRlZmF1bHQ7XHJcbiRjYWxlbmRhci1iYWNrZ3JvdW5kLWNvbG9yLWhpZ2hsaWdodDogI2VlZSAhZGVmYXVsdDtcclxuJGNhbGVuZGFyLWJhY2tncm91bmQtY29sb3ItZGlzYWJsZWQ6ICNGMUYxRjEgIWRlZmF1bHQ7XHJcbiRjYWxlbmRhci1kYXktcGFkZGluZzogMC4zNXJlbSAhZGVmYXVsdDtcclxuXHJcbi8qIE1peGluc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy8gTWl4aW4gZm9yIGdyZWVuIHJlY3RhbmdsZSBleHRlbnNpb24gb3V0c2lkZSBibG9jay5cclxuLy8gQWxsb3dzIGRheSBiYWNrZ3JvdWQgdG8gYXBwZWFyIGpvaW5lZCB1cCB3aGVuIHNlbGVjdGVkIGJ1dCBzZXBlcmF0ZSBpZiBub3QuXHJcbkBtaXhpbiBkYXRlRXh0ZW5zaW9uKCRzaXplKSB7XHJcbiAgY29udGVudDogJyc7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IGNhbGMoI3skc2l6ZX0gKyAycHgpO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjYWxlbmRhci1iYWNrZ3JvdW5kLWNvbG9yLXNlbGVjdGVkO1xyXG59XHJcblxyXG5AbWl4aW4gcmlnaHRFeHRlbnNpb24oJHNpemUpIHtcclxuICAmOmFmdGVyIHtcclxuICAgIEBpbmNsdWRlIGRhdGVFeHRlbnNpb24oJHNpemUpO1xyXG4gICAgcmlnaHQ6IDFweDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBsZWZ0RXh0ZW5zaW9uKCRzaXplKSB7XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgQGluY2x1ZGUgZGF0ZUV4dGVuc2lvbigkc2l6ZSk7XHJcbiAgICBsZWZ0OiAxcHg7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qIEhvbGRlclxyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmNhbGVuZGFyIHtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4vKiBDYWxlbmRhciBncmlkXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uY2FsZW5kYXJfX2dyaWQge1xyXG4gIG1hcmdpbjogMCAtMnB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuXHJcbi8qIENhbGVuZGFyIGNvbnRyb2xzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uY2FsZW5kYXJfX2NvbnRyb2xzIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBwYWRkaW5nOiAyMHB4IDAgMjBweCAwO1xyXG59XHJcblxyXG4uY2FsZW5kYXJfX2NvbnRyb2wge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBjb2xvcjogJGNhbGVuZGFyLWNvbnRyb2wtY29sb3I7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgZm9udC1zaXplOiAwLjdyZW07XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBjb2xvcjogJGJyYW5kR29sZDtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBjb2xvcjogZGFya2VuKCRicmFuZEdvbGQsIDUlKTtcclxuICB9XHJcbn1cclxuXHJcbi5jYWxlbmRhcl9fZGF0ZS1wcmV2aWV3LXRleHQge1xyXG4gIG1hcmdpbjogMDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGZvbnQtc2l6ZTogMC43cmVtO1xyXG4gIGNvbG9yOiAkYm9keUNvcHk7XHJcbn1cclxuXHJcbi8qIFdlZWsgaG9sZGVyXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uY2FsZW5kYXJfX3dlZWsge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICBib3JkZXItdG9wOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qIERheSBuYW1lIGxhYmVsXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uY2FsZW5kYXJfX2RheS1uYW1lIHtcclxuICB3aWR0aDogY2FsYygxMDAlLzcpO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXNpemU6IDAuOXJlbTtcclxuICBsaW5lLWhlaWdodDogMS43NXJlbTtcclxuICBjb2xvcjogJGNhbGVuZGFyLXRleHQtY29sb3I7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG5cclxuXHJcbi8qIERheSBob2xkZXJcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5jYWxlbmRhcl9fZGF5IHtcclxuICB3aWR0aDogY2FsYygxMDAlLzcpO1xyXG4gIHBhZGRpbmc6ICRjYWxlbmRhci1kYXktcGFkZGluZztcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi8vIERhdGUgbGFiZWxcclxuLmNhbGVuZGFyX19kYXRlIHtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGNvbG9yOiAkY2FsZW5kYXItdGV4dC1jb2xvcjtcclxufVxyXG5cclxuLy8gUHJpY2UgbGFiZWxcclxuLmNhbGVuZGFyX19wcmljZSB7XHJcbiAgbWFyZ2luLXRvcDogMC40cmVtO1xyXG4gIGNvbG9yOiAkY2FsZW5kYXItcHJpY2UtY29sb3I7XHJcbiAgZm9udC1zaXplOiAwLjdyZW07XHJcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG5cclxuICAvLyAmOmFmdGVyIHtcclxuICAvLyAgIGNvbnRlbnQ6ICdcXDAwYTAnOyAvLyBBZGQgY29udGVudCBmb3IgYmxhbmsgcHJpY2VzIHNvIGxheW91dCBpcyBzYW1lLlxyXG4gIC8vIH1cclxufVxyXG5cclxuLy8gQ2hlY2tvdXQgdGV4dFxyXG4uY2FsZW5kYXJfX2RhdGUtY2hlY2tvdXQtdGV4dCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgdG9wOiAtMTAwcHg7XHJcbiAgb3BhY2l0eTogMDtcclxuICB0cmFuc2l0aW9uOiB0b3AgLjRzIGVhc2UsIG9wYWNpdHkgLjRzIGVhc2U7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcblxyXG4vKiBEYXkgZGF0YSBob2xkZXIgKGlubmVyKVxyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmNhbGVuZGFyX19kYXktZGF0YSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcGFkZGluZzogMC41cmVtO1xyXG4gIGhlaWdodDogNC4xcmVtO1xyXG4gIGZvbnQtc2l6ZTogMC42NWVtO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBiYWNrZ3JvdW5kOiAkY2FsZW5kYXItYmFja2dyb3VuZC1jb2xvcjtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGNhbGVuZGFyLWJvcmRlci1jb2xvdXI7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gY2xpcCBvdXQgcHJpY2VzIGFuZCBjaGVja291dCB0ZXh0IHdoZW4gdGhleSBhcmUgb3V0IG9mIGVsZW1lbnRcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY2FsZW5kYXItYmFja2dyb3VuZC1jb2xvci1ob3ZlcjtcclxuICBcclxuICAgIC5jYWxlbmRhcl9fZGF0ZSxcclxuICAgIC5jYWxlbmRhcl9fcHJpY2Uge1xyXG4gICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC8vIE1vZGlmaWVycyEhXHJcbiAgLy8gXCJGaXJzdCBzZWxlY3RlZFwiIGRhdGUgbW9kaWZpZXJcclxuICAvLyA9PT09PT09PT09PT1cclxuICAuY2FsZW5kYXJfX2RheS5zZWxlY3RlZCAmLFxyXG4gIC5jYWxlbmRhcl9fZGF5LnNlbGVjdGVkICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogJGNhbGVuZGFyLWJhY2tncm91bmQtY29sb3Itc2VsZWN0ZWQ7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY2FsZW5kYXItYmFja2dyb3VuZC1jb2xvci1zZWxlY3RlZDtcclxuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcblxyXG4gICAgLmNhbGVuZGFyX19kYXRlLFxyXG4gICAgLmNhbGVuZGFyX19wcmljZSB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC8vIFwiRGlzYWJsZWRcIiBkYXRlIG1vZGlmaWVyXHJcbiAgLy8gPT09PT09PT09PT09XHJcbiAgJi5kaXNhYmxlZCxcclxuICAmLmRpc2FibGVkOmhvdmVyLFxyXG4gIC5pbnJhbmdlICYuZGlzYWJsZWQsXHJcbiAgLmlucmFuZ2UgJi5kaXNhYmxlZDpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY2FsZW5kYXItYmFja2dyb3VuZC1jb2xvci1kaXNhYmxlZDtcclxuICAgIGN1cnNvcjogaW5pdGlhbDtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNhbGVuZGFyLWJhY2tncm91bmQtY29sb3ItZGlzYWJsZWQ7XHJcbiAgICAuY2FsZW5kYXJfX2RhdGUge1xyXG4gICAgICBjb2xvcjogJGNhbGVuZGFyLXRleHQtY29sb3ItZGlzYWJsZWQ7XHJcbiAgICB9XHJcbiAgICAuY2FsZW5kYXJfX3ByaWNlOmFmdGVyIHtcclxuICAgICAgY29udGVudDogJ1xcMDBhMCc7IC8vIEJsYW5rIHByaWNlIHBsYWNlaG9sZGVyLlxyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUsXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogbm9uZTsgLy8gTm8gZXh0ZW5zaW9ucyBiZWZvcmUgb3IgYWZ0ZXIgdGhlIGRpc2FibGVkIGJveFxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAvLyBcIkxvd2VzdCByYXRlXCIgZGF0ZSBtb2RpZmllclxyXG4gIC8vID09PT09PT09PT09PVxyXG4gICYubG93ZXN0LXJhdGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhbGVuZGFyLXRleHQtbG93ZXN0LXJhdGU7XHJcbiAgfVxyXG5cclxuICAuY2FsZW5kYXJfX2RhdGUsXHJcbiAgLmNhbGVuZGFyX19wcmljZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIHRyYW5zaXRpb246IHRvcCAuNHMgZWFzZSwgb3BhY2l0eSAuNHMgZWFzZSwgdmlzaWJpbGl0eSAuNHMgZWFzZTtcclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuLyogTG9hZGluZyBvdmVybGF5XHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uY2FsZW5kYXJfX2xvYWRpbmcge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgei1pbmRleDogMTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHJlZCwgMC41KTsgLy8gVE9ETzogR2V0IGJldHRlciBsb2FkaW5nIHN0YXRlXHJcbn1cclxuXHJcblxyXG4vKiBDYWxlbmRhciBsZWdlbmRcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5jYWxlbmRhcl9fbGVnZW5kIHtcclxuICBwYWRkaW5nOiAwIDEuNXJlbTtcclxuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG59XHJcblxyXG4uY2FsZW5kYXJfX2xlZ2VuZC1ibHVyYiB7XHJcbiAgY29sb3I6ICRib2R5Q29weTtcclxuICBmb250LXNpemU6IDAuOXJlbTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4uY2FsZW5kYXJfX2xlZ2VuZC1pbm5lciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwYWRkaW5nOiAwIDAgJHN0YW5kYXJkU3BhY2luZyAvIDIgMDsgLy8gTW9kaWZ5IHVzZWQgY29tcG9uZW50c1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAuY2FsZW5kYXJfX2RheS1kYXRhIHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwLjVyZW0gMnJlbTtcclxuICB9XHJcblxyXG4gIC5jYWxlbmRhcl9fZGF5LWRhdGE6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDsgLy8gcmVzZXQgaG92ZXIgc3RhdGUgZm9yIGRheSBkYXRhXHJcbiAgfVxyXG5cclxuICAuY2FsZW5kYXJfX2RheTpmaXJzdC1vZi10eXBlIHtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICB9XHJcblxyXG4gIC5jYWxlbmRhcl9fZGF5IHtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbi1yaWdodDogJHN0YW5kYXJkU3BhY2luZyAvIDQ7XHJcbiAgfVxyXG4gIC5jYWxlbmRhcl9fZGF5LnNlbGVjdGVkIC5jYWxlbmRhcl9fZGF5LWRhdGE6YWZ0ZXIge1xyXG4gICAgY29udGVudDogbm9uZTsgLy8gRG9uJ3Qgc2hvdyBleHRlbmRlZCBib3ggb24gbGVnZW5kLlxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qIE1vZGlmaWVyc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmNhbGVuZGFyX193ZWVrLS1oZWFkZXIge1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblxyXG4gIC5jYWxlbmRhcl9fZGF5LW5hbWUge1xyXG4gICAgY29sb3I6ICRjYWxlbmRhci1oZWFkZXItY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG4uY2FsZW5kYXJfX3ByaWNlLS1kaXNhYmxlZCB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmNhbGVuZGFyX19kYXktLWlucmFuZ2Uge1xyXG5cclxuICAuY2FsZW5kYXJfX2RheS1kYXRhIHtcclxuICAgIGJhY2tncm91bmQ6ICRjYWxlbmRhci1iYWNrZ3JvdW5kLWNvbG9yLXNlbGVjdGVkO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNhbGVuZGFyLWJhY2tncm91bmQtY29sb3Itc2VsZWN0ZWQ7XHJcblxyXG4gICAgLmNhbGVuZGFyX19kYXRlLFxyXG4gICAgLmNhbGVuZGFyX19wcmljZSB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY2FsZW5kYXJfX2NvbnRyb2wtLXByZXYge1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIG1hcmdpbi1yaWdodDogMjBweDtcclxufVxyXG5cclxuLy8gY2hlY2tvdXQgdGV4dCBpbiBjYWxlbmRhciBkYXkgZGF0YVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi5jYWxlbmRhci0tY2hlY2tvdXQtdGV4dC12aXNpYmxlIHtcclxuXHJcbiAgLmNhbGVuZGFyX19kYXRlLWNoZWNrb3V0LXRleHQge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgLmNhbGVuZGFyX19kYXktZGF0YSB7XHJcblxyXG4gICAgLmNhbGVuZGFyX19kYXRlIHtcclxuICAgICAgdG9wOiAxMDBweDtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgfVxyXG5cclxuICAgIC5jYWxlbmRhcl9fcHJpY2Uge1xyXG4gICAgICB0b3A6IDEwMHB4O1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLyogTWVkaWEgcXVlcmllc1xyXG49PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aDg2NSkge1xyXG4gIC8vIERheSBib3ggc2l6ZVxyXG4gIC5jYWxlbmRhcl9fZGF5IHtcclxuICAgIHBhZGRpbmc6IDAuMjVyZW07XHJcbiAgfSAvLyBEYXkgYm94IHNpemVcclxuICAuY2FsZW5kYXJfX2RheS1kYXRhIHtcclxuICAgIHBhZGRpbmc6IDAuMjVyZW07XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHdpZHRoNjc4KSB7XHJcbiAgLy8gRGF5IGJveCBzaXplXHJcbiAgLmNhbGVuZGFyX19kYXkge1xyXG4gICAgcGFkZGluZzogMC4xMjVyZW07XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gTW9iaWxlcyB1cFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkBtZWRpYSAobWluLXdpZHRoOiAkd2lkdGg2NzgpIHtcclxuXHJcbiAgLmNhbGVuZGFyX19kYXktZGF0YSB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgZm9udC1zaXplOiAwLjhlbTtcclxuICB9XHJcblxyXG4gIC5jYWxlbmRhcl9fZ3JpZCB7XHJcbiAgICBtYXJnaW46IDAgLTRweDtcclxuICB9XHJcblxyXG4gIC5jYWxlbmRhcl9fcHJpY2Uge1xyXG4gICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgfVxyXG5cclxuICAuY2FsZW5kYXJfX2xlZ2VuZC1pbm5lciB7XHJcbiAgXHJcbiAgICAuY2FsZW5kYXJfX2RheS1kYXRhIHtcclxuICAgICAgcGFkZGluZzogMC41cmVtIDJyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY2FsZW5kYXJfX2xlZ2VuZC1ibHVyYiB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8vIGRldmljZXMgdXBcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AbWVkaWEgKG1pbi13aWR0aDogJHdpZHRoODY1KSB7XHJcbiAgXHJcbiAgLmNhbGVuZGFyX19sZWdlbmQge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG5cclxuICAuY2FsZW5kYXJfX2xlZ2VuZC1ibHVyYiB7XHJcbiAgICBmb250LXNpemU6IDAuOHJlbTtcclxuICAgIHBhZGRpbmctbGVmdDogJGNhbGVuZGFyLWRheS1wYWRkaW5nO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHN0YW5kYXJkU3BhY2luZyAvIDQ7XHJcbiAgfVxyXG4gIFxyXG4gIC5jYWxlbmRhcl9fcHJpY2Uge1xyXG4gICAgZm9udC1zaXplOiAyMXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodDtcclxuICB9XHJcblxyXG4gIC5jYWxlbmRhcl9fY29udHJvbHMge1xyXG4gICAgcGFkZGluZzogMjBweCAwIDQwcHggMDtcclxuICB9XHJcblxyXG4gIC5jYWxlbmRhci1kYXlfX2RhdGEge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9XHJcblxyXG4gIC5jYWxlbmRhcl9fZGF5LWRhdGEge1xyXG4gICAgZm9udC1zaXplOiAwLjc1ZW07XHJcbiAgfVxyXG5cclxuICAuY2FsZW5kYXJfX2NvbnRyb2wtLXByZXYge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xyXG4gIH1cclxuICBcclxuICAvKiBNZWRpYSBxdWVyeSBNb2RpZmllcnNcclxuICA9PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAuY2FsZW5kYXJfX3dlZWstLWhlYWRlciB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG4gIFxyXG59XHJcbiIsIi8qKlxyXG4gKiBOYW1lOiBBdmFpbGFiaWxpdHkgY2FsZW5kYXJcclxuICpcclxuICogQ29udHJvbHMgbGF5b3V0IGZvciBBdmFpbGFiaWxpdHkgY2FsZW5kYXIgaW1wbGVtZW50YXRpb25cclxuICovXHJcblxyXG4vKiBWYXJpYWJsZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiRhdmFpbGFiaWxpdHktY2FsZW5kYXItZGFyay1ncmF5OiAjNjY2NjY2ICFkZWZhdWx0O1xyXG4kYXZhaWxhYmlsaXR5LWNhbGVuZGFyLWVycm9yLWJhY2tncm91bmQ6IHJlZCAhZGVmYXVsdDtcclxuJGF2YWlsYWJpbGl0eS1jYWxlbmRhci1lcnJvci10ZXh0LWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcclxuJGF2YWlsYWJpbGl0eS1jYWxlbmRhci1mbGFzaC1jb2xvcjogJGJyYW5kR29sZCAhZGVmYXVsdDtcclxuJGF2YWlsYWJpbGl0eS1jYWxlbmRhci1saW5rLWNvbG9yOiBibHVlICFkZWZhdWx0OyAvLyBPdGhlciBjb21wb25lbnQgdmFyaWFibGVzXHJcbiRjYWxlbmRhci1iYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcclxuJGhlYWRlci1oZWlnaHQ6IDhyZW0gIWRlZmF1bHQ7XHJcbiRhdmFpbGFiaWxpdHktY2FsZW5kYXItZmxhc2gtaGVpZ2h0OiAxLjc1cmVtO1xyXG4kYXZhaWxhYmlsaXR5LWNhbGVuZGFyLWZsYXNoLXdpZHRoOiAyMHJlbTtcclxuJGF2YWlsYWJpbGl0eS1jYWxlbmRhci1mbGFzaC1ob2xkZXItaGVpZ2h0OiAxcmVtO1xyXG5cclxuLyogRWxlbWVudHNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vIEhvbGRlclxyXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8vIHN0YWNrIG9uIG1vYmlsZXNcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtICN7JGhlYWRlci1oZWlnaHR9KTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLmF2YWlsYWJpbGl0eS1jYWxlbmRhci0tc3RhbmRhbG9uZSB7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4vLyBMb2FkaW5nIHN0YXRlXHJcbi5hdmFpbGFiaWxpdHktY2FsZW5kYXItLWVycm9yLFxyXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyLS1sb2FkaW5nIC5jYWxlbmRhciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNhbGVuZGFyLWJhY2tncm91bmQtY29sb3IsIDAuNSk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBFcnJvciBzdGF0ZVxyXG4vLyBUT0RPOiBnZXQgZGVzaWduXHJcbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX2Vycm9yIHtcclxuICBmbGV4LWJhc2lzOiAxMDAlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19lcnJvci10ZXh0IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXZhaWxhYmlsaXR5LWNhbGVuZGFyLWVycm9yLWJhY2tncm91bmQ7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gIGNvbG9yOiAkYXZhaWxhYmlsaXR5LWNhbGVuZGFyLWVycm9yLXRleHQtY29sb3I7XHJcbiAgcGFkZGluZzogJHN0YW5kYXJkU3BhY2luZy8yO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufVxyXG5cclxuLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fZXJyb3ItdGV4dDplbXB0eSB7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLy8gQ2FsZW5kYXIgaG9sZGVyXHJcbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX2NhbGVuZGFyIHtcclxuICBmbGV4LWdyb3c6IDE7XHJcbiAgcGFkZGluZzogMCAkc3RhbmRhcmRTcGFjaW5nO1xyXG59XHJcblxyXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19oZWFkZXIge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXNpemU6IDJyZW07XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBtYXJnaW46ICRzdGFuZGFyZFNwYWNpbmc7XHJcbn1cclxuXHJcbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX3N1Yi1oZWFkZXIge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xyXG59XHJcblxyXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19tYWluIHtcclxuICBwYWRkaW5nLXRvcDogMDtcclxuICB3aWR0aDogODUlO1xyXG4gIG1heC13aWR0aDogNjByZW07XHJcbiAgbWFyZ2luOiAwIDUlO1xyXG4gIGZsZXgtc2hyaW5rOiAxO1xyXG4gIG9yZGVyOiAyOyAvLyBtb3ZlIGRvd24gb24gbW9iaWxlXHJcbiAgcGFkZGluZy10b3A6IDYwcHg7XHJcbn1cclxuXHJcbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX3NpZGViYXIge1xyXG4gIGZsZXgtYmFzaXM6IGF1dG87XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG9yZGVyOiAxOyAvLyBicmluZyB0byB0b3Agb24gbW9iaWxlXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kR3JleUxpZ2h0O1xyXG4gIHotaW5kZXg6IDE7IC8vIHN0b3BzIGxvYWRlciBpbiBjYWxlbmRhciBvdmVybGFwcGluZyBzaWRlYmFyIG9uIG1vYmlsZXNcclxuICAvLyBzdGlja3kgb24gbW9iaWxlXHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogOTBweDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgLmJ1dHRvbiB7XHJcbiAgICBtYXJnaW4tdG9wOiAkc3RhbmRhcmRTcGFjaW5nO1xyXG4gICAgYW5pbWF0aW9uOiBmYWRlSW4gMC4ycyBmb3J3YXJkcztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG5cclxuLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fc2lkZWJhci10aXRsZSB7XHJcbiAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udDtcclxuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xyXG4gIGZvbnQtc2l6ZTogMzJweDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIG1hcmdpbjogMjBweCAwIDIwcHggMDtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19zaWRlYmFyLWVkaXQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBwYWRkaW5nOiAwICRzdGFuZGFyZFNwYWNpbmc7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBtaW4taGVpZ2h0OiA2MHB4O1xyXG59XHJcblxyXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19zaWRlYmFyLWVkaXQtdGl0bGUge1xyXG4gIGNvbG9yOiAkYXZhaWxhYmlsaXR5LWNhbGVuZGFyLWRhcmstZ3JheTtcclxuICBwYWRkaW5nOiAwIDEwcHggMCAwO1xyXG59XHJcblxyXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19zaWRlYmFyLWxpbmsge1xyXG4gIGNvbG9yOiAkYnJhbmRHb2xkO1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG59XHJcblxyXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19kYXRlcyxcclxuLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fY29uZmlnIHtcclxuICBwYWRkaW5nOiAkc3RhbmRhcmRTcGFjaW5nO1xyXG59XHJcblxyXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19kYXRlcyB7XHJcbiAgZmxleC1ncm93OiAxO1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX2NvbmZpZyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcclxufVxyXG5cclxuLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fc2lkZWJhci1yb3cge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBmb250LXNpemU6IDAuOXJlbTtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJyYW5kR3JleTtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgcGFkZGluZzogJHN0YW5kYXJkU3BhY2luZyAwO1xyXG5cclxuICAmLS1wcmljZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAkc3RhbmRhcmRTcGFjaW5nLzI7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICB9XHJcbn1cclxuXHJcbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX3NpZGViYXItcm93OmZpcnN0LW9mLXR5cGUge1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYnJhbmRHcmV5O1xyXG59XHJcblxyXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19kYXRhLXJvdy0tZGF0ZXMge1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxufVxyXG5cclxuLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fc2lkZWJhci1yb3ctLXByaWNlIHtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbn1cclxuXHJcbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX3NpZGViYXItcm93LWhlYWRlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luLWJvdHRvbTogJHN0YW5kYXJkU3BhY2luZy8yO1xyXG59XHJcblxyXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19zaWRlYmFyLXJvdy1yb29tLW5hbWUge1xyXG4gIGNvbG9yOiAkYnJhbmRHb2xkO1xyXG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQ7XHJcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodDtcclxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxufVxyXG5cclxuLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fZGF0ZSB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX2ZsYXNoLWNvbnRhaW5lciB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGhlaWdodDogJGF2YWlsYWJpbGl0eS1jYWxlbmRhci1mbGFzaC1oZWlnaHQgK1xyXG4gICAgJGF2YWlsYWJpbGl0eS1jYWxlbmRhci1mbGFzaC1ob2xkZXItaGVpZ2h0ICsgMiAqICRzdGFuZGFyZFNwYWNpbmc7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgb3JkZXI6IDE7XHJcbn1cclxuXHJcbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX2ZsYXNoIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXZhaWxhYmlsaXR5LWNhbGVuZGFyLWZsYXNoLWNvbG9yO1xyXG4gIHBhZGRpbmc6IDEuNXJlbSAwLjVyZW0gMXJlbSAwLjVyZW07XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG4gIGhlaWdodDogJGF2YWlsYWJpbGl0eS1jYWxlbmRhci1mbGFzaC1ob2xkZXItaGVpZ2h0O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYygtMTAwJSAtICN7JGF2YWlsYWJpbGl0eS1jYWxlbmRhci1mbGFzaC1oZWlnaHR9KSlcclxuICAgIHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogJGF2YWlsYWJpbGl0eS1jYWxlbmRhci1mbGFzaC1oZWlnaHQgNTB2dyAwIDUwdnc7XHJcbiAgICBib3JkZXItY29sb3I6ICRhdmFpbGFiaWxpdHktY2FsZW5kYXItZmxhc2gtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnRcclxuICAgICAgdHJhbnNwYXJlbnQ7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICBib3R0b206IC0kYXZhaWxhYmlsaXR5LWNhbGVuZGFyLWZsYXNoLWhlaWdodDsgLy8gZmFsbGJhY2tcclxuICAgIGJvdHRvbTogY2FsYygtI3skYXZhaWxhYmlsaXR5LWNhbGVuZGFyLWZsYXNoLWhlaWdodH0gKyAwLjA1cmVtKTtcclxuICB9XHJcblxyXG4gIC5hdmFpbGFiaWxpdHktY2FsZW5kYXItLWxvYWRpbmcgJixcclxuICAuYXZhaWxhYmlsaXR5LWNhbGVuZGFyLS1lcnJvciAmIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19mbGFzaC10ZXh0IHtcclxuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xyXG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbn1cclxuXHJcbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX2ZsYXNoLS1jaGVja2luIHtcclxuICAuaXNDaGVja0luICYge1xyXG4gICAgYW5pbWF0aW9uOiBmbGFzaFNsaWRlRG93biAwLjVzIGZvcndhcmRzO1xyXG4gIH1cclxufVxyXG5cclxuLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fZmxhc2gtLWNoZWNrb3V0IHtcclxuICAuaXNDaGVja091dCAmIHtcclxuICAgIGFuaW1hdGlvbjogZmxhc2hTbGlkZURvd24gMC41cyAwLjI1cyBmb3J3YXJkcztcclxuICB9XHJcbn1cclxuXHJcbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX2ZsYXNoLS1jb21wbGV0ZSB7XHJcbiAgLmJvdGhTZWxlY3RlZCAmIHtcclxuICAgIGFuaW1hdGlvbjogZmxhc2hTbGlkZURvd24gMC41cyAwLjI1cyBmb3J3YXJkcztcclxuICB9XHJcbn1cclxuXHJcbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX21pbmktY29udHJvbHMge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fdGl0bGUtcGFuZWwge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBtYXJnaW46IDAgMCAyMHB4IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgLy8gYmFja2dyb3VuZCBmb3IgLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fZmxhc2gsIGZpeGVzIGdhcCBvbiBpbiBiZXR3ZWVuIGF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fZmxhc2ggYW5kIHNpZGViYXIgd2hlbiBwYWdlIGxvYWRzIG9uIG1vYmlsZVxyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRvcDogLTUwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXZhaWxhYmlsaXR5LWNhbGVuZGFyLWZsYXNoLWNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fbWFpbi10aXRsZSB7XHJcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIG9yZGVyOiAyO1xyXG4gIG1hcmdpbjogMTVweCAwIDE1cHggMDtcclxuICBmb250LXNpemU6IDJyZW07XHJcbiAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udDtcclxufVxyXG5cclxuLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fc3ViLXRpdGxlIHtcclxuICBmb250LXNpemU6IDAuOHJlbTtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgc3BhbiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbn1cclxuXHJcbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX3RpdGxlLXBhbmVsLWJvZHkge1xyXG4gIG1hcmdpbjogMDtcclxuICBvcmRlcjogMjtcclxuICBmb250LXNpemU6IDFyZW07XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX3Byb21vLWRyb3Bkb3duIHtcclxuICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBwYWRkaW5nOiAwICRzdGFuZGFyZFNwYWNpbmc7XHJcbn1cclxuXHJcbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX3Byb21vLXRvZ2dsZSB7XHJcbiAgZm9udC1zaXplOiAxcmVtO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiAyMjBweDtcclxuICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fcHJvbW8tdGl0bGUge1xyXG4gIGNvbG9yOiAkYnJhbmRHb2xkO1xyXG4gIGZvbnQtc2l6ZTogMnJlbTtcclxuICBmb250LWZhbWlseTogJGhlYWRlci1mb250O1xyXG4gIG1hcmdpbi10b3A6IDUwcHg7XHJcbn1cclxuXHJcbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX3Byb21vLXBhcmFncmFwaCB7XHJcbiAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG59XHJcblxyXG4vKiBNb2JpbGUgZm9vdGVyXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19tb2JpbGUtZm9vdGVyIHtcclxuICBvcmRlcjogMztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRHcmV5TGlnaHQ7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgcGFkZGluZzogMXJlbSAkc3RhbmRhcmRTcGFjaW5nO1xyXG4gIG9wYWNpdHk6IDA7XHJcbn1cclxuXHJcbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX21vYmlsZS1mb290ZXItLXN0aWNreSB7XHJcbiAgYW5pbWF0aW9uOiBtb2JpbGVGb290ZXJTbGlkZVVwIDAuMnM7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX21vYmlsZS1mb290ZXItdG90YWwge1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGNvbG9yOiAkYXZhaWxhYmlsaXR5LWNhbGVuZGFyLWRhcmstZ3JheTtcclxufVxyXG5cclxuLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fbW9iaWxlLWZvb3Rlci1idXR0b24ge1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cclxuICAuYnV0dG9uLS1mdWxsIHtcclxuICAgIHBhZGRpbmc6IDEwcHggMzBweDtcclxuICB9XHJcbn1cclxuXHJcbi5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX21vYmlsZS1mb290ZXItdG90YWwtcHJpY2Uge1xyXG4gIGZvbnQtc2l6ZTogMS42cmVtO1xyXG4gIGNvbG9yOiAkYnJhbmRHb2xkO1xyXG59XHJcblxyXG4vKiBTaWRlYmFyIHNlYXJjaCBmb3JtXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19zZWFyY2gtZm9ybSB7XHJcbiAgcGFkZGluZzogMCAycmVtO1xyXG5cclxuICAuc2VjdGlvbl9fc3ViLWhlYWRlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19tb2JpbGUtbWFpbi10aXRsZSB7XHJcbiAgZm9udC1zaXplOiAycmVtO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDAgMjhweDtcclxufVxyXG5cclxuLyogTW9kaWZpZXJzXHJcbj09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyLS1oaWRkZW4tb24tbW9iaWxlIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19zaWRlYmFyLS1oaWRkZW4ge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIEFuaW1hdGlvbnNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBrZXlmcmFtZXMgZmxhc2hTbGlkZURvd24ge1xyXG4gIDAlIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC0xMDAlIC0gI3skYXZhaWxhYmlsaXR5LWNhbGVuZGFyLWZsYXNoLWhlaWdodH0pKVxyXG4gICAgICB0cmFuc2xhdGVYKC01MCUpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKC01MCUpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBtb2JpbGVGb290ZXJTbGlkZVVwIHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xyXG4gIH1cclxuICAxJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICB9XHJcbn1cclxuXHJcbi8qIE1lZGlhIHF1ZXJpZXNcclxuPT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGgxMjgwKSB7XHJcbiAgLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fbWFpbiB7XHJcbiAgICBtYXJnaW46IDAgMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuLy8gTW9iaWxlcyB1cFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkBtZWRpYSAobWluLXdpZHRoOiAkd2lkdGg2NzgpIHtcclxuICAuYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19tb2JpbGUtZm9vdGVyLWJ1dHRvbiB7XHJcbiAgICAuYnV0dG9uLS1mdWxsIHtcclxuICAgICAgcGFkZGluZzogMTVweCA1MHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gRGV2aWNlcyB1cFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkBtZWRpYSAobWluLXdpZHRoOiAkd2lkdGg4NjUpIHtcclxuICAuYXZhaWxhYmlsaXR5LWNhbGVuZGFyLS1oaWRkZW4tb24tbW9iaWxlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZTtcclxuICB9XHJcblxyXG4gIC5hdmFpbGFiaWxpdHktY2FsZW5kYXIge1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fZmxhc2gtY29udGFpbmVyIHtcclxuICAgIG9yZGVyOiAyO1xyXG4gIH1cclxuXHJcbiAgLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fbWFpbiB7XHJcbiAgICBvcmRlcjogMTtcclxuICAgIHRvcDogMDtcclxuICAgIHBhZGRpbmc6IDAgJHN0YW5kYXJkU3BhY2luZztcclxuICB9XHJcblxyXG4gIC5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX21haW4tdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAzMnB4O1xyXG4gICAgbWFyZ2luOiAyMHB4IDAgMTBweCAwO1xyXG4gICAgb3JkZXI6IDE7XHJcbiAgfVxyXG5cclxuICAuYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19zaWRlYmFyIHtcclxuICAgIG9yZGVyOiAyO1xyXG4gICAgd2lkdGg6IDEwMCU7IC8vIGZhbGxiYWNrIGZvciBmbGV4IGJhc2lzXHJcbiAgICBmbGV4LWJhc2lzOiAzNXJlbTtcclxuICAgIG1heC13aWR0aDogNDUwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAwO1xyXG5cclxuICAgIC8vIGFkZCBib3JkZXIgbGluZVxyXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6IDBweDtcclxuICAgICAgdG9wOiAzMHB4O1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBoZWlnaHQ6IDk1JTtcclxuICAgICAgd2lkdGg6IDJweDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kR3JleUxpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fc2lkZWJhci10aXRsZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gIC5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX3NpZGViYXItbGluayB7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICB9XHJcblxyXG4gIC5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX2RhdGVzIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuXHJcbiAgLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fc2lkZWJhci1lZGl0IHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1pbi1oZWlnaHQ6IDA7XHJcbiAgfVxyXG5cclxuICAuYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19zaWRlYmFyLWVkaXQtdGl0bGUge1xyXG4gICAgY29sb3I6ICRib2R5Q29weTtcclxuICAgIHBhZGRpbmc6IDAgMzBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgfVxyXG5cclxuICAuYXZhaWxhYmlsaXR5LWNhbGVuZGFyX190aXRsZS1wYW5lbCB7XHJcbiAgICBtYXJnaW46IDMwcHggMCAxNXB4IDA7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fdGl0bGUtcGFuZWwtYm9keSB7XHJcbiAgICBvcmRlcjogMjtcclxuICAgIG1hcmdpbjogMCAwIDIwcHggMDtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4gICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgfVxyXG5cclxuICAuYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19jYWxlbmRhciB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRicmFuZEdyZXlMaWdodDtcclxuICB9XHJcblxyXG4gIC5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX2ZsYXNoIHtcclxuICAgIHBhZGRpbmc6IDFyZW0gMC41cmVtO1xyXG4gICAgd2lkdGg6ICRhdmFpbGFiaWxpdHktY2FsZW5kYXItZmxhc2gtd2lkdGg7XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIC8vYm9yZGVyLXdpZHRoOiAkYXZhaWxhYmlsaXR5LWNhbGVuZGFyLWZsYXNoLWhlaWdodCAjeygkYXZhaWxhYmlsaXR5LWNhbGVuZGFyLWZsYXNoLXdpZHRoLzIpICsgKCRzdGFuZGFyZFNwYWNpbmcvMil9IDAgI3soJGF2YWlsYWJpbGl0eS1jYWxlbmRhci1mbGFzaC13aWR0aC8yKSArICgkc3RhbmRhcmRTcGFjaW5nLzIpfTtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAxLjc1cmVtIDEwLjU5cmVtIDAgMTAuNTlyZW07IC8vIGNvdWxkIG5vdCB1c2UgJGF2YWlsYWJpbGl0eS1jYWxlbmRhci1mbGFzaC13aWR0aCBhbmQgaGVyZSBhcyBpdCB3YXMgY2F1c2luZyBwcm9ibGVtcywgYWRkZWQgbWFudWFsIGZpZ3VyZXNcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX21vYmlsZS1mb290ZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTsgLy8gaGlkZSBvbiBkZXZpY2VzIGFuZCBkZXNrdG9wXHJcbiAgfVxyXG5cclxuICAuYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19zZWFyY2gtZm9ybSB7XHJcbiAgICBwYWRkaW5nOiA2MHB4IDAgMCAwO1xyXG4gIH1cclxuXHJcbiAgLmF2YWlsYWJpbGl0eS1jYWxlbmRhcl9fbW9iaWxlLW1haW4tdGl0bGUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIC5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX2RhdGVzLFxyXG4gIC5hdmFpbGFiaWxpdHktY2FsZW5kYXJfX2NvbmZpZyB7XHJcbiAgICBwYWRkaW5nOiAycmVtO1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6ICR3aWR0aDEyODApIHtcclxuICAuYXZhaWxhYmlsaXR5LWNhbGVuZGFyX19tYWluIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG59XHJcbiIsIi8qKlxyXG4gKiBOYW1lOiBHbGVuIEFjY29yZGlvblxyXG4gKlxyXG4gKiBDdXN0b20gc3R5bGVzIGZvciB0aGUgY29tcG9uZW50IGNyZWF0ZWQgdXNpbmcgbnBtIHBhY2thZ2UgcmVhY3QtYWNjZXNzaWJsZS1hY2NvcmRpb25cclxuICogcHJlZml4IHRoZSBhY2NvcmRpb24gY2xhc3Mgd2l0aCBcImdsZW4tXCIgdG8gcHJldmVudCBhbnkgY2xhc3MgY2xhc2hlc1xyXG4gKi9cclxuXHJcblxyXG4uYWNjb3JkaW9uX19ib2R5IHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIG1heC1oZWlnaHQ6IDk5OTlweDsgLy8gdHJhbnNpdGlvbiBtYXgtaGVpZ2h0XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQsIG1heC1oZWlnaHQgLjJzIC4ycyBjdWJpYy1iZXppZXIoLjk3LC4wMiwuNDgsLjk5KSwgcGFkZGluZyAuMXMgLjJzO1xyXG59XHJcblxyXG4uYWNjb3JkaW9uX19ib2R5LS1oaWRkZW4ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIG1heC1oZWlnaHQ6IDBweDtcclxufSJdfQ== */
