@charset "UTF-8";
/* functions
-------------------------------------------------- */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  src: url("../font/Montserrat-Light.eot");
  src: url("../font/Montserrat-Light.woff2") format("woff2"), url("../font/Montserrat-Light.woff") format("woff");
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  src: url("../font/Montserrat-SemiBold.eot");
  src: url("../font/Montserrat-SemiBold.woff2") format("woff2"), url("../font/Montserrat-SemiBold.woff") format("woff");
}

@font-face {
  font-family: "NotoSans";
  font-style: normal;
  font-weight: 100;
  src: url("../font/NotoSansCJKkr-Light-subset.eot");
  src: url("../font/NotoSansCJKkr-Light-subset.woff2") format("woff2"), url("../font/NotoSansCJKkr-Light-subset.woff") format("woff");
}

@font-face {
  font-family: "NotoSans";
  font-style: normal;
  font-weight: 400;
  src: url("../font/NotoSansCJKkr-Regular-subset.eot");
  src: url("../font/NotoSansCJKkr-Regular-subset.woff2") format("woff2"), url("../font/NotoSansCJKkr-Regular-subset.woff") format("woff");
}

@font-face {
  font-family: "NotoSans";
  font-style: normal;
  font-weight: 700;
  src: url("../font/NotoSansCJKkr-Medium-subset.eot");
  src: url("../font/NotoSansCJKkr-Medium-subset.woff2") format("woff2"), url("../font/NotoSansCJKkr-Medium-subset.woff") format("woff");
}

/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

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

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block;
}

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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

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

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

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

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

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

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

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

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

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

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

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

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

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

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

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

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

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

html {
  font-size: 62.5%;
}

html,
body {
  min-height: 100%;
}

body {
  font-size: 1em;
  line-height: 1.5;
  -webkit-overflow-scrolling: touch;
  letter-spacing: -0.025em;
}

a {
  color: #535353;
  text-decoration: none;
}

pre {
  white-space: pre-wrap;
  word-wrap: break-word;
}

ul, ol, dl,
dt, dd {
  margin: 0;
  padding: 0;
}

ul, ol, li {
  list-style: none;
}

em, address {
  font-style: normal;
}

figure, form {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0 none;
  vertical-align: top;
}

label {
  cursor: pointer;
}

button,
input,
select,
textarea {
  font-size: 100%;
  margin: 0;
  vertical-align: baseline;
}

button {
  -webkit-appearance: none;
  box-sizing: content-box;
  padding: .4em 1em;
  border: 0 none;
  background: transparent;
  cursor: pointer;
}

input[type="checkbox"],
input[type="radio"] {
  vertical-align: middle;
}

input[type="search"] {
  -webkit-appearance: none;
  border-radius: 0;
}

textarea {
  vertical-align: top;
  resize: vertical;
}

input:invalid,
textarea:invalid {
  background-color: #ebebeb;
}

table {
  width: 100%;
  empty-cells: show;
}

td {
  vertical-align: middle;
}

select {
  vertical-align: middle;
  border-radius: 0;
}

::selection {
  background: #204291;
  color: #fff;
  text-shadow: none;
}

em,
mark {
  background-color: #204291;
  color: #fff;
}

body,
input,
textarea,
select,
button {
  font-family: "NanumBarunGothic", "Malgun Gothic", "맑은 고딕", "Nanum Gothic", "나눔 고딕", "돋움", dotum, sans-serif;
  color: #535353;
}

body {
  min-width: 320px;
}

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

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
  -ms-interpolation-mode: bicubic;
}

[hidden],
.hidden {
  display: none;
}

.a11y {
  position: absolute !important;
  overflow: hidden;
  height: 1px;
  width: 1px;
  clip: rect(1px, 1px, 1px, 1px);
}

.flexible-obj {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
}

.flexible-obj iframe,
.flexible-obj object,
.flexible-obj video,
.flexible-obj embed,
.flexible-obj > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.flexible-obj iframe {
  border: 0;
}

.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
}

.flex > * {
  flex-grow: 1;
  margin-left: 10px;
}

.flex > *:first-child {
  margin-left: 0;
}

.flex + .flex {
  margin-top: 10px;
}

.obj-svg path {
  fill: #fff;
}

.iframe {
  border: 0;
}

@media (min-width: 60em) {
  .for-small {
    display: none;
  }
}

@media (max-width: 59.99em) {
  .for-large {
    display: none;
  }
}

h1, .h1 {
  font-size: 5.4rem;
  line-height: 1.3;
}

h1 [lang="en"], h1[lang="en"], .h1 [lang="en"], .h1[lang="en"] {
  font-size: 3.6rem;
}

h2, .h2 {
  font-size: 4rem;
  line-height: 1.3;
}

h2 [lang="en"], h2[lang="en"], .h2 [lang="en"], .h2[lang="en"] {
  font-size: 3.2rem;
}

h3, .h3 {
  font-size: 3.4rem;
  line-height: 1.3;
}

h3 [lang="en"], h3[lang="en"], .h3 [lang="en"], .h3[lang="en"] {
  font-size: 2.6rem;
}

h4, .h4 {
  font-size: 2.4rem;
  line-height: 1.3;
}

h4 [lang="en"], h4[lang="en"], .h4 [lang="en"], .h4[lang="en"] {
  font-size: 2.0rem;
}

h5, .h5 {
  font-size: 1.8rem;
  line-height: 1.6;
}

h5 [lang="en"], h5[lang="en"], .h5 [lang="en"], .h5[lang="en"] {
  font-size: 1.6rem;
}

.btn {
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  padding: 0 1.75rem;
  color: #fff;
  vertical-align: middle;
  text-align: center;
  letter-spacing: 0;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  font-size: 1.2rem;
  line-height: 3rem;
}

.btn span {
  position: relative;
  z-index: 1;
}

.btn:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 1px solid #d7d7d7;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

.btn:hover, .btn:focus {
  text-decoration: none;
}

.btn:hover span, .btn:focus span {
  color: #fff;
}

.btn:hover:after, .btn:focus:after {
  border-color: #1382ff;
  background-color: #1382ff;
}

.btn:active:after {
  -webkit-transform: scale(0.9);
  -moz-transform: scale(0.9);
  -ms-transform: scale(0.9);
  -o-transform: scale(0.9);
  transform: scale(0.9);
}

.btn--invert span {
  color: #fff;
}

.btn--invert:after {
  border-color: #204291;
  background-color: #204291;
}

.btn--invert:hover, .btn--invert:focus {
  text-decoration: none;
}

.btn--invert:hover:after, .btn--invert:focus:after {
  border-color: #1382ff;
  background-color: #1382ff;
}

.btn--bold:after {
  border-color: #000;
  background-color: transparent;
}

.btn--bold[disabled="disabled"]:after {
  background-color: transparent;
}

.btn--white:after {
  border-color: #fff;
}

.btn--white[disabled="disabled"]:after {
  background-color: transparent;
}

.btn--ghost span {
  color: #fff;
}

.btn--ghost:after {
  border-color: #d7d7d7;
  background-color: transparent;
}

.btn--lg {
  padding-left: 4.85rem;
  padding-right: 4.85rem;
  font-size: 1.6rem;
  line-height: 5.6rem;
}

.btn--sm {
  padding-left: 1.9rem;
  padding-right: 1.9rem;
  font-size: 1.4rem;
  line-height: 3.6rem;
}

.btn--wide {
  display: block;
  width: 100%;
}

.btn[disabled="disabled"] span {
  color: #aeaeae;
}

.btn[disabled="disabled"]:after {
  opacity: 0.1;
}

@media (min-width: 35em) {
  .btn {
    padding: 0 3.75rem;
    font-size: 1.8rem;
    line-height: 4rem;
  }
}

input[type='text'] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  max-width: 100%;
  padding: 0.5rem 0;
  border: 1px solid #ccc;
}

.row {
  zoom: 1;
  margin: 0 -5px;
}

.row:before {
  content: '';
  display: block;
}

.row:after {
  content: '';
  display: table;
  clear: both;
}

@media (min-width: 45em) {
  .row {
    margin: 0 -10px;
  }
}

.col-m-1, .col-1, .col-m-2, .col-2, .col-m-3, .col-3, .col-m-4, .col-4, .col-m-5, .col-5, .col-m-6, .col-6, .col-m-7, .col-7, .col-m-8, .col-8, .col-m-9, .col-9, .col-m-10, .col-10, .col-m-11, .col-11, .col-m-12, .col-12 {
  position: relative;
  float: left;
  min-height: 1px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 5px;
}

.col-m-1 {
  width: 8.33333%;
}

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

.col-m-pull-1 {
  right: 8.33333%;
}

.col-m-push-1 {
  left: 8.33333%;
}

.col-m-2 {
  width: 16.66667%;
}

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

.col-m-pull-2 {
  right: 16.66667%;
}

.col-m-push-2 {
  left: 16.66667%;
}

.col-m-3 {
  width: 25%;
}

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

.col-m-pull-3 {
  right: 25%;
}

.col-m-push-3 {
  left: 25%;
}

.col-m-4 {
  width: 33.33333%;
}

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

.col-m-pull-4 {
  right: 33.33333%;
}

.col-m-push-4 {
  left: 33.33333%;
}

.col-m-5 {
  width: 41.66667%;
}

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

.col-m-pull-5 {
  right: 41.66667%;
}

.col-m-push-5 {
  left: 41.66667%;
}

.col-m-6 {
  width: 50%;
}

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

.col-m-pull-6 {
  right: 50%;
}

.col-m-push-6 {
  left: 50%;
}

.col-m-7 {
  width: 58.33333%;
}

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

.col-m-pull-7 {
  right: 58.33333%;
}

.col-m-push-7 {
  left: 58.33333%;
}

.col-m-8 {
  width: 66.66667%;
}

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

.col-m-pull-8 {
  right: 66.66667%;
}

.col-m-push-8 {
  left: 66.66667%;
}

.col-m-9 {
  width: 75%;
}

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

.col-m-pull-9 {
  right: 75%;
}

.col-m-push-9 {
  left: 75%;
}

.col-m-10 {
  width: 83.33333%;
}

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

.col-m-pull-10 {
  right: 83.33333%;
}

.col-m-push-10 {
  left: 83.33333%;
}

.col-m-11 {
  width: 91.66667%;
}

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

.col-m-pull-11 {
  right: 91.66667%;
}

.col-m-push-11 {
  left: 91.66667%;
}

.col-m-12 {
  width: 100%;
}

.col-m-offset-12 {
  margin-left: 100%;
}

.col-m-pull-12 {
  right: 100%;
}

.col-m-push-12 {
  left: 100%;
}

@media (max-width: 44.99em) {
  .col-1 {
    float: none;
  }
  .col-2 {
    float: none;
  }
  .col-3 {
    float: none;
  }
  .col-4 {
    float: none;
  }
  .col-5 {
    float: none;
  }
  .col-6 {
    float: none;
  }
  .col-7 {
    float: none;
  }
  .col-8 {
    float: none;
  }
  .col-9 {
    float: none;
  }
  .col-10 {
    float: none;
  }
  .col-11 {
    float: none;
  }
  .col-12 {
    float: none;
  }
}

@media (min-width: 45em) {
  .col-1 {
    width: 8.33333%;
    padding: 0 10px;
  }
  .col-offset-1 {
    margin-left: 8.33333%;
  }
  .col-pull-1 {
    right: 8.33333%;
  }
  .col-push-1 {
    left: 8.33333%;
  }
  .col-m-1 {
    padding: 0 10px;
  }
  .col-m-offset-1 {
    margin-left: 0;
  }
  .col-m-pull-1 {
    right: 0;
  }
  .col-m-push-1 {
    left: 0;
  }
  .col-2 {
    width: 16.66667%;
    padding: 0 10px;
  }
  .col-offset-2 {
    margin-left: 16.66667%;
  }
  .col-pull-2 {
    right: 16.66667%;
  }
  .col-push-2 {
    left: 16.66667%;
  }
  .col-m-2 {
    padding: 0 10px;
  }
  .col-m-offset-2 {
    margin-left: 0;
  }
  .col-m-pull-2 {
    right: 0;
  }
  .col-m-push-2 {
    left: 0;
  }
  .col-3 {
    width: 25%;
    padding: 0 10px;
  }
  .col-offset-3 {
    margin-left: 25%;
  }
  .col-pull-3 {
    right: 25%;
  }
  .col-push-3 {
    left: 25%;
  }
  .col-m-3 {
    padding: 0 10px;
  }
  .col-m-offset-3 {
    margin-left: 0;
  }
  .col-m-pull-3 {
    right: 0;
  }
  .col-m-push-3 {
    left: 0;
  }
  .col-4 {
    width: 33.33333%;
    padding: 0 10px;
  }
  .col-offset-4 {
    margin-left: 33.33333%;
  }
  .col-pull-4 {
    right: 33.33333%;
  }
  .col-push-4 {
    left: 33.33333%;
  }
  .col-m-4 {
    padding: 0 10px;
  }
  .col-m-offset-4 {
    margin-left: 0;
  }
  .col-m-pull-4 {
    right: 0;
  }
  .col-m-push-4 {
    left: 0;
  }
  .col-5 {
    width: 41.66667%;
    padding: 0 10px;
  }
  .col-offset-5 {
    margin-left: 41.66667%;
  }
  .col-pull-5 {
    right: 41.66667%;
  }
  .col-push-5 {
    left: 41.66667%;
  }
  .col-m-5 {
    padding: 0 10px;
  }
  .col-m-offset-5 {
    margin-left: 0;
  }
  .col-m-pull-5 {
    right: 0;
  }
  .col-m-push-5 {
    left: 0;
  }
  .col-6 {
    width: 50%;
    padding: 0 10px;
  }
  .col-offset-6 {
    margin-left: 50%;
  }
  .col-pull-6 {
    right: 50%;
  }
  .col-push-6 {
    left: 50%;
  }
  .col-m-6 {
    padding: 0 10px;
  }
  .col-m-offset-6 {
    margin-left: 0;
  }
  .col-m-pull-6 {
    right: 0;
  }
  .col-m-push-6 {
    left: 0;
  }
  .col-7 {
    width: 58.33333%;
    padding: 0 10px;
  }
  .col-offset-7 {
    margin-left: 58.33333%;
  }
  .col-pull-7 {
    right: 58.33333%;
  }
  .col-push-7 {
    left: 58.33333%;
  }
  .col-m-7 {
    padding: 0 10px;
  }
  .col-m-offset-7 {
    margin-left: 0;
  }
  .col-m-pull-7 {
    right: 0;
  }
  .col-m-push-7 {
    left: 0;
  }
  .col-8 {
    width: 66.66667%;
    padding: 0 10px;
  }
  .col-offset-8 {
    margin-left: 66.66667%;
  }
  .col-pull-8 {
    right: 66.66667%;
  }
  .col-push-8 {
    left: 66.66667%;
  }
  .col-m-8 {
    padding: 0 10px;
  }
  .col-m-offset-8 {
    margin-left: 0;
  }
  .col-m-pull-8 {
    right: 0;
  }
  .col-m-push-8 {
    left: 0;
  }
  .col-9 {
    width: 75%;
    padding: 0 10px;
  }
  .col-offset-9 {
    margin-left: 75%;
  }
  .col-pull-9 {
    right: 75%;
  }
  .col-push-9 {
    left: 75%;
  }
  .col-m-9 {
    padding: 0 10px;
  }
  .col-m-offset-9 {
    margin-left: 0;
  }
  .col-m-pull-9 {
    right: 0;
  }
  .col-m-push-9 {
    left: 0;
  }
  .col-10 {
    width: 83.33333%;
    padding: 0 10px;
  }
  .col-offset-10 {
    margin-left: 83.33333%;
  }
  .col-pull-10 {
    right: 83.33333%;
  }
  .col-push-10 {
    left: 83.33333%;
  }
  .col-m-10 {
    padding: 0 10px;
  }
  .col-m-offset-10 {
    margin-left: 0;
  }
  .col-m-pull-10 {
    right: 0;
  }
  .col-m-push-10 {
    left: 0;
  }
  .col-11 {
    width: 91.66667%;
    padding: 0 10px;
  }
  .col-offset-11 {
    margin-left: 91.66667%;
  }
  .col-pull-11 {
    right: 91.66667%;
  }
  .col-push-11 {
    left: 91.66667%;
  }
  .col-m-11 {
    padding: 0 10px;
  }
  .col-m-offset-11 {
    margin-left: 0;
  }
  .col-m-pull-11 {
    right: 0;
  }
  .col-m-push-11 {
    left: 0;
  }
  .col-12 {
    width: 100%;
    padding: 0 10px;
  }
  .col-offset-12 {
    margin-left: 100%;
  }
  .col-pull-12 {
    right: 100%;
  }
  .col-push-12 {
    left: 100%;
  }
  .col-m-12 {
    padding: 0 10px;
  }
  .col-m-offset-12 {
    margin-left: 0;
  }
  .col-m-pull-12 {
    right: 0;
  }
  .col-m-push-12 {
    left: 0;
  }
}

.col-12 {
  float: none;
}

@font-face {
  font-family: "icon";
  src: url("../font/icon.eot");
  src: url("../font/icon.eot?#iefix") format("eot"), url("../font/icon.woff") format("woff");
}

.icon-arrow-bottom:before, .icon-arrow-first:before, .icon-arrow-last:before, .icon-arrow-left:before, .icon-arrow-right:before, .icon-arrow-top:before, .icon-blockquote:before, .icon-blog:before, .icon-checkbox-checked:before, .icon-checkbox-unchecked:before, .icon-close:before, .icon-dropdown-down:before, .icon-dropdown-up:before, .icon-facebook:before, .icon-instagram:before, .icon-locator-circle:before, .icon-locator-symbol:before, .icon-login:before, .icon-logo:before, .icon-logout:before, .icon-play:before, .icon-reload:before, .icon-resize-back:before, .icon-resize-zoom:before, .icon-search:before, .icon-share:before, .icon-sign:before, .icon-success:before, .icon-twitter:before, .icon-url:before, .icon-warning-circle:before, .icon-warning:before, .icon-youtube:before {
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
}

.icon-arrow-bottom:before {
  content: "";
}

.icon-arrow-first:before {
  content: "";
}

.icon-arrow-last:before {
  content: "";
}

.icon-arrow-left:before {
  content: "";
}

.icon-arrow-right:before {
  content: "";
}

.icon-arrow-top:before {
  content: "";
}

.icon-blockquote:before {
  content: "";
}

.icon-blog:before {
  content: "";
}

.icon-checkbox-checked:before {
  content: "";
}

.icon-checkbox-unchecked:before {
  content: "";
}

.icon-close:before {
  content: "";
}

.icon-dropdown-down:before {
  content: "";
}

.icon-dropdown-up:before {
  content: "";
}

.icon-facebook:before {
  content: "";
}

.icon-instagram:before {
  content: "";
}

.icon-locator-circle:before {
  content: "";
}

.icon-locator-symbol:before {
  content: "";
}

.icon-login:before {
  content: "";
}

.icon-logo:before {
  content: "";
}

.icon-logout:before {
  content: "";
}

.icon-play:before {
  content: "";
}

.icon-reload:before {
  content: "";
}

.icon-resize-back:before {
  content: "";
}

.icon-resize-zoom:before {
  content: "";
}

.icon-search:before {
  content: "";
}

.icon-share:before {
  content: "";
}

.icon-sign:before {
  content: "";
}

.icon-success:before {
  content: "";
}

.icon-twitter:before {
  content: "";
}

.icon-url:before {
  content: "";
}

.icon-warning-circle:before {
  content: "";
}

.icon-warning:before {
  content: "";
}

.icon-youtube:before {
  content: "";
}

@font-face {
  font-family: 'fontello';
  src: url("../font/fontello.eot?38453321");
  src: url("../font/fontello.eot?38453321#iefix") format("embedded-opentype"), url("../font/fontello.woff2?38453321") format("woff2"), url("../font/fontello.woff?38453321") format("woff"), url("../font/fontello.ttf?38453321") format("truetype"), url("../font/fontello.svg?38453321#fontello") format("svg");
  font-weight: normal;
  font-style: normal;
}

/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'fontello';
    src: url('../font/fontello.svg?38453321#fontello') format('svg');
  }
}
*/
[class^="icon-"]:before,
[class*=" icon-"]:before {
  content: '';
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.icon-phone:before {
  content: '\e800';
}

/* '' */
.icon-clock:before {
  content: '\e801';
}

/* '' */
.icon-card:before {
  content: '\e802';
}

/* '' */
.icon-award:before {
  content: '\e803';
}

/* '' */
.icon-headphones:before {
  content: '\e804';
}

/* '' */
.icon-location:before {
  content: '\e805';
}

/* '' */
.icon-comment:before {
  content: '\e806';
}

/* '' */
.icon-clipboard:before {
  content: '\e807';
}

/* '' */
.icon-doc-text:before {
  content: '\e808';
}

/* '' */
.icon-chat:before {
  content: '\f03d';
}

/* '' */
#bp {
  position: relative;
  z-index: 1;
}

@media (min-width: 25em) {
  #bp {
    z-index: 2;
  }
}

@media (min-width: 35em) {
  #bp {
    z-index: 3;
  }
}

@media (min-width: 45em) {
  #bp {
    z-index: 4;
  }
}

@media (min-width: 60em) {
  #bp {
    z-index: 5;
  }
}

@media (min-width: 80em) {
  #bp {
    z-index: 6;
  }
}

@media (min-width: 100em) {
  #bp {
    z-index: 7;
  }
}

#wrap {
  position: relative;
  -webkit-user-drag: none;
  touch-action: pan-y;
}

.main {
  outline: none;
  background-color: #fff;
  font-size: 1.6em;
  -webkit-transition: all 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
  -moz-transition: all 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
  -ms-transition: all 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
  -o-transition: all 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: all 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.main--fog {
  background-color: #f9f9f9;
}

.main--flat {
  padding-bottom: 0;
}

#legacy-browser {
  position: fixed;
  top: 160px;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 1108px;
  margin: auto;
  background-color: #f9f9f9;
  background-color: rgba(249, 249, 249, 0.8);
  color: #343434;
  font-weight: normal;
  font-size: 16px;
  z-index: 999;
}

#legacy-browser .legacy-pad {
  padding: 60px 40px;
}

#legacy-browser .close-browser-guide {
  position: absolute;
  right: 20px;
  bottom: 20px;
  padding: 5px;
  width: 20px;
  height: 20px;
}

#legacy-browser .close-browser-guide:after {
  content: "";
  font-style: normal;
  font-weight: normal;
  font-family: "icon";
  color: #000;
}

#legacy-browser p {
  margin: 0;
}

#legacy-browser a {
  color: #000;
  border-bottom: 1px solid #204291;
}

#skipnav {
  position: absolute;
  top: 0;
  left: -100%;
  color: #fff;
  background: #535353;
  font-size: 1.6em;
}

#skipnav:focus {
  display: block;
  position: fixed;
  left: 0;
  width: 100%;
  z-index: 29999;
  padding: 20px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  vertical-align: middle;
}

.is-gnb-active:after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
  background-color: #000;
  opacity: 0.8;
}

.is-nav-active:after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 110;
  background-color: #000;
  opacity: 0.8;
}

.is-nav-active #wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
}

.func {
  margin-top: 30px;
  text-align: center;
}

.l-wrap-12 {
  position: relative;
  margin-left: 5.55556%;
  margin-right: 5.55556%;
}

@media (min-width: 60em) {
  .l-wrap-12 {
    margin-left: 6.71875%;
    margin-right: 6.71875%;
  }
}

@media (min-width: 80em) {
  .l-wrap-12 {
    margin-left: 6.71875%;
    margin-right: 6.71875%;
  }
}

.l-wrap-10 {
  position: relative;
  margin-left: 5.55556%;
  margin-right: 5.55556%;
}

@media (min-width: 60em) {
  .l-wrap-10 {
    padding-left: calc(9400% / 1280);
    padding-right: calc(9400% / 1280);
    margin-left: 6.71875%;
    margin-right: 6.71875%;
  }
}

.l-wrap-8 {
  position: relative;
  margin-left: 5.55556%;
  margin-right: 5.55556%;
}

@media (min-width: 60em) {
  .l-wrap-8 {
    padding-left: calc(18800% / 1280);
    padding-right: calc(18800% / 1280);
    margin-left: 6.71875%;
    margin-right: 6.71875%;
  }
}

.l-wrap-6 {
  position: relative;
  margin-left: 5.55556%;
  margin-right: 5.55556%;
}

@media (min-width: 60em) {
  .l-wrap-6 {
    padding-left: calc(28200% / 1280);
    padding-right: calc(28200% / 1280);
    margin-left: 6.71875%;
    margin-right: 6.71875%;
  }
}

.l-wrap-4 {
  position: relative;
  margin-left: 5.55556%;
  margin-right: 5.55556%;
}

@media (min-width: 60em) {
  .l-wrap-4 {
    padding-left: calc(37600% / 1280);
    padding-right: calc(37600% / 1280);
    margin-left: 6.71875%;
    margin-right: 6.71875%;
  }
}

.l-wrap {
  max-width: 1108px;
  padding-left: 5.55556%;
  padding-right: 5.55556%;
  margin: auto;
}

@media (min-width: 60em) {
  .l-wrap {
    padding-left: 6.71875%;
    padding-right: 6.71875%;
  }
}

.l-layout {
  max-width: 1280px;
  margin: auto;
}

@media (max-width: 59.99em) {
  .l-m-full {
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwidXRpbHMvX3ZhcmlhYmxlcy5zY3NzIiwidXRpbHMvX2Z1bmN0aW9ucy5zY3NzIiwidXRpbHMvX3ByZWZpeGVzLnNjc3MiLCJ1dGlscy9fbWl4aW5zLnNjc3MiLCJ1dGlscy9faWNvbl9saXN0LnNjc3MiLCJ1dGlscy9fZm9udHMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLW1xL19tcS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtZmxleC1taXhpbi9fZmxleC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9ybWFsaXplLmNzcy9ub3JtYWxpemUuY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLnNjc3MiLCJiYXNlL19yZXNldC5zY3NzIiwiYmFzZS9faGVscGVycy5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwibW9kdWxlcy9fZWxlbWVudHMuc2NzcyIsIm1vZHVsZXMvZWxlbWVudHMvX2J1dHRvbnMuc2NzcyIsIm1vZHVsZXMvZWxlbWVudHMvX2lucHV0LnNjc3MiLCJtb2R1bGVzL2VsZW1lbnRzL19pY29ucy5zY3NzIiwibW9kdWxlcy9fZ3JpZC5zY3NzIiwibW9kdWxlcy9faWNvbi5zY3NzIiwibW9kdWxlcy9fZm9udGVsbG8uc2NzcyIsImxheW91dC9fY29tcG9uZW50cy5zY3NzIiwibGF5b3V0L193cmFwcGVyLnNjc3MiLCJsYXlvdXQvX2hlYWRlci5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyIsImxheW91dC9fbmF2LnNjc3MiLCJsYXlvdXQvbmF2L19nbmIuc2NzcyIsImxheW91dC9uYXYvX3NpZGVuYXYuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBzdHlsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gc2FzcyBoZWxwZXJzXG5AaW1wb3J0ICd1dGlscy92YXJpYWJsZXMnO1xuQGltcG9ydCAndXRpbHMvZnVuY3Rpb25zJztcbkBpbXBvcnQgJ3V0aWxzL3ByZWZpeGVzJztcbkBpbXBvcnQgJ3V0aWxzL21peGlucyc7XG5AaW1wb3J0ICd1dGlscy9mb250cyc7XG5cbi8vIHZlbmRvcnNcbkBpbXBvcnQgJ3Nhc3MtbXEvX21xLnNjc3MnO1xuQGltcG9ydCAnc2Fzcy1mbGV4LW1peGluL19mbGV4LnNjc3MnO1xuQGltcG9ydCAnbm9ybWFsaXplLmNzcy9ub3JtYWxpemUuY3NzJztcbkBpbXBvcnQgJ3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLnNjc3MnO1xuXG4vLyBzaXRlIHN0eWxlc1xuQGltcG9ydCAnYmFzZS9yZXNldCc7XG5AaW1wb3J0ICdiYXNlL2hlbHBlcnMnO1x0Ly8gaGVscGVyIGNsYXNzZXNcbkBpbXBvcnQgJ2Jhc2UvdHlwb2dyYXBoeSc7XG5cbkBpbXBvcnQgJ21vZHVsZXMvZWxlbWVudHMnO1xuQGltcG9ydCAnbW9kdWxlcy9ncmlkJztcbkBpbXBvcnQgJ21vZHVsZXMvaWNvbic7XHQvLyB0YXNr7JeQ7IScIOyekOuPmSDsg53shLFcbkBpbXBvcnQgJ21vZHVsZXMvZm9udGVsbG8nO1x0Ly8gdGFza+yXkOyEnCDsnpDrj5kg7IOd7ISxXG5cbkBpbXBvcnQgJ2xheW91dC9jb21wb25lbnRzJztcbkBpbXBvcnQgJ2xheW91dC93cmFwcGVyJztcbkBpbXBvcnQgJ2xheW91dC9oZWFkZXInO1xuQGltcG9ydCAnbGF5b3V0L2Zvb3Rlcic7XG5AaW1wb3J0ICdsYXlvdXQvbmF2JztcblxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gYnJlYWtwb2ludHNcbiRtcS1icmVha3BvaW50czogKFxuXHRtb2JpbGU6ICAzMjFweCxcblx0ZGVza3RvcDogOTgwcHgsXG5cblx0Ly8gVHdlYWtwb2ludHNcblx0eC1zbWFsbDogIDQwMHB4LFxuXHRzbWFsbDogIDU2MHB4LFxuXHRtZWRpdW06ICA3MjBweCxcblx0bGFyZ2U6ICA5NjBweCxcblx0eC1sYXJnZTogMTI4MHB4LFxuXHR4eC1sYXJnZTogMTYwMHB4XG4pO1xuXG4vLyBsYXlvdXRcbiR3LW1vYmlsZTogMzYwO1xuJHcteHNtYWxsOiA3MzI7XG4kdy1zbWFsbDogOTIwO1xuJHctZGVmYXVsdDogMTEwODtcbiR3LWxhcmdlOiAxMjgwO1xuJHctbWF4OiAxOTIwO1xuJHctZ3JpZDogNzQ7XG5cbiRwLXNtYWxsOiAyMDtcbiRwLW1lZGl1bTogNDM7XG4kcC1sYXJnZTogODY7XG5cbiRndXR0ZXItc21hbGw6IDEwO1xuJGd1dHRlci1sYXJnZTogMjA7XG5cbi8vIGZvbnRzXG4kZm9udC1saXN0OiAoXG5cdC8vIFtmaWxlbmFtZV06IChbZm9udC1mYW1pbHldOiBbd2VpZ2h0XSlcblx0TW9udHNlcnJhdC1MaWdodDogKE1vbnRzZXJyYXQsIDQwMCksXG5cdE1vbnRzZXJyYXQtU2VtaUJvbGQ6IChNb250c2VycmF0LCA3MDApLFxuXG5cdE5vdG9TYW5zQ0pLa3ItTGlnaHQtc3Vic2V0OiAoTm90b1NhbnMsIDEwMCksXG5cdE5vdG9TYW5zQ0pLa3ItUmVndWxhci1zdWJzZXQ6IChOb3RvU2FucywgNDAwKSxcblx0Tm90b1NhbnNDSktrci1NZWRpdW0tc3Vic2V0OiAoTm90b1NhbnMsIDcwMClcbik7XG5cbiRmb250LWRlZmF1bHQ6ICdOYW51bVNxdWFyZScsICdNYWxndW4gR290aGljJywgJ+unkeydgCDqs6DrlJUnLCAnTmFudW0gR290aGljJywgJ+uCmOuIlCDqs6DrlJUnLCAn64+L7JuAJywgZG90dW0sIHNhbnMtc2VyaWY7XG4kc2VyaWY6IHNlcmlmO1xuXG4kZm9udC1pY29uOiAnaWNvbic7XG4kaWNvbnM6ICgpO1xuXG4vLyBjb2xvciBndWlkZVxuJHdoaXRlOiAjZmZmO1xuJGZvZzogI2Y5ZjlmOTtcbiRhc2g6ICNlYmViZWI7XG5cbiRzaWx2ZXItbGlnaHQ6ICNkN2Q3ZDc7XG4kc2lsdmVyOiAjY2NjO1xuJHNpbHZlci1kYXJrOiAjYWVhZWFlO1xuXG4kZ3JheS1saWdodDogIzc2NzY3NjtcbiRncmF5OiAjNTM1MzUzO1xuJGdyYXktZGFyazogIzQzNDM0MztcblxuJGRhcms6ICMzNDM0MzQ7XG4kaW5rOiAjMWYxZjFmO1xuJGJsYWNrOiAjMDAwO1xuXG4kcmFpbnk6ICM1ZTY3Nzc7XG5cbiRicmFuZDogIzIwNDI5MTtcbiRlbTogIzEzODJmZjtcblxuJGNvbG9yLWJvZHk6ICRncmF5O1xuJGNvbG9yLW1hcms6ICRicmFuZDtcblxuJGR1cjogMC40O1xuJGVhc2U6IGVhc2Utb3V0O1xuIiwiLyogZnVuY3Rpb25zXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG5AZnVuY3Rpb24gZW0oJGVtLCAkY29udGV4dCkge1xyXG4gICAgQHJldHVybiAjeyRlbSAvICRjb250ZXh0fWVtO1xyXG59XHJcbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIHByZWZpeGVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5AbWl4aW4gZmlsdGVyKCRhcmd1bWVudHMuLi4pIHtcclxuICAgIC13ZWJraXQtZmlsdGVyOiAkYXJndW1lbnRzO1xyXG4gICAgLW1vei1maWx0ZXI6ICRhcmd1bWVudHM7XHJcbiAgICAtbXMtZmlsdGVyOiAkYXJndW1lbnRzO1xyXG4gICAgLW8tZmlsdGVyOiAkYXJndW1lbnRzO1xyXG4gICAgZmlsdGVyOiAkYXJndW1lbnRzO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbigkYXJndW1lbnRzLi4uKSB7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICRhcmd1bWVudHM7XHJcbiAgICAtbW96LXRyYW5zaXRpb246ICRhcmd1bWVudHM7XHJcbiAgICAtbXMtdHJhbnNpdGlvbjogJGFyZ3VtZW50cztcclxuICAgIC1vLXRyYW5zaXRpb246ICRhcmd1bWVudHM7XHJcbiAgICB0cmFuc2l0aW9uOiAkYXJndW1lbnRzO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkYXJndW1lbnRzLi4uKSB7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246ICRhcmd1bWVudHM7XHJcbiAgICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246ICRhcmd1bWVudHM7XHJcbiAgICAtbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjogJGFyZ3VtZW50cztcclxuICAgIC1vLXRyYW5zaXRpb24tZHVyYXRpb246ICRhcmd1bWVudHM7XHJcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkYXJndW1lbnRzO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkYXJndW1lbnRzLi4uKSB7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6ICRhcmd1bWVudHM7XHJcbiAgICAtbW96LXRyYW5zaXRpb24tZGVsYXk6ICRhcmd1bWVudHM7XHJcbiAgICAtbXMtdHJhbnNpdGlvbi1kZWxheTogJGFyZ3VtZW50cztcclxuICAgIC1vLXRyYW5zaXRpb24tZGVsYXk6ICRhcmd1bWVudHM7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAkYXJndW1lbnRzO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJGFyZ3VtZW50cy4uLikge1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGFyZ3VtZW50cztcclxuICAgIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRhcmd1bWVudHM7XHJcbiAgICAtbXMtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRhcmd1bWVudHM7XHJcbiAgICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGFyZ3VtZW50cztcclxuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkYXJndW1lbnRzO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNmb3JtKCRhcmd1bWVudHMuLi4pIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiAkYXJndW1lbnRzO1xyXG4gICAgLW1vei10cmFuc2Zvcm06ICRhcmd1bWVudHM7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiAkYXJndW1lbnRzO1xyXG4gICAgLW8tdHJhbnNmb3JtOiAkYXJndW1lbnRzO1xyXG4gICAgdHJhbnNmb3JtOiAkYXJndW1lbnRzO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNmb3JtLXN0eWxlKCRhcmd1bWVudHMuLi4pIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiAkYXJndW1lbnRzO1xyXG4gICAgLW1vei10cmFuc2Zvcm0tc3R5bGU6ICRhcmd1bWVudHM7XHJcbiAgICAtbXMtdHJhbnNmb3JtLXN0eWxlOiAkYXJndW1lbnRzO1xyXG4gICAgLW8tdHJhbnNmb3JtLXN0eWxlOiAkYXJndW1lbnRzO1xyXG4gICAgdHJhbnNmb3JtLXN0eWxlOiAkYXJndW1lbnRzO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkYXJndW1lbnRzLi4uKSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRhcmd1bWVudHM7XHJcbiAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46ICRhcmd1bWVudHM7XHJcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogJGFyZ3VtZW50cztcclxuICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46ICRhcmd1bWVudHM7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAkYXJndW1lbnRzO1xyXG59XHJcblxyXG5AbWl4aW4gcGVyc3BlY3RpdmUoJHZhbHVlKSB7XHJcbiAgICAtd2Via2l0LXBlcnNwZWN0aXZlOiAkdmFsdWU7XHJcbiAgICBwZXJzcGVjdGl2ZTogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCR2YWx1ZSkge1xyXG4gICAgLXdlYmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW46ICR2YWx1ZTtcclxuICAgIHBlcnNwZWN0aXZlLW9yaWdpbjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gc2hhZG93KCRhcmd1bWVudHMuLi4pIHtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogJGFyZ3VtZW50cztcclxuICAgIC1tb3otYm94LXNoYWRvdzogJGFyZ3VtZW50cztcclxuICAgIGJveC1zaGFkb3c6ICRhcmd1bWVudHM7XHJcbn1cclxuXHJcbkBtaXhpbiB0ZXh0LXNoYWRvdygkYXJndW1lbnRzLi4uKSB7XHJcbiAgICAtd2Via2l0LXRleHQtc2hhZG93OiAkYXJndW1lbnRzO1xyXG4gICAgLW1vei10ZXh0LXNoYWRvdzogJGFyZ3VtZW50cztcclxuICAgIHRleHQtc2hhZG93OiAkYXJndW1lbnRzO1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXNpemluZygkc2l6aW5nOiBib3JkZXItYm94KSB7XHJcbiAgICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXppbmc7XHJcbiAgICAtbW96LWJveC1zaXppbmc6ICRzaXppbmc7XHJcbiAgICAtbXMtYm94LXNpemluZzogJHNpemluZztcclxuICAgIGJveC1zaXppbmc6ICRzaXppbmc7XHJcbn1cclxuXHJcbkBtaXhpbiByYWRpdXMoJHIpIHtcclxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHI7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJHI7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uKCRzdHIpIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiAjeyRzdHJ9O1xyXG4gICAgLW1vei1hbmltYXRpb246ICN7JHN0cn07XHJcbiAgICAtbXMtYW5pbWF0aW9uOiAjeyRzdHJ9O1xyXG4gICAgLW8tYW5pbWF0aW9uOiAjeyRzdHJ9O1xyXG4gICAgYW5pbWF0aW9uOiAjeyRzdHJ9O1xyXG59XHJcblxyXG5AbWl4aW4ga2V5ZnJhbWVzKCRhbmltYXRpb24tbmFtZSkge1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JGFuaW1hdGlvbi1uYW1lfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICBALW1vei1rZXlmcmFtZXMgI3skYW5pbWF0aW9uLW5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxuICAgIEAtbXMta2V5ZnJhbWVzICN7JGFuaW1hdGlvbi1uYW1lfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICBALW8ta2V5ZnJhbWVzICN7JGFuaW1hdGlvbi1uYW1lfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICBAa2V5ZnJhbWVzICN7JGFuaW1hdGlvbi1uYW1lfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gbWl4aW5zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyB0eXBvZ3JhcGh5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkBtaXhpbiBoMSB7XHJcblx0Zm9udC1zaXplOiA1LjRyZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuMztcclxuXHJcblx0W2xhbmc9XCJlblwiXSxcclxuXHQmW2xhbmc9XCJlblwiXSB7XHJcblx0XHRmb250LXNpemU6IDMuNnJlbTtcclxuXHR9XHJcbn1cclxuQG1peGluIGgyIHtcclxuXHRmb250LXNpemU6IDRyZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuMztcclxuXHJcblx0W2xhbmc9XCJlblwiXSxcclxuXHQmW2xhbmc9XCJlblwiXSB7XHJcblx0XHRmb250LXNpemU6IDMuMnJlbTtcclxuXHR9XHJcbn1cclxuQG1peGluIGgzIHtcclxuXHRmb250LXNpemU6IDMuNHJlbTtcclxuXHRsaW5lLWhlaWdodDogMS4zO1xyXG5cclxuXHRbbGFuZz1cImVuXCJdLFxyXG5cdCZbbGFuZz1cImVuXCJdIHtcclxuXHRcdGZvbnQtc2l6ZTogMi42cmVtO1xyXG5cdH1cclxufVxyXG5AbWl4aW4gaDQge1xyXG5cdGZvbnQtc2l6ZTogMi40cmVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjM7XHJcblxyXG5cdFtsYW5nPVwiZW5cIl0sXHJcblx0JltsYW5nPVwiZW5cIl0ge1xyXG5cdFx0Zm9udC1zaXplOiAyLjByZW07XHJcblx0fVxyXG59XHJcbkBtaXhpbiBoNSB7XHJcblx0Zm9udC1zaXplOiAxLjhyZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuNjtcclxuXHJcblx0W2xhbmc9XCJlblwiXSxcclxuXHQmW2xhbmc9XCJlblwiXSB7XHJcblx0XHRmb250LXNpemU6IDEuNnJlbTtcclxuXHR9XHJcbn1cclxuXHJcbi8vIGExMXlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQG1peGluIGExMXkge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0aGVpZ2h0OiAxcHg7XHJcblx0d2lkdGg6IDFweDtcclxuXHQvLyBjbGlwOiByZWN0KDFweCAxcHggMXB4IDFweCk7IC8vIGZvciBJRTYsIElFN1xyXG5cdGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcclxufVxyXG5cclxuLy8gaWNvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AbWl4aW4gaWNvbi1hZGQtbGlzdCgkbmFtZSwgJGNvbnQpIHtcclxuXHQkbmV3LWljb246ICgkbmFtZTogJGNvbnQpO1xyXG5cdCRpY29uczogbWFwLW1lcmdlKCRpY29ucywgJG5ldy1pY29uKSAhZ2xvYmFsO1xyXG59XHJcblxyXG5AaW1wb3J0ICdpY29uX2xpc3QnO1xyXG5cclxuQG1peGluIGljb24oJHBvc2l0aW9uOiBiZWZvcmUsICRpY29uOiBmYWxzZSwgJHN0eWxlczogdHJ1ZSkge1xyXG5cdEBpZiAkcG9zaXRpb24gPT0gYm90aCB7XHJcblx0XHQkcG9zaXRpb246ICdiZWZvcmUsICY6YWZ0ZXInO1xyXG5cdH1cclxuXHQmOiN7JHBvc2l0aW9ufSB7XHJcblx0XHRAaWYgJGljb24ge1xyXG5cdFx0XHRjb250ZW50OiBcIiN7bWFwLWdldCgkaWNvbnMsICRpY29uKX1cIjtcclxuXHRcdH1cclxuXHRcdEBpZiAkc3R5bGVzIHtcclxuXHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdFx0XHRmb250LWZhbWlseTogJGZvbnQtaWNvbjtcclxuXHRcdH1cclxuXHRcdEBjb250ZW50O1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkBtaXhpbiBjbGVhcmZpeCB7XHJcblx0em9vbTogMTtcclxuXHJcblx0JjpiZWZvcmUge1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcblxyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHRkaXNwbGF5OiB0YWJsZTtcclxuXHRcdGNsZWFyOiBib3RoO1xyXG5cdH1cclxufVxyXG5cclxuQG1peGluIGwtY29sdW1uKCRjb2x1bW46bnVsbCkge1xyXG5cdCRndXR0ZXI6IDEwO1xyXG5cdCRncmlkOiA3NCArICRndXR0ZXI7XHJcblx0JG1vYmlsZTogMzYwO1xyXG5cdCRkZXNrdG9wOiAkdy1kZWZhdWx0O1xyXG5cdCRjb250YWluZXI6ICR3LWxhcmdlO1xyXG5cclxuXHQkbWF4LWNvbHVtbjogMTI7XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0QGlmICRjb2x1bW4ge1xyXG5cdFx0JGNvbDogKCRtYXgtY29sdW1uIC0gJGNvbHVtbikvMjtcclxuXHRcdCRwYWQ6ICRndXR0ZXIgKiAkY29sO1xyXG5cdFx0JGxheW91dDogKCRncmlkICsgJGd1dHRlcikqJGNvbDtcclxuXHRcdCRtYXJnaW4tZ3V0dGVyOiAoJGNvbnRhaW5lciAtICRkZXNrdG9wKS8yO1xyXG5cclxuXHRcdG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCRwLXNtYWxsLyR3LW1vYmlsZSk7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IHBlcmNlbnRhZ2UoJHAtc21hbGwvJHctbW9iaWxlKTtcclxuXHJcblx0XHRAaW5jbHVkZSBtcShsYXJnZSkge1xyXG5cdFx0XHRAaWYgJGNvbCAhPSAwIHtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IGNhbGMoI3twZXJjZW50YWdlKCRsYXlvdXQpfSAvICN7JGNvbnRhaW5lcn0pO1xyXG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IGNhbGMoI3twZXJjZW50YWdlKCRsYXlvdXQpfSAvICN7JGNvbnRhaW5lcn0pO1xyXG5cdFx0XHR9XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCRtYXJnaW4tZ3V0dGVyLyRjb250YWluZXIpO1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHBlcmNlbnRhZ2UoJG1hcmdpbi1ndXR0ZXIvJGNvbnRhaW5lcik7XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgbXEoeC1sYXJnZSkge1xyXG5cdFx0XHRAaWYgJGNvbHVtbiA9PSAxMiB7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoJG1hcmdpbi1ndXR0ZXIvJGNvbnRhaW5lcik7XHJcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiBwZXJjZW50YWdlKCRtYXJnaW4tZ3V0dGVyLyRjb250YWluZXIpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAaW5jbHVkZSBtcShsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IDEyODBweDtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbkBtaXhpbiBsLXBhZCB7XHJcblx0JGRlc2t0b3A6ICR3LWRlZmF1bHQ7XHJcblx0JGNvbnRhaW5lcjogJHctbGFyZ2U7XHJcblxyXG5cdCRtYXJnaW4tZ3V0dGVyOiAoJGNvbnRhaW5lciAtICRkZXNrdG9wKS8yO1xyXG5cclxuXHRwYWRkaW5nLWxlZnQ6IHBlcmNlbnRhZ2UoJHAtc21hbGwvJHctbW9iaWxlKTtcclxuXHRwYWRkaW5nLXJpZ2h0OiBwZXJjZW50YWdlKCRwLXNtYWxsLyR3LW1vYmlsZSk7XHJcblxyXG5cdEBpbmNsdWRlIG1xKGxhcmdlKSB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IHBlcmNlbnRhZ2UoJG1hcmdpbi1ndXR0ZXIvJHctbGFyZ2UpO1xyXG5cdFx0cGFkZGluZy1yaWdodDogcGVyY2VudGFnZSgkbWFyZ2luLWd1dHRlci8kdy1sYXJnZSk7XHJcblx0fVxyXG59XHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AbWl4aW4gYnJlYWstd29yZCB7XHJcblx0d29yZC1icmVhazoga2VlcC1hbGw7XHJcblx0d29yZC13cmFwOiBicmVhay13b3JkO1xyXG59XHJcblxyXG5AbWl4aW4gYmctaW1nKCRmb2xkZXJuYW1lLCAkZmlsZW5hbWUpIHtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skZm9sZGVybmFtZX0vI3skZmlsZW5hbWV9KTtcclxufVxyXG5cclxuQG1peGluIGZ1bGwtcG9zIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG59XHJcblxyXG5AbWl4aW4gZWxsaXBzaXMoJGxpbmVzKSB7XHJcblx0QGlmICgkbGluZXMpIHtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuXHRcdC13ZWJraXQtbGluZS1jbGFtcDogJGxpbmVzO1xyXG5cdFx0LXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuXHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdFx0d29yZC13cmFwOiBub3JtYWw7XHJcblxyXG5cdH0gQGVsc2Uge1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRcdHdvcmQtd3JhcDogbm9ybWFsO1xyXG5cdH1cclxufVxyXG5cclxuQG1peGluIG9wYWNpdHkoJHZhbHVlKSB7XHJcblx0JHZhbHVlUGVyY2VudDogJHZhbHVlICogMTAwO1xyXG5cclxuXHQtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PSN7I3ZhbHVlUGVyY2VudH0pXCI7XHJcblx0ZmlsdGVyOiBhbHBoYShvcGFjaXR5PSR2YWx1ZVBlcmNlbnQpO1xyXG5cdG9wYWNpdHk6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIHYtbWlkKCRjaGlsZDonJi1jZWxsJykge1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblxyXG5cdCN7JGNoaWxkfSB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuXHRcdEBjb250ZW50O1xyXG5cdH1cclxuXHJcblx0JjphZnRlciB7XHJcblx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHR9XHJcbn1cclxuXHJcbkBtaXhpbiB0cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKSB7XHJcblx0JHdpZHRoOiBudGgoJHNpemUsIDEpO1xyXG5cdCRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XHJcblx0JGZvcmVncm91bmQtY29sb3I6IG50aCgkY29sb3IsIDEpO1xyXG5cdCRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRoZWlnaHQ6IDA7XHJcblx0d2lkdGg6IDA7XHJcblxyXG5cdEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcclxuXHRcdCR3aWR0aDogJHdpZHRoIC8gMjtcclxuXHRcdCRoZWlnaHQ6IGlmKGxlbmd0aCgkc2l6ZSkgPiAxLCAkaGVpZ2h0LCAkaGVpZ2h0LzIpO1xyXG5cclxuXHRcdEBpZiAkZGlyZWN0aW9uID09IHVwIHtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcclxuXHRcdFx0Ym9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuXHRcdFx0Ym9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcblxyXG5cdFx0fSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG5cdFx0XHRib3JkZXItbGVmdDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcclxuXHRcdFx0Ym9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG5cclxuXHRcdH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcclxuXHRcdFx0Ym9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuXHRcdFx0Ym9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcblx0XHRcdGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XHJcblxyXG5cdFx0fSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcblx0XHRcdGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcclxuXHRcdFx0Ym9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQG1peGluIGdyYWRpZW50KCRkaXJlY3Rpb24sICRjb2xvci1zdG9wcy4uLikge1xyXG5cdEBpZiBpcy1kaXJlY3Rpb24oJGRpcmVjdGlvbikgPT0gZmFsc2Uge1xyXG5cdFx0JGNvbG9yLXN0b3BzOiAkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHM7XHJcblx0XHQkZGlyZWN0aW9uOiAxODBkZWc7XHJcblx0fVxyXG5cclxuXHRiYWNrZ3JvdW5kOiBudGgobnRoKCRjb2xvci1zdG9wcywgMSksIDEpO1xyXG5cdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRkaXJlY3Rpb24sICRjb2xvci1zdG9wcyk7XHJcblx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzKTtcclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzKTtcclxuXHJcblx0JHN0YXJ0LWNvbG9yOiBudGgoJGNvbG9yLXN0b3BzLCAxKTtcclxuXHQkZW5kLWNvbG9yOiBudGgoJGNvbG9yLXN0b3BzLCAyKTtcclxuXHJcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyN7JHN0YXJ0LWNvbG9yfScsIGVuZENvbG9yc3RyPScjeyRlbmQtY29sb3J9JyxHcmFkaWVudFR5cGU9MSApOyAvLyBJRTYtOSBmYWxsYmFjayBvbiBob3Jpem9udGFsIGdyYWRpZW50XHJcbn1cclxuXHJcbkBtaXhpbiByYWRpYWwtZ3JhZGllbnQoJG9wdGlvbnMsICRzdGFydCwgJHN0YXJ0LXBvcywgJGVuZCwgJGVuZC1wb3MpIHtcclxuXHJcblx0QGlmICgkb3B0aW9ucykgPT0gZmFsc2Uge1xyXG5cdFx0JGNvbG9yLXN0b3BzOiAkc3RhcnQsICRzdGFydC1wb3MsICRlbmQsICRlbmQtcG9zO1xyXG5cdFx0JG9wdGlvbnM6IGNpcmNsZSBmYXJ0aGVzdC1jb3JuZXIgYXQgNTAlIDUwJTtcclxuXHR9XHJcblxyXG5cdGJhY2tncm91bmQ6IC1tb3otcmFkaWFsLWdyYWRpZW50KCRvcHRpb25zLCAkc3RhcnQgJHN0YXJ0LXBvcywgJGVuZCAkZW5kLXBvcyk7XHJcblx0YmFja2dyb3VuZDogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoJG9wdGlvbnMsICRzdGFydCAkc3RhcnQtcG9zLCRlbmQgJGVuZC1wb3MpO1xyXG5cdGJhY2tncm91bmQ6IC1vLXJhZGlhbC1ncmFkaWVudCgkb3B0aW9ucywgJHN0YXJ0ICRzdGFydC1wb3MsJGVuZCAkZW5kLXBvcyk7XHJcblx0YmFja2dyb3VuZDogLW1zLXJhZGlhbC1ncmFkaWVudCgkb3B0aW9ucywgJHN0YXJ0ICRzdGFydC1wb3MsJGVuZCAkZW5kLXBvcyk7XHJcblx0YmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KCRvcHRpb25zLCAkc3RhcnQgJHN0YXJ0LXBvcywkZW5kICRlbmQtcG9zKTtcclxufVxyXG4iLCJcclxuQGluY2x1ZGUgaWNvbi1hZGQtbGlzdCgnYXJyb3ctYm90dG9tJywgJ1xcZWEwMScpO1xyXG5cclxuQGluY2x1ZGUgaWNvbi1hZGQtbGlzdCgnYXJyb3ctZmlyc3QnLCAnXFxlYTAyJyk7XHJcblxyXG5AaW5jbHVkZSBpY29uLWFkZC1saXN0KCdhcnJvdy1sYXN0JywgJ1xcZWEwMycpO1xyXG5cclxuQGluY2x1ZGUgaWNvbi1hZGQtbGlzdCgnYXJyb3ctbGVmdCcsICdcXGVhMDQnKTtcclxuXHJcbkBpbmNsdWRlIGljb24tYWRkLWxpc3QoJ2Fycm93LXJpZ2h0JywgJ1xcZWEwNScpO1xyXG5cclxuQGluY2x1ZGUgaWNvbi1hZGQtbGlzdCgnYXJyb3ctdG9wJywgJ1xcZWEwNicpO1xyXG5cclxuQGluY2x1ZGUgaWNvbi1hZGQtbGlzdCgnYmxvY2txdW90ZScsICdcXGVhMDcnKTtcclxuXHJcbkBpbmNsdWRlIGljb24tYWRkLWxpc3QoJ2Jsb2cnLCAnXFxlYTA4Jyk7XHJcblxyXG5AaW5jbHVkZSBpY29uLWFkZC1saXN0KCdjaGVja2JveC1jaGVja2VkJywgJ1xcZWEwOScpO1xyXG5cclxuQGluY2x1ZGUgaWNvbi1hZGQtbGlzdCgnY2hlY2tib3gtdW5jaGVja2VkJywgJ1xcZWEwYScpO1xyXG5cclxuQGluY2x1ZGUgaWNvbi1hZGQtbGlzdCgnY2xvc2UnLCAnXFxlYTBiJyk7XHJcblxyXG5AaW5jbHVkZSBpY29uLWFkZC1saXN0KCdkcm9wZG93bi1kb3duJywgJ1xcZWEwYycpO1xyXG5cclxuQGluY2x1ZGUgaWNvbi1hZGQtbGlzdCgnZHJvcGRvd24tdXAnLCAnXFxlYTBkJyk7XHJcblxyXG5AaW5jbHVkZSBpY29uLWFkZC1saXN0KCdmYWNlYm9vaycsICdcXGVhMGUnKTtcclxuXHJcbkBpbmNsdWRlIGljb24tYWRkLWxpc3QoJ2luc3RhZ3JhbScsICdcXGVhMGYnKTtcclxuXHJcbkBpbmNsdWRlIGljb24tYWRkLWxpc3QoJ2xvY2F0b3ItY2lyY2xlJywgJ1xcZWExMCcpO1xyXG5cclxuQGluY2x1ZGUgaWNvbi1hZGQtbGlzdCgnbG9jYXRvci1zeW1ib2wnLCAnXFxlYTExJyk7XHJcblxyXG5AaW5jbHVkZSBpY29uLWFkZC1saXN0KCdsb2dpbicsICdcXGVhMTInKTtcclxuXHJcbkBpbmNsdWRlIGljb24tYWRkLWxpc3QoJ2xvZ28nLCAnXFxlYTEzJyk7XHJcblxyXG5AaW5jbHVkZSBpY29uLWFkZC1saXN0KCdsb2dvdXQnLCAnXFxlYTE0Jyk7XHJcblxyXG5AaW5jbHVkZSBpY29uLWFkZC1saXN0KCdwbGF5JywgJ1xcZWExNScpO1xyXG5cclxuQGluY2x1ZGUgaWNvbi1hZGQtbGlzdCgncmVsb2FkJywgJ1xcZWExNicpO1xyXG5cclxuQGluY2x1ZGUgaWNvbi1hZGQtbGlzdCgncmVzaXplLWJhY2snLCAnXFxlYTE3Jyk7XHJcblxyXG5AaW5jbHVkZSBpY29uLWFkZC1saXN0KCdyZXNpemUtem9vbScsICdcXGVhMTgnKTtcclxuXHJcbkBpbmNsdWRlIGljb24tYWRkLWxpc3QoJ3NlYXJjaCcsICdcXGVhMTknKTtcclxuXHJcbkBpbmNsdWRlIGljb24tYWRkLWxpc3QoJ3NoYXJlJywgJ1xcZWExYScpO1xyXG5cclxuQGluY2x1ZGUgaWNvbi1hZGQtbGlzdCgnc2lnbicsICdcXGVhMWInKTtcclxuXHJcbkBpbmNsdWRlIGljb24tYWRkLWxpc3QoJ3N1Y2Nlc3MnLCAnXFxlYTFjJyk7XHJcblxyXG5AaW5jbHVkZSBpY29uLWFkZC1saXN0KCd0d2l0dGVyJywgJ1xcZWExZCcpO1xyXG5cclxuQGluY2x1ZGUgaWNvbi1hZGQtbGlzdCgndXJsJywgJ1xcZWExZScpO1xyXG5cclxuQGluY2x1ZGUgaWNvbi1hZGQtbGlzdCgnd2FybmluZy1jaXJjbGUnLCAnXFxlYTFmJyk7XHJcblxyXG5AaW5jbHVkZSBpY29uLWFkZC1saXN0KCd3YXJuaW5nJywgJ1xcZWEyMCcpO1xyXG5cclxuQGluY2x1ZGUgaWNvbi1hZGQtbGlzdCgneW91dHViZScsICdcXGVhMjEnKTtcciIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIGZvbnRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBmb250LWZhY2Ug7ISg7Ja4IOunjOuTpOq4sFxyXG5AbWl4aW4gZm9udC1mYWNlKCRmYW1pbHksICRmaWxlbmFtZSwgJHdlaWdodDogNDAwKSB7XHJcbiAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJyN7JGZhbWlseX0nO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgICAgICBzcmM6IHVybCgnLi4vZm9udC8jeyRmaWxlbmFtZX0uZW90Jyk7XHJcbiAgICAgICAgc3JjOiB1cmwoJy4uL2ZvbnQvI3skZmlsZW5hbWV9LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJy4uL2ZvbnQvI3skZmlsZW5hbWV9LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8g66as7Iqk7Yq47JeQIOyeiOuKlCDtla3rqqnsnYQg66qo65GQIOyEoOyWuFxyXG5AZWFjaCAkZmlsZW5hbWUsICRwcm9wcyBpbiAkZm9udC1saXN0IHtcclxuICAgIEBpbmNsdWRlIGZvbnQtZmFjZShudGgoJHByb3BzLCAxKSwgJGZpbGVuYW1lLCBudGgoJHByb3BzLCAyKSk7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiOyAvLyBGaXhlcyBhbiBpc3N1ZSB3aGVyZSBSdWJ5IGxvY2FsZSBpcyBub3Qgc2V0IHByb3Blcmx5XG4gICAgICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9wdWxsLzEwXG5cbi8vLyBCYXNlIGZvbnQgc2l6ZSBvbiB0aGUgYDxib2R5PmAgZWxlbWVudFxuLy8vIEB0eXBlIE51bWJlciAodW5pdClcbiRtcS1iYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8vIFJlc3BvbnNpdmUgbW9kZVxuLy8vXG4vLy8gU2V0IHRvIGBmYWxzZWAgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgQG1lZGlhIHF1ZXJpZXMsXG4vLy8gKElFIDw9IDgsIEZpcmVmb3ggPD0gMywgT3BlcmEgPD0gOSlcbi8vL1xuLy8vIFlvdSBjb3VsZCBjcmVhdGUgYSBzdHlsZXNoZWV0IHNlcnZlZCBleGNsdXNpdmVseSB0byBvbGRlciBicm93c2Vycyxcbi8vLyB3aGVyZSBAbWVkaWEgcXVlcmllcyBhcmUgcmFzdGVyaXplZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBvbGQtaWUuc2Nzc1xuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vZmYgRGlzYWJsZWQgcmVzcG9uc2l2ZSBtb2RlIGRvY3VtZW50YXRpb25cbiRtcS1yZXNwb25zaXZlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBsaXN0XG4vLy9cbi8vLyBOYW1lIHlvdXIgYnJlYWtwb2ludHMgaW4gYSB3YXkgdGhhdCBjcmVhdGVzIGEgdWJpcXVpdG91cyBsYW5ndWFnZVxuLy8vIGFjcm9zcyB0ZWFtIG1lbWJlcnMuIEl0IHdpbGwgaW1wcm92ZSBjb21tdW5pY2F0aW9uIGJldHdlZW5cbi8vLyBzdGFrZWhvbGRlcnMsIGRlc2lnbmVycywgZGV2ZWxvcGVycywgYW5kIHRlc3RlcnMuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1icmVha3BvaW50czogKFxuICAgIG1vYmlsZTogIDMyMHB4LFxuICAgIHRhYmxldDogIDc0MHB4LFxuICAgIGRlc2t0b3A6IDk4MHB4LFxuICAgIHdpZGU6ICAgIDEzMDBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRpYyBicmVha3BvaW50IChmb3IgZml4ZWQtd2lkdGggbGF5b3V0cylcbi8vL1xuLy8vIERlZmluZSB0aGUgYnJlYWtwb2ludCBmcm9tICRtcS1icmVha3BvaW50cyB0aGF0IHNob3VsZFxuLy8vIGJlIHVzZWQgYXMgdGhlIHRhcmdldCB3aWR0aCBmb3IgdGhlIGZpeGVkLXdpZHRoIGxheW91dFxuLy8vIChpLmUuIHdoZW4gJG1xLXJlc3BvbnNpdmUgaXMgc2V0IHRvICdmYWxzZScpIGluIGEgb2xkLWllLnNjc3Ncbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gdGFibGV0LW9ubHkuc2Nzc1xuLy8vICAvL1xuLy8vICAvLyBJZ25vcmUgYWxsIHN0eWxlcyBhYm92ZSB0YWJsZXQgYnJlYWtwb2ludCxcbi8vLyAgLy8gYW5kIGZpeCB0aGUgc3R5bGVzIChlLmcuIGxheW91dCkgYXQgdGFibGV0IHdpZHRoXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbi8vLyAgJG1xLXN0YXRpYy1icmVha3BvaW50OiB0YWJsZXQ7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvIHRhYmxldFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjYWRkaW5nLWN1c3RvbS1icmVha3BvaW50cyBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtc3RhdGljLWJyZWFrcG9pbnQ6IGRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vLyBTaG93IGJyZWFrcG9pbnRzIGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy9cbi8vLyBJZiB5b3Ugd2FudCB0byBkaXNwbGF5IHRoZSBjdXJyZW50bHkgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcFxuLy8vIHJpZ2h0IGNvcm5lciBvZiB5b3VyIHNpdGUgZHVyaW5nIGRldmVsb3BtZW50LCBhZGQgdGhlIGJyZWFrcG9pbnRzXG4vLy8gdG8gdGhpcyBsaXN0LCBvcmRlcmVkIGJ5IHdpZHRoLCBlLmcuIChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXG4vLy9cbi8vLyBAdHlwZSBtYXBcbiRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbWl6ZSB0aGUgbWVkaWEgdHlwZSAoZS5nLiBgQG1lZGlhIHNjcmVlbmAgb3IgYEBtZWRpYSBwcmludGApXG4vLy8gQnkgZGVmYXVsdCBzYXNzLW1xIHVzZXMgYW4gXCJhbGxcIiBtZWRpYSB0eXBlIChgQG1lZGlhIGFsbCBhbmQg4oCmYClcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjY2hhbmdpbmctbWVkaWEtdHlwZSBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtbWVkaWEtdHlwZTogYWxsICFkZWZhdWx0O1xuXG4vLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHB4IC0gdmFsdWUgdG8gY29udmVydFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZS1mb250LXNpemUgKCRtcS1iYXNlLWZvbnQtc2l6ZSkgLSBgPGJvZHk+YCBmb250IHNpemVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJGZvbnQtc2l6ZS1pbi1lbXM6IG1xLXB4MmVtKDE2cHgpO1xuLy8vICBwIHsgZm9udC1zaXplOiBtcS1weDJlbSgxNnB4KTsgfVxuLy8vXG4vLy8gQHJlcXVpcmVzICRtcS1iYXNlLWZvbnQtc2l6ZVxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9XG5AZnVuY3Rpb24gbXEtcHgyZW0oJHB4LCAkYmFzZS1mb250LXNpemU6ICRtcS1iYXNlLWZvbnQtc2l6ZSkge1xuICAgIEBpZiB1bml0bGVzcygkcHgpIHtcbiAgICAgICAgQHdhcm4gXCJBc3N1bWluZyAjeyRweH0gdG8gYmUgaW4gcGl4ZWxzLCBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgaXQgaW50byBwaXhlbHMuXCI7XG4gICAgICAgIEByZXR1cm4gbXEtcHgyZW0oJHB4ICogMXB4LCAkYmFzZS1mb250LXNpemUpO1xuICAgIH0gQGVsc2UgaWYgdW5pdCgkcHgpID09IGVtIHtcbiAgICAgICAgQHJldHVybiAkcHg7XG4gICAgfVxuICAgIEByZXR1cm4gKCRweCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07XG59XG5cbi8vLyBHZXQgYSBicmVha3BvaW50J3Mgd2lkdGhcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnQuIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJHRhYmxldC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgodGFibGV0KTtcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKGRlc2t0b3ApKSB7fVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBWYWx1ZSBpbiBwaXhlbHNcbkBmdW5jdGlvbiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkge1xuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEB3YXJuIFwiQnJlYWtwb2ludCAjeyRuYW1lfSB3YXNuJ3QgZm91bmQgaW4gJGJyZWFrcG9pbnRzLlwiO1xuICAgIH1cbn1cblxuLy8vIE1lZGlhIFF1ZXJ5IG1peGluXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRmcm9tIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkdW50aWwgKGZhbHNlKSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRhbmQgKGZhbHNlKSAtIEFkZGl0aW9uYWwgbWVkaWEgcXVlcnkgcGFyYW1ldGVyc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVkaWEtdHlwZSAoJG1xLW1lZGlhLXR5cGUpIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludOKAplxuLy8vXG4vLy8gQGlnbm9yZSBVbmRvY3VtZW50ZWQgQVBJLCBmb3IgYWR2YW5jZWQgdXNlIG9ubHk6XG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpXG4vLy8gQGlnbm9yZSBAcGFyYW0ge1N0cmluZ30gJHN0YXRpYy1icmVha3BvaW50ICgkbXEtc3RhdGljLWJyZWFrcG9pbnQpXG4vLy9cbi8vLyBAY29udGVudCBzdHlsaW5nIHJ1bGVzLCB3cmFwcGVkIGludG8gYSBAbWVkaWEgcXVlcnkgd2hlbiAkcmVzcG9uc2l2ZSBpcyB0cnVlXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtbWVkaWEtdHlwZVxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLXB4MmVtXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGhcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9uLWRlZmF1bHQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSkge1xuLy8vICAgICAgY29sb3I6IHJlZDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBibHVlO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcShtb2JpbGUsIHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGdyZWVuO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xuLy8vICAgICAgY29sb3I6IHRlYWw7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKDk1MHB4KSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgLy8gQWR2YW5jZWQgdXNlOlxuLy8vICAgICRteS1icmVha3BvaW50czogKEw6IDkwMHB4LCBYTDogMTIwMHB4KTtcbi8vLyAgICBAaW5jbHVkZSBtcShMLCAkYnJlYWtwb2ludHM6ICRteS1icmVha3BvaW50cywgJHN0YXRpYy1icmVha3BvaW50OiBMKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gIH1cbkBtaXhpbiBtcShcbiAgICAkZnJvbTogZmFsc2UsXG4gICAgJHVudGlsOiBmYWxzZSxcbiAgICAkYW5kOiBmYWxzZSxcbiAgICAkbWVkaWEtdHlwZTogJG1xLW1lZGlhLXR5cGUsXG4gICAgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMsXG4gICAgJHJlc3BvbnNpdmU6ICRtcS1yZXNwb25zaXZlLFxuICAgICRzdGF0aWMtYnJlYWtwb2ludDogJG1xLXN0YXRpYy1icmVha3BvaW50XG4pIHtcbiAgICAkbWluLXdpZHRoOiAwO1xuICAgICRtYXgtd2lkdGg6IDA7XG4gICAgJG1lZGlhLXF1ZXJ5OiAnJztcblxuICAgIC8vIEZyb206IHRoaXMgYnJlYWtwb2ludCAoaW5jbHVzaXZlKVxuICAgIEBpZiAkZnJvbSB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCRmcm9tKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0oJGZyb20pO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRmcm9tLCAkYnJlYWtwb2ludHMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVudGlsOiB0aGF0IGJyZWFrcG9pbnQgKGV4Y2x1c2l2ZSlcbiAgICBAaWYgJHVudGlsIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJHVudGlsKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0oJHVudGlsKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkdW50aWwsICRicmVha3BvaW50cykpIC0gLjAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZGlzYWJsZWQsIHJhc3Rlcml6ZSB0aGUgb3V0cHV0IG91dHNpZGUgQG1lZGlhIGJsb2Nrc1xuICAgIC8vIFRoZSBicm93c2VyIHdpbGwgcmVseSBvbiB0aGUgY2FzY2FkZSBpdHNlbGYuXG4gICAgQGlmICRyZXNwb25zaXZlID09IGZhbHNlIHtcbiAgICAgICAgJHN0YXRpYy1icmVha3BvaW50LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc3RhdGljLWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICR0YXJnZXQtd2lkdGg6IG1xLXB4MmVtKCRzdGF0aWMtYnJlYWtwb2ludC13aWR0aCk7XG5cbiAgICAgICAgLy8gT3V0cHV0IG9ubHkgcnVsZXMgdGhhdCBzdGFydCBhdCBvciBzcGFuIG91ciB0YXJnZXQgd2lkdGhcbiAgICAgICAgQGlmIChcbiAgICAgICAgICAgICRhbmQgPT0gZmFsc2VcbiAgICAgICAgICAgIGFuZCAkbWluLXdpZHRoIDw9ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIGFuZCAoXG4gICAgICAgICAgICAgICAgJHVudGlsID09IGZhbHNlIG9yICRtYXgtd2lkdGggPj0gJHRhcmdldC13aWR0aFxuICAgICAgICAgICAgKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGVuYWJsZWQsIG91dHB1dCBydWxlcyBpbnNpZGUgQG1lZGlhIHF1ZXJpZXNcbiAgICBAZWxzZSB7XG4gICAgICAgIEBpZiAkbWluLXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtaW4td2lkdGg6ICN7JG1pbi13aWR0aH0pJzsgfVxuICAgICAgICBAaWYgJG1heC13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWF4LXdpZHRoOiAjeyRtYXgtd2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRhbmQgICAgICAgICAgICB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgI3skYW5kfSc7IH1cblxuICAgICAgICAvLyBSZW1vdmUgdW5uZWNlc3NhcnkgbWVkaWEgcXVlcnkgcHJlZml4ICdhbGwgYW5kICdcbiAgICAgICAgQGlmICgkbWVkaWEtdHlwZSA9PSAnYWxsJyBhbmQgJG1lZGlhLXF1ZXJ5ICE9ICcnKSB7XG4gICAgICAgICAgICAkbWVkaWEtdHlwZTogJyc7XG4gICAgICAgICAgICAkbWVkaWEtcXVlcnk6IHN0ci1zbGljZSh1bnF1b3RlKCRtZWRpYS1xdWVyeSksIDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhICN7JG1lZGlhLXR5cGUgKyAkbWVkaWEtcXVlcnl9IHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gQWRkIGEgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIEBpbmNsdWRlIG1xLWFkZC1icmVha3BvaW50KHR2c2NyZWVuLCAxOTIwcHgpO1xuLy8vICBAaW5jbHVkZSBtcSh0dnNjcmVlbikge31cbkBtaXhpbiBtcS1hZGQtYnJlYWtwb2ludCgkbmFtZSwgJHdpZHRoKSB7XG4gICAgJG5ldy1icmVha3BvaW50OiAoJG5hbWU6ICR3aWR0aCk7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJG1xLWJyZWFrcG9pbnRzLCAkbmV3LWJyZWFrcG9pbnQpICFnbG9iYWw7XG59XG5cbi8vLyBTaG93IHRoZSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciBvZiB0aGUgdmlld3BvcnRcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG93LWJyZWFrcG9pbnRzICgkbXEtc2hvdy1icmVha3BvaW50cykgLSBMaXN0IG9mIGJyZWFrcG9pbnRzIHRvIHNob3cgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpIC0gQnJlYWtwb2ludCBuYW1lcyBhbmQgc2l6ZXNcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zaG93LWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgZ2xvYmFsIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG4vLy9cbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBjdXN0b20gc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cygoTCwgWEwpLCAoUzogMzAwcHgsIEw6IDgwMHB4LCBYTDogMTIwMHB4KSk7XG5AbWl4aW4gbXEtc2hvdy1icmVha3BvaW50cygkc2hvdy1icmVha3BvaW50czogJG1xLXNob3ctYnJlYWtwb2ludHMsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgYm9keTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGOEUzO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ZCRUVENTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBjb2xvcjogI0MwOTg1MztcbiAgICAgICAgZm9udDogc21hbGwtY2FwdGlvbjtcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgYnJlYWtwb2ludHMgdGhhdCBzaG91bGQgYmUgc2hvd25cbiAgICAgICAgQGVhY2ggJHNob3ctYnJlYWtwb2ludCBpbiAkc2hvdy1icmVha3BvaW50cyB7XG4gICAgICAgICAgICAkd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiI3skc2hvdy1icmVha3BvaW50fSDiiaUgI3skd2lkdGh9ICgje21xLXB4MmVtKCR3aWR0aCl9KVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgbGVuZ3RoKCRtcS1zaG93LWJyZWFrcG9pbnRzKSA+IDAge1xuICAgIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG59XG4iLCIvLyBGbGV4Ym94IE1peGluc1xyXG4vLyBodHRwOi8vcGhpbGlwd2FsdG9uLmdpdGh1Yi5pby9zb2x2ZWQtYnktZmxleGJveC9cclxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9zb2x2ZWQtYnktZmxleGJveFxyXG4vLyBcclxuLy8gQ29weXJpZ2h0IChjKSAyMDEzIEJyaWFuIEZyYW5jb1xyXG4vL1xyXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxyXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXHJcbi8vIFwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xyXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXHJcbi8vIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0b1xyXG4vLyBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG9cclxuLy8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxyXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxyXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cclxuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTU1xyXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXHJcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC5cclxuLy8gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTllcclxuLy8gQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCxcclxuLy8gVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEVcclxuLy8gU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXHJcbi8vXHJcbi8vIFRoaXMgaXMgYSBzZXQgb2YgbWl4aW5zIGZvciB0aG9zZSB3aG8gd2FudCB0byBtZXNzIGFyb3VuZCB3aXRoIGZsZXhib3hcclxuLy8gdXNpbmcgdGhlIG5hdGl2ZSBzdXBwb3J0IG9mIGN1cnJlbnQgYnJvd3NlcnMuIEZvciBmdWxsIHN1cHBvcnQgdGFibGVcclxuLy8gY2hlY2s6IGh0dHA6Ly9jYW5pdXNlLmNvbS9mbGV4Ym94XHJcbi8vXHJcbi8vIEJhc2ljYWxseSB0aGlzIHdpbGwgdXNlOlxyXG4vL1xyXG4vLyAqIEZhbGxiYWNrLCBvbGQgc3ludGF4IChJRTEwLCBtb2JpbGUgd2Via2l0IGJyb3dzZXJzIC0gbm8gd3JhcHBpbmcpXHJcbi8vICogRmluYWwgc3RhbmRhcmRzIHN5bnRheCAoRkYsIFNhZmFyaSwgQ2hyb21lLCBJRTExLCBPcGVyYSlcclxuLy9cclxuLy8gVGhpcyB3YXMgaW5zcGlyZWQgYnk6XHJcbi8vIFxyXG4vLyAqIGh0dHA6Ly9kZXYub3BlcmEuY29tL2FydGljbGVzL3ZpZXcvYWR2YW5jZWQtY3Jvc3MtYnJvd3Nlci1mbGV4Ym94L1xyXG4vLyBcclxuLy8gV2l0aCBoZWxwIGZyb206XHJcbi8vIFxyXG4vLyAqIGh0dHA6Ly93My5vcmcvdHIvY3NzMy1mbGV4Ym94L1xyXG4vLyAqIGh0dHA6Ly90aGUtZWNob3BsZXgubmV0L2ZsZXh5Ym94ZXMvXHJcbi8vICogaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2llL2hoNzcyMDY5KHY9dnMuODUpLmFzcHhcclxuLy8gKiBodHRwOi8vY3NzLXRyaWNrcy5jb20vdXNpbmctZmxleGJveC9cclxuLy8gKiBodHRwOi8vZGV2Lm9wZXJhLmNvbS9hcnRpY2xlcy92aWV3L2FkdmFuY2VkLWNyb3NzLWJyb3dzZXItZmxleGJveC9cclxuLy8gKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi11cy9kb2NzL3dlYi9ndWlkZS9jc3MvZmxleGlibGVfYm94ZXNcclxuXHJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gRmxleGJveCBDb250YWluZXJzXHJcbi8vXHJcbi8vIFRoZSAnZmxleCcgdmFsdWUgY2F1c2VzIGFuIGVsZW1lbnQgdG8gZ2VuZXJhdGUgYSBibG9jay1sZXZlbCBmbGV4XHJcbi8vIGNvbnRhaW5lciBib3guXHJcbi8vXHJcbi8vIFRoZSAnaW5saW5lLWZsZXgnIHZhbHVlIGNhdXNlcyBhbiBlbGVtZW50IHRvIGdlbmVyYXRlIGEgaW5saW5lLWxldmVsXHJcbi8vIGZsZXggY29udGFpbmVyIGJveC4gXHJcbi8vXHJcbi8vIGRpc3BsYXk6IGZsZXggfCBpbmxpbmUtZmxleFxyXG4vL1xyXG4vLyBodHRwOi8vdzMub3JnL3RyL2NzczMtZmxleGJveC8jZmxleC1jb250YWluZXJzXHJcbi8vXHJcbi8vIChQbGFjZWhvbGRlciBzZWxlY3RvcnMgZm9yIGVhY2ggdHlwZSwgZm9yIHRob3NlIHdobyByYXRoZXIgQGV4dGVuZClcclxuXHJcbkBtaXhpbiBmbGV4Ym94IHtcclxuXHRkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuXHRkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcblx0ZGlzcGxheTogLW1vei1mbGV4O1xyXG5cdGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbiVmbGV4Ym94IHsgQGluY2x1ZGUgZmxleGJveDsgfVxyXG5cclxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5AbWl4aW4gaW5saW5lLWZsZXgge1xyXG5cdGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcclxuXHRkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xyXG5cdGRpc3BsYXk6IC1tb3otaW5saW5lLWZsZXg7XHJcblx0ZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG59XHJcblxyXG4laW5saW5lLWZsZXggeyBAaW5jbHVkZSBpbmxpbmUtZmxleDsgfVxyXG5cclxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBGbGV4Ym94IERpcmVjdGlvblxyXG4vL1xyXG4vLyBUaGUgJ2ZsZXgtZGlyZWN0aW9uJyBwcm9wZXJ0eSBzcGVjaWZpZXMgaG93IGZsZXggaXRlbXMgYXJlIHBsYWNlZCBpblxyXG4vLyB0aGUgZmxleCBjb250YWluZXIsIGJ5IHNldHRpbmcgdGhlIGRpcmVjdGlvbiBvZiB0aGUgZmxleCBjb250YWluZXInc1xyXG4vLyBtYWluIGF4aXMuIFRoaXMgZGV0ZXJtaW5lcyB0aGUgZGlyZWN0aW9uIHRoYXQgZmxleCBpdGVtcyBhcmUgbGFpZCBvdXQgaW4uIFxyXG4vL1xyXG4vLyBWYWx1ZXM6IHJvdyB8IHJvdy1yZXZlcnNlIHwgY29sdW1uIHwgY29sdW1uLXJldmVyc2VcclxuLy8gRGVmYXVsdDogcm93XHJcbi8vXHJcbi8vIGh0dHA6Ly93My5vcmcvdHIvY3NzMy1mbGV4Ym94LyNmbGV4LWRpcmVjdGlvbi1wcm9wZXJ0eVxyXG5cclxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZTogcm93KSB7XHJcblx0QGlmICR2YWx1ZSA9PSByb3ctcmV2ZXJzZSB7XHJcblx0XHQtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XHJcblx0XHQtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XHJcblx0fSBAZWxzZSBpZiAkdmFsdWUgPT0gY29sdW1uIHtcclxuXHRcdC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xyXG5cdFx0LXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuXHR9IEBlbHNlIGlmICR2YWx1ZSA9PSBjb2x1bW4tcmV2ZXJzZSB7XHJcblx0XHQtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XHJcblx0XHQtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG5cdH0gQGVsc2Uge1xyXG5cdFx0LXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XHJcblx0XHQtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XHJcblx0fVxyXG5cdC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcclxuXHQtbW96LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XHJcblx0LW1zLWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XHJcblx0ZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcclxufVxyXG5cdC8vIFNob3J0ZXIgdmVyc2lvbjpcclxuXHRAbWl4aW4gZmxleC1kaXIoJGFyZ3MuLi4pIHsgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJGFyZ3MuLi4pOyB9XHJcblxyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEZsZXhib3ggV3JhcFxyXG4vL1xyXG4vLyBUaGUgJ2ZsZXgtd3JhcCcgcHJvcGVydHkgY29udHJvbHMgd2hldGhlciB0aGUgZmxleCBjb250YWluZXIgaXMgc2luZ2xlLWxpbmVcclxuLy8gb3IgbXVsdGktbGluZSwgYW5kIHRoZSBkaXJlY3Rpb24gb2YgdGhlIGNyb3NzLWF4aXMsIHdoaWNoIGRldGVybWluZXNcclxuLy8gdGhlIGRpcmVjdGlvbiBuZXcgbGluZXMgYXJlIHN0YWNrZWQgaW4uIFxyXG4vL1xyXG4vLyBWYWx1ZXM6IG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2VcclxuLy8gRGVmYXVsdDogbm93cmFwXHJcbi8vXHJcbi8vIGh0dHA6Ly93My5vcmcvdHIvY3NzMy1mbGV4Ym94LyNmbGV4LXdyYXAtcHJvcGVydHlcclxuXHJcbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlOiBub3dyYXApIHtcclxuXHQvLyBObyBXZWJraXQgQm94IGZhbGxiYWNrLlxyXG5cdC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XHJcblx0LW1vei1mbGV4LXdyYXA6ICR2YWx1ZTtcclxuXHRAaWYgJHZhbHVlID09IG5vd3JhcCB7XHJcblx0XHQtbXMtZmxleC13cmFwOiBub25lO1xyXG5cdH0gQGVsc2UgeyBcclxuXHRcdC1tcy1mbGV4LXdyYXA6ICR2YWx1ZTsgXHJcblx0fVxyXG5cdGZsZXgtd3JhcDogJHZhbHVlO1xyXG59XHJcblxyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEZsZXhib3ggRmxvdyAoc2hvcnRoYW5kKVxyXG4vL1xyXG4vLyBUaGUgJ2ZsZXgtZmxvdycgcHJvcGVydHkgaXMgYSBzaG9ydGhhbmQgZm9yIHNldHRpbmcgdGhlICdmbGV4LWRpcmVjdGlvbidcclxuLy8gYW5kICdmbGV4LXdyYXAnIHByb3BlcnRpZXMsIHdoaWNoIHRvZ2V0aGVyIGRlZmluZSB0aGUgZmxleCBjb250YWluZXInc1xyXG4vLyBtYWluIGFuZCBjcm9zcyBheGVzLlxyXG4vL1xyXG4vLyBWYWx1ZXM6IDxmbGV4LWRpcmVjdGlvbj4gfCA8ZmxleC13cmFwPiBcclxuLy8gRGVmYXVsdDogcm93IG5vd3JhcFxyXG4vL1xyXG4vLyBodHRwOi8vdzMub3JnL3RyL2NzczMtZmxleGJveC8jZmxleC1mbG93LXByb3BlcnR5XHJcblxyXG5AbWl4aW4gZmxleC1mbG93KCR2YWx1ZXM6IChyb3cgbm93cmFwKSkge1xyXG5cdC8vIE5vIFdlYmtpdCBCb3ggZmFsbGJhY2suXHJcblx0LXdlYmtpdC1mbGV4LWZsb3c6ICR2YWx1ZXM7XHJcblx0LW1vei1mbGV4LWZsb3c6ICR2YWx1ZXM7XHJcblx0LW1zLWZsZXgtZmxvdzogJHZhbHVlcztcclxuXHRmbGV4LWZsb3c6ICR2YWx1ZXM7XHJcbn1cclxuXHJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gRmxleGJveCBPcmRlclxyXG4vL1xyXG4vLyBUaGUgJ29yZGVyJyBwcm9wZXJ0eSBjb250cm9scyB0aGUgb3JkZXIgaW4gd2hpY2ggZmxleCBpdGVtcyBhcHBlYXIgd2l0aGluXHJcbi8vIHRoZWlyIGZsZXggY29udGFpbmVyLCBieSBhc3NpZ25pbmcgdGhlbSB0byBvcmRpbmFsIGdyb3Vwcy5cclxuLy9cclxuLy8gRGVmYXVsdDogMFxyXG4vL1xyXG4vLyBodHRwOi8vdzMub3JnL3RyL2NzczMtZmxleGJveC8jb3JkZXItcHJvcGVydHlcclxuXHJcbkBtaXhpbiBvcmRlcigkaW50OiAwKSB7XHJcblx0LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogJGludCArIDE7XHJcblx0LXdlYmtpdC1vcmRlcjogJGludDtcclxuXHQtbW96LW9yZGVyOiAkaW50O1xyXG5cdC1tcy1mbGV4LW9yZGVyOiAkaW50O1xyXG5cdG9yZGVyOiAkaW50O1xyXG59XHJcblxyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEZsZXhib3ggR3Jvd1xyXG4vL1xyXG4vLyBUaGUgJ2ZsZXgtZ3JvdycgcHJvcGVydHkgc2V0cyB0aGUgZmxleCBncm93IGZhY3Rvci4gTmVnYXRpdmUgbnVtYmVyc1xyXG4vLyBhcmUgaW52YWxpZC5cclxuLy9cclxuLy8gRGVmYXVsdDogMFxyXG4vL1xyXG4vLyBodHRwOi8vdzMub3JnL3RyL2NzczMtZmxleGJveC8jZmxleC1ncm93LXByb3BlcnR5XHJcblxyXG5AbWl4aW4gZmxleC1ncm93KCRpbnQ6IDApIHtcclxuXHQtd2Via2l0LWJveC1mbGV4OiAkaW50O1xyXG5cdC13ZWJraXQtZmxleC1ncm93OiAkaW50O1xyXG5cdC1tb3otZmxleC1ncm93OiAkaW50O1xyXG5cdC1tcy1mbGV4LXBvc2l0aXZlOiAkaW50O1xyXG5cdGZsZXgtZ3JvdzogJGludDtcclxufVxyXG5cclxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBGbGV4Ym94IFNocmlua1xyXG4vL1xyXG4vLyBUaGUgJ2ZsZXgtc2hyaW5rJyBwcm9wZXJ0eSBzZXRzIHRoZSBmbGV4IHNocmluayBmYWN0b3IuIE5lZ2F0aXZlIG51bWJlcnNcclxuLy8gYXJlIGludmFsaWQuXHJcbi8vXHJcbi8vIERlZmF1bHQ6IDFcclxuLy9cclxuLy8gaHR0cDovL3czLm9yZy90ci9jc3MzLWZsZXhib3gvI2ZsZXgtc2hyaW5rLXByb3BlcnR5XHJcblxyXG5AbWl4aW4gZmxleC1zaHJpbmsoJGludDogMSkge1xyXG5cdC13ZWJraXQtZmxleC1zaHJpbms6ICRpbnQ7XHJcblx0LW1vei1mbGV4LXNocmluazogJGludDtcclxuXHQtbXMtZmxleC1uZWdhdGl2ZTogJGludDtcclxuXHRmbGV4LXNocmluazogJGludDtcclxufVxyXG5cclxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBGbGV4Ym94IEJhc2lzXHJcbi8vXHJcbi8vIFRoZSAnZmxleC1iYXNpcycgcHJvcGVydHkgc2V0cyB0aGUgZmxleCBiYXNpcy4gTmVnYXRpdmUgbGVuZ3RocyBhcmUgaW52YWxpZC4gXHJcbi8vXHJcbi8vIFZhbHVlczogTGlrZSBcIndpZHRoXCIgXHJcbi8vIERlZmF1bHQ6IGF1dG9cclxuLy9cclxuLy8gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1mbGV4Ym94LyNmbGV4LWJhc2lzLXByb3BlcnR5XHJcblxyXG5AbWl4aW4gZmxleC1iYXNpcygkdmFsdWU6IGF1dG8pIHtcclxuXHQtd2Via2l0LWZsZXgtYmFzaXM6ICR2YWx1ZTtcclxuXHQtbW96LWZsZXgtYmFzaXM6ICR2YWx1ZTtcclxuXHQtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogJHZhbHVlO1xyXG5cdGZsZXgtYmFzaXM6ICR2YWx1ZTtcclxufVxyXG5cclxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBGbGV4Ym94IFwiRmxleFwiIChzaG9ydGhhbmQpXHJcbi8vXHJcbi8vIFRoZSAnZmxleCcgcHJvcGVydHkgc3BlY2lmaWVzIHRoZSBjb21wb25lbnRzIG9mIGEgZmxleGlibGUgbGVuZ3RoOiB0aGVcclxuLy8gZmxleCBncm93IGZhY3RvciBhbmQgZmxleCBzaHJpbmsgZmFjdG9yLCBhbmQgdGhlIGZsZXggYmFzaXMuIFdoZW4gYW5cclxuLy8gZWxlbWVudCBpcyBhIGZsZXggaXRlbSwgJ2ZsZXgnIGlzIGNvbnN1bHRlZCBpbnN0ZWFkIG9mIHRoZSBtYWluIHNpemVcclxuLy8gcHJvcGVydHkgdG8gZGV0ZXJtaW5lIHRoZSBtYWluIHNpemUgb2YgdGhlIGVsZW1lbnQuIElmIGFuIGVsZW1lbnQgaXNcclxuLy8gbm90IGEgZmxleCBpdGVtLCAnZmxleCcgaGFzIG5vIGVmZmVjdC5cclxuLy9cclxuLy8gVmFsdWVzOiBub25lIHwgPGZsZXgtZ3Jvdz4gPGZsZXgtc2hyaW5rPiB8fCA8ZmxleC1iYXNpcz5cclxuLy8gRGVmYXVsdDogU2VlIGluZGl2aWR1YWwgcHJvcGVydGllcyAoMSAxIDApLlxyXG4vL1xyXG4vLyBodHRwOi8vdzMub3JnL3RyL2NzczMtZmxleGJveC8jZmxleC1wcm9wZXJ0eVxyXG5cclxuQG1peGluIGZsZXgoJGZnOiAxLCAkZnM6IG51bGwsICRmYjogbnVsbCkge1xyXG4gICAgXHJcblx0Ly8gU2V0IGEgdmFyaWFibGUgdG8gYmUgdXNlZCBieSBib3gtZmxleCBwcm9wZXJ0aWVzXHJcblx0JGZnLWJveGZsZXg6ICRmZztcclxuXHJcblx0Ly8gQm94LUZsZXggb25seSBzdXBwb3J0cyBhIGZsZXgtZ3JvdyB2YWx1ZSBzbyBsZXQncyBncmFiIHRoZVxyXG5cdC8vIGZpcnN0IGl0ZW0gaW4gdGhlIGxpc3QgYW5kIGp1c3QgcmV0dXJuIHRoYXQuXHJcblx0QGlmIHR5cGUtb2YoJGZnKSA9PSAnbGlzdCcge1xyXG5cdFx0JGZnLWJveGZsZXg6IG50aCgkZmcsIDEpO1xyXG5cdH1cclxuXHJcblx0LXdlYmtpdC1ib3gtZmxleDogJGZnLWJveGZsZXg7XHJcblx0LXdlYmtpdC1mbGV4OiAkZmcgJGZzICRmYjtcclxuXHQtbW96LWJveC1mbGV4OiAkZmctYm94ZmxleDtcclxuXHQtbW96LWZsZXg6ICRmZyAkZnMgJGZiO1xyXG5cdC1tcy1mbGV4OiAkZmcgJGZzICRmYjtcclxuXHRmbGV4OiAkZmcgJGZzICRmYjtcclxufVxyXG5cclxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBGbGV4Ym94IEp1c3RpZnkgQ29udGVudFxyXG4vL1xyXG4vLyBUaGUgJ2p1c3RpZnktY29udGVudCcgcHJvcGVydHkgYWxpZ25zIGZsZXggaXRlbXMgYWxvbmcgdGhlIG1haW4gYXhpc1xyXG4vLyBvZiB0aGUgY3VycmVudCBsaW5lIG9mIHRoZSBmbGV4IGNvbnRhaW5lci4gVGhpcyBpcyBkb25lIGFmdGVyIGFueSBmbGV4aWJsZVxyXG4vLyBsZW5ndGhzIGFuZCBhbnkgYXV0byBtYXJnaW5zIGhhdmUgYmVlbiByZXNvbHZlZC4gVHlwaWNhbGx5IGl0IGhlbHBzIGRpc3RyaWJ1dGVcclxuLy8gZXh0cmEgZnJlZSBzcGFjZSBsZWZ0b3ZlciB3aGVuIGVpdGhlciBhbGwgdGhlIGZsZXggaXRlbXMgb24gYSBsaW5lIGFyZVxyXG4vLyBpbmZsZXhpYmxlLCBvciBhcmUgZmxleGlibGUgYnV0IGhhdmUgcmVhY2hlZCB0aGVpciBtYXhpbXVtIHNpemUuIEl0IGFsc29cclxuLy8gZXhlcnRzIHNvbWUgY29udHJvbCBvdmVyIHRoZSBhbGlnbm1lbnQgb2YgaXRlbXMgd2hlbiB0aGV5IG92ZXJmbG93IHRoZSBsaW5lLlxyXG4vL1xyXG4vLyBOb3RlOiAnc3BhY2UtKicgdmFsdWVzIG5vdCBzdXBwb3J0ZWQgaW4gb2xkZXIgc3ludGF4ZXMuXHJcbi8vXHJcbi8vIFZhbHVlczogZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZFxyXG4vLyBEZWZhdWx0OiBmbGV4LXN0YXJ0XHJcbi8vXHJcbi8vIGh0dHA6Ly93My5vcmcvdHIvY3NzMy1mbGV4Ym94LyNqdXN0aWZ5LWNvbnRlbnQtcHJvcGVydHlcclxuXHJcbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQoJHZhbHVlOiBmbGV4LXN0YXJ0KSB7XHJcblx0QGlmICR2YWx1ZSA9PSBmbGV4LXN0YXJ0IHtcclxuXHRcdC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xyXG5cdFx0LW1zLWZsZXgtcGFjazogc3RhcnQ7XHJcblx0fSBAZWxzZSBpZiAkdmFsdWUgPT0gZmxleC1lbmQge1xyXG5cdFx0LXdlYmtpdC1ib3gtcGFjazogZW5kO1xyXG5cdFx0LW1zLWZsZXgtcGFjazogZW5kO1xyXG5cdH0gQGVsc2UgaWYgJHZhbHVlID09IHNwYWNlLWJldHdlZW4ge1xyXG5cdFx0LXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcclxuXHRcdC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XHJcblx0fSBAZWxzZSBpZiAkdmFsdWUgPT0gc3BhY2UtYXJvdW5kIHtcclxuXHRcdC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGU7XHRcdFxyXG5cdH0gQGVsc2Uge1xyXG5cdFx0LXdlYmtpdC1ib3gtcGFjazogJHZhbHVlO1xyXG5cdFx0LW1zLWZsZXgtcGFjazogJHZhbHVlO1xyXG5cdH1cclxuXHQtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xyXG5cdC1tb3otanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcblx0anVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcbn1cclxuXHQvLyBTaG9ydGVyIHZlcnNpb246XHJcblx0QG1peGluIGZsZXgtanVzdCgkYXJncy4uLikgeyBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoJGFyZ3MuLi4pOyB9XHJcblxyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEZsZXhib3ggQWxpZ24gSXRlbXNcclxuLy9cclxuLy8gRmxleCBpdGVtcyBjYW4gYmUgYWxpZ25lZCBpbiB0aGUgY3Jvc3MgYXhpcyBvZiB0aGUgY3VycmVudCBsaW5lIG9mIHRoZVxyXG4vLyBmbGV4IGNvbnRhaW5lciwgc2ltaWxhciB0byAnanVzdGlmeS1jb250ZW50JyBidXQgaW4gdGhlIHBlcnBlbmRpY3VsYXJcclxuLy8gZGlyZWN0aW9uLiAnYWxpZ24taXRlbXMnIHNldHMgdGhlIGRlZmF1bHQgYWxpZ25tZW50IGZvciBhbGwgb2YgdGhlIGZsZXhcclxuLy8gY29udGFpbmVyJ3MgaXRlbXMsIGluY2x1ZGluZyBhbm9ueW1vdXMgZmxleCBpdGVtcy4gJ2FsaWduLXNlbGYnIGFsbG93c1xyXG4vLyB0aGlzIGRlZmF1bHQgYWxpZ25tZW50IHRvIGJlIG92ZXJyaWRkZW4gZm9yIGluZGl2aWR1YWwgZmxleCBpdGVtcy4gKEZvclxyXG4vLyBhbm9ueW1vdXMgZmxleCBpdGVtcywgJ2FsaWduLXNlbGYnIGFsd2F5cyBtYXRjaGVzIHRoZSB2YWx1ZSBvZiAnYWxpZ24taXRlbXMnXHJcbi8vIG9uIHRoZWlyIGFzc29jaWF0ZWQgZmxleCBjb250YWluZXIuKSBcclxuLy9cclxuLy8gVmFsdWVzOiBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2hcclxuLy8gRGVmYXVsdDogc3RyZXRjaFxyXG4vL1xyXG4vLyBodHRwOi8vdzMub3JnL3RyL2NzczMtZmxleGJveC8jYWxpZ24taXRlbXMtcHJvcGVydHlcclxuXHJcbkBtaXhpbiBhbGlnbi1pdGVtcygkdmFsdWU6IHN0cmV0Y2gpIHtcclxuXHRAaWYgJHZhbHVlID09IGZsZXgtc3RhcnQge1xyXG5cdFx0LXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xyXG5cdFx0LW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xyXG5cdH0gQGVsc2UgaWYgJHZhbHVlID09IGZsZXgtZW5kIHtcclxuXHRcdC13ZWJraXQtYm94LWFsaWduOiBlbmQ7XHJcblx0XHQtbXMtZmxleC1hbGlnbjogZW5kO1xyXG5cdH0gQGVsc2Uge1xyXG5cdFx0LXdlYmtpdC1ib3gtYWxpZ246ICR2YWx1ZTtcclxuXHRcdC1tcy1mbGV4LWFsaWduOiAkdmFsdWU7XHJcblx0fVxyXG5cdC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcclxuXHQtbW96LWFsaWduLWl0ZW1zOiAkdmFsdWU7XHJcblx0YWxpZ24taXRlbXM6ICR2YWx1ZTtcclxufVxyXG5cclxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBGbGV4Ym94IEFsaWduIFNlbGZcclxuLy9cclxuLy8gVmFsdWVzOiBhdXRvIHwgZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoXHJcbi8vIERlZmF1bHQ6IGF1dG9cclxuXHJcbkBtaXhpbiBhbGlnbi1zZWxmKCR2YWx1ZTogYXV0bykge1xyXG5cdC8vIE5vIFdlYmtpdCBCb3ggRmFsbGJhY2suXHJcblx0LXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XHJcblx0LW1vei1hbGlnbi1zZWxmOiAkdmFsdWU7XHJcblx0QGlmICR2YWx1ZSA9PSBmbGV4LXN0YXJ0IHtcclxuXHRcdC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0YXJ0O1xyXG5cdH0gQGVsc2UgaWYgJHZhbHVlID09IGZsZXgtZW5kIHtcclxuXHRcdC1tcy1mbGV4LWl0ZW0tYWxpZ246IGVuZDtcclxuXHR9IEBlbHNlIHtcclxuXHRcdC1tcy1mbGV4LWl0ZW0tYWxpZ246ICR2YWx1ZTtcclxuXHR9XHJcblx0YWxpZ24tc2VsZjogJHZhbHVlO1xyXG59XHJcblxyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEZsZXhib3ggQWxpZ24gQ29udGVudFxyXG4vL1xyXG4vLyBUaGUgJ2FsaWduLWNvbnRlbnQnIHByb3BlcnR5IGFsaWducyBhIGZsZXggY29udGFpbmVyJ3MgbGluZXMgd2l0aGluIHRoZVxyXG4vLyBmbGV4IGNvbnRhaW5lciB3aGVuIHRoZXJlIGlzIGV4dHJhIHNwYWNlIGluIHRoZSBjcm9zcy1heGlzLCBzaW1pbGFyIHRvXHJcbi8vIGhvdyAnanVzdGlmeS1jb250ZW50JyBhbGlnbnMgaW5kaXZpZHVhbCBpdGVtcyB3aXRoaW4gdGhlIG1haW4tYXhpcy4gTm90ZSxcclxuLy8gdGhpcyBwcm9wZXJ0eSBoYXMgbm8gZWZmZWN0IHdoZW4gdGhlIGZsZXhib3ggaGFzIG9ubHkgYSBzaW5nbGUgbGluZS5cclxuLy9cclxuLy8gVmFsdWVzOiBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kIHwgc3RyZXRjaFxyXG4vLyBEZWZhdWx0OiBzdHJldGNoXHJcbi8vXHJcbi8vIGh0dHA6Ly93My5vcmcvdHIvY3NzMy1mbGV4Ym94LyNhbGlnbi1jb250ZW50LXByb3BlcnR5XHJcblxyXG5AbWl4aW4gYWxpZ24tY29udGVudCgkdmFsdWU6IHN0cmV0Y2gpIHtcclxuXHQvLyBObyBXZWJraXQgQm94IEZhbGxiYWNrLlxyXG5cdC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xyXG5cdC1tb3otYWxpZ24tY29udGVudDogJHZhbHVlO1xyXG5cdEBpZiAkdmFsdWUgPT0gZmxleC1zdGFydCB7XHJcblx0XHQtbXMtZmxleC1saW5lLXBhY2s6IHN0YXJ0O1xyXG5cdH0gQGVsc2UgaWYgJHZhbHVlID09IGZsZXgtZW5kIHtcclxuXHRcdC1tcy1mbGV4LWxpbmUtcGFjazogZW5kO1xyXG5cdH0gQGVsc2Uge1xyXG5cdFx0LW1zLWZsZXgtbGluZS1wYWNrOiAkdmFsdWU7XHJcblx0fVxyXG5cdGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcclxufVxyXG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2Ny4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5tYWluIHsgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LSBhbmQgRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscywgLyogMSAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIFNjcmlwdGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBIaWRkZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBiYXNlIHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuaHRtbCB7XG4gICAgZm9udC1zaXplOiA2Mi41JTtcbiAgICAvLyAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7XG4gICAgLy8gLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7XG59XG5odG1sLFxuYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbn1cbmJvZHkge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTtcbn1cbmEge1xuICAgIGNvbG9yOiAkZ3JheTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5wcmUge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG51bCwgb2wsIGRsLFxuZHQsIGRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cbnVsLCBvbCwgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5lbSwgYWRkcmVzcyB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuZmlndXJlLCBmb3JtIHtcbiAgICBtYXJnaW46IDA7XG59XG5maWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbmxhYmVsIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbmJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIHBhZGRpbmc6IC40ZW0gMWVtO1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xufVxudGV4dGFyZWEge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cbmlucHV0OmludmFsaWQsXG50ZXh0YXJlYTppbnZhbGlkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXNoO1xufVxudGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGVtcHR5LWNlbGxzOiBzaG93O1xufVxudGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5zZWxlY3Qge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbn1cbjo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAkYnJhbmQ7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgLy8gY29sb3I6ICRzaWx2ZXI7XG59XG46Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgLy8gY29sb3I6ICRzaWx2ZXI7XG59XG46LW1vei1wbGFjZWhvbGRlciB7XG4gICAgLy8gY29sb3I6ICRzaWx2ZXI7XG59XG5lbSxcbm1hcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYXJrO1xuICAgIGNvbG9yOiAkd2hpdGU7XG59XG5cblxuLy8gYmFzZSBndWlkZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmJvZHksXG5pbnB1dCxcbnRleHRhcmVhLFxuc2VsZWN0LFxuYnV0dG9uIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZGVmYXVsdDtcbiAgICBjb2xvcjogJGNvbG9yLWJvZHk7XG59XG5ib2R5IHtcbiAgICBtaW4td2lkdGg6IDMyMHB4O1xufVxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5pbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gSGVscGVyIGNsYXNzZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIGhpZGUgZWxlbWVudFxyXG5baGlkZGVuXSxcclxuLmhpZGRlbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vLyBhY2Nlc3NpYmlsaXR5XHJcbi5hMTF5IHtcclxuXHRAaW5jbHVkZSBhMTF5O1xyXG59XHJcblxyXG4vLyBmbGV4aWJsZSBvYmplY3RzXHJcbi5mbGV4aWJsZS1vYmoge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcclxuXHJcbiAgICBpZnJhbWUsXHJcbiAgICBvYmplY3QsXHJcbiAgICB2aWRlbyxcclxuICAgIGVtYmVkLFxyXG4gICAgPiBpbWcge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgaWZyYW1lIHtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIGZsZXggY29udGFpbmVyXHJcbi5mbGV4IHtcclxuICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XHJcblxyXG4gICAgPiAqIHtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcblxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJiArICYge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5vYmotc3ZnIHtcclxuICAgIHBhdGgge1xyXG4gICAgICAgIGZpbGw6ICR3aGl0ZTtcclxuICAgIH1cclxufVxyXG5cclxuLmlmcmFtZSB7XHJcbiAgICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbi5mb3Itc21hbGwge1xyXG4gICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcbi5mb3ItbGFyZ2Uge1xyXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5oMSwgLmgxIHtcblx0QGluY2x1ZGUgaDE7XG59XG5oMiwgLmgyIHtcblx0QGluY2x1ZGUgaDI7XG59XG5oMywgLmgzIHtcblx0QGluY2x1ZGUgaDM7XG59XG5oNCwgLmg0IHtcblx0QGluY2x1ZGUgaDQ7XG59XG5oNSwgLmg1IHtcblx0QGluY2x1ZGUgaDU7XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRWxlbWVudHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbXBvcnQgJ2VsZW1lbnRzL2J1dHRvbnMnO1xuQGltcG9ydCAnZWxlbWVudHMvaW5wdXQnO1xuQGltcG9ydCAnZWxlbWVudHMvaWNvbnMnO1xuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGJ1dHRvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gYnV0dG9uLXNpemUoJGZ6LCAkaCkge1xuXHRmb250LXNpemU6ICRmejtcblx0bGluZS1oZWlnaHQ6ICRoO1xufVxuXG4uYnRuIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRAaW5jbHVkZSBib3gtc2l6aW5nO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IDAgMS43NXJlbTtcblx0Y29sb3I6ICR3aGl0ZTtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRsZXR0ZXItc3BhY2luZzogMDtcblx0QGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlLW91dCk7XG5cdEBpbmNsdWRlIGJ1dHRvbi1zaXplKDEuMnJlbSwgM3JlbSk7XG5cblx0c3BhbiB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDE7XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRAaW5jbHVkZSBmdWxsLXBvcztcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkc2lsdmVyLWxpZ2h0O1xuXHRcdEBpbmNsdWRlIGJveC1zaXppbmc7XG5cdFx0QGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlLW91dCk7XG5cdH1cblxuXHQmOmhvdmVyLFxuXHQmOmZvY3VzIHtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRzcGFuIHtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRlbTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRlbTtcblx0XHR9XG5cdH1cblxuXHQmOmFjdGl2ZSB7XG5cdFx0JjphZnRlciB7XG5cdFx0XHRAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMC45KSk7XG5cdFx0fVxuXHR9XG5cblx0Ji0taW52ZXJ0IHtcblx0XHRzcGFuIHtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRicmFuZDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRicmFuZDtcblx0XHR9XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkZW07XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRlbTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLS1ib2xkIHtcblx0XHQmOmFmdGVyIHtcblx0XHRcdGJvcmRlci1jb2xvcjogJGJsYWNrO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXG5cdFx0JltkaXNhYmxlZD1cImRpc2FibGVkXCJdIHtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLS13aGl0ZSB7XG5cdFx0JjphZnRlciB7XG5cdFx0XHRib3JkZXItY29sb3I6ICR3aGl0ZTtcblx0XHR9XG5cblx0XHQmW2Rpc2FibGVkPVwiZGlzYWJsZWRcIl0ge1xuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYtLWdob3N0IHtcblx0XHRzcGFuIHtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRzaWx2ZXItbGlnaHQ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHR9XG5cdH1cblxuXHQvLyBzaXplIHZhcmlhdGlvblxuXHQmLS1sZyB7XG5cdFx0cGFkZGluZy1sZWZ0OiA0Ljg1cmVtO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDQuODVyZW07XG5cdFx0QGluY2x1ZGUgYnV0dG9uLXNpemUoMS42cmVtLCA1LjZyZW0pO1xuXHR9XG5cdCYtLXNtIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDEuOXJlbTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAxLjlyZW07XG5cdFx0QGluY2x1ZGUgYnV0dG9uLXNpemUoMS40cmVtLCAzLjZyZW0pO1xuXHR9XG5cdCYtLXdpZGUge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0JltkaXNhYmxlZD1cImRpc2FibGVkXCJdIHtcblx0XHRzcGFuIHtcblx0XHRcdGNvbG9yOiAkc2lsdmVyLWRhcms7XG5cdFx0fVxuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRvcGFjaXR5OiAwLjE7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgbXEoc21hbGwpIHtcblx0XHRwYWRkaW5nOiAwIDMuNzVyZW07XG5cdFx0QGluY2x1ZGUgYnV0dG9uLXNpemUoMS44cmVtLCA0cmVtKTtcblx0fVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGlucHV0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5pbnB1dFt0eXBlPSd0ZXh0J10ge1xuXHRAaW5jbHVkZSBib3gtc2l6aW5nKCk7XG5cdG1heC13aWR0aDogcGVyY2VudGFnZSgxKTtcblx0cGFkZGluZzogMC41cmVtIDA7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRzaWx2ZXI7XG59XG4iLCIiLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBjb2x1bW4gKCAxMiBncmlkIClcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIGdyaWQgdmFyaWFibGVzXHJcbiRncmlkLWNvbHVtbnM6IDEyO1xyXG5cclxuLnJvdyB7XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIG1hcmdpbjogMCAoKC0kZ3V0dGVyLXNtYWxsIC8gMikgKyBweCk7XHJcblxyXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwICgoLSRndXR0ZXItbGFyZ2UgLyAyKSArIHB4KTtcclxuICAgIH1cclxufVxyXG4lY29sIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWluLWhlaWdodDogMXB4O1xyXG4gICAgQGluY2x1ZGUgYm94LXNpemluZztcclxuICAgIHBhZGRpbmc6IDAgKCgkZ3V0dGVyLXNtYWxsIC8gMikgKyBweCk7XHJcbn1cclxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcclxuICAgICR3aWR0aDogMTAwJSAvICRncmlkLWNvbHVtbnMgKiAkaTtcclxuXHJcbiAgICAuY29sLW0tI3skaX0ge1xyXG4gICAgICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgICAgICAgQGV4dGVuZCAlY29sO1xyXG4gICAgfVxyXG4gICAgLmNvbC1tLW9mZnNldC0jeyRpfSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICR3aWR0aDtcclxuICAgIH1cclxuICAgIC5jb2wtbS1wdWxsLSN7JGl9IHtcclxuICAgICAgICByaWdodDogJHdpZHRoO1xyXG4gICAgfVxyXG4gICAgLmNvbC1tLXB1c2gtI3skaX0ge1xyXG4gICAgICAgIGxlZnQ6ICR3aWR0aDtcclxuICAgIH1cclxuXHJcbiAgICAuY29sLSN7JGl9IHtcclxuICAgICAgICBAZXh0ZW5kICVjb2w7XHJcbiAgICB9XHJcbn1cclxuQGluY2x1ZGUgbXEoJHVudGlsOiBtZWRpdW0pIHtcclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTIge1xyXG4gICAgICAgIC5jb2wtI3skaX0ge1xyXG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQGluY2x1ZGUgbXEobWVkaXVtKSB7XHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEyIHtcclxuICAgICAgICAkd2lkdGg6IDEwMCUgLyAkZ3JpZC1jb2x1bW5zICogJGk7XHJcblxyXG4gICAgICAgIC5jb2wtI3skaX0ge1xyXG4gICAgICAgICAgICB3aWR0aDogJHdpZHRoO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwICgoJGd1dHRlci1sYXJnZSAvIDIpICsgcHgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29sLW9mZnNldC0jeyRpfSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkd2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb2wtcHVsbC0jeyRpfSB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAkd2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb2wtcHVzaC0jeyRpfSB7XHJcbiAgICAgICAgICAgIGxlZnQ6ICR3aWR0aDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jb2wtbS0jeyRpfSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgKCgkZ3V0dGVyLWxhcmdlIC8gMikgKyBweCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb2wtbS1vZmZzZXQtI3skaX0ge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbC1tLXB1bGwtI3skaX0ge1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbC1tLXB1c2gtI3skaX0ge1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uY29sLTEyIHtcclxuICAgIGZsb2F0OiBub25lO1xyXG59XHJcbiIsIkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IFwiaWNvblwiO1xyXG4gICAgc3JjOiB1cmwoJy4uL2ZvbnQvaWNvbi5lb3QnKTtcclxuICAgIHNyYzogdXJsKCcuLi9mb250L2ljb24uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW90JyksXHJcbiAgICB1cmwoJy4uL2ZvbnQvaWNvbi53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcbn1cclxuXHJcbkBtaXhpbiBpY29uLXN0eWxlcyB7XHJcbiAgICBmb250LWZhbWlseTogXCJpY29uXCI7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAvLyBzcGVhazogbm9uZTsgLy8gb25seSBuZWNlc3NhcnkgaWYgbm90IHVzaW5nIHRoZSBwcml2YXRlIHVuaWNvZGUgcmFuZ2UgKGZpcnN0R2x5cGggb3B0aW9uKVxyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbn1cclxuXHJcbiVpY29uLWZvbnQge1xyXG4gICAgQGluY2x1ZGUgaWNvbi1zdHlsZXM7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBpY29uLWNoYXIoJGZpbGVuYW1lKSB7XHJcbiAgICAkY2hhcjogXCJcIjtcclxuXHJcbiAgICBAaWYgJGZpbGVuYW1lID09IFwiYXJyb3ctYm90dG9tXCIge1xyXG4gICAgICAgICRjaGFyOiBcIlxcZWEwMVwiO1xyXG4gICAgfVxyXG4gICAgQGlmICRmaWxlbmFtZSA9PSBcImFycm93LWZpcnN0XCIge1xyXG4gICAgICAgICRjaGFyOiBcIlxcZWEwMlwiO1xyXG4gICAgfVxyXG4gICAgQGlmICRmaWxlbmFtZSA9PSBcImFycm93LWxhc3RcIiB7XHJcbiAgICAgICAgJGNoYXI6IFwiXFxlYTAzXCI7XHJcbiAgICB9XHJcbiAgICBAaWYgJGZpbGVuYW1lID09IFwiYXJyb3ctbGVmdFwiIHtcclxuICAgICAgICAkY2hhcjogXCJcXGVhMDRcIjtcclxuICAgIH1cclxuICAgIEBpZiAkZmlsZW5hbWUgPT0gXCJhcnJvdy1yaWdodFwiIHtcclxuICAgICAgICAkY2hhcjogXCJcXGVhMDVcIjtcclxuICAgIH1cclxuICAgIEBpZiAkZmlsZW5hbWUgPT0gXCJhcnJvdy10b3BcIiB7XHJcbiAgICAgICAgJGNoYXI6IFwiXFxlYTA2XCI7XHJcbiAgICB9XHJcbiAgICBAaWYgJGZpbGVuYW1lID09IFwiYmxvY2txdW90ZVwiIHtcclxuICAgICAgICAkY2hhcjogXCJcXGVhMDdcIjtcclxuICAgIH1cclxuICAgIEBpZiAkZmlsZW5hbWUgPT0gXCJibG9nXCIge1xyXG4gICAgICAgICRjaGFyOiBcIlxcZWEwOFwiO1xyXG4gICAgfVxyXG4gICAgQGlmICRmaWxlbmFtZSA9PSBcImNoZWNrYm94LWNoZWNrZWRcIiB7XHJcbiAgICAgICAgJGNoYXI6IFwiXFxlYTA5XCI7XHJcbiAgICB9XHJcbiAgICBAaWYgJGZpbGVuYW1lID09IFwiY2hlY2tib3gtdW5jaGVja2VkXCIge1xyXG4gICAgICAgICRjaGFyOiBcIlxcZWEwYVwiO1xyXG4gICAgfVxyXG4gICAgQGlmICRmaWxlbmFtZSA9PSBcImNsb3NlXCIge1xyXG4gICAgICAgICRjaGFyOiBcIlxcZWEwYlwiO1xyXG4gICAgfVxyXG4gICAgQGlmICRmaWxlbmFtZSA9PSBcImRyb3Bkb3duLWRvd25cIiB7XHJcbiAgICAgICAgJGNoYXI6IFwiXFxlYTBjXCI7XHJcbiAgICB9XHJcbiAgICBAaWYgJGZpbGVuYW1lID09IFwiZHJvcGRvd24tdXBcIiB7XHJcbiAgICAgICAgJGNoYXI6IFwiXFxlYTBkXCI7XHJcbiAgICB9XHJcbiAgICBAaWYgJGZpbGVuYW1lID09IFwiZmFjZWJvb2tcIiB7XHJcbiAgICAgICAgJGNoYXI6IFwiXFxlYTBlXCI7XHJcbiAgICB9XHJcbiAgICBAaWYgJGZpbGVuYW1lID09IFwiaW5zdGFncmFtXCIge1xyXG4gICAgICAgICRjaGFyOiBcIlxcZWEwZlwiO1xyXG4gICAgfVxyXG4gICAgQGlmICRmaWxlbmFtZSA9PSBcImxvY2F0b3ItY2lyY2xlXCIge1xyXG4gICAgICAgICRjaGFyOiBcIlxcZWExMFwiO1xyXG4gICAgfVxyXG4gICAgQGlmICRmaWxlbmFtZSA9PSBcImxvY2F0b3Itc3ltYm9sXCIge1xyXG4gICAgICAgICRjaGFyOiBcIlxcZWExMVwiO1xyXG4gICAgfVxyXG4gICAgQGlmICRmaWxlbmFtZSA9PSBcImxvZ2luXCIge1xyXG4gICAgICAgICRjaGFyOiBcIlxcZWExMlwiO1xyXG4gICAgfVxyXG4gICAgQGlmICRmaWxlbmFtZSA9PSBcImxvZ29cIiB7XHJcbiAgICAgICAgJGNoYXI6IFwiXFxlYTEzXCI7XHJcbiAgICB9XHJcbiAgICBAaWYgJGZpbGVuYW1lID09IFwibG9nb3V0XCIge1xyXG4gICAgICAgICRjaGFyOiBcIlxcZWExNFwiO1xyXG4gICAgfVxyXG4gICAgQGlmICRmaWxlbmFtZSA9PSBcInBsYXlcIiB7XHJcbiAgICAgICAgJGNoYXI6IFwiXFxlYTE1XCI7XHJcbiAgICB9XHJcbiAgICBAaWYgJGZpbGVuYW1lID09IFwicmVsb2FkXCIge1xyXG4gICAgICAgICRjaGFyOiBcIlxcZWExNlwiO1xyXG4gICAgfVxyXG4gICAgQGlmICRmaWxlbmFtZSA9PSBcInJlc2l6ZS1iYWNrXCIge1xyXG4gICAgICAgICRjaGFyOiBcIlxcZWExN1wiO1xyXG4gICAgfVxyXG4gICAgQGlmICRmaWxlbmFtZSA9PSBcInJlc2l6ZS16b29tXCIge1xyXG4gICAgICAgICRjaGFyOiBcIlxcZWExOFwiO1xyXG4gICAgfVxyXG4gICAgQGlmICRmaWxlbmFtZSA9PSBcInNlYXJjaFwiIHtcclxuICAgICAgICAkY2hhcjogXCJcXGVhMTlcIjtcclxuICAgIH1cclxuICAgIEBpZiAkZmlsZW5hbWUgPT0gXCJzaGFyZVwiIHtcclxuICAgICAgICAkY2hhcjogXCJcXGVhMWFcIjtcclxuICAgIH1cclxuICAgIEBpZiAkZmlsZW5hbWUgPT0gXCJzaWduXCIge1xyXG4gICAgICAgICRjaGFyOiBcIlxcZWExYlwiO1xyXG4gICAgfVxyXG4gICAgQGlmICRmaWxlbmFtZSA9PSBcInN1Y2Nlc3NcIiB7XHJcbiAgICAgICAgJGNoYXI6IFwiXFxlYTFjXCI7XHJcbiAgICB9XHJcbiAgICBAaWYgJGZpbGVuYW1lID09IFwidHdpdHRlclwiIHtcclxuICAgICAgICAkY2hhcjogXCJcXGVhMWRcIjtcclxuICAgIH1cclxuICAgIEBpZiAkZmlsZW5hbWUgPT0gXCJ1cmxcIiB7XHJcbiAgICAgICAgJGNoYXI6IFwiXFxlYTFlXCI7XHJcbiAgICB9XHJcbiAgICBAaWYgJGZpbGVuYW1lID09IFwid2FybmluZy1jaXJjbGVcIiB7XHJcbiAgICAgICAgJGNoYXI6IFwiXFxlYTFmXCI7XHJcbiAgICB9XHJcbiAgICBAaWYgJGZpbGVuYW1lID09IFwid2FybmluZ1wiIHtcclxuICAgICAgICAkY2hhcjogXCJcXGVhMjBcIjtcclxuICAgIH1cclxuICAgIEBpZiAkZmlsZW5hbWUgPT0gXCJ5b3V0dWJlXCIge1xyXG4gICAgICAgICRjaGFyOiBcIlxcZWEyMVwiO1xyXG4gICAgfVxyXG5cclxuICAgIEByZXR1cm4gJGNoYXI7XHJcbn1cclxuXHJcbkBtaXhpbiBpY29uLWZvbnQoJGZpbGVuYW1lLCAkaW5zZXJ0OiBiZWZvcmUsICRleHRlbmQ6IHRydWUpIHtcclxuICAgICY6I3skaW5zZXJ0fSB7XHJcbiAgICAgICAgQGlmICRleHRlbmQge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICVpY29uLWZvbnQ7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGljb24tc3R5bGVzO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb250ZW50OiBpY29uLWNoYXIoJGZpbGVuYW1lKTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGljb24tYXJyb3ctYm90dG9tIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlYTAxXCI7XHJcbiAgICBAaW5jbHVkZSBpY29uLXN0eWxlcztcclxufVxyXG4uaWNvbi1hcnJvdy1ib3R0b20ge1xyXG4gICAgQGluY2x1ZGUgaWNvbi1mb250KFwiYXJyb3ctYm90dG9tXCIpO1xyXG59XHJcbkBtaXhpbiBpY29uLWFycm93LWZpcnN0IHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlYTAyXCI7XHJcbiAgICBAaW5jbHVkZSBpY29uLXN0eWxlcztcclxufVxyXG4uaWNvbi1hcnJvdy1maXJzdCB7XHJcbiAgICBAaW5jbHVkZSBpY29uLWZvbnQoXCJhcnJvdy1maXJzdFwiKTtcclxufVxyXG5AbWl4aW4gaWNvbi1hcnJvdy1sYXN0IHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlYTAzXCI7XHJcbiAgICBAaW5jbHVkZSBpY29uLXN0eWxlcztcclxufVxyXG4uaWNvbi1hcnJvdy1sYXN0IHtcclxuICAgIEBpbmNsdWRlIGljb24tZm9udChcImFycm93LWxhc3RcIik7XHJcbn1cclxuQG1peGluIGljb24tYXJyb3ctbGVmdCB7XHJcbiAgICBjb250ZW50OiBcIlxcZWEwNFwiO1xyXG4gICAgQGluY2x1ZGUgaWNvbi1zdHlsZXM7XHJcbn1cclxuLmljb24tYXJyb3ctbGVmdCB7XHJcbiAgICBAaW5jbHVkZSBpY29uLWZvbnQoXCJhcnJvdy1sZWZ0XCIpO1xyXG59XHJcbkBtaXhpbiBpY29uLWFycm93LXJpZ2h0IHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlYTA1XCI7XHJcbiAgICBAaW5jbHVkZSBpY29uLXN0eWxlcztcclxufVxyXG4uaWNvbi1hcnJvdy1yaWdodCB7XHJcbiAgICBAaW5jbHVkZSBpY29uLWZvbnQoXCJhcnJvdy1yaWdodFwiKTtcclxufVxyXG5AbWl4aW4gaWNvbi1hcnJvdy10b3Age1xyXG4gICAgY29udGVudDogXCJcXGVhMDZcIjtcclxuICAgIEBpbmNsdWRlIGljb24tc3R5bGVzO1xyXG59XHJcbi5pY29uLWFycm93LXRvcCB7XHJcbiAgICBAaW5jbHVkZSBpY29uLWZvbnQoXCJhcnJvdy10b3BcIik7XHJcbn1cclxuQG1peGluIGljb24tYmxvY2txdW90ZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZWEwN1wiO1xyXG4gICAgQGluY2x1ZGUgaWNvbi1zdHlsZXM7XHJcbn1cclxuLmljb24tYmxvY2txdW90ZSB7XHJcbiAgICBAaW5jbHVkZSBpY29uLWZvbnQoXCJibG9ja3F1b3RlXCIpO1xyXG59XHJcbkBtaXhpbiBpY29uLWJsb2cge1xyXG4gICAgY29udGVudDogXCJcXGVhMDhcIjtcclxuICAgIEBpbmNsdWRlIGljb24tc3R5bGVzO1xyXG59XHJcbi5pY29uLWJsb2cge1xyXG4gICAgQGluY2x1ZGUgaWNvbi1mb250KFwiYmxvZ1wiKTtcclxufVxyXG5AbWl4aW4gaWNvbi1jaGVja2JveC1jaGVja2VkIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlYTA5XCI7XHJcbiAgICBAaW5jbHVkZSBpY29uLXN0eWxlcztcclxufVxyXG4uaWNvbi1jaGVja2JveC1jaGVja2VkIHtcclxuICAgIEBpbmNsdWRlIGljb24tZm9udChcImNoZWNrYm94LWNoZWNrZWRcIik7XHJcbn1cclxuQG1peGluIGljb24tY2hlY2tib3gtdW5jaGVja2VkIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlYTBhXCI7XHJcbiAgICBAaW5jbHVkZSBpY29uLXN0eWxlcztcclxufVxyXG4uaWNvbi1jaGVja2JveC11bmNoZWNrZWQge1xyXG4gICAgQGluY2x1ZGUgaWNvbi1mb250KFwiY2hlY2tib3gtdW5jaGVja2VkXCIpO1xyXG59XHJcbkBtaXhpbiBpY29uLWNsb3NlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlYTBiXCI7XHJcbiAgICBAaW5jbHVkZSBpY29uLXN0eWxlcztcclxufVxyXG4uaWNvbi1jbG9zZSB7XHJcbiAgICBAaW5jbHVkZSBpY29uLWZvbnQoXCJjbG9zZVwiKTtcclxufVxyXG5AbWl4aW4gaWNvbi1kcm9wZG93bi1kb3duIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlYTBjXCI7XHJcbiAgICBAaW5jbHVkZSBpY29uLXN0eWxlcztcclxufVxyXG4uaWNvbi1kcm9wZG93bi1kb3duIHtcclxuICAgIEBpbmNsdWRlIGljb24tZm9udChcImRyb3Bkb3duLWRvd25cIik7XHJcbn1cclxuQG1peGluIGljb24tZHJvcGRvd24tdXAge1xyXG4gICAgY29udGVudDogXCJcXGVhMGRcIjtcclxuICAgIEBpbmNsdWRlIGljb24tc3R5bGVzO1xyXG59XHJcbi5pY29uLWRyb3Bkb3duLXVwIHtcclxuICAgIEBpbmNsdWRlIGljb24tZm9udChcImRyb3Bkb3duLXVwXCIpO1xyXG59XHJcbkBtaXhpbiBpY29uLWZhY2Vib29rIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlYTBlXCI7XHJcbiAgICBAaW5jbHVkZSBpY29uLXN0eWxlcztcclxufVxyXG4uaWNvbi1mYWNlYm9vayB7XHJcbiAgICBAaW5jbHVkZSBpY29uLWZvbnQoXCJmYWNlYm9va1wiKTtcclxufVxyXG5AbWl4aW4gaWNvbi1pbnN0YWdyYW0ge1xyXG4gICAgY29udGVudDogXCJcXGVhMGZcIjtcclxuICAgIEBpbmNsdWRlIGljb24tc3R5bGVzO1xyXG59XHJcbi5pY29uLWluc3RhZ3JhbSB7XHJcbiAgICBAaW5jbHVkZSBpY29uLWZvbnQoXCJpbnN0YWdyYW1cIik7XHJcbn1cclxuQG1peGluIGljb24tbG9jYXRvci1jaXJjbGUge1xyXG4gICAgY29udGVudDogXCJcXGVhMTBcIjtcclxuICAgIEBpbmNsdWRlIGljb24tc3R5bGVzO1xyXG59XHJcbi5pY29uLWxvY2F0b3ItY2lyY2xlIHtcclxuICAgIEBpbmNsdWRlIGljb24tZm9udChcImxvY2F0b3ItY2lyY2xlXCIpO1xyXG59XHJcbkBtaXhpbiBpY29uLWxvY2F0b3Itc3ltYm9sIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlYTExXCI7XHJcbiAgICBAaW5jbHVkZSBpY29uLXN0eWxlcztcclxufVxyXG4uaWNvbi1sb2NhdG9yLXN5bWJvbCB7XHJcbiAgICBAaW5jbHVkZSBpY29uLWZvbnQoXCJsb2NhdG9yLXN5bWJvbFwiKTtcclxufVxyXG5AbWl4aW4gaWNvbi1sb2dpbiB7XHJcbiAgICBjb250ZW50OiBcIlxcZWExMlwiO1xyXG4gICAgQGluY2x1ZGUgaWNvbi1zdHlsZXM7XHJcbn1cclxuLmljb24tbG9naW4ge1xyXG4gICAgQGluY2x1ZGUgaWNvbi1mb250KFwibG9naW5cIik7XHJcbn1cclxuQG1peGluIGljb24tbG9nbyB7XHJcbiAgICBjb250ZW50OiBcIlxcZWExM1wiO1xyXG4gICAgQGluY2x1ZGUgaWNvbi1zdHlsZXM7XHJcbn1cclxuLmljb24tbG9nbyB7XHJcbiAgICBAaW5jbHVkZSBpY29uLWZvbnQoXCJsb2dvXCIpO1xyXG59XHJcbkBtaXhpbiBpY29uLWxvZ291dCB7XHJcbiAgICBjb250ZW50OiBcIlxcZWExNFwiO1xyXG4gICAgQGluY2x1ZGUgaWNvbi1zdHlsZXM7XHJcbn1cclxuLmljb24tbG9nb3V0IHtcclxuICAgIEBpbmNsdWRlIGljb24tZm9udChcImxvZ291dFwiKTtcclxufVxyXG5AbWl4aW4gaWNvbi1wbGF5IHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlYTE1XCI7XHJcbiAgICBAaW5jbHVkZSBpY29uLXN0eWxlcztcclxufVxyXG4uaWNvbi1wbGF5IHtcclxuICAgIEBpbmNsdWRlIGljb24tZm9udChcInBsYXlcIik7XHJcbn1cclxuQG1peGluIGljb24tcmVsb2FkIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlYTE2XCI7XHJcbiAgICBAaW5jbHVkZSBpY29uLXN0eWxlcztcclxufVxyXG4uaWNvbi1yZWxvYWQge1xyXG4gICAgQGluY2x1ZGUgaWNvbi1mb250KFwicmVsb2FkXCIpO1xyXG59XHJcbkBtaXhpbiBpY29uLXJlc2l6ZS1iYWNrIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlYTE3XCI7XHJcbiAgICBAaW5jbHVkZSBpY29uLXN0eWxlcztcclxufVxyXG4uaWNvbi1yZXNpemUtYmFjayB7XHJcbiAgICBAaW5jbHVkZSBpY29uLWZvbnQoXCJyZXNpemUtYmFja1wiKTtcclxufVxyXG5AbWl4aW4gaWNvbi1yZXNpemUtem9vbSB7XHJcbiAgICBjb250ZW50OiBcIlxcZWExOFwiO1xyXG4gICAgQGluY2x1ZGUgaWNvbi1zdHlsZXM7XHJcbn1cclxuLmljb24tcmVzaXplLXpvb20ge1xyXG4gICAgQGluY2x1ZGUgaWNvbi1mb250KFwicmVzaXplLXpvb21cIik7XHJcbn1cclxuQG1peGluIGljb24tc2VhcmNoIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlYTE5XCI7XHJcbiAgICBAaW5jbHVkZSBpY29uLXN0eWxlcztcclxufVxyXG4uaWNvbi1zZWFyY2gge1xyXG4gICAgQGluY2x1ZGUgaWNvbi1mb250KFwic2VhcmNoXCIpO1xyXG59XHJcbkBtaXhpbiBpY29uLXNoYXJlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlYTFhXCI7XHJcbiAgICBAaW5jbHVkZSBpY29uLXN0eWxlcztcclxufVxyXG4uaWNvbi1zaGFyZSB7XHJcbiAgICBAaW5jbHVkZSBpY29uLWZvbnQoXCJzaGFyZVwiKTtcclxufVxyXG5AbWl4aW4gaWNvbi1zaWduIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlYTFiXCI7XHJcbiAgICBAaW5jbHVkZSBpY29uLXN0eWxlcztcclxufVxyXG4uaWNvbi1zaWduIHtcclxuICAgIEBpbmNsdWRlIGljb24tZm9udChcInNpZ25cIik7XHJcbn1cclxuQG1peGluIGljb24tc3VjY2VzcyB7XHJcbiAgICBjb250ZW50OiBcIlxcZWExY1wiO1xyXG4gICAgQGluY2x1ZGUgaWNvbi1zdHlsZXM7XHJcbn1cclxuLmljb24tc3VjY2VzcyB7XHJcbiAgICBAaW5jbHVkZSBpY29uLWZvbnQoXCJzdWNjZXNzXCIpO1xyXG59XHJcbkBtaXhpbiBpY29uLXR3aXR0ZXIge1xyXG4gICAgY29udGVudDogXCJcXGVhMWRcIjtcclxuICAgIEBpbmNsdWRlIGljb24tc3R5bGVzO1xyXG59XHJcbi5pY29uLXR3aXR0ZXIge1xyXG4gICAgQGluY2x1ZGUgaWNvbi1mb250KFwidHdpdHRlclwiKTtcclxufVxyXG5AbWl4aW4gaWNvbi11cmwge1xyXG4gICAgY29udGVudDogXCJcXGVhMWVcIjtcclxuICAgIEBpbmNsdWRlIGljb24tc3R5bGVzO1xyXG59XHJcbi5pY29uLXVybCB7XHJcbiAgICBAaW5jbHVkZSBpY29uLWZvbnQoXCJ1cmxcIik7XHJcbn1cclxuQG1peGluIGljb24td2FybmluZy1jaXJjbGUge1xyXG4gICAgY29udGVudDogXCJcXGVhMWZcIjtcclxuICAgIEBpbmNsdWRlIGljb24tc3R5bGVzO1xyXG59XHJcbi5pY29uLXdhcm5pbmctY2lyY2xlIHtcclxuICAgIEBpbmNsdWRlIGljb24tZm9udChcIndhcm5pbmctY2lyY2xlXCIpO1xyXG59XHJcbkBtaXhpbiBpY29uLXdhcm5pbmcge1xyXG4gICAgY29udGVudDogXCJcXGVhMjBcIjtcclxuICAgIEBpbmNsdWRlIGljb24tc3R5bGVzO1xyXG59XHJcbi5pY29uLXdhcm5pbmcge1xyXG4gICAgQGluY2x1ZGUgaWNvbi1mb250KFwid2FybmluZ1wiKTtcclxufVxyXG5AbWl4aW4gaWNvbi15b3V0dWJlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlYTIxXCI7XHJcbiAgICBAaW5jbHVkZSBpY29uLXN0eWxlcztcclxufVxyXG4uaWNvbi15b3V0dWJlIHtcclxuICAgIEBpbmNsdWRlIGljb24tZm9udChcInlvdXR1YmVcIik7XHJcbn1cciIsIkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2ZvbnRlbGxvJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnQvZm9udGVsbG8uZW90PzM4NDUzMzIxJyk7XG4gIHNyYzogdXJsKCcuLi9mb250L2ZvbnRlbGxvLmVvdD8zODQ1MzMyMSNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICB1cmwoJy4uL2ZvbnQvZm9udGVsbG8ud29mZjI/Mzg0NTMzMjEnKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCcuLi9mb250L2ZvbnRlbGxvLndvZmY/Mzg0NTMzMjEnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICB1cmwoJy4uL2ZvbnQvZm9udGVsbG8udHRmPzM4NDUzMzIxJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgIHVybCgnLi4vZm9udC9mb250ZWxsby5zdmc/Mzg0NTMzMjEjZm9udGVsbG8nKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4vKiBDaHJvbWUgaGFjazogU1ZHIGlzIHJlbmRlcmVkIG1vcmUgc21vb3RoIGluIFdpbmRvenplLiAxMDAlIG1hZ2ljLCB1bmNvbW1lbnQgaWYgeW91IG5lZWQgaXQuICovXG4vKiBOb3RlLCB0aGF0IHdpbGwgYnJlYWsgaGludGluZyEgSW4gb3RoZXIgT1MtZXMgZm9udCB3aWxsIGJlIG5vdCBhcyBzaGFycCBhcyBpdCBjb3VsZCBiZSAqL1xuLypcbkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCkge1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ2ZvbnRlbGxvJztcbiAgICBzcmM6IHVybCgnLi4vZm9udC9mb250ZWxsby5zdmc/Mzg0NTMzMjEjZm9udGVsbG8nKSBmb3JtYXQoJ3N2ZycpO1xuICB9XG59XG4qL1xuXG4gW2NsYXNzXj1cImljb24tXCJdOmJlZm9yZSxcbiBbY2xhc3MqPVwiIGljb24tXCJdOmJlZm9yZSB7XG4gXHRjb250ZW50OiAnJztcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBzcGVhazogbm9uZTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgd2lkdGg6IDFlbTtcbiAgbWFyZ2luLXJpZ2h0OiAuMmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8qIG9wYWNpdHk6IC44OyAqL1xuXG4gIC8qIEZvciBzYWZldHkgLSByZXNldCBwYXJlbnQgc3R5bGVzLCB0aGF0IGNhbiBicmVhayBnbHlwaCBjb2RlcyovXG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAvKiBmaXggYnV0dG9ucyBoZWlnaHQsIGZvciB0d2l0dGVyIGJvb3RzdHJhcCAqL1xuICBsaW5lLWhlaWdodDogMWVtO1xuXG4gIC8qIEFuaW1hdGlvbiBjZW50ZXIgY29tcGVuc2F0aW9uIC0gbWFyZ2lucyBzaG91bGQgYmUgc3ltbWV0cmljICovXG4gIC8qIHJlbW92ZSBpZiBub3QgbmVlZGVkICovXG4gIG1hcmdpbi1sZWZ0OiAuMmVtO1xuXG4gIC8qIHlvdSBjYW4gYmUgbW9yZSBjb21mb3J0YWJsZSB3aXRoIGluY3JlYXNlZCBpY29ucyBzaXplICovXG4gIC8qIGZvbnQtc2l6ZTogMTIwJTsgKi9cblxuICAvKiBGb250IHNtb290aGluZy4gVGhhdCB3YXMgdGFrZW4gZnJvbSBUV0JTICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXG4gIC8qIFVuY29tbWVudCBmb3IgM0QgZWZmZWN0ICovXG4gIC8qIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCByZ2JhKDEyNywgMTI3LCAxMjcsIDAuMyk7ICovXG59XG5cbi5pY29uLXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDAnOyB9IC8qICfuoIAnICovXG4uaWNvbi1jbG9jazpiZWZvcmUgeyBjb250ZW50OiAnXFxlODAxJzsgfSAvKiAn7qCBJyAqL1xuLmljb24tY2FyZDpiZWZvcmUgeyBjb250ZW50OiAnXFxlODAyJzsgfSAvKiAn7qCCJyAqL1xuLmljb24tYXdhcmQ6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwMyc7IH0gLyogJ+6ggycgKi9cbi5pY29uLWhlYWRwaG9uZXM6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwNCc7IH0gLyogJ+6ghCcgKi9cbi5pY29uLWxvY2F0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDUnOyB9IC8qICfuoIUnICovXG4uaWNvbi1jb21tZW50OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDYnOyB9IC8qICfuoIYnICovXG4uaWNvbi1jbGlwYm9hcmQ6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwNyc7IH0gLyogJ+6ghycgKi9cbi5pY29uLWRvYy10ZXh0OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDgnOyB9IC8qICfuoIgnICovXG4uaWNvbi1jaGF0OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYwM2QnOyB9IC8qICfvgL0nICovXG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ29tcG9uZW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gYnJlYWtwb2ludFxuI2JwIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xuXG5cdEBpbmNsdWRlIG1xKHgtc21hbGwpICB7IHotaW5kZXg6IDI7IH1cblx0QGluY2x1ZGUgbXEoc21hbGwpICAgIHsgei1pbmRleDogMzsgfVxuXHRAaW5jbHVkZSBtcShtZWRpdW0pICAgeyB6LWluZGV4OiA0OyB9XG5cdEBpbmNsdWRlIG1xKGxhcmdlKSAgICB7IHotaW5kZXg6IDU7IH1cblx0QGluY2x1ZGUgbXEoeC1sYXJnZSkgIHsgei1pbmRleDogNjsgfVxuXHRAaW5jbHVkZSBtcSh4eC1sYXJnZSkgeyB6LWluZGV4OiA3OyB9XG59XG5cblxuLy8gd3JhcHBlclxuI3dyYXAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdC13ZWJraXQtdXNlci1kcmFnOiBub25lO1xuXHR0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuLm1haW4ge1xuXHQkZHVyOiAwLjRzO1xuXHQkZWFzZTogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcblxuXHRvdXRsaW5lOiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdGZvbnQtc2l6ZTogMS42ZW07XG5cdEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsICRkdXIgJGVhc2UpO1xuXG5cdCYtLWZvZyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGZvZztcblx0fVxuXG5cdCYtLWZsYXQge1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHR9XG59XG5cbi8vIGxlZ2FjeSBicm93c2VyIG1lc3NhZ2VcbiNsZWdhY3ktYnJvd3NlciB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAxNjBweDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6ICR3LWRlZmF1bHQrcHg7XG5cdG1hcmdpbjogYXV0bztcblx0YmFja2dyb3VuZC1jb2xvcjogJGZvZztcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZm9nLCAwLjgpO1xuXHRjb2xvcjogJGRhcms7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0ei1pbmRleDogOTk5O1xuXG5cdC5sZWdhY3ktcGFkIHtcblx0XHRwYWRkaW5nOiA2MHB4IDQwcHg7XG5cdH1cblx0LmNsb3NlLWJyb3dzZXItZ3VpZGUge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMjBweDtcblx0XHRib3R0b206IDIwcHg7XG5cdFx0cGFkZGluZzogNXB4O1xuXHRcdHdpZHRoOiAyMHB4O1xuXHRcdGhlaWdodDogMjBweDtcblx0XHRAaW5jbHVkZSBpY29uKCdhZnRlcicsICdjbG9zZScpIHtcblx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0fVxuXG5cdH1cblx0cCB7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cdGEge1xuXHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRicmFuZDtcblx0fVxufVxuXG5cbi8vIHNraXAgbmF2aWdhdGlvblxuI3NraXBuYXYge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogLTEwMCU7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdGJhY2tncm91bmQ6ICRncmF5O1xuXHRmb250LXNpemU6IDEuNmVtO1xufVxuI3NraXBuYXY6Zm9jdXMge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IGZpeGVkO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0ei1pbmRleDogMjk5OTk7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5pcy1nbmItYWN0aXZlIHtcblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR6LWluZGV4OiAxMDA7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXHRcdG9wYWNpdHk6IDAuODtcblx0fVxufVxuXG4uaXMtbmF2LWFjdGl2ZSB7XG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0ei1pbmRleDogMTEwO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblx0XHRvcGFjaXR5OiAwLjg7XG5cdH1cblxuXHQjd3JhcCB7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cblxuLy8gYnV0dG9uIGNvbnRhaW5lclxuLmZ1bmMge1xuXHRtYXJnaW4tdG9wOiAzMHB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBXcmFwcGVyXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4ubC13cmFwLTEyIHtcclxuXHRAaW5jbHVkZSBsLWNvbHVtbigxMik7XHJcbn1cclxuLmwtd3JhcC0xMCB7XHJcblx0QGluY2x1ZGUgbC1jb2x1bW4oMTApO1xyXG59XHJcbi5sLXdyYXAtOCB7XHJcblx0QGluY2x1ZGUgbC1jb2x1bW4oOCk7XHJcbn1cclxuLmwtd3JhcC02IHtcclxuXHRAaW5jbHVkZSBsLWNvbHVtbig2KTtcclxufVxyXG4ubC13cmFwLTQge1xyXG5cdEBpbmNsdWRlIGwtY29sdW1uKDQpO1xyXG59XHJcbi5sLXdyYXAge1xyXG5cdG1heC13aWR0aDogMTEwOHB4O1xyXG5cdEBpbmNsdWRlIGwtcGFkO1xyXG5cdG1hcmdpbjogYXV0bztcclxufVxyXG4ubC1sYXlvdXQge1xyXG5cdG1heC13aWR0aDogMTI4MHB4O1xyXG5cdG1hcmdpbjogYXV0bztcclxufVxyXG4ubC1tLWZ1bGwge1xyXG5cdEBpbmNsdWRlIG1xKCR1bnRpbDogbGFyZ2UpIHtcclxuXHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0XHRtYXJnaW4tbGVmdDogMDtcclxuXHRcdG1hcmdpbi1yaWdodDogMDtcclxuXHR9XHJcbn1cclxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGhlYWRlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhlYWRlciB7XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gZm9vdGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZm9vdGVyIHtcbn1cbiIsIkBpbXBvcnQgJ25hdi9nbmInO1xyXG5AaW1wb3J0ICduYXYvc2lkZW5hdic7XHJcbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBHTkJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5nbmIge1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNpZGVuYXZcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5zaWRlbmF2IHtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FFQUE7cURBQ3FEO0FJTWpELFVBQVU7RUFDTixXQUFXLEVBQUUsWUFBWTtFQUN6QixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVMMkJhLEdBQUc7RUsxQjNCLEdBQUcsRUFBRSxtQ0FBK0I7RUFDcEMsR0FBRyxFQUFFLHFDQUFpQyxDQUFDLGVBQWUsRUFBRSxvQ0FBZ0MsQ0FBQyxjQUFjOzs7QUFMM0csVUFBVTtFQUNOLFdBQVcsRUFBRSxZQUFZO0VBQ3pCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFdBQVcsRUw0QmdCLEdBQUc7RUszQjlCLEdBQUcsRUFBRSxzQ0FBK0I7RUFDcEMsR0FBRyxFQUFFLHdDQUFpQyxDQUFDLGVBQWUsRUFBRSx1Q0FBZ0MsQ0FBQyxjQUFjOzs7QUFMM0csVUFBVTtFQUNOLFdBQVcsRUFBRSxVQUFZO0VBQ3pCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFdBQVcsRUw4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 */
