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

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

/**
   * Render the `main` element consistently in IE.
   */
main {
  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;
  line-height: 1.3333;
  margin: 0.67em 0;
}

/* Grouping content
     ========================================================================== */
/**
   * 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
     ========================================================================== */
/**
   * Remove the gray background on active links in IE 10.
   */
a {
  background-color: transparent;
}

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

/**
   * Correct the inability to style clickable types in iOS and Safari.
   */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Misc
     ========================================================================== */
/**
   * Add the correct display in IE 10+.
   */
template {
  display: none;
}

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

html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
}

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

* {
  max-height: 1000000px;
}

main,
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ul,
ol,
dl,
p,
h1,
h2,
h3,
h4,
h5,
h6,
address,
form,
table,
blockquote,
applet,
embed,
object,
iframe,
frameset {
  margin: 0 0 19px;
}

blockquote {
  border-left: 4px solid #ddd;
  padding-left: 10px;
  margin-left: 0;
}

table {
  border-collapse: collapse;
}

th,
td {
  border: 1px solid #ddd;
  padding: 3px;
  text-align: left;
  vertical-align: top;
}

th {
  text-align: center;
  vertical-align: middle;
}

ul,
ol {
  padding-left: 20px;
}

ul ul,
ul ol,
ol ul,
ol ol {
  padding-left: 20px;
  margin: 0;
}

ul {
  list-style-type: disc;
}

dl dt {
  float: left;
  clear: left;
  padding-right: 0.3em;
  font-weight: bold;
}
dl dd {
  overflow: hidden;
}

pre {
  max-width: 100%;
  overflow: auto;
}

body {
  color: #404040;
  background: #fff;
  font: 15px/1.3 "Open Sans", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  letter-spacing: -0.02em;
  min-width: 320px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
  overflow-x: hidden;
}
@media (min-width: 768px) {
  body {
    font-size: 20px;
    line-height: 1.4;
  }
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
  display: inline-block;
}

.gm-style img {
  max-width: none;
}

@media (max-width: 1023.98px) {
  iframe {
    width: 100%;
  }
}

.resize-active * {
  transition: none !important;
}

.block-related-content .inner ol,
.block-related-content .inner ul, .breadcrumbs ul, .content-nav-holder #content-navigation, #footer-navigation, [id=footer] .soc-netw, #main-navigation {
  margin: 0;
  padding: 0;
  list-style: none;
}

.clearfix:after, dl:after {
  content: "";
  display: block;
  clear: both;
}

.ellipsis {
  white-space: nowrap;
  /* 1 */
  text-overflow: ellipsis;
  /* 2 */
  overflow: hidden;
}

.df-row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
}
@media (min-width: 480px) {
  .df-row.df-rr-ph {
    flex-direction: row-reverse;
  }
}
@media (min-width: 480px) {
  .df-row.df-aic-ph {
    align-items: center;
  }
}
@media (min-width: 768px) {
  .df-row.df-rr-sm {
    flex-direction: row-reverse;
  }
}
@media (min-width: 768px) {
  .df-row.df-aic-sm {
    align-items: center;
  }
}
@media (min-width: 1024px) {
  .df-row.df-rr-md {
    flex-direction: row-reverse;
  }
}
@media (min-width: 1024px) {
  .df-row.df-aic-md {
    align-items: center;
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-1 {
    flex: 1 0 calc(8.3333333333% * 1);
    max-width: calc(8.3333333333% * 1);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-2 {
    flex: 1 0 calc(8.3333333333% * 2);
    max-width: calc(8.3333333333% * 2);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-3 {
    flex: 1 0 calc(8.3333333333% * 3);
    max-width: calc(8.3333333333% * 3);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-4 {
    flex: 1 0 calc(8.3333333333% * 4);
    max-width: calc(8.3333333333% * 4);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-5 {
    flex: 1 0 calc(8.3333333333% * 5);
    max-width: calc(8.3333333333% * 5);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-6 {
    flex: 1 0 calc(8.3333333333% * 6);
    max-width: calc(8.3333333333% * 6);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-7 {
    flex: 1 0 calc(8.3333333333% * 7);
    max-width: calc(8.3333333333% * 7);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-8 {
    flex: 1 0 calc(8.3333333333% * 8);
    max-width: calc(8.3333333333% * 8);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-9 {
    flex: 1 0 calc(8.3333333333% * 9);
    max-width: calc(8.3333333333% * 9);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-10 {
    flex: 1 0 calc(8.3333333333% * 10);
    max-width: calc(8.3333333333% * 10);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-11 {
    flex: 1 0 calc(8.3333333333% * 11);
    max-width: calc(8.3333333333% * 11);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-12 {
    flex: 1 0 calc(8.3333333333% * 12);
    max-width: calc(8.3333333333% * 12);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-0 {
    margin-left: calc(8.3333333333% * 0);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-1 {
    margin-left: calc(8.3333333333% * 1);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-2 {
    margin-left: calc(8.3333333333% * 2);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-3 {
    margin-left: calc(8.3333333333% * 3);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-4 {
    margin-left: calc(8.3333333333% * 4);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-5 {
    margin-left: calc(8.3333333333% * 5);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-6 {
    margin-left: calc(8.3333333333% * 6);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-7 {
    margin-left: calc(8.3333333333% * 7);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-8 {
    margin-left: calc(8.3333333333% * 8);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-9 {
    margin-left: calc(8.3333333333% * 9);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-10 {
    margin-left: calc(8.3333333333% * 10);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-11 {
    margin-left: calc(8.3333333333% * 11);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-1 {
    flex: 1 0 calc(8.3333333333% * 1);
    max-width: calc(8.3333333333% * 1);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-2 {
    flex: 1 0 calc(8.3333333333% * 2);
    max-width: calc(8.3333333333% * 2);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-3 {
    flex: 1 0 calc(8.3333333333% * 3);
    max-width: calc(8.3333333333% * 3);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-4 {
    flex: 1 0 calc(8.3333333333% * 4);
    max-width: calc(8.3333333333% * 4);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-5 {
    flex: 1 0 calc(8.3333333333% * 5);
    max-width: calc(8.3333333333% * 5);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-6 {
    flex: 1 0 calc(8.3333333333% * 6);
    max-width: calc(8.3333333333% * 6);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-7 {
    flex: 1 0 calc(8.3333333333% * 7);
    max-width: calc(8.3333333333% * 7);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-8 {
    flex: 1 0 calc(8.3333333333% * 8);
    max-width: calc(8.3333333333% * 8);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-9 {
    flex: 1 0 calc(8.3333333333% * 9);
    max-width: calc(8.3333333333% * 9);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-10 {
    flex: 1 0 calc(8.3333333333% * 10);
    max-width: calc(8.3333333333% * 10);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-11 {
    flex: 1 0 calc(8.3333333333% * 11);
    max-width: calc(8.3333333333% * 11);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-12 {
    flex: 1 0 calc(8.3333333333% * 12);
    max-width: calc(8.3333333333% * 12);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-0 {
    margin-left: calc(8.3333333333% * 0);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-1 {
    margin-left: calc(8.3333333333% * 1);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-2 {
    margin-left: calc(8.3333333333% * 2);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-3 {
    margin-left: calc(8.3333333333% * 3);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-4 {
    margin-left: calc(8.3333333333% * 4);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-5 {
    margin-left: calc(8.3333333333% * 5);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-6 {
    margin-left: calc(8.3333333333% * 6);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-7 {
    margin-left: calc(8.3333333333% * 7);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-8 {
    margin-left: calc(8.3333333333% * 8);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-9 {
    margin-left: calc(8.3333333333% * 9);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-10 {
    margin-left: calc(8.3333333333% * 10);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-11 {
    margin-left: calc(8.3333333333% * 11);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-1 {
    flex: 1 0 calc(8.3333333333% * 1);
    max-width: calc(8.3333333333% * 1);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-2 {
    flex: 1 0 calc(8.3333333333% * 2);
    max-width: calc(8.3333333333% * 2);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-3 {
    flex: 1 0 calc(8.3333333333% * 3);
    max-width: calc(8.3333333333% * 3);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-4 {
    flex: 1 0 calc(8.3333333333% * 4);
    max-width: calc(8.3333333333% * 4);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-5 {
    flex: 1 0 calc(8.3333333333% * 5);
    max-width: calc(8.3333333333% * 5);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-6 {
    flex: 1 0 calc(8.3333333333% * 6);
    max-width: calc(8.3333333333% * 6);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-7 {
    flex: 1 0 calc(8.3333333333% * 7);
    max-width: calc(8.3333333333% * 7);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-8 {
    flex: 1 0 calc(8.3333333333% * 8);
    max-width: calc(8.3333333333% * 8);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-9 {
    flex: 1 0 calc(8.3333333333% * 9);
    max-width: calc(8.3333333333% * 9);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-10 {
    flex: 1 0 calc(8.3333333333% * 10);
    max-width: calc(8.3333333333% * 10);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-11 {
    flex: 1 0 calc(8.3333333333% * 11);
    max-width: calc(8.3333333333% * 11);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-12 {
    flex: 1 0 calc(8.3333333333% * 12);
    max-width: calc(8.3333333333% * 12);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-0 {
    margin-left: calc(8.3333333333% * 0);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-1 {
    margin-left: calc(8.3333333333% * 1);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-2 {
    margin-left: calc(8.3333333333% * 2);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-3 {
    margin-left: calc(8.3333333333% * 3);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-4 {
    margin-left: calc(8.3333333333% * 4);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-5 {
    margin-left: calc(8.3333333333% * 5);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-6 {
    margin-left: calc(8.3333333333% * 6);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-7 {
    margin-left: calc(8.3333333333% * 7);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-8 {
    margin-left: calc(8.3333333333% * 8);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-9 {
    margin-left: calc(8.3333333333% * 9);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-10 {
    margin-left: calc(8.3333333333% * 10);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-11 {
    margin-left: calc(8.3333333333% * 11);
  }
}
.df-row [class*=col] {
  padding: 0 15px 15px;
  max-width: 100%;
  width: 100%;
  flex: 0 0 auto;
}

h1,
.h1 {
  font-size: 22px;
}

h2,
.h2 {
  font-size: 20px;
}

h3,
.h3 {
  font-size: 15px;
}

h4,
.h4 {
  font-size: 14px;
}

h5,
.h5 {
  font-size: 18px;
}

h6,
.h6 {
  font-size: 14px;
}

@media (min-width: 768px) {
  h1,
  .h1 {
    font-size: 30px;
  }
  h2,
  .h2 {
    font-size: 30px;
  }
  h3,
  .h3 {
    font-size: 20px;
  }
  h4,
  .h4 {
    font-size: 20px;
  }
  h5,
  .h5 {
    font-size: 24px;
  }
  h6,
  .h6 {
    font-size: 16px;
  }
}
@media (min-width: 1024px) {
  h1,
  .h1 {
    font-size: 37px;
  }
  h2,
  .h2 {
    font-size: 36px;
  }
  h3,
  .h3 {
    font-size: 24px;
  }
  h4,
  .h4 {
    font-size: 20px;
  }
  h5,
  .h5 {
    font-size: 30px;
  }
  h6,
  .h6 {
    font-size: 16px;
  }
}
@media (min-width: 1200px) {
  h1,
  .h1 {
    font-size: 37px;
  }
  h2,
  .h2 {
    font-size: 40px;
  }
  h3,
  .h3 {
    font-size: 24px;
  }
  h4,
  .h4 {
    font-size: 20px;
  }
  h6,
  .h6 {
    font-size: 16px;
  }
}
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
.h {
  font-family: "Open Sans", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  color: inherit;
  font-weight: bold;
  margin: 0 0 10px;
}
@media (min-width: 768px) {
  h1,
  .h1,
  h2,
  .h2,
  h3,
  .h3,
  h4,
  .h4,
  h5,
  .h5,
  h6,
  .h6,
  .h {
    margin-bottom: 20px;
  }
}

h1 {
  color: #005293;
  font-weight: 600;
}
h2 {
  color: #0088ce;
  font-weight: 900;
  line-height: 1.06;
}
h3,
.h3 {
  color: #005293;
  font-weight: 700;
}
h5 {
    font-weight: 400;
}

p {
  margin: 0 0 20px;
}

a {
  color: #005293;
  text-decoration: none;
  transition: 0.4s all;
}
a:hover, a:focus {
  color: #000;
  text-decoration: none;
}

a[href*="mailto:"] {
  word-wrap: break-word;
}

form,
fieldset {
  margin: 0;
  padding: 0;
  border-style: none;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=search],
input[type=password],
input[type=url],
textarea {
  -webkit-appearance: none;
  -webkit-border-radius: 0;
  padding: 10px 20px;
  font-size: 15px;
  line-height: 17px;
  font-family: "Open Sans", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  box-sizing: border-box;
  border: 2px solid #4d4d4d;
  border-radius: 0;
  color: #4d4d4d;
}
input[type=text]:not(textarea),
input[type=tel]:not(textarea),
input[type=email]:not(textarea),
input[type=search]:not(textarea),
input[type=password]:not(textarea),
input[type=url]:not(textarea),
textarea:not(textarea) {
  height: 41px;
}
input[type=text]:focus,
input[type=tel]:focus,
input[type=email]:focus,
input[type=search]:focus,
input[type=password]:focus,
input[type=url]:focus,
textarea:focus {
  outline: none;
  border-color: #000;
}
input[type=text]::-webkit-input-placeholder,
input[type=tel]::-webkit-input-placeholder,
input[type=email]::-webkit-input-placeholder,
input[type=search]::-webkit-input-placeholder,
input[type=password]::-webkit-input-placeholder,
input[type=url]::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #4d4d4d;
}
input[type=text]::-moz-placeholder,
input[type=tel]::-moz-placeholder,
input[type=email]::-moz-placeholder,
input[type=search]::-moz-placeholder,
input[type=password]::-moz-placeholder,
input[type=url]::-moz-placeholder,
textarea::-moz-placeholder {
  opacity: 1;
  color: #4d4d4d;
}
input[type=text]:-moz-placeholder,
input[type=tel]:-moz-placeholder,
input[type=email]:-moz-placeholder,
input[type=search]:-moz-placeholder,
input[type=password]:-moz-placeholder,
input[type=url]:-moz-placeholder,
textarea:-moz-placeholder {
  color: #4d4d4d;
}
input[type=text]:-ms-input-placeholder,
input[type=tel]:-ms-input-placeholder,
input[type=email]:-ms-input-placeholder,
input[type=search]:-ms-input-placeholder,
input[type=password]:-ms-input-placeholder,
input[type=url]:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #4d4d4d;
}
input[type=text].placeholder,
input[type=tel].placeholder,
input[type=email].placeholder,
input[type=search].placeholder,
input[type=password].placeholder,
input[type=url].placeholder,
textarea.placeholder {
  color: #4d4d4d;
}

input[type=search]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

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

button,
input[type=button],
input[type=reset],
input[type=file],
input[type=submit] {
  -webkit-appearance: none;
  -webkit-border-radius: 0;
  height: 41px;
  padding: 10px 20px;
  font-size: 15px;
  line-height: 17px;
  color: #fff;
  outline: none;
  cursor: pointer;
  border: rgba(0, 0, 0, 0.25);
  border-radius: 0;
  background: rgba(0, 0, 0, 0.25);
  transition: 0.4s all;
  font-weight: 600;
}
button:hover,
input[type=button]:hover,
input[type=reset]:hover,
input[type=file]:hover,
input[type=submit]:hover {
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
}

.nav-active [id=header] {
  z-index: 9;
}/*
.nav-active [id=header]:after {
  opacity: 0;
}*/

.search-active [id=header] {
  z-index: 9;
}

[id=header] {
  position: relative;
  padding: 28px 0 20px 0;
  z-index: 8;
  margin: 0 0 17px 0;
}
@media (min-width: 768px) {
  [id=header] {
    padding: 20px 0;
    margin-bottom: 120px;
  }
}
@media (min-width: 1100px) {
  [id=header] {
    padding: 36px 0 20px 0;
  }
}
@media (min-width: 1500px) {
  [id=header] {
    margin-bottom: 155px;
  }
}
[id=header]:after {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 75px;
  content: "";
  background: #005293;
  z-index: -1;
  transition: 1s opacity;
}
[id=wrapper]:after {
  position: absolute;
  left: 0;
  right: 0;
  top: 75px;
  height: 85px;
  content: "";
  background: url("./images/header-bg.svg") no-repeat;
  background-size: cover;
  background-position: top center;
  z-index: 1;
  transition: 1s opacity;
}
.mysticky-welcomebar-apper [id=wrapper]:after {
  top: 150px;
}
@media (min-width: 768px) {
  [id=header]:after {
    height: 110px;
  }
  [id=wrapper]:after {
    top: 110px;
    height: 250px;
  }
  .mysticky-welcomebar-apper [id=wrapper]:after {
    top: 155px;
  }
}
@media (min-width: 1500px) {
  [id=wrapper]:after {
    height: 350px;
  }
}
[id=header] .search-form {
  position: relative;
  max-width: 310px;
  width: 100%;
  opacity: 0.7;
  margin-left: auto;
  margin-top: 22px;
}
[id=header] .search-form input[type=search] {
  width: 100%;
  border: 2px solid #4d4d4d;
  color: #4d4d4d;
  font-size: 18px;
  border-radius: 24px;
  padding: 10px 45px 10px 13px;
  height: 43px;
}
[id=header] .search-form input[type=search]::-webkit-input-placeholder {
  color: #4d4d4d;
}
[id=header] .search-form input[type=search]::-moz-placeholder {
  opacity: 1;
  color: #4d4d4d;
}
[id=header] .search-form input[type=search]:-moz-placeholder {
  color: #4d4d4d;
}
[id=header] .search-form input[type=search]:-ms-input-placeholder {
  color: #4d4d4d;
}
[id=header] .search-form input[type=search].placeholder {
  color: #4d4d4d;
}
[id=header] .search-form button {
  position: absolute;
  right: 17px;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  padding: 0;
  z-index: 1;
  width: 20px;
  height: 20px;
}
[id=header] .search-form button svg {
  width: 20px;
  height: 20px;
}

.m-search-toggler {
  padding: 0;
  width: 35px;
  line-height: 1;
  background: transparent;
  transition: 0.3s all;
}
@media (min-width: 1024px) {
  .m-search-toggler {
    display: none;
  }
}
.m-search-toggler:hover {
  background: transparent;
  opacity: 0.8;
}
.m-search-toggler svg {
  width: 100%;
  height: auto;
}
.m-search-toggler svg path {
  stroke: #fff;
}

.header-holder {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo {
  width: 120px;
  min-width: 100px;
  margin-right: 20px;
}
@media (min-width: 768px) {
  .logo {
    width: 200px;
  }
}
@media (min-width: 1200px) {
  .logo {
    width: 255px;
  }
}
@media (min-width: 1500px) {
  .logo {
    width: 355px;
  }
}


.sysinfo {
    background-color:#0194ce;
    padding:20px 20px 10px 20px;
    color:#ffffff;
    text-align: center;
    margin-bottom: 30px;
}
.sysinfo h3 {
    color:#ffffff;
}
.sysinfo a {
    color:#ffffff;
}
.sysgen {
    text-align: center;
    background: url(images/midbox.jpg) no-repeat 50% 50%;
    background-size: cover;
    padding: 30px 10px;
    margin-bottom: 10px;
}
.sysgen button {
    width: auto;
    margin: 0 auto 20px;
    padding: 10px;
    color: #007ec4;
    font-size: 22px;
    font-weight: bold;
    white-space: nowrap;
    background-color: #fff;
    pointer-events: none;
}
.sysgen p {
    margin-bottom: 5px;
}


.nav-holder {
  margin: 0;
  position: absolute;
  top: -499px;
  left: 0;
  right: 0;
  background: #005293;
  padding: 15px 0;
  transform: translateY(0);
  opacity: 0;
  transition: 0.15s all;
/*  pointer-events: none; */
}
@media (min-width: 1024px) {
  .nav-holder {
    margin: 50px 0 0 auto;
    position: static;
    padding: 0;
    opacity: 1;
    background: transparent;
    transform: none;
  }
}
@media (min-width: 1500px) {
  .nav-holder {
    padding: 0 32px 0 0;
  }
}
.nav-active .nav-holder {
  opacity: 1;
  top: 85%;
  transform: translateY(0);
  pointer-events: all;
  transition: all 0.4s;
  z-index: 9;
}
@media (max-width: 1023.98px) {
  .nav-holder .search-block {
    display: none;
  }
  .nav-holder {
    z-index: -1; }
}

#main-navigation {
  font-size: 20px;
  color: #fff;
  font-weight: 600;
  letter-spacing: -0.02em;
  text-align: center;
}
@media (min-width: 1024px) {
  #main-navigation {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
  }
}
@media (min-width: 1500px) {
  #main-navigation {
    font-size: 24px;
  }
}
@media (min-width: 1024px) {
  #main-navigation li + li {
    margin-left: 30px;
  }
}
@media (min-width: 1500px) {
  #main-navigation li + li {
    margin-left: 65px;
  }
}
#main-navigation li.active {
  color: #38c4b6;
}
#main-navigation a {
  color: inherit;
}
@media (max-width: 1023.98px) {
  #main-navigation a {
    padding: 15px;
    display: block;
  }
}
#main-navigation a:hover {
  color: #38c4b6;
}

.nav-opener {
  position: relative;
  width: 30px;
  height: 24px;
  font-size: 0;
  line-height: 0;
  background: transparent;
  padding: 0;
  border: 0;
}
@media (min-width: 1024px) {
  .nav-opener {
    display: none;
  }
}
.nav-opener:hover {
  background: transparent;
}
.nav-opener:before, .nav-opener:after,
.nav-opener span {
  background: #fff;
  position: absolute;
  width: 100%;
  right: 0;
  height: 4px;
  transition: 0.3s all;
}
.nav-opener:before, .nav-opener:after {
  content: "";
}
.nav-opener::before {
  top: 0;
}
.nav-opener:after {
  bottom: 0;
}
.nav-opener:hover {
  opacity: 0.9;
}
.nav-opener span {
  top: 50%;
  transform: translateY(-50%);
}
.nav-active .nav-opener span {
  opacity: 0;
}
.nav-active .nav-opener:before, .nav-active .nav-opener:after {
  content: "";
  top: 50%;
  background-color: #fff;
  width: 75%;
}
.nav-active .nav-opener:before {
  transform: rotate(45deg);
}
.nav-active .nav-opener:after {
  transform: rotate(-45deg);
  bottom: auto;
}

[id=wrapper] {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  background: #fff;
  min-height: 100vh;
}

main {
  flex: 1 0;
}

.container,
.wp-block-group__inner-container {
  width: 100%;
  max-width: 1545px;
  padding: 0 15px;
  margin: 0 auto;
}

:root {
  --wp--style--global--content-size: 1530px;
}

.post .content,
.page .content {
  padding: 15px 0;
}

[id=footer] {
  position: relative;
  background: #005293;
  padding: 46px 0;
  z-index: 1;
  overflow: hidden;
}
@media (min-width: 1024px) {
  [id=footer] {
    padding: 110px 0 160px 0;
  }
}
[id=footer]:after {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -21%;
  top: 0;
  content: "";
  background: url("./images/footer-bg.svg") no-repeat bottom center;
  background-size: cover;
  z-index: -1;
  opacity: 0.15;
}
[id=footer] .soc-netw {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0;
}
@media (min-width: 1024px) {
  [id=footer] .soc-netw {
    margin-bottom: 60px;
  }
}
[id=footer] .soc-netw li {
  transition: 0.4s all;
}
[id=footer] .soc-netw li + li {
  margin-left: 14px;
}
@media (min-width: 480px) {
  [id=footer] .soc-netw li + li {
    margin-left: 25px;
  }
}
[id=footer] .soc-netw li:hover {
  opacity: 0.8;
}
@media (max-width: 479.98px) {
  [id=footer] .soc-netw img {
    max-width: 70%;
  }
}
[id=footer] .footer-logo {
  width: 122px;
  margin: 0 auto 24px;
}
@media (min-width: 1024px) {
  [id=footer] .footer-logo {
    width: 295px;
    margin: 0 auto 45px;
  }
}
[id=footer] .footer-logo img {
  width: 100%;
}

#footer-navigation {

  display: none;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 20px;
  color: #fff;
  letter-spacing: -0.02em;
}

@media (max-width: 1024px) {

  #footer-navigation {
    display: flex;
    text-align: center;
    padding-top: 15px;
  }

  #footer-navigation li {width:100%;clear:both;  margin-left: 0px !important;}

}


@media (min-width: 1024px) {
  #footer-navigation {
    display: flex;
  }
}
@media (min-width: 1200px) {
  #footer-navigation {
    font-size: 24px;
  }
}
#footer-navigation li + li {
  margin-left: 35px;
}
@media (min-width: 1200px) {
  #footer-navigation li + li {
    margin-left: 65px;
  }
}
@media (min-width: 1400px) {
  #footer-navigation li + li {
    margin-left: 105px;
  }
}
#footer-navigation li.active {
  color: #38c4b6;
}
#footer-navigation a {
  color: inherit;
}
#footer-navigation a:hover {
  color: #38c4b6;
}

.btn,
.btn a,
.btn-holder a {
  background: rgba(0, 0, 0, 0.25);
  color: #fff;
  border: rgba(0, 0, 0, 0.25);
  border: rgba(0, 0, 0, 0.25);
  border-radius: 0;
  display: inline-block;
  font-size: 15px;
  line-height: 22px;
  padding: 12px 15px;
  vertical-align: top;
  text-align: center;
  font-weight: 600;
  text-decoration: none !important;
  transition: 0.4s all;
}
.btn:hover,
.btn a:hover,
.btn-holder a:hover {
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  border: rgba(0, 0, 0, 0.8);
}
@media (min-width: 1024px) {
  .btn,
  .btn a,
  .btn-holder a {
    font-size: 20px;
  }
}
.btn:hover,
.btn a:hover,
.btn-holder a:hover {
  background-color: rgba(0, 0, 0, 0.8);
}
.btn-default {
  background: rgba(0, 0, 0, 0.25);
  color: #fff;
  border: rgba(0, 0, 0, 0.25);
}
.btn-default:hover {
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  border: rgba(0, 0, 0, 0.8);
}
.btn-primary {
  background: #005293;
  color: #fff;
  border: #005293;
}
.btn-primary:hover {
  background: #003660;
  color: #fff;
  border: #003660;
}
.btn-warning {
  background: #ffc107;
  color: #fff;
  border: #ffc107;
}
.btn-warning:hover {
  background: #d39e00;
  color: #fff;
  border: #d39e00;
}
.btn-sm {
  border-radius: 0;
  padding: 4px 10px;
}

.btn-group {
  margin: 0 -5px -10px;
  display: flex;
  flex-wrap: wrap;
}
.btn-group .btn {
  margin: 0 5px 10px;
}

.three-col-card {
  position: relative;
  z-index: 2;
}
.three-col-card .df-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 10px;
  grid-row-gap: 0;
  margin: 0;
}
@media (min-width: 768px) {
  .three-col-card .df-row {
    grid-column-gap: 20px;
  }
}

#main {
    position: relative;
    z-index: 2;
}

.card-logo-content {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #0088ce;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .card-logo-content {
    padding: 20px;
    justify-content: space-between;
  }
}
@media (min-width: 1500px) {
  .card-logo-content {
    font-size: 20px;
  }
}
.card-logo-content a:first-child {
  position: relative;
  bottom: -4px;
  min-width: 130px;
}
@media (max-width: 767.98px) {
  .card-logo-content a:first-child {
    display: block;
    width: 100%;
    height: 100%;
    padding: 5px;
    height: 40px;
    text-align: center;
  }
}
@media (max-width: 767.98px) {
  .card-logo-content a.card-logo img {
    width: 103px;
  }
  .card-logo-content:first-child a.card-logo img {
    width: 78px;
  }
}
.card-logo-content p {
  margin-bottom: 0;
  max-width: 320px;
  padding: 0 10px;
  display: none;
  text-align: center;
}
@media (min-width: 768px) {
  .card-logo-content p {
    display: block;
  }
}
@media (min-width: 1024px) {
  .card-logo-content p {
    text-align: left;
  }
}
.card-logo-content .btn {
  font-size: 15px;
  min-width: 180px;
  display: none;
}
@media (min-width: 1024px) {
  .card-logo-content .btn {
    display: inline-block;
  }
  .card-logo { padding: 0 15px; }
}
@media (min-width: 1500px) {
  .card-logo-content .btn {
    font-size: 17px;
  }
}

.section-cards .df-row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
}
@media (min-width: 1024px) {
  .section-cards .df-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    margin: 0;
  }
}
.section-cards .col {
  display: flex;
  padding: 0 10px 20px;
  width: 100%;
  order: 1;
}
@media (min-width: 576px) {
  .section-cards .col {
    max-width: 50%;
    flex: 0 0 50%;
  }
}
@media (min-width: 1024px) {
  .section-cards .col {
    padding: 0;
    display: block;
    max-width: none;
  }
  .section-cards .col:nth-child(2) {
    grid-area: 2/1/3/2;
  }
}
@media (max-width: 1023.98px) {
  .section-cards .col:nth-child(3) {
    order: 0;
    max-width: 100%;
    flex: 0 0 100%;
  }
    .section-cards .col:nth-child(4) {
      order: 4;
    }
}
@media (min-width: 1024px) {
  .section-cards .col:nth-child(3) {
    grid-area: 1/2/3/4;
  }
  .section-cards .col:nth-child(3) .card-row {
    gap: 10px;
  } /*
  .section-cards .col:nth-child(1) h3,
  .section-cards .col:nth-child(5) h3 {
      white-space: nowrap;
  } */
}

.section-cards .col:nth-child(4) .card-img {
    z-index: 1;
}
.section-cards .col:nth-child(4) .card-img img {
    opacity: 1;
}

@media (min-width: 1024px) {
/*    .section-cards .col:nth-child(4) .card-content {
        position: absolute;
        bottom: 0;
        z-index: 9;
    } */
  .section-cards .col:nth-child(5) {
    grid-area: 1/4/2/5;
  }
}
@media (max-width: 1023px) {
    .section-cards .col:nth-child(4) h3 {
        padding: 12px 0;
    }
}
@media (max-width: 767px) {
    .section-cards .col:nth-child(3) h3 {
        font-size: 15px;
    }
    .section-cards .col:nth-child(4) {
        height: 182px;
    }
    .section-cards .col:nth-child(4) .card-img {
        display: none;
    }
}

.card {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  color: #fff;
  font-weight: 600;
  font-size: 15px;
}
@media (min-width: 768px) {
  .card {
    height: 100%;
  }
}
@media (min-width: 1200px) {
  .card {
    font-size: 18px;
    min-height: 340px;
  }
}
.card .card-img {
  position: relative;
  width: 100%;
  padding-top: 58%;
  overflow: hidden;
  background-color: #5e6a71;
}
.section-cards .col:nth-child(4) .card-img {
    background: none;
}
@media (min-width: 768px) {
  .card .card-img {
    padding-top: 58%;
  }
}
@media (min-width: 1024px) {
  .card .card-img {
    padding-top: 52%;
    flex: 1 0;
  }
}
.card .card-img:hover img {
  transform: scale(1.1);
  opacity: 1;
}
.card .card-img img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: .8;
  object-fit: cover;
  object-position: center;
  transition: 0.3s all;
}
.card .card-content {
  display: flex;
  width: 100%;
  overflow: hidden;
  margin-top: auto;
}
@media (max-width: 1023.98px) {
  .card .card-content {
    flex: 1 0;
  }
}
@media (min-width: 1024px) {
  .card .card-content {
    display: block;
    padding: 15px 14px;
  }
  .section-cards .col:nth-child(3) .card-content {
    padding: 22px 20px 26px;
  }
}
.card .card-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.15;
}
@media (max-width: 1023.98px) {
  .card .card-text {
    width: calc(100% - 125px);
    padding: 12px 18px 15px 20px;
  }
  .section-cards .card-content > .card-text {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    min-height: 40px;
    padding: 0 0 0 20px;
  }
  .card-content > .card-text .row-btn {
    display: flex;
    justify-content: flex-end;
    align-items: stretch;
    height: 100%;
  }
}
@media (max-width: 767px) {
    .section-cards .card .card-text {
        padding: 0 0 0 15px;
    }
}
.card h3 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 0;
  color: #fff;
}
@media (min-width: 1200px) {
  .card h3 {
    font-size: 30px;
  }
}
@media (max-width: 1023.98px) {
    .card h3 { padding-right: 10px; }
}
@media (max-width: 767px) {
    .card h3 {
      margin: 16px 0;
      padding-right: 0;
    }
    .card h3 + p {
      margin-top: -14px;
      margin-bottom: 16px;
    }
}
.card .card-row {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: 12px;
    width: 100%;
}
.card p {
  margin-bottom: 0;
  letter-spacing: -.02em;
}
.card .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  float: right;
  font-size: 15px;
  min-width: 113px;
  flex: 0 0 113px;
  padding: 12px 15px;
}
@media (min-width: 1024px) {
    .card .card-row {
        align-items: flex-end;
    }
  .card .btn {
    display: inline-block;
    flex: 0 0;
    margin-top: 10px;
  }
}
@media (min-width: 1200px) {
  .card .btn {
    font-size: 17px;
    line-height: 1.05;
    min-width: 135px;
  }
}
@media (max-width: 1023.98px) {
    .card .btn {
        width: 113px;
    }
}
@media (max-width: 767px) {
    .card .btn {
        margin-left: 12px;
    }
}

.content-nav-holder {
  background-color: #e5f3fa;
  position: relative;
  padding: 0;
  z-index: 9;
  display: none;
}
@media (min-width: 1024px) {
  .content-nav-holder {
    display: block;
  }
}
.content-nav-holder #content-navigation {
  display: flex;
  justify-content: space-between;
  font-weight: 700;
  font-size: 24px;
  color: #0088ce;
  display: flex;
}
@media (min-width: 1024px) {
  .content-nav-holder #content-navigation {
    font-size: 20px;
  }
}
@media (min-width: 1400px) {
  .content-nav-holder #content-navigation {
    font-size: 24px;
  }
}
.content-nav-holder #content-navigation li + li {
  margin-left: 10px;
}
.content-nav-holder #content-navigation.active a {
  color: #005293;
}
.content-nav-holder #content-navigation a {
  color: inherit;
}
.content-nav-holder #content-navigation a:hover {
  color: #005293;
}

.breadcrumbs {
  position: relative;
  padding: 24px 0 16px;
  z-index: 2;
}
.breadcrumbs ul {
  font-size: 16px;
/*  display: flex; */
}
@media (min-width: 768px) {
  .breadcrumbs ul {
    font-size: 18px;
  }
}
.breadcrumbs ul li {
    display: inline;
    letter-spacing: -.02em;
}
.breadcrumbs ul li + li:before {
  content: ">";
  margin: 0 3px 0 1px;
}
.breadcrumbs ul span {
  color: #0088ce;
}
.breadcrumbs ul a {
  color: #404040;
  transition: 0.4s all;
}
.breadcrumbs ul a:hover {
  color: #0088ce;
}
.breadcrumbs ul a span {
  color: inherit;
}
.breadcrumbs .current-item span {
    font-weight: 600;
}

.content-wrapper {
    position: relative;
    z-index: 1;
}

.cards-content-btn {
  padding: 26px 0 12px 0;
}
@media (min-width: 1024px) {
  .cards-content-btn {
    padding-top: 20px;
    padding-bottom: 62px;
  }
}
.cards-content-btn .df-row {
  margin: 0;
}
@media (min-width: 1024px) {
  .cards-content-btn .df-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 20px;
    grid-row-gap: 0;
  }
}
.cards-content-btn .card-content-btn {
  width: 100%;
  font-weight: 600;
  padding: 0 28px 0 28px;
  font-size: 15px;
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .cards-content-btn .card-content-btn {
    background: #e0f1f9;
    padding: 30px;
    margin-bottom: 20px;
  }
}
@media (min-width: 1200px) {
  .cards-content-btn .card-content-btn {
    padding: 52px 62px 66px 62px;
    font-size: 20px;
  }
}
.cards-content-btn .card-content-btn .card-content {
  max-width: 600px;
}
.cards-content-btn .card-content-btn h3 {
  color: #005293;
  font-size: 20px;
  font-weight: 600;
  margin: 0 0 4px 0;
}
@media (min-width: 768px) {
  .cards-content-btn .card-content-btn h3 {
    margin-bottom: 15px;
  }
}
@media (min-width: 1024px) {
  .cards-content-btn .card-content-btn h3 {
    font-size: 25px;
  }
}
@media (min-width: 1200px) {
  .cards-content-btn .card-content-btn h3 {
    font-size: 32px;
  }
}
.cards-content-btn .card-content-btn p {
  color: #404040;
  margin-bottom: 15px;
}
@media (max-width: 767.98px) {
  .cards-content-btn .card-content-btn .btn {
    width: 100%;
    text-align: left;
    padding: 6px 15px;
  }
}

#search-popup {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(31, 31, 31, 0.7);
  z-index: 10;
  opacity: 0;
  pointer-events: none;
  transition: 0.4s all;
  z-index: 10;
}
.search-active #search-popup {
  opacity: 1;
  pointer-events: all;
}
#search-popup .search-popup-inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 830px;
  width: 100%;
  background: transparent;
  padding: 60px 5px;
}
#search-popup .search-form {
  position: relative;
  z-index: 1;
  padding: 20px;
  background-color: #fff;
  padding-top: 35px;
  padding-right: 15px;
  padding-bottom: 40px;
  padding-left: 15px;
  margin-bottom: 0;
  margin: auto;
  opacity: 1;
  width: 100%;
  max-width: none;
}
@media (min-width: 768px) {
  #search-popup .search-form {
    padding-right: 30px;
    padding-left: 29px;
  }
}
#search-popup .search-form input[type=search] {
  font-size: 24px;
  padding-right: 28px;
  padding-bottom: 12px;
  padding-left: 0;
  border: 0;
  border-bottom: 1px solid #1f1f1f;
  background: transparent;
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
  font-weight: 300;
  border-radius: 0;
}
#search-popup .search-form button {
  position: absolute;
  z-index: 1;
  top: 50%;
  right: 28px;
  width: 30px;
  height: 30px;
  font-size: 30px;
  padding: 0;
  transform: translateY(-50%);
  border: 0;
  color: #000;
  background: transparent;
}

.search-close {
  position: absolute;
  width: 35px;
  height: 26px;
  bottom: 120%;
  right: 24px;
  font-size: 0;
  line-height: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  transition: 0.4s all;
}
@media (min-width: 1024px) {
  .search-close {
    display: none;
  }
}
.search-close:hover {
  opacity: 0.7;
}
.search-close:before, .search-close:after {
  background: #fff;
  position: absolute;
  left: 0;
  right: 0;
  height: 3px;
  transition: 0.3s all;
  content: "";
}
.search-close:before, .search-close:after {
  content: "";
  top: 50%;
  width: 75%;
}
.search-close:before {
  transform: rotate(45deg);
}
.search-close:after {
  transform: rotate(-45deg);
  bottom: auto;
}

.section-card-pages {
  padding: 20px 0 40px;
}
@media (min-width: 1024px) {
  .section-card-pages {
    padding-top: 30px;
  }
}
.section-card-pages .df-row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
}
@media (min-width: 1024px) {
  .section-card-pages .df-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    margin: 0;
  }
}
.section-card-pages .col {
  display: flex;
  padding: 0 10px 20px;
  width: 100%;
  order: 1;
}
@media (min-width: 576px) {
  .section-card-pages .col {
    max-width: 50%;
    flex: 0 0 50%;
  }
}
@media (min-width: 1024px) {
  .section-card-pages .col {
    padding: 0;
    max-width: none;
  }
}

.card-page {
  width: 100%;
}
@media (min-width: 1024px) {
  .card-page {
    display: flex;
  }
}
.card-page:hover img {
  transform: scale(1.1);
}
.card-page .card-img {
  position: relative;
  padding-top: 48.5%;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .card-page .card-img {
    min-width: 51%;
    padding-top: 23.5%;
  }
}
.card-page .card-img img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: 0.3s all;
}
.card-page .card-content {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px 20px;
  flex: 1 0;
  min-height: 95px;
}
.card-page h3 {
  text-align: center;
  margin-bottom: 0;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
}
@media (min-width: 1200px) {
  .card-page h3 {
    font-size: 28px;
  }
}
.card-page h3 a {
  color: inherit;
}

.block-related-content {
  padding: 0 0 30px 0;
}
@media (min-width: 1024px) {
  .block-related-content {
    padding: 0 0 105px 0;
  }
}
.block-related-content .inner {
  border: 4px solid #0087ce;
  color: #000000;
  font-weight: 600;
}
.block-related-content .inner .content {
  padding: 20px 27px 33px 25px;
}
@media (min-width: 768px) {
  .block-related-content .inner .content {
    padding: 27px 27px 41px 27px;
  }
}
.block-related-content .inner a {
  color: inherit;
  text-decoration: underline;
}
.block-related-content .inner a:hover {
  text-decoration: none;
}
.block-related-content .inner ol,
.block-related-content .inner ul {
  margin-bottom: 0;
}
.block-related-content .inner ol li,
.block-related-content .inner ul li {
  position: relative;
  padding-left: 30px;
}
.block-related-content .inner ol li::before,
.block-related-content .inner ul li::before {
  position: absolute;
  top: 8px;
  left: 0;
  content: "";
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: #000;
}
@media (min-width: 768px) {
  .block-related-content .inner ol li::before,
  .block-related-content .inner ul li::before {
    width: 5px;
    height: 5px;
  }
}
.block-related-content h4 {
  color: #fff;
  margin-bottom: 0;
  font-size: 15px;
  font-weight: 700;
  background-color: #0087ce;
  text-transform: uppercase;
  padding: 23px 24px;
  line-height: 1;
}
@media (min-width: 768px) {
  .block-related-content h4 {
    font-size: 23px;
    padding: 26px 24px;
  }
}

.section-inner {
  padding: 50px 0;
}
@media (min-width: 1024px) {
  .section-inner {
    padding: 100px 0;
  }
}
.section-inner.not-found {
  text-align: center;
}
.section-inner [class*=col] {
  text-align: left;
}
@media (min-width: 768px) {
  .section-inner [class*=col] {
    max-width: 50%;
  }
}
@media (min-width: 1024px) {
  .section-inner [class*=col] {
    max-width: 33.3333333%;
  }
}
.section-inner [class*=post] img {
  width: 100%;
}
.section-inner .search-form fieldset {
  display: flex;
  justify-content: center;
}
.section-inner .search-form fieldset input {
  height: 55px;
}
.section-inner .search-form fieldset input[type=search] {
  border: 2px solid #4d4d4d;
  margin-right: 10px;
}

@media (max-width: 600px) {
  .team_no_padding_mobile .wp-block-media-text__content {
    padding:0;
  }
}


/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZlbmRvcnMvX25vcm1hbGl6ZS5zY3NzIiwiYmFzZS9fYmFzZS5zY3NzIiwiYWJzdHJhY3RzL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9pbmNsdWRlLW1lZGlhL2Rpc3QvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImJhc2UvX2hlbHBlcnMuc2NzcyIsImFic3RyYWN0cy9fbWl4aW5zLnNjc3MiLCJhYnN0cmFjdHMvX2Z1bmN0aW9ucy5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fZm9ybXMuc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJsYXlvdXQvX2NvbW1vbi5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiY29tcG9uZW50cy9fdGhyZWUtY29sLWNhcmQuc2NzcyIsImNvbXBvbmVudHMvX3NlY3Rpb24tY2FyZHMuc2NzcyIsImNvbXBvbmVudHMvX2NvbnRlbnQtbmF2LnNjc3MiLCJjb21wb25lbnRzL19icmVhZGN1cm1icy5zY3NzIiwiY29tcG9uZW50cy9fY2FyZHMtY29udGVudC1idG4uc2NzcyIsImNvbXBvbmVudHMvX3NlYXJjaC1wb3B1cC5zY3NzIiwiY29tcG9uZW50cy9fc2VjdGlvbi1jYXJkLXBhZ2VzLnNjc3MiLCJjb21wb25lbnRzL19ibG9jay1yZWxhdGVkLWNvbnRlbnQuc2NzcyIsImNvbXBvbmVudHMvX3NlY3Rpb24taW5uZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUVBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0k7QUFDQTtFQUNBO0FBQ0E7OztBQUdKO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0k7RUFDQTs7O0FBR0o7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDSTtBQUNBO0VBQ0E7QUFDQTtFQUNBO0FBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDSTtBQUNBO0VBQ0E7QUFDQTs7O0FBR0o7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDSTtBQUNBO0VBQ0E7QUFDQTtFQUNBO0FBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0FBQUE7RUFFSTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7RUFHSTtBQUNBO0VBQ0E7QUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNJOzs7QUFHSjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBS0k7QUFDQTtFQUNBO0FBQ0E7RUFDQTtBQUNBO0VBQ0E7QUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBRUk7RUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBRUk7RUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7RUFJSTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7RUFJSTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtFQUlJOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtFQUNJO0FBQ0E7RUFDQTtBQUNBO0VBQ0E7QUFDQTtFQUNBO0FBQ0E7RUFDQTtBQUNBO0VBQ0E7QUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0VBRUk7QUFDQTtFQUNBO0FBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0FBQUE7RUFFSTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNJO0FBQ0E7RUFDQTtBQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0k7QUFDQTtFQUNBO0FBQ0E7OztBQUdKO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtFQUNJOzs7QUFHSjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FDelhKO0VBQ0k7RUFDQTs7O0FBR0o7QUFBQTtBQUFBO0VBR0k7OztBQUdKO0VBQ0k7OztBQUlKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQVlJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQW1CSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtBQUFBO0VBRUk7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0VBSUk7RUFDQTs7O0FBR0o7RUFDSTs7O0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0ksT0NyQmM7RURzQmQsWUM5R0k7RUQrR0o7RUFDQSxXQ2ZhO0VEZ0JiO0VBQ0E7RUFDQTs7QUVxYkE7RUY1Yko7SUFVUSxXQ3hCZTtJRHlCZixhQ3hCaUI7Ozs7QUQ2QnpCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7OztBRW1hQTtFRmhhSjtJQUVROzs7O0FBSVI7RUFDSTs7O0FHbkpKO0FBQUE7RUFDSTtFQUNBO0VBQ0E7OztBQUtBO0VBQ0k7RUFDQTtFQUNBOzs7QUFzRFI7RUFDSTtBQUNBO0VBQ0E7QUFDQTtFQUNBOzs7QUFHSjtFQUlJO0VBQ0E7RUFDQTs7QUQ2ZEE7RUVwT0k7SUFFUTs7O0FGa09aO0VFOU5JO0lBRVE7OztBRjROWjtFRXBPSTtJQUVROzs7QUZrT1o7RUU5Tkk7SUFFUTs7O0FGNE5aO0VFcE9JO0lBRVE7OztBRmtPWjtFRTlOSTtJQUVROzs7QUY0Tlo7RUVoTlE7SUFFUTtJQUNBOzs7QUY2TWhCO0VFaE5RO0lBRVE7SUFDQTs7O0FGNk1oQjtFRWhOUTtJQUVRO0lBQ0E7OztBRjZNaEI7RUVoTlE7SUFFUTtJQUNBOzs7QUY2TWhCO0VFaE5RO0lBRVE7SUFDQTs7O0FGNk1oQjtFRWhOUTtJQUVRO0lBQ0E7OztBRjZNaEI7RUVoTlE7SUFFUTtJQUNBOzs7QUY2TWhCO0VFaE5RO0lBRVE7SUFDQTs7O0FGNk1oQjtFRWhOUTtJQUVRO0lBQ0E7OztBRjZNaEI7RUVoTlE7SUFFUTtJQUNBOzs7QUY2TWhCO0VFaE5RO0lBRVE7SUFDQTs7O0FGNk1oQjtFRWhOUTtJQUVRO0lBQ0E7OztBRjZNaEI7RUV2TVE7SUFFUTs7O0FGcU1oQjtFRXZNUTtJQUVROzs7QUZxTWhCO0VFdk1RO0lBRVE7OztBRnFNaEI7RUV2TVE7SUFFUTs7O0FGcU1oQjtFRXZNUTtJQUVROzs7QUZxTWhCO0VFdk1RO0lBRVE7OztBRnFNaEI7RUV2TVE7SUFFUTs7O0FGcU1oQjtFRXZNUTtJQUVROzs7QUZxTWhCO0VFdk1RO0lBRVE7OztBRnFNaEI7RUV2TVE7SUFFUTs7O0FGcU1oQjtFRXZNUTtJQUVROzs7QUZxTWhCO0VFdk1RO0lBRVE7OztBRnFNaEI7RUVoTlE7SUFFUTtJQUNBOzs7QUY2TWhCO0VFaE5RO0lBRVE7SUFDQTs7O0FGNk1oQjtFRWhOUTtJQUVRO0lBQ0E7OztBRjZNaEI7RUVoTlE7SUFFUTtJQUNBOzs7QUY2TWhCO0VFaE5RO0lBRVE7SUFDQTs7O0FGNk1oQjtFRWhOUTtJQUVRO0lBQ0E7OztBRjZNaEI7RUVoTlE7SUFFUTtJQUNBOzs7QUY2TWhCO0VFaE5RO0lBRVE7SUFDQTs7O0FGNk1oQjtFRWhOUTtJQUVRO0lBQ0E7OztBRjZNaEI7RUVoTlE7SUFFUTtJQUNBOzs7QUY2TWhCO0VFaE5RO0lBRVE7SUFDQTs7O0FGNk1oQjtFRWhOUTtJQUVRO0lBQ0E7OztBRjZNaEI7RUV2TVE7SUFFUTs7O0FGcU1oQjtFRXZNUTtJQUVROzs7QUZxTWhCO0VFdk1RO0lBRVE7OztBRnFNaEI7RUV2TVE7SUFFUTs7O0FGcU1oQjtFRXZNUTtJQUVROzs7QUZxTWhCO0VFdk1RO0lBRVE7OztBRnFNaEI7RUV2TVE7SUFFUTs7O0FGcU1oQjtFRXZNUTtJQUVROzs7QUZxTWhCO0VFdk1RO0lBRVE7OztBRnFNaEI7RUV2TVE7SUFFUTs7O0FGcU1oQjtFRXZNUTtJQUVROzs7QUZxTWhCO0VFdk1RO0lBRVE7OztBRnFNaEI7RUVoTlE7SUFFUTtJQUNBOzs7QUY2TWhCO0VFaE5RO0lBRVE7SUFDQTs7O0FGNk1oQjtFRWhOUTtJQUVRO0lBQ0E7OztBRjZNaEI7RUVoTlE7SUFFUTtJQUNBOzs7QUY2TWhCO0VFaE5RO0lBRVE7SUFDQTs7O0FGNk1oQjtFRWhOUTtJQUVRO0lBQ0E7OztBRjZNaEI7RUVoTlE7SUFFUTtJQUNBOzs7QUY2TWhCO0VFaE5RO0lBRVE7SUFDQTs7O0FGNk1oQjtFRWhOUTtJQUVRO0lBQ0E7OztBRjZNaEI7RUVoTlE7SUFFUTtJQUNBOzs7QUY2TWhCO0VFaE5RO0lBRVE7SUFDQTs7O0FGNk1oQjtFRWhOUTtJQUVRO0lBQ0E7OztBRjZNaEI7RUV2TVE7SUFFUTs7O0FGcU1oQjtFRXZNUTtJQUVROzs7QUZxTWhCO0VFdk1RO0lBRVE7OztBRnFNaEI7RUV2TVE7SUFFUTs7O0FGcU1oQjtFRXZNUTtJQUVROzs7QUZxTWhCO0VFdk1RO0lBRVE7OztBRnFNaEI7RUV2TVE7SUFFUTs7O0FGcU1oQjtFRXZNUTtJQUVROzs7QUZxTWhCO0VFdk1RO0lBRVE7OztBRnFNaEI7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IHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICAgKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAgICovXG5cbm1haW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgKi9cblxuaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgKi9cblxuaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIC8qIDEgKi9cbiAgICBoZWlnaHQ6IDA7XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDIgKi9cbn1cblxuLyoqXG4gICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbnByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAgIC8qIDEgKi9cbiAgICBmb250LXNpemU6IDFlbTtcbiAgICAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICAgKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAqL1xuXG5hIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAvKiAxICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgLyogMiAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgICAvKiAyICovXG59XG5cbi8qKlxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgKi9cblxuYixcbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gICAgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIC8qIDIgKi9cbn1cblxuLyoqXG4gICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAqIGFsbCBicm93c2Vycy5cbiAgICovXG5cbnN1YixcbnN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gICAqL1xuXG5pbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIC8qIDEgKi9cbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgLyogMSAqL1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgLyogMiAqL1xufVxuXG4vKipcbiAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAqL1xuXG5idXR0b24sXG5pbnB1dCB7XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gICAgLyogMSAqL1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAgICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAgICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgKi9cblxuZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbmxlZ2VuZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvKiAxICovXG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLyogMiAqL1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLyogMyAqL1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgLyogMSAqL1xufVxuXG4vKipcbiAgICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICovXG5cbnByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAgICovXG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gICAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvKiAxICovXG4gICAgcGFkZGluZzogMDtcbiAgICAvKiAyICovXG59XG5cbi8qKlxuICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgLyogMSAqL1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAgIC8qIDIgKi9cbn1cblxuLyoqXG4gICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgICAvKiAxICovXG4gICAgZm9udDogaW5oZXJpdDtcbiAgICAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gICAqL1xuXG5kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gICAqL1xuXG50ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICAgKi9cblxuW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59IiwiaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbioge1xuICAgIG1heC1oZWlnaHQ6IDEwMDAwMDBweDtcbn1cblxuLy8tIEhUTUw1IGRpc3BsYXktcm9sZSByZXNldCBmb3Igb2xkZXIgYnJvd3NlcnNcbm1haW4sXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1lbnUsXG5uYXYsXG5zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxudWwsXG5vbCxcbmRsLFxucCxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbmFkZHJlc3MsXG5mb3JtLFxudGFibGUsXG5ibG9ja3F1b3RlLFxuYXBwbGV0LFxuZW1iZWQsXG5vYmplY3QsXG5pZnJhbWUsXG5mcmFtZXNldCB7XG4gICAgbWFyZ2luOiAwIDAgJHZlcnRpY2FsLXJoeXRobTtcbn1cblxuYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAkZ3JheTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG50aCxcbnRkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheTtcbiAgICBwYWRkaW5nOiAzcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG50aCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbnVsLFxub2wge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxudWwgdWwsXG51bCBvbCxcbm9sIHVsLFxub2wgb2wge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBtYXJnaW46IDA7XG59XG5cbnVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG59XG5cbmRsIHtcbiAgICBAZXh0ZW5kICVjbGVhcmZpeDtcblxuICAgIGR0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjNlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgZGQge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbn1cblxucHJlIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbmJvZHkge1xuICAgIGNvbG9yOiAkYmFzZS10ZXh0LWNvbG9yO1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLWJhY2tncm91bmQtYm9keTtcbiAgICBmb250OiAjeyRmb250LXNpemUtYmFzZX0vI3skbGluZS1oZWlnaHQtYmFzZX0gJGJhc2UtZm9udC1mYW1pbHk7XG4gICAgbWluLXdpZHRoOiAkYmFzZS1taW4td2lkdGg7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZS1sYWdyZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlLWxhZ3JlO1xuICAgIH1cbn1cblxuLy8gYWRhcHRpdmUgaW1hZ2VzXG5pbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8vIGdvb2dsZSBtYXAgZml4XG4uZ20tc3R5bGUgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbmlmcmFtZSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5yZXNpemUtYWN0aXZlICoge1xuICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbn0iLCIvLyBDb2xvcnNcbi8vIENvbG9yIGNhbGN1bGF0b3IgLSBodHRwOi8vcmF6b3JqYW0uZ2l0aHViLmlvL3Nhc3Njb2xvdXJmdW5jdGlvbmNhbGN1bGF0b3IvXG4vLyBDb2xvciBuYW1lcyAtIGh0dHA6Ly9uYW1lLW9mLWNvbG9yLmNvbS9cbi8vIENvbG9yIHN5c3RlbVxuXG4kd2hpdGU6ICNmZmYgIWRlZmF1bHQ7XG4kZ3JheTogI2RkZCAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogIzAwMCAhZGVmYXVsdDtcblxuJGdyYXlzOiAoXG4gICAgKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZ3JheXM6IG1hcC1tZXJnZSgoXCIxMDBcIjogJGdyYXktMTAwLFxuICAgICAgICAgICAgXCIyMDBcIjogJGdyYXktMjAwLFxuICAgICAgICAgICAgXCIzMDBcIjogJGdyYXktMzAwLFxuICAgICAgICAgICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgICAgICAgICAgXCI1MDBcIjogJGdyYXktNTAwLFxuICAgICAgICAgICAgXCI2MDBcIjogJGdyYXktNjAwLFxuICAgICAgICAgICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgICAgICAgICAgXCI4MDBcIjogJGdyYXktODAwLFxuICAgICAgICAgICAgXCI5MDBcIjogJGdyYXktOTAwICksXG4gICAgICAgICRncmF5c1xuKTtcblxuJGJsdWU6ICMwMDUyOTMgIWRlZmF1bHQ7XG4kaW5kaWdvOiAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAjZTgzZThjICFkZWZhdWx0O1xuJHJlZDogI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKFxuICAgICkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGNvbG9yczogbWFwLW1lcmdlKChcImJsdWVcIjogJGJsdWUsXG4gICAgICAgICAgICBcImluZGlnb1wiOiAkaW5kaWdvLFxuICAgICAgICAgICAgXCJwdXJwbGVcIjogJHB1cnBsZSxcbiAgICAgICAgICAgIFwicGlua1wiOiAkcGluayxcbiAgICAgICAgICAgIFwicmVkXCI6ICRyZWQsXG4gICAgICAgICAgICBcIm9yYW5nZVwiOiAkb3JhbmdlLFxuICAgICAgICAgICAgXCJ5ZWxsb3dcIjogJHllbGxvdyxcbiAgICAgICAgICAgIFwiZ3JlZW5cIjogJGdyZWVuLFxuICAgICAgICAgICAgXCJ0ZWFsXCI6ICR0ZWFsLFxuICAgICAgICAgICAgXCJjeWFuXCI6ICRjeWFuLFxuICAgICAgICAgICAgXCJ3aGl0ZVwiOiAkd2hpdGUsXG4gICAgICAgICAgICBcImdyYXlcIjogJGdyYXktNjAwLFxuICAgICAgICAgICAgXCJncmF5LWRhcmtcIjogJGdyYXktODAwICksXG4gICAgICAgICRjb2xvcnNcbik7XG5cbiRwcmltYXJ5OiAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6IChcbiAgICApICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZSgoXCJwcmltYXJ5XCI6ICRwcmltYXJ5LFxuICAgICAgICAgICAgXCJzZWNvbmRhcnlcIjogJHNlY29uZGFyeSxcbiAgICAgICAgICAgIFwic3VjY2Vzc1wiOiAkc3VjY2VzcyxcbiAgICAgICAgICAgIFwiaW5mb1wiOiAkaW5mbyxcbiAgICAgICAgICAgIFwid2FybmluZ1wiOiAkd2FybmluZyxcbiAgICAgICAgICAgIFwiZGFuZ2VyXCI6ICRkYW5nZXIsXG4gICAgICAgICAgICBcImxpZ2h0XCI6ICRsaWdodCxcbiAgICAgICAgICAgIFwiZGFya1wiOiAkZGFyayApLFxuICAgICAgICAkdGhlbWUtY29sb3JzXG4pO1xuXG4vLyBmb250cyBuYW1lXG4kYmFzZS1mb250LXNhbnMtc2VyaWY6ICdPcGVuIFNhbnMnLCdBcmlhbCcsICdIZWx2ZXRpY2EgTmV1ZScsICdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xuJGJhc2UtZm9udC1zZXJpZjogJ1RpbWVzIE5ldyBSb21hbicsICdUaW1lcycsICdCYXNrZXJ2aWxsZScsICdHZW9yZ2lhJywgc2VyaWY7XG5cbiRiYXNlLWZvbnQ6ICRiYXNlLWZvbnQtc2Fucy1zZXJpZjtcblxuLy8gQm9keVxuJGJhc2UtdGV4dC1jb2xvcjogIzQwNDA0MCAhZGVmYXVsdDtcbiRiYXNlLWJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRiYXNlLWJhY2tncm91bmQtYm9keTogJHdoaXRlICFkZWZhdWx0O1xuJGJhc2UtYmFja2dyb3VuZC1mb290ZXI6ICRibHVlICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1iYXNlOiAxNXB4ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuMyAhZGVmYXVsdDtcbiRmb250LXNpemUtYmFzZS1sYWdyZTogMjBweCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlLWxhZ3JlOiAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1mb250LWZhbWlseTogJGJhc2UtZm9udCAhZGVmYXVsdDtcbiRiYXNlLW1pbi13aWR0aDogMzIwcHg7XG5cbi8vIGJhc2UgdmFyaWFibGVzXG4kYmFzZS1yYWRpdXM6IDA7XG4kYmFzZS1yYWRpdXMtc21hbGw6IDA7XG5cbi8vIGNvbnRhaW5lciBzZXR0aW5nc1xuJG1heC13aWR0aC1jZW50ZXItY29udGFpbmVyOiAxNTMwcHg7XG4kZ3V0dGVyOiAxNXB4O1xuJHBhZGRpbmctY29udGFpbmVyOiAwICRndXR0ZXI7XG5cbiR1bml0LWludGVydmFsczogKFxuICAncHgnOiAwLjAyLFxuICAnZW0nOiAwLjAxLFxuICAncmVtJzogMC4xLFxuICAnJzogMFxuKTtcblxuLy8gZ3JpZCBzaXN0ZW1cbiRncmlkOiAoXG4gICAgcGg6ICdwaG9uZScsXG4gICAgc206ICd0YWJsZXQnLFxuICAgIG1kOiAnZGVza3RvcCdcbik7XG5cbi8vIGZvbnQgd2VpZ2h0XG4kdGhpbjogMTAwO1xuJGxpZ2h0LWZvbnQ6IDMwMDtcbiRub3JtYWw6IDQwMDtcbiRtZWRpdW06IDUwMDtcbiRzZW1pYm9sZDogNjAwO1xuJGJvbGQ6IDcwMDtcbiRleHRyYTogODAwO1xuJGJsYWNrLWZvbnQ6IDkwMDtcblxuLy8gZGVmYXVsdCBtYXJnaW5zXG4kdmVydGljYWwtcmh5dGhtOiAkZm9udC1zaXplLWJhc2UgKyA0O1xuJHdpZGdldC1tYXJnaW46IDIwcHg7XG5cbi8vIExpa3NcbiRiYXNlLWxpbmstY29sb3I6ICRibHVlO1xuJGJhc2UtbGluay1ob3Zlci1jb2xvcjogJGJsYWNrO1xuJHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiR0ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG5cbi8vIEhlYWRlcnMgc2l6ZVxuJHRpdGxlLXBhbGV0dGU6IChcbiAgICBtb2JpbGU6ICgnaDEnOiAyMCxcbiAgICAgICAgJ2gyJzogMTYsXG4gICAgICAgICdoMyc6IDE1LFxuICAgICAgICAnaDQnOiAxNCxcbiAgICAgICAgJ2g1JzogMTQsXG4gICAgICAgICdoNic6IDE0KSxcbiAgICB0YWJsZXQ6ICgnaDEnOiAzMCxcbiAgICAgICAgJ2gyJzogMzAsXG4gICAgICAgICdoMyc6IDIwLFxuICAgICAgICAnaDQnOiAyMCxcbiAgICAgICAgJ2g1JzogMTgsXG4gICAgICAgICdoNic6IDE2KSxcbiAgICBkZXNrdG9wOiAoJ2gxJzogMzcsXG4gICAgICAgICdoMic6IDMwLFxuICAgICAgICAnaDMnOiAyNCxcbiAgICAgICAgJ2g0JzogMjAsXG4gICAgICAgICdoNSc6IDE4LFxuICAgICAgICAnaDYnOiAxNiksXG4gICAgd2lkZXNjcmVlbjogKCdoMSc6IDM3LFxuICAgICAgICAnaDInOiAzMCxcbiAgICAgICAgJ2gzJzogMjQsXG4gICAgICAgICdoNCc6IDIwLFxuICAgICAgICAnaDUnOiAxOCxcbiAgICAgICAgJ2g2JzogMTYpXG4pO1xuXG4vLyBoZWFkaW5ncyBzdHlsZVxuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiRoZWFkaW5ncy1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8gQnV0dG9uc1xuLy8gYnRuIGRlZmF1bHRcbiRidG4tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLyAkYnRuLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAkYnRuLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1czogJGJhc2UtcmFkaXVzO1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAkYmFzZS1yYWRpdXMtc21hbGw7XG4kYnRuLXBhZGRpbmc6IDEycHggMTVweCAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy1zbTogNHB4IDEwcHggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogMjBweCAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICRidG4tZm9udC1zaXplICsgMjtcblxuJGJ0bi1iYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXI6ICRidG4tYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidG4tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbi8vIGhvdmVyXG4kYnRuLWhvdmVyLWJhY2tncm91bmQ6IHJnYmEoJGNvbG9yOiAjMDAwMDAwLCAkYWxwaGE6IC44KSAhZGVmYXVsdDtcbiRidG4taG92ZXItYm9yZGVyOiAkYnRuLWhvdmVyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIGJ0biBwcmltYXJ5XG4kYnRuLWJhY2tncm91bmQtcHJpbWFyeTogJHByaW1hcnkgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1wcmltYXJ5OiAkcHJpbWFyeSAhZGVmYXVsdDtcbiRidG4tY29sb3ItcHJpbWFyeTogJHdoaXRlICFkZWZhdWx0O1xuLy8gaG92ZXJcbiRidG4taG92ZXItYmFja2dyb3VuZC1wcmltYXJ5OiBkYXJrZW4oJHByaW1hcnksIDEwJSkgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJvcmRlci1wcmltYXJ5OiAkYnRuLWhvdmVyLWJhY2tncm91bmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRidG4taG92ZXItY29sb3ItcHJpbWFyeTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBidG4gd2FybmluZ1xuJGJ0bi1iYWNrZ3JvdW5kLXdhcm5pbmc6ICR3YXJuaW5nICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItd2FybmluZzogJGJ0bi1iYWNrZ3JvdW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kYnRuLWNvbG9yLXdhcm5pbmc6ICR3aGl0ZSAhZGVmYXVsdDtcbi8vIGhvdmVyXG4kYnRuLWhvdmVyLWJhY2tncm91bmQtd2FybmluZzogZGFya2VuKCR3YXJuaW5nLCAxMCUpICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItd2FybmluZzogJGJ0bi1ob3Zlci1iYWNrZ3JvdW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWNvbG9yLXdhcm5pbmc6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gRm9ybXNcbiRpbnB1dC1mb250LXNpemU6ICRmb250LXNpemUtYmFzZTsgLy8gZm9udCBzaXplIGZvciBmb3JtcyBlbGVtZW50c1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAkaW5wdXQtZm9udC1zaXplICsgMjsgLy8gbGluZSBoZWlnaHQgZm9yIGZvcm1zIGVsZW1lbnRzXG4kaW5wdXQtZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQ7XG4kaW5wdXQtcGFkZGluZy12ZXJ0aWNhbDogMTBweCAhZGVmYXVsdDsgLy8gcGFkZGluZyBmb3IgZm9ybXMgZWxlbWVudHNcbiRpbnB1dC1wYWRkaW5nLWhvcml6b250YWw6IDIwcHggIWRlZmF1bHQ7IC8vIHBhZGRpbmcgZm9yIGZvcm1zIGVsZW1lbnRzXG4kaW5wdXQtcGFkZGluZzogJGlucHV0LXBhZGRpbmctdmVydGljYWwgJGlucHV0LXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6IDJweCAhZGVmYXVsdDsgLy8gYm9yZGVyIGlucHV0J3Mgd2lkdGhcbiRpbnB1dC1ib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgIzRkNGQ0ZCAhZGVmYXVsdDsgLy8gYm9yZGVyIGZvciBmb3JtcyBlbGVtZW50c1xuJGlucHV0LWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7IC8vIGJvcmRlciByYWRpdXMgZm9yIGZvcm1zIGVsZW1lbnRzXG4kaW5wSDogJGlucHV0LWJvcmRlci13aWR0aCArIDIgKiAkaW5wdXQtcGFkZGluZy12ZXJ0aWNhbCArICRpbnB1dC1saW5lLWhlaWdodDtcbiRpbnB1dC1oZWlnaHQ6IChcbiAgICAyICogKCRpbnB1dC1ib3JkZXItd2lkdGggKyAkaW5wdXQtcGFkZGluZy12ZXJ0aWNhbCkgKyAkaW5wdXQtbGluZS1oZWlnaHQpICFkZWZhdWx0OyAvLyBoZWlnaHQgZm9yIGZvcm1zIGVsZW1lbnRzXG4vL3N1Ym1pdFxuJHN1Ym1pdC1iYWNrZ3JvdW5kOiAkYnRuLWJhY2tncm91bmQ7XG4kc3VibWl0LWNvbG9yOiAkYnRuLWNvbG9yO1xuJHN1Ym1pdC1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4kc3VibWl0LWJvcmRlcjogJGJ0bi1ib3JkZXI7XG4kc3VibWl0LXBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuJHN1Ym1pdC1mb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4kc3VibWl0LWxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4vLyBzdWJtaXQgaG92ZXJcbiRzdWJtaXQtaG92ZXItYmFja2dyb3VuZDogJGJ0bi1ob3Zlci1iYWNrZ3JvdW5kOyAvLyBzdWJtaXQgYmFja2dyb3VuZCBob3ZlclxuJHN1Ym1pdC1ob3Zlci1jb2xvcjogJGJ0bi1ob3Zlci1jb2xvcjsgLy8gc3VibWl0IGNvbG9yIGhvdmVyXG4vL2ZvY3VzXG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7IC8vIGJvcmRlciBjb2xvciBmb3IgZm9ybXMgZWxlbWVudHNcbi8vcGxhY2Vob2xkZXJcbiRwbGFjZWhvbGRlci1jb2xvcjogIzRkNGQ0ZCAhZGVmYXVsdDtcbi8vIHNlbGVjdFxuJHNlbGVjdC1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4kc2VsZWN0LWJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiRzZWxlY3QtYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7XG4kc2VsZWN0LXBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuJHNlbGVjdC1mb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4kc2VsZWN0LWxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG5cbi8vIGFuaW1hdGlvbiBzcGVlZFxuJGFuaW1hdGlvbi1zcGVlZDogMC41cztcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxuLy9cbi8vICAgICAgICBodHRwczovL2VkdWFyZG9ib3VjYXMuZ2l0aHViLmlvL2luY2x1ZGUtbWVkaWFcbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgS2l0dHkgR2lyYXVkZWwgKEBraXR0eWdpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2Vcbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XG4vLy9cbiRicmVha3BvaW50czogKFxuICAncGhvbmUnOiAzMjBweCxcbiAgJ3RhYmxldCc6IDc2OHB4LFxuICAnZGVza3RvcCc6IDEwMjRweFxuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDBcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XG4gICAgQGVycm9yICRtZXNzYWdlO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAkbWVzc2FnZTtcbiAgICAkXzogbm9vcCgpO1xuICB9XG5cbiAgQHJldHVybiAkbWVzc2FnZTtcbn1cblxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XG59XG5cblxuLy8vXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXG4vLy9cbkBmdW5jdGlvbiBub29wKCkge31cblxuLy8vXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy9cbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xuXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXG4gICAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vL1xuLy8vIFBhcnNpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XG5cbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcbiAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gbGlzdCByZXNldFxuJWxpc3RyZXNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLy8gY2xlYXJmaXhcbiVjbGVhcmZpeCB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuXG4uY2xlYXJmaXgge1xuICAgIEBleHRlbmQgJWNsZWFyZml4O1xufVxuXG4vLyB0cmFuc2l0aW9uXG4ldHJhbnNpdGlvbiB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi8vIGp1c3RpZnkgbmF2XG4lanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICBmb250LXNpemU6IDFweDtcbiAgICBsaW5lLWhlaWdodDogMDtcblxuICAgID4qIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG59XG5cbiViZ0NvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4lYWJzb2x1dGVDb3ZlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbn1cblxuLy8vICogSGVscGVyIGNsYXNzIHRvIHRydW5jYXRlIGFuZCBhZGQgZWxsaXBzaXMgdG8gYSBzdHJpbmcgdG9vIGxvbmcgZm9yIGl0IHRvIGZpdFxuLy8vICogb24gYSBzaW5nbGUgbGluZS5cbi8vLyAqIDEuIFByZXZlbnQgY29udGVudCBmcm9tIHdyYXBwaW5nLCBmb3JjaW5nIGl0IG9uIGEgc2luZ2xlIGxpbmUuXG4vLy8gKiAyLiBBZGQgZWxsaXBzaXMgYXQgdGhlIGVuZCBvZiB0aGUgbGluZS5cblxuLmVsbGlwc2lzIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8qIDEgKi9cbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAvKiAyICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmRmLXJvdyB7XG4gICAgQGluY2x1ZGUgYWRkLXBhcmFtcygpO1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZCgpO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAwICgtJGd1dHRlcik7XG5cblx0W2NsYXNzKj0nY29sJ10ge1xuXHRcdHBhZGRpbmc6IDAgJGd1dHRlciAkZ3V0dGVyO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRmbGV4OiAwIDAgYXV0bztcblx0fVxufSIsIi8vIHZlcnRpY2FsIGFsaWduIGVsIGluc2lkZSBwYXJlbnQgd2l0aCBmaXhlZCBoZWlnaHQvbWluLWhlaWdodFxuLy8gdXNhZ2Vcbi8vIGh0bWwgLSAucGFyZW50Pi5jaGlsZFxuLy8gc2NzcyAtIEBpbmNsdWRlIHYtYWxpZ247XG4vLyAgICAgb3IgQGluY2x1ZGUgdi1hbGlnbigyNTBweCk7XG4vLyAgICAgb3IgQGluY2x1ZGUgdi1hbGlnbigyNTBweCwgYm90dG9tLCBiZWZvcmUpO1xuLy9cbkBtaXhpbiB2LWFsaWduKCR2YS1oZWlnaHQ6IDEwMCUsICR2YS1kaXJlY3Rpb246IG1pZGRsZSwgJHZhLXBzZXVkbzogYWZ0ZXIpIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICY6I3skdmEtcHNldWRvfSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkdmEtZGlyZWN0aW9uO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgbWluLWhlaWdodDogJHZhLWhlaWdodDtcbiAgICB9XG5cbiAgICA+KiB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246ICR2YS1kaXJlY3Rpb247XG4gICAgICAgIG1heC13aWR0aDogOTklO1xuICAgIH1cbn1cblxuLy8gdmVydGljYWwgYWxpZ24gYSBwYWlyIG9mIGNoaWxkIGVsIGluc2lkZSBwYXJlbnRcbi8vIHVzYWdlXG4vLyBodG1sIC0gLnBvc3Q+LmltYWdlKy50ZXh0XG4vLyBzY3NzIC0gQGluY2x1ZGUgdi1hbGlnbi1wYWlyKGltYWdlLCB0ZXh0KTtcbi8vICAgICBvciBAaW5jbHVkZSB2LWFsaWduLXBhaXIoaW1hZ2UsIHRleHQsIGJvdHRvbSk7XG4vLyAgICAgb3IgQGluY2x1ZGUgdi1hbGlnbi1wYWlyKGltYWdlLCB0ZXh0LCBtaWRkbGUsIDIwMHB4KTtcbi8vXG5AbWl4aW4gdi1hbGlnbi1wYWlyKCRjaGlsZC1uYW1lMSwgJGNoaWxkLW5hbWUyLCAkdmFsaWduOiBtaWRkbGUsICR3aWR0aDE6IGF1dG8sICR3aWR0aDI6IGF1dG8pIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcblxuICAgIC4jeyRjaGlsZC1uYW1lMX0ge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJHZhbGlnbjtcbiAgICAgICAgd2lkdGg6ICR3aWR0aDE7XG4gICAgfVxuXG4gICAgLiN7JGNoaWxkLW5hbWUyfSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkdmFsaWduO1xuICAgICAgICB3aWR0aDogJHdpZHRoMjtcbiAgICB9XG59XG5cbi8vIHZlcnRpY2FsIGFsaWduIGVsXG4vLyB1c2FnZTogQGluY2x1ZGUgdmVydGljYWwtYWxpZ24tZWw7XG4vL1xuQG1peGluIHZlcnRpY2FsLWFsaWduLWVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gTWl4aW4gaGVscGluZyBkZWZpbmluZyBib3RoIGB3aWR0aGAgYW5kIGBoZWlnaHRgIHNpbXVsdGFuZW91c2x5LlxuLy8vXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICR3aWR0aCAtIEVsZW1lbnTigJlzIGB3aWR0aGBcbi8vLyBAcGFyYW0ge0xlbmd0aH0gJGhlaWdodCAoJHdpZHRoKSAtIEVsZW1lbnTigJlzIGBoZWlnaHRgXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5mb28ge1xuLy8vICAgICBAaW5jbHVkZSBzaXplKDEwZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuYmFyIHtcbi8vLyAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlLCAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBvdXRwdXRcbi8vLyAgIC5mb28ge1xuLy8vICAgICB3aWR0aDogMTBlbTtcbi8vLyAgICAgaGVpZ2h0OiAxMGVtO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuYmFyIHtcbi8vLyAgICAgd2lkdGg6IDEwMCU7XG4vLy8gICAgIGhlaWdodDogMTBlbTtcbi8vLyAgIH1cbi8vL1xuQG1peGluIHNpemUoJHdpZHRoLCAkaGVpZ2h0OiAkd2lkdGgpIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGhlaWdodDogJGhlaWdodDtcbn1cblxuLy8vIGZvbnQtc21vdGhpbmdcbi8vLyBAaW5jbHVkZSBmb250LXNtb290aGluZyhvbik7XG4vLy8gQGluY2x1ZGUgZm9udC1zbW9vdGhpbmcob2ZmKTtcbkBtaXhpbiBmb250LXNtb290aGluZygkdmFsdWU6IG9uKSB7XG4gICAgQGlmICR2YWx1ZSA9PW9uIHtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGF1dG87XG4gICAgfVxufVxuXG5cbi8vLyBIaWRlcyB0aGUgdGV4dCBpbiBhbiBlbGVtZW50LCBjb21tb25seSB1c2VkIHRvIHNob3cgYW4gaW1hZ2UuIFNvbWUgZWxlbWVudHMgd2lsbCBuZWVkIGJsb2NrLWxldmVsIHN0eWxlcyBhcHBsaWVkLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL3plbGRtYW4uY29tLzIwMTIvMDMvMDEvcmVwbGFjaW5nLXRoZS05OTk5cHgtaGFjay1uZXctaW1hZ2UtcmVwbGFjZW1lbnRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBoaWRlLXRleHQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtaW5kZW50OiAxMDElO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgfVxuLy8vXG5AbWl4aW4gaGlkZS10ZXh0IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtaW5kZW50OiAxMDElO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cblxuLy8vIENyZWF0ZXMgYSB2aXN1YWwgdHJpYW5nbGUuXG4vLy8gTWl4aW4gdGFrZXMgKCRzaXplLCAkY29sb3IsICRkaXJlY3Rpb24pXG4vLy8gVGhlICRzaXplIGFyZ3VtZW50IGNhbiB0YWtlIG9uZSBvciB0d28gdmFsdWVz4oCUd2lkdGggaGVpZ2h0LlxuLy8vIFRoZSAkY29sb3IgYXJndW1lbnQgY2FuIHRha2Ugb25lIG9yIHR3b1xuLy8vIHZhbHVlc+KAlGZvcmVncm91bmQtY29sb3IgYmFja2dyb3VuZC1jb2xvci5cbi8vL1xuLy8vIEBhdXRob3IgaHR0cDovL2JvdXJib24uaW8vZG9jcy8jdHJpYW5nbGVcbi8vL1xuLy8vICRkaXJlY3Rpb246XG4vLy8gdXAsIGRvd24sIGxlZnQsIHJpZ2h0LCB1cC1yaWdodCwgdXAtbGVmdCwgZG93bi1yaWdodCwgZG93bi1sZWZ0XG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAaW5jbHVkZSB0cmlhbmdsZSgxMnB4LCBncmF5LCBkb3duKTtcbi8vLyAgIEBpbmNsdWRlIHRyaWFuZ2xlKDEycHggNnB4LCBncmF5IGJsdWUsIHVwLWxlZnQpO1xuLy8vXG5AbWl4aW4gdHJpYW5nbGUoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICAgICR3aWR0aDogbnRoKCRzaXplLCAxKTtcbiAgICAkaGVpZ2h0OiBudGgoJHNpemUsIGxlbmd0aCgkc2l6ZSkpO1xuICAgICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcbiAgICAkYmFja2dyb3VuZC1jb2xvcjogaWYobGVuZ3RoKCRjb2xvcik9PTIsIG50aCgkY29sb3IsIDIpLCB0cmFuc3BhcmVudCk7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuXG4gICAgQGlmICgkZGlyZWN0aW9uID09dXApIG9yICgkZGlyZWN0aW9uID09ZG93bikgb3IgKCRkaXJlY3Rpb24gPT1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT1sZWZ0KSB7XG4gICAgICAgICR3aWR0aDogJHdpZHRoIC8gMjtcbiAgICAgICAgJGhlaWdodDogaWYobGVuZ3RoKCRzaXplKSA+IDEsICRoZWlnaHQsICRoZWlnaHQvMik7XG5cbiAgICAgICAgQGlmICRkaXJlY3Rpb24gPT11cCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWYgJGRpcmVjdGlvbiA9PXJpZ2h0IHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWYgJGRpcmVjdGlvbiA9PWRvd24ge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmICRkaXJlY3Rpb24gPT1sZWZ0IHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIGlmICgkZGlyZWN0aW9uID09dXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09dXAtbGVmdCkge1xuICAgICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgICAgIEBpZiAkZGlyZWN0aW9uID09dXAtcmlnaHQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmICRkaXJlY3Rpb24gPT11cC1sZWZ0IHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT1kb3duLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PWRvd24tbGVmdCkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgICAgIEBpZiAkZGlyZWN0aW9uID09ZG93bi1yaWdodCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWYgJGRpcmVjdGlvbiA9PWRvd24tbGVmdCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIGlmICgkZGlyZWN0aW9uID09aW5zZXQtdXApIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PWluc2V0LWRvd24pIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PWluc2V0LXJpZ2h0KSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT1pbnNldC1sZWZ0KSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gICAgfVxufVxuXG5cbi8vLyBBbmltYXRlIGNzcyBwcm9wZXJ0aWVzXG4vLyB1c2FnZVxuLy8gc2NzcyAtIEBpbmNsdWRlIGFuaW1hdGUoY29sb3IpO1xuLy8gICAgIG9yIEBpbmNsdWRlIGFuaW1hdGUoY29sb3Igd2lkdGgpO1xuLy8gICAgIG9yIEBpbmNsdWRlIGFuaW1hdGUoY29sb3Igd2lkdGgsIDFzLCBsaW5lYXIpO1xuLy9cbiRhbmltYXRpb24tc3BlZWQ6IDAuM3MgIWRlZmF1bHQ7XG5cbkBtaXhpbiBhbmltYXRlKCRwcm9wZXJ0aWVzLCAkZHVyYXRpb246ICRhbmltYXRpb24tc3BlZWQsICRlYXNpbmc6IGVhc2UtaW4tb3V0KSB7XG4gICAgJGxpc3Q6ICgpO1xuXG4gICAgQGVhY2ggJHByb3AgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAkc3RyOiAjeyRwcm9wfSAjeyRkdXJhdGlvbn0gI3skZWFzaW5nfTtcbiAgICAgICAgJGxpc3Q6IGpvaW4oJGxpc3QsICN7JHN0cn0sIGNvbW1hKTtcbiAgICB9XG5cbiAgICB0cmFuc2l0aW9uOiAkbGlzdDtcbn1cblxuXG4vLy8gTWl4aW4gZm9yIHN0eWxpbmcgZm9ybS1wbGFjZWhvbGRlcnNcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcbi8vLyAgICBjb2xvcjogIzMzMztcbi8vLyAgIH1cbi8vL1xuLy8vICAgaW5wdXRbdHlwZT0ndGV4dCddLFxuLy8vICAgaW5wdXRbdHlwZT0ndGVsJ10sXG4vLy8gICBpbnB1dFt0eXBlPSdlbWFpbCddIHtcbi8vLyAgICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuLy8vICAgICAgY29sb3I6IHJlZDtcbi8vLyAgICAgfVxuLy8vICAgfVxuXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAmLnBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vLy8gRm9udC1zaXplIHB4IHRvIHJlbSBjYWxjXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gc2VsZWN0b3Ige1xuLy8vICAgIEBpbmNsdWRlIHJlbS1mb250LXNpemUoMTZweCk7XG4vLy8gfVxuXG5AbWl4aW4gcmVtLWZvbnQtc2l6ZSgkcHgtc2l6ZSkge1xuICAgIGZvbnQtc2l6ZTogJHB4LXNpemU7XG4gICAgZm9udC1zaXplOiAoJHB4LXNpemUgLyAxMHB4KSArIHJlbTtcbn1cblxuLy9mb250LWZhY2VcbkBtaXhpbiBmb250LWZhY2UoJGZvbnQtbmFtZSwgJGZvbnQtcGF0aCwgJHdlaWdodCwgJHN0eWxlKSB7XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnI3skZm9udC1uYW1lfSc7XG4gICAgICAgIHNyYzogdXJsKCdmb250cy8jeyRmb250LXBhdGh9LndvZmYyJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgIHVybCgnZm9udHMvI3skZm9udC1wYXRofS53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XG4gICAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tY29sb3IoJGJ0bi1iYWNrZ3JvdW5kLCAkYnRuLWNvbG9yLCAkYnRuLWJvcmRlciwgJGJ0bi1ob3Zlci1iYWNrZ3JvdW5kLCAkYnRuLWhvdmVyLWJvcmRlciwgJGJ0bi1ob3Zlci1jb2xvcikge1xuICAgIGJhY2tncm91bmQ6ICRidG4tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ0bi1jb2xvcjtcbiAgICBib3JkZXI6ICRidG4tYm9yZGVyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRidG4taG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRidG4taG92ZXItY29sb3I7XG4gICAgICAgIGJvcmRlcjogJGJ0bi1ob3Zlci1ib3JkZXI7XG4gICAgfVxufVxuXG5AbWl4aW4gYWRkLXBhcmFtcygpIHtcblxuICAgIEBlYWNoICR2YWwsXG4gICAgJG1lZGlhIGluICRncmlkIHtcbiAgICAgICAgJi5kZi1yci0jeyR2YWx9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaUnICsgJG1lZGlhKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5kZi1haWMtI3skdmFsfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omlJyArICRtZWRpYSkge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIGZsZXggZ3JpZFxuQG1peGluIGZsZXgtZ3JpZCgpIHtcblxuICAgIEBlYWNoICR2YWwsXG4gICAgJG1lZGlhIGluICRncmlkIHtcbiAgICAgICAgQGZvciAkZ3V0dGVyIGZyb20gMSB0aHJvdWdoIDEyIHtcbiAgICAgICAgICAgIC5jb2wtI3skdmFsfS0jeyRndXR0ZXJ9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omlJyArICRtZWRpYSkge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxIDAgY2FsYygxMDAlIC8gMTIgKiAjeyRndXR0ZXJ9KTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLyAxMiAqICN7JGd1dHRlcn0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBmb3IgJGd1dHRlciBmcm9tIDAgdGhyb3VnaCAxMSB7XG4gICAgICAgICAgICAuY29sLW9mZnNldC0jeyR2YWx9LSN7JGd1dHRlcn0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaUnICsgJG1lZGlhKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDEwMCUgLyAxMiAqICN7JGd1dHRlcn0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIHYtY2VudGVyKCRtaW4taGVpZ2h0OiA0MDBweCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICA+KiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6ICRtaW4taGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufSIsIi8vLyBjb2xvcnMgYmxhY2sgJiB3aGl0ZVxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLm15LWNsYXNzIHtcbi8vLyAgICAgYmFja2dyb3VuZDogYmxhY2soMC4xNSk7XG4vLy8gICAgIGNvbG9yOiB3aGl0ZSgwLjkpO1xuLy8vICAgfVxuQGZ1bmN0aW9uIGJsYWNrKCRvcGFjaXR5KSB7XG4gICAgQHJldHVybiByZ2JhKGJsYWNrLCAkb3BhY2l0eSk7XG59XG5cbkBmdW5jdGlvbiB3aGl0ZSgkb3BhY2l0eSkge1xuICAgIEByZXR1cm4gcmdiYSh3aGl0ZSwgJG9wYWNpdHkpO1xufVxuXG5AbWl4aW4gdGl0bGUtc2l6ZSgkc3ltYm9sKSB7XG5cbiAgICBAZWFjaCAkbWVkaWEsXG4gICAgJHRpdGxlcy1zaXplIGluICR0aXRsZS1wYWxldHRlIHtcbiAgICAgICAgQGlmICRtZWRpYSA9PW1vYmlsZSB7XG5cbiAgICAgICAgICAgIEBlYWNoICR0aXRsZSxcbiAgICAgICAgICAgICRzaXplIGluICR0aXRsZXMtc2l6ZSB7XG5cbiAgICAgICAgICAgICAgICAjeyR0aXRsZX0sXG4gICAgICAgICAgICAgICAgLiN7JHRpdGxlfSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUgKyBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgjeyRzeW1ib2x9I3skbWVkaWF9KSB7XG5cbiAgICAgICAgICAgICAgICBAZWFjaCAkdGl0bGUsXG4gICAgICAgICAgICAgICAgJHNpemUgaW4gJHRpdGxlcy1zaXplIHtcblxuICAgICAgICAgICAgICAgICAgICAjeyR0aXRsZX0sXG4gICAgICAgICAgICAgICAgICAgIC4jeyR0aXRsZX0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZSArIHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gQGZ1bmN0aW9uc1xuLy9cblxuLy8gU1RSSVAgVU5JVFxuLy8gSXQgc3RyaXBzIHRoZSB1bml0IG9mIG1lYXN1cmUgYW5kIHJldHVybnMgaXRcbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8gQ09OVkVSVCBUTyBSRU1cbkBmdW5jdGlvbiBjb252ZXJ0LXRvLXJlbSgkdmFsdWUsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UtdmFsdWUpICogMXJlbTtcblxuICAgIEBpZiAoJHZhbHVlID09MHJlbSkge1xuICAgICAgICAkdmFsdWU6IDA7XG4gICAgfVxuXG4gICAgLy8gVHVybiAwcmVtIGludG8gMFxuICAgIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLyBSRU0gQ0FMQ1xuXG4vLyBOZXcgU3ludGF4LCBhbGxvd3MgdG8gb3B0aW9uYWxseSBjYWxjdWxhdGUgb24gYSBkaWZmZXJlbnQgYmFzZSB2YWx1ZSB0byBjb3VudGVyIGNvbXBvdW5kaW5nIGVmZmVjdCBvZiByZW0ncy5cbi8vIENhbGwgd2l0aCAxLCAyLCAzIG9yIDQgcGFyYW1ldGVycywgJ3B4JyBpcyBub3QgcmVxdWlyZWQgYnV0IHN1cHBvcnRlZDpcbi8vXG4vLyAgIHJlbS1jYWxjKDEwIDIwIDMwcHggNDApO1xuLy9cbi8vIFNwYWNlIGRlbGltaXRlZCwgaWYgeW91IHdhbnQgdG8gZGVsaW1pdCB1c2luZyBjb21tYSdzLCB3cmFwIGl0IGluIGFub3RoZXIgcGFpciBvZiBicmFja2V0c1xuLy9cbi8vICAgcmVtLWNhbGMoKDEwLCAyMCwgMzAsIDQwcHgpKTtcbi8vXG4vLyBPcHRpb25hbGx5IGNhbGwgd2l0aCBhIGRpZmZlcmVudCBiYXNlIChlZzogOHB4KSB0byBjYWxjdWxhdGUgcmVtLlxuLy9cbi8vICAgcmVtLWNhbGMoMTZweCAzMnB4IDQ4cHgsIDhweCk7XG4vL1xuLy8gSWYgeW91IHJlcXVpcmUgdG8gY29tbWEgc2VwYXJhdGUgeW91ciBsaXN0XG4vL1xuLy8gICByZW0tY2FsYygoMTZweCwgMzJweCwgNDgpLCA4cHgpO1xuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSkge1xuICAgICRtYXg6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAgIEBpZiAkbWF4ID09MSB7XG4gICAgICAgIEByZXR1cm4gY29udmVydC10by1yZW0obnRoKCR2YWx1ZXMsIDEpLCAkYmFzZS12YWx1ZSk7XG4gICAgfVxuXG4gICAgJHJlbVZhbHVlczogKFxuICAgICk7XG5cbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heCB7XG4gICAgJHJlbVZhbHVlczogYXBwZW5kKCRyZW1WYWx1ZXMsIGNvbnZlcnQtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlLXZhbHVlKSk7XG59XG5cbkByZXR1cm4gJHJlbVZhbHVlcztcbn1cblxuQGZ1bmN0aW9uIGVtLWNhbGMoJHZhbHVlcywgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSkge1xuICAgICRyZW1WYWx1ZXM6IHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpO1xuXG4gICAgJG1heDogbGVuZ3RoKCRyZW1WYWx1ZXMpO1xuXG4gICAgQGlmICRtYXggPT0xIHtcbiAgICAgICAgQHJldHVybiBzdHJpcC11bml0KG50aCgkcmVtVmFsdWVzLCAxKSkgKiAxZW07XG4gICAgfVxuXG4gICAgJGVtVmFsdWVzOiAoXG4gICAgKTtcblxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcbiAgICAkZW1WYWx1ZXM6IGFwcGVuZCgkZW1WYWx1ZXMsIHN0cmlwLXVuaXQobnRoKCRyZW1WYWx1ZXMsICRpKSkgKiAxZW0pO1xufVxuXG5AcmV0dXJuICRlbVZhbHVlcztcbn1cblxuLy8vIGNvbG9ycyBibGFjayAmIHdoaXRlXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAubXktY2xhc3Mge1xuLy8vICAgICBiYWNrZ3JvdW5kOiBibGFjaygwLjE1KTtcbi8vLyAgICAgY29sb3I6IHdoaXRlKDAuOSk7XG4vLy8gICB9XG5AZnVuY3Rpb24gYmxhY2soJG9wYWNpdHkpIHtcbiAgICBAcmV0dXJuIHJnYmEoYmxhY2ssICRvcGFjaXR5KTtcbn1cblxuQGZ1bmN0aW9uIHdoaXRlKCRvcGFjaXR5KSB7XG4gICAgQHJldHVybiByZ2JhKHdoaXRlLCAkb3BhY2l0eSk7XG59XG5cbiIsIi8vIFR5cG9ncmFwaHlcblxuQGluY2x1ZGUgdGl0bGUtc2l6ZSgn4omlJyk7XG5cbmgxLFxuLmgxLFxuaDIsXG4uaDIsXG5oMyxcbi5oMyxcbmg0LFxuLmg0LFxuaDUsXG4uaDUsXG5oNixcbi5oNixcbi5oIHtcbiAgICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICAgIGNvbG9yOiAkaGVhZGluZ3MtY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxufVxuXG5oMSB7XG5cdGNvbG9yOiAkcHJpbWFyeTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuaDMsXG4uaDMge1xuXHRjb2xvcjogIzAwNTI5Mztcblx0Zm9udC13ZWlnaHQ6IDcwMDtcbn1cblxucCB7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbn1cblxuYSB7XG4gICAgY29sb3I6ICRiYXNlLWxpbmstY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkdGV4dC1kZWNvcmF0aW9uO1xuXHR0cmFuc2l0aW9uOiAuNHMgYWxsO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRiYXNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJHRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICB9XG59XG5cbmFbaHJlZio9XCJtYWlsdG86XCJdIHtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59IiwiLy8gZm9ybXNcbmZvcm0sXG5maWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPSd0ZXh0J10sXG5pbnB1dFt0eXBlPSd0ZWwnXSxcbmlucHV0W3R5cGU9J2VtYWlsJ10sXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSxcbmlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sXG5pbnB1dFt0eXBlPSd1cmwnXSxcbi8vIGlucHV0W3R5cGU9J2RhdGUnXSxcbnRleHRhcmVhIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7XG5cdGNvbG9yOiAjNGQ0ZDRkO1xuXG4gICAgJjpub3QodGV4dGFyZWEpIHtcbiAgICAgICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogJHBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIH1cbn1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ106Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy8gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4vLyAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuLy8gfVxuXG50ZXh0YXJlYSB7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG5idXR0b24sXG5pbnB1dFt0eXBlPSdidXR0b24nXSxcbmlucHV0W3R5cGU9J3Jlc2V0J10sXG5pbnB1dFt0eXBlPSdmaWxlJ10sXG5pbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgICBoZWlnaHQ6ICRzdWJtaXQtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRzdWJtaXQtcGFkZGluZztcbiAgICBmb250LXNpemU6ICRzdWJtaXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkc3VibWl0LWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkc3VibWl0LWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogJHN1Ym1pdC1ib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJHN1Ym1pdC1iYWNrZ3JvdW5kO1xuXHR0cmFuc2l0aW9uOiAuNHMgYWxsO1xuXHRmb250LXdlaWdodDogNjAwO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzdWJtaXQtaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRzdWJtaXQtaG92ZXItY29sb3I7XG4gICAgfVxufSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIHN0eWxlcyByZWxhdGVkIHRvIHRoZSBoZWFkZXIgb2YgdGhlIHNpdGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubmF2LWFjdGl2ZSB7XG5cdFtpZD1cImhlYWRlclwiXSB7XG5cdFx0ei1pbmRleDogOTtcblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHR9XG5cdH1cbn1cblxuLnNlYXJjaC1hY3RpdmUge1xuXHRbaWQ9XCJoZWFkZXJcIl0ge1xuXHRcdHotaW5kZXg6IDk7XG5cdH1cbn1cblxuW2lkPVwiaGVhZGVyXCJdIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgcGFkZGluZzogMjhweCAwIDIwcHggMDtcblx0ei1pbmRleDogMTtcblx0bWFyZ2luOiAwIDAgMTdweCAwO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRwYWRkaW5nOiA1NHB4IDAgMjBweCAwO1xuXHRcdG1hcmdpbi1ib3R0b206IDEyMHB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJz49MTUwMHB4Jykge1xuXHRcdG1hcmdpbi1ib3R0b206IDE3MHB4O1xuXHR9XG5cblx0JjphZnRlciB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0dG9wOiA3NCU7XG5cdFx0aGVpZ2h0OiA3NnB4O1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGJhY2tncm91bmQ6IHVybCgnLi9pbWFnZXMvaGVhZGVyLWJnLnN2ZycpIG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG5cdFx0ei1pbmRleDogLTE7XG5cdFx0dHJhbnNpdGlvbjogMXMgb3BhY2l0eTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdHRvcDogNTMlO1xuXHRcdFx0aGVpZ2h0OiAyNTBweDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj0xNTAwcHgnKSB7XG5cdFx0XHRoZWlnaHQ6IDM1MHB4O1xuXHRcdH1cblx0fVxuXG5cdC5zZWFyY2gtZm9ybSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1heC13aWR0aDogMzEwcHg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0b3BhY2l0eTogLjc7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXRvcDogMjJweDtcblxuXHRcdGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRib3JkZXI6IDJweCBzb2xpZCAjNGQ0ZDRkO1xuXHRcdFx0Y29sb3I6ICM0ZDRkNGQ7XG5cdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAyNHB4O1xuXHRcdFx0cGFkZGluZzogMTBweCA0NXB4IDEwcHggMTNweDtcblx0XHRcdGhlaWdodDogNDNweDtcblxuXHRcdFx0QGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuXHRcdFx0XHRjb2xvcjogIzRkNGQ0ZDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRidXR0b24ge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0cmlnaHQ6IDE3cHg7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHR3aWR0aDogMjBweDtcblx0XHRcdGhlaWdodDogMjBweDtcblxuXHRcdFx0c3ZnIHtcblx0XHRcdFx0d2lkdGg6IDIwcHg7XG5cdFx0XHRcdGhlaWdodDogMjBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLm0tc2VhcmNoLXRvZ2dsZXIge1xuXHRwYWRkaW5nOiAwO1xuXHR3aWR0aDogMzVweDtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHR0cmFuc2l0aW9uOiAuM3MgYWxsO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdG9wYWNpdHk6IC44O1xuXHR9XG5cblx0c3ZnIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cblx0XHRwYXRoIHtcblx0XHRcdHN0cm9rZTogJHdoaXRlO1xuXHRcdH1cblx0fVxufVxuXG4uaGVhZGVyLWhvbGRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmxvZ28ge1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcblxuXHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0d2lkdGg6IDIwMHB4O1xuXG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgnPj13aWRlc2NyZWVuJykge1xuXHRcdHdpZHRoOiAyNTVweDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCc+PTE1MDBweCcpIHtcblx0XHR3aWR0aDogMzU1cHg7XG5cdH1cbn1cblxuLm5hdi1ob2xkZXIge1xuXHRtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuXHRiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcblx0cGFkZGluZzogMTVweCAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTBweCk7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zaXRpb246IC40cyBhbGw7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG5cdFx0bWFyZ2luOiA1MHB4IDAgMCBhdXRvO1xuXHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdFx0cGFkZGluZzogMDtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0fVxuXG5cdC5uYXYtYWN0aXZlICYge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBhbGw7XG5cdH1cblxuXHQuc2VhcmNoLWJsb2NrIHtcblx0XHRAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxufVxuXG4jbWFpbi1uYXZpZ2F0aW9uIHtcblx0QGV4dGVuZCAlbGlzdHJlc2V0O1xuXHRmb250LXNpemU6IDIwcHg7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgnPj0xNTAwcHgnKSB7XG5cdFx0Zm9udC1zaXplOiAyNHB4O1xuXHR9XG5cblx0bGkge1xuXHRcdCsgbGkge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDMwcHg7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PTE1MDBweCcpIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDY1cHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5hY3RpdmUge1xuXHRcdFx0Y29sb3I6ICMzOGM0YjY7XG5cdFx0fVxuXHR9XG5cblx0YSB7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XG5cdFx0XHRwYWRkaW5nOiAxNXB4O1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogIzM4YzRiNjtcblx0XHR9XG5cdH1cbn1cblxuLm5hdi1vcGVuZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAzMHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGZvbnQtc2l6ZTogMDtcblx0bGluZS1oZWlnaHQ6IDA7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IDA7XG5cblx0QGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0fVxuXG5cdCY6YmVmb3JlLFxuXHQmOmFmdGVyLFxuXHRzcGFuIHtcblx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGhlaWdodDogNHB4O1xuXHRcdHRyYW5zaXRpb246IDAuM3MgYWxsO1xuXHR9XG5cblx0JjpiZWZvcmUsXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdH1cblxuXHQmOjpiZWZvcmUge1xuXHRcdHRvcDogMDtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdGJvdHRvbTogMDtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdG9wYWNpdHk6IDAuOTtcblx0fVxuXG5cdHNwYW4ge1xuXHRcdHRvcDogNTAlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0fVxuXG5cdC5uYXYtYWN0aXZlICYge1xuXHRcdHNwYW4ge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHR9XG5cblx0XHQmOmJlZm9yZSxcblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRcdHdpZHRoOiA3NSU7XG5cdFx0fVxuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHRcdH1cblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblx0XHRcdGJvdHRvbTogYXV0bztcblx0XHR9XG5cdH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIHN0eWxlcyByZWxhdGVkIHRvIHRoZSBjb21tb24gbGF5b3V0IG9mIHRoZSBzaXRlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuW2lkPVwid3JhcHBlclwiXSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLWJhY2tncm91bmQtY29sb3I7XG5cdG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuXG5tYWluIHtcbiAgICBmbGV4OiAxIDA7XG59XG5cbi5jb250YWluZXIsXG4ud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoLWNlbnRlci1jb250YWluZXI7XG4gICAgcGFkZGluZzogJHBhZGRpbmctY29udGFpbmVyO1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG46cm9vdCB7XG5cdC0td3AtLXN0eWxlLS1nbG9iYWwtLWNvbnRlbnQtc2l6ZTogIDE1MzBweDtcbn1cblxuLnBvc3QsXG4ucGFnZSB7XG5cdC5jb250ZW50IHtcblx0XHRwYWRkaW5nOiAxNXB4IDA7XG5cdH1cbn0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIGFsbCBzdHlsZXMgcmVsYXRlZCB0byB0aGUgZm9vdGVyIG9mIHRoZSBzaXRlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuW2lkPVwiZm9vdGVyXCJdIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLWJhY2tncm91bmQtZm9vdGVyO1xuXHRwYWRkaW5nOiA0NnB4IDA7XG5cdHotaW5kZXg6IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0QGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcblx0XHRwYWRkaW5nOiAxMTBweCAwIDE2MHB4IDA7XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0XHRib3R0b206IC0yMSU7XG5cdFx0dG9wOiAwO1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGJhY2tncm91bmQ6IHVybCgnLi9pbWFnZXMvZm9vdGVyLWJnLnN2ZycpIG5vLXJlcGVhdCBib3R0b20gY2VudGVyO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0ei1pbmRleDogLTE7XG5cdFx0b3BhY2l0eTogLjE1O1xuXHR9XG5cblx0LnNvYy1uZXR3IHtcblx0XHRAZXh0ZW5kICVsaXN0cmVzZXQ7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGZvbnQtc2l6ZTogMDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA2MHB4O1xuXHRcdH1cblxuXHRcdGxpIHtcblx0XHRcdHRyYW5zaXRpb246IC40cyBhbGw7XG5cdFx0XHQrIGxpIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDE0cHg7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49cGhvbmUnKSB7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDI1cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdG9wYWNpdHk6IC44O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGltZyB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPHBob25lJykge1xuXHRcdFx0XHRtYXgtd2lkdGg6IDcwJTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuZm9vdGVyLWxvZ28ge1xuXHRcdHdpZHRoOiAxMjJweDtcblx0XHRtYXJnaW46IDAgYXV0byAyNHB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcblx0XHRcdHdpZHRoOiAyOTVweDtcblx0XHRcdG1hcmdpbjogMCBhdXRvIDQ1cHg7XG5cdFx0fVxuXG5cdFx0aW1nIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxufVxuXG4jZm9vdGVyLW5hdmlnYXRpb24ge1xuXHRAZXh0ZW5kICVsaXN0cmVzZXQ7XG5cblx0ZGlzcGxheTogbm9uZTtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRjb2xvcjogJHdoaXRlO1xuXHRsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCc+PXdpZGVzY3JlZW4nKSB7XG5cdFx0Zm9udC1zaXplOiAyNHB4O1xuXHR9XG5cblx0bGkge1xuXHRcdCsgbGkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDM1cHg7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PXdpZGVzY3JlZW4nKSB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiA2NXB4O1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj0xNDAwcHgnKSB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAxMDVweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRjb2xvcjogIzM4YzRiNjtcblx0XHR9XG5cdH1cblxuXHRhIHtcblx0XHRjb2xvcjogaW5oZXJpdDtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICMzOGM0YjY7XG5cdFx0fVxuXHR9XG59IiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBhbGwgc3R5bGVzIHJlbGF0ZWQgdG8gdGhlIGJ1dHRvbiBjb21wb25lbnQuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmJ0biB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNvbG9yKCRidG4tYmFja2dyb3VuZCwgJGJ0bi1jb2xvciwgJGJ0bi1ib3JkZXIsICRidG4taG92ZXItYmFja2dyb3VuZCwgJGJ0bi1ob3Zlci1ib3JkZXIsICRidG4taG92ZXItY29sb3IpO1xuICAgIGJvcmRlcjogJGJ0bi1ib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogJGJ0bi1ib3JkZXItcmFkaXVzO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6ICRidG4tbGluZS1oZWlnaHQ7XG4gICAgcGFkZGluZzogJGJ0bi1wYWRkaW5nO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHR0cmFuc2l0aW9uOiAuNHMgYWxsO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG5cdFx0Zm9udC1zaXplOiAkYnRuLWZvbnQtc2l6ZTtcblx0fVxuXHRcblx0Jjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3I6ICMwMDAwMDAsICRhbHBoYTogLjgpXG5cdH1cblxuICAgICYtZGVmYXVsdCB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1jb2xvcigkYnRuLWJhY2tncm91bmQsICRidG4tY29sb3IsICRidG4tYm9yZGVyLCAkYnRuLWhvdmVyLWJhY2tncm91bmQsICRidG4taG92ZXItYm9yZGVyLCAkYnRuLWhvdmVyLWNvbG9yKTtcbiAgICB9XG5cbiAgICAmLXByaW1hcnkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tY29sb3IoJGJ0bi1iYWNrZ3JvdW5kLXByaW1hcnksICRidG4tY29sb3ItcHJpbWFyeSwgJGJ0bi1ib3JkZXItcHJpbWFyeSwgJGJ0bi1ob3Zlci1iYWNrZ3JvdW5kLXByaW1hcnksICRidG4taG92ZXItYm9yZGVyLXByaW1hcnksICRidG4taG92ZXItY29sb3ItcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJi13YXJuaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWNvbG9yKCRidG4tYmFja2dyb3VuZC13YXJuaW5nLCAkYnRuLWNvbG9yLXdhcm5pbmcsICRidG4tYm9yZGVyLXdhcm5pbmcsICRidG4taG92ZXItYmFja2dyb3VuZC13YXJuaW5nLCAkYnRuLWhvdmVyLWJvcmRlci13YXJuaW5nLCAkYnRuLWhvdmVyLWNvbG9yLXdhcm5pbmcpO1xuICAgIH1cblxuICAgICYtc20ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYnRuLWJvcmRlci1yYWRpdXMtc207XG4gICAgICAgIHBhZGRpbmc6IDRweCAxMHB4O1xuICAgIH1cbn1cblxuLmJ0bi1ncm91cCB7XG4gICAgbWFyZ2luOiAwIC01cHggLTEwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAuYnRuIHtcbiAgICAgICAgbWFyZ2luOiAwIDVweCAxMHB4O1xuICAgIH1cbn0iLCIudGhyZWUtY29sLWNhcmQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuXHQuZGYtcm93IHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG5cdFx0Z3JpZC1jb2x1bW4tZ2FwOiAxMHB4O1xuXHRcdGdyaWQtcm93LWdhcDogMDtcblx0XHRtYXJnaW46IDA7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRncmlkLWNvbHVtbi1nYXA6IDIwcHg7XG5cdFx0fVxuXHR9XG59XG5cbi5jYXJkLWxvZ28tY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4OGNlO1xuXHRjb2xvcjogJHdoaXRlO1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cblx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdHBhZGRpbmc6IDI0cHggMjBweDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgnPj0xNTAwcHgnKSB7XG5cdFx0Zm9udC1zaXplOiAyMHB4O1xuXHR9XG5cblx0YSB7XG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXHRcdGJvdHRvbTogLTRweDtcblx0XHRcdG1pbi13aWR0aDogMTMwcHg7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0cGFkZGluZzogNXB4O1xuXHRcdFx0XHRoZWlnaHQ6IDQwcHg7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdH1cblxuXHRcdFx0aW1nIHtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwM3B4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRtYXgtd2lkdGg6IDMyMHB4O1xuXHRcdHBhZGRpbmc6IDAgMTBweDtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdH1cblx0fVxuXG5cdC5idG4ge1xuXHRcdGZvbnQtc2l6ZTogMTVweDtcblx0XHRtaW4td2lkdGg6IDE4MHB4O1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PTE1MDBweCcpIHtcblx0XHRcdGZvbnQtc2l6ZTogMTdweDtcblx0XHR9XG5cdH1cbn1cbiIsIi5zZWN0aW9uLWNhcmRzIHtcblx0LmRmLXJvdyB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0bWFyZ2luOiAwIC0xMHB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcblx0XHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMiwgMWZyKTtcblx0XHRcdGdyaWQtY29sdW1uLWdhcDogMjBweDtcblx0XHRcdGdyaWQtcm93LWdhcDogMjBweDtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cdH1cblxuXHQuY29sIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdHBhZGRpbmc6IDAgMTBweCAyMHB4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG9yZGVyOiAxO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49NTc2cHgnKSB7XG5cdFx0XHRtYXgtd2lkdGg6IDUwJTtcblx0XHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1heC13aWR0aDogbm9uZTtcblx0XHR9XG5cblx0XHQmOm50aC1jaGlsZCgyKSB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuXHRcdFx0XHRncmlkLWFyZWE6IDIgLyAxIC8gMyAvIDI7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpudGgtY2hpbGQoMykge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xuXHRcdFx0XHRvcmRlcjogMDtcblx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcblx0XHRcdFx0Z3JpZC1hcmVhOiAxIC8gMiAvIDMgLyA0O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6bnRoLWNoaWxkKDUpIHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG5cdFx0XHRcdGdyaWQtYXJlYTogMSAvIDQgLyAyIC8gNTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmNhcmQge1xuXHR3aWR0aDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Y29sb3I6ICR3aGl0ZTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxNXB4O1xuXG5cdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgnPj13aWRlc2NyZWVuJykge1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRtaW4taGVpZ2h0OiAzNDBweDtcblx0fVxuXG5cdC5jYXJkLWltZyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmctdG9wOiA3MCU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdHBhZGRpbmctdG9wOiA3MyU7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcblx0XHRcdHBhZGRpbmctdG9wOiA3MyU7XG5cdFx0XHRmbGV4OiAxIDA7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRpbWcge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aW1nIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0b2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHR0cmFuc2l0aW9uOiAuM3MgYWxsO1xuXHRcdH1cblx0fVxuXG5cdC5jYXJkLWNvbnRlbnQge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRtYXJnaW4tdG9wOiBhdXRvO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xuXHRcdFx0ZmxleDogMSAwO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBhZGRpbmc6IDEycHggMThweCAxNXB4IDIwcHg7XG5cdFx0fVxuXHR9XG5cblx0LmNhcmQtdGV4dCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xuXHRcdFx0cGFkZGluZzogMTJweCAxOHB4IDE1cHggMjBweDtcblx0XHR9XG5cdH1cblxuXHRoMyB7XG5cdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRjb2xvcjogJHdoaXRlO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49d2lkZXNjcmVlbicpIHtcblx0XHRcdGZvbnQtc2l6ZTogMzBweDtcblx0XHR9XG5cdH1cblxuXHRwIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG5cblx0LmJ0biB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdGZvbnQtc2l6ZTogMTVweDtcblx0XHRtaW4td2lkdGg6IDExM3B4O1xuXHRcdGZsZXg6IDAgMCAxMTNweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRmbGV4OiAwIDA7XG5cdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXdpZGVzY3JlZW4nKSB7XG5cdFx0XHRmb250LXNpemU6IDE3cHg7XG5cdFx0XHRtaW4td2lkdGg6IDEzNXB4O1xuXHRcdH1cblx0fVxufVxuIiwiLmNvbnRlbnQtbmF2LWhvbGRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNlNWYzZmE7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogMThweCAwO1xuXHR6LWluZGV4OiAyO1xuXHRkaXNwbGF5OiBub25lO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQjY29udGVudC1uYXZpZ2F0aW9uIHtcblx0XHRAZXh0ZW5kICVsaXN0cmVzZXQ7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0Y29sb3I6ICMwMDg4Y2U7XG5cdFx0ZGlzcGxheTogZmxleDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG5cdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49MTQwMHB4Jykge1xuXHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdH1cblxuXHRcdGxpIHtcblx0XHRcdCsgbGkge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMTBweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGEge1xuXHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogJHByaW1hcnk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLmJyZWFkY3J1bWJzIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiAyOHB4IDAgMThweCAwO1xuXHR6LWluZGV4OiAyO1xuXHRcblx0dWwge1xuXHRcdEBleHRlbmQgJWxpc3RyZXNldDtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0ZGlzcGxheTogZmxleDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHR9XG5cblx0XHRsaSB7XG5cdFx0XHQrIGxpIHtcblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGNvbnRlbnQ6ICc+Jztcblx0XHRcdFx0XHRtYXJnaW46IDAgNHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0c3BhbiB7XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0Y29sb3I6ICMwMDg4Y2U7XG5cblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdGNvbG9yOiAjNDA0MDQwO1xuXHRcdFx0dHJhbnNpdGlvbjogLjRzIGFsbDtcblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiAjMDA4OGNlO1xuXHRcdFx0fVxuXG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLmNhcmRzLWNvbnRlbnQtYnRuIHtcblx0cGFkZGluZzogMjZweCAwIDEycHggMDtcblxuXHRAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuXHRcdHBhZGRpbmctdG9wOiAyMHB4O1xuXHRcdHBhZGRpbmctYm90dG9tOiA2MnB4O1xuXHR9XG5cblx0LmRmLXJvdyB7XG5cdFx0bWFyZ2luOiAwO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcblx0XHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG5cdFx0XHRncmlkLWNvbHVtbi1nYXA6IDIwcHg7XG5cdFx0XHRncmlkLXJvdy1nYXA6IDA7XG5cdFx0fVxuXHR9XG5cblx0LmNhcmQtY29udGVudC1idG4ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0cGFkZGluZzogMCAyOHB4IDAgMjhweDtcblx0XHRmb250LXNpemU6IDE1cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdGJhY2tncm91bmQ6ICNlMGYxZjk7XG5cdFx0XHRwYWRkaW5nOiAzMHB4O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj13aWRlc2NyZWVuJykge1xuXHRcdFx0cGFkZGluZzogNTJweCA2MnB4IDY2cHggNjJweDtcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHR9XG5cblx0XHQuY2FyZC1jb250ZW50IHtcblx0XHRcdG1heC13aWR0aDogNjAwcHg7XG5cdFx0fVxuXG5cdFx0aDMge1xuXHRcdFx0Y29sb3I6ICMwMDUyOTM7XG5cdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0bWFyZ2luOiAwIDAgNHB4IDA7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcblx0XHRcdFx0Zm9udC1zaXplOiAyNXB4O1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj13aWRlc2NyZWVuJykge1xuXHRcdFx0XHRmb250LXNpemU6IDM2cHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHRjb2xvcjogIzQwNDA0MDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdFx0fVxuXG5cdFx0LmJ0biB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRcdHBhZGRpbmc6IDZweCAxNXB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIiNzZWFyY2gtcG9wdXAge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZDogcmdiYSgzMSwgMzEsIDMxLCAwLjcpO1xuXHR6LWluZGV4OiAxMDtcblx0b3BhY2l0eTogMDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHRyYW5zaXRpb246IC40cyBhbGw7XG5cdHotaW5kZXg6IDEwO1xuXG5cdC5zZWFyY2gtYWN0aXZlICYge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0cG9pbnRlci1ldmVudHM6IGFsbDtcblx0fVxuXG5cdC5zZWFyY2gtcG9wdXAtaW5uZXIge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDUwJTtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcblx0XHRtYXgtd2lkdGg6IDgzMHB4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdHBhZGRpbmc6IDYwcHggNXB4O1x0XG5cdH1cblxuXHQuc2VhcmNoLWZvcm0ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdHBhZGRpbmc6IDIwcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHRwYWRkaW5nLXRvcDogMzVweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuXHRcdHBhZGRpbmctYm90dG9tOiA0MHB4O1xuXHRcdHBhZGRpbmctbGVmdDogMTVweDtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdG1hcmdpbjogYXV0bztcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1heC13aWR0aDogbm9uZTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuXHRcdFx0cGFkZGluZy1yaWdodDogMzBweDtcblx0XHRcdHBhZGRpbmctbGVmdDogMjlweDtcblx0XHR9XG5cblx0XHRpbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG5cdFx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAyOHB4O1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDEycHg7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgIzFmMWYxZjtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdH1cblx0XG5cdFx0YnV0dG9uIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdHJpZ2h0OiAyOHB4O1xuXHRcdFx0d2lkdGg6IDMwcHg7XG5cdFx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0XHRmb250LXNpemU6IDMwcHg7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0Y29sb3I6ICRibGFjaztcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdH1cblx0fVxufVxuXG4uc2VhcmNoLWNsb3NlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMzVweDtcblx0aGVpZ2h0OiAyNnB4O1xuXHRib3R0b206IDEyMCU7XG5cdHJpZ2h0OiAyNHB4O1xuXHRmb250LXNpemU6IDA7XG5cdGxpbmUtaGVpZ2h0OiAwO1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0cGFkZGluZzogMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiAuNHMgYWxsO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdG9wYWNpdHk6IDAuNztcblx0fVxuXG5cdCY6YmVmb3JlLFxuXHQmOmFmdGVyIHtcblx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0aGVpZ2h0OiAzcHg7XG5cdFx0dHJhbnNpdGlvbjogLjNzIGFsbDtcblx0XHRjb250ZW50OiBcIlwiO1xuXG5cdH1cblxuXHQmOmJlZm9yZSxcblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHR0b3A6IDUwJTtcblx0XHR3aWR0aDogNzUlO1xuXHR9XG5cblx0JjpiZWZvcmUge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cdFx0Ym90dG9tOiBhdXRvO1xuXHR9XG5cbn1cbiIsIi5zZWN0aW9uLWNhcmQtcGFnZXMge1xuXHRwYWRkaW5nLXRvcDogMjBweDtcblxuXHRAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuXHRcdHBhZGRpbmctdG9wOiAzMHB4O1xuXHR9XG5cblx0LmRmLXJvdyB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0bWFyZ2luOiAwIC0xMHB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcblx0XHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMiwgMWZyKTtcblx0XHRcdGdyaWQtY29sdW1uLWdhcDogMjBweDtcblx0XHRcdGdyaWQtcm93LWdhcDogMjBweDtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cdH1cblxuXHQuY29sIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdHBhZGRpbmc6IDAgMTBweCAyMHB4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG9yZGVyOiAxO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49NTc2cHgnKSB7XG5cdFx0XHRtYXgtd2lkdGg6IDUwJTtcblx0XHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbi5jYXJkLXBhZ2Uge1xuXHR3aWR0aDogMTAwJTtcblxuXHRAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRpbWcge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuXHRcdH1cblx0fVxuXG5cdC5jYXJkLWltZyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHBhZGRpbmctdG9wOiA0NyU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG5cdFx0XHRtaW4td2lkdGg6IDUxJTtcblx0XHRcdHBhZGRpbmctdG9wOiAyMyU7XG5cdFx0fVxuXG5cdFx0aW1nIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0b2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHR0cmFuc2l0aW9uOiAuM3MgYWxsO1xuXHRcdH1cblx0fVxuXG5cdC5jYXJkLWNvbnRlbnQge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRwYWRkaW5nOiAyMHB4IDIwcHg7XG5cdFx0ZmxleDogMSAwO1xuXHRcdG1pbi1oZWlnaHQ6IDkwcHg7XG5cdH1cblxuXHRoMyB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJzx3aWRlc2NyZWVuJykge1xuXHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdH1cblxuXHRcdGEge1xuXHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0fVxuXHR9XG59XG4iLCIuYmxvY2stcmVsYXRlZC1jb250ZW50IHtcblx0cGFkZGluZzogMjBweCAwIDMwcHggMDtcblxuXHRAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuXHRcdHBhZGRpbmc6IDUwcHggMCAxMDVweCAwO1xuXHR9XG5cblx0LmlubmVyIHtcblx0XHRib3JkZXI6IDRweCBzb2xpZCAjMDA4N2NlO1xuXHRcdGNvbG9yOiAjMDAwMDAwO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cblx0XHQuY29udGVudCB7XG5cdFx0XHRwYWRkaW5nOiAyMHB4IDI3cHggMzNweCAyNXB4O1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRcdHBhZGRpbmc6IDI3cHggMjdweCA0MXB4IDI3cHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdG9sLFxuXHRcdHVsIHtcblx0XHRcdEBleHRlbmQgJWxpc3RyZXNldDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cblx0XHRcdGxpIHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDMwcHg7XG5cblx0XHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0dG9wOiA4cHg7XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHR3aWR0aDogM3B4O1xuXHRcdFx0XHRcdGhlaWdodDogM3B4O1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRcdFx0XHR3aWR0aDogNXB4O1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiA1cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0aDQge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRmb250LXNpemU6IDE1cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4N2NlO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0cGFkZGluZzogMjNweCAyNHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdFx0Zm9udC1zaXplOiAyM3B4O1xuXHRcdFx0cGFkZGluZzogMjZweCAyNHB4O1xuXHRcdH1cblx0fVxufSIsIi5zZWN0aW9uLWlubmVyIHtcblx0cGFkZGluZzogNTBweCAwO1xuXG5cdEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcblx0XHRwYWRkaW5nOiAxMDBweCAwO1xuXHR9XG5cblx0Ji5ub3QtZm91bmQge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXG5cdFtjbGFzcyo9XCJjb2xcIl0ge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG5cdFx0XHRtYXgtd2lkdGg6IDUwJTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG5cdFx0XHRtYXgtd2lkdGg6IDMzLjMzMzMzMzMlO1xuXHRcdH1cblx0fVxuXG5cdFtjbGFzcyo9XCJwb3N0XCJdIHtcblx0XHRpbWcge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0LnNlYXJjaC1mb3JtIHtcblx0XHRmaWVsZHNldCB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cblx0XHRcdGlucHV0IHtcblx0XHRcdFx0aGVpZ2h0OiA1NXB4O1xuXHRcdFx0fVxuXG5cdFx0XHRpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcblx0XHRcdFx0Ym9yZGVyOiAycHggc29saWQgIzRkNGQ0ZDtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIl19 */
