@charset "UTF-8";
/*!
  ___ ___              .__                         _____                __           __  .__                
 /   |   \  ___________|__|___________   ____     /     \ _____ _______|  | __ _____/  |_|__| ____    ____  
/    ~    \/  _ \_  __ \  \___   /  _ \ /    \   /  \ /  \\__  \\_  __ \  |/ // __ \   __\  |/    \  / ___\ 
\    Y    (  <_> )  | \/  |/    (  <_> )   |  \ /    Y    \/ __ \|  | \/    <\  ___/|  | |  |   |  \/ /_/  >
 \___|_  / \____/|__|  |__/_____ \____/|___|  / \____|__  (____  /__|  |__|_ \\___  >__| |__|___|  /\___  / 
       \/                       \/          \/          \/     \/           \/    \/             \//_____/  

*/
/** ****************************************************************************
* === COLOR
***************************************************************************** */
/* Titre */
/* Sous titre */
/* Couleur de fond sur card */
/* ===================================== */
/** ****************************************************************************
* === FONT

Amatic SC - 2 styles
    Regular 400
    Bold 700

***************************************************************************** */
/*
    * *** QUE POUR LE FIGCAPTION
    SemiBold 600
    Bold     700
    * *** 
*/
/*!
 * Bootstrap v4.1.1 (https://getbootstrap.com/)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/** ****************************************************************************
/// 1° === CUSTOM BASE CREATION BOOTSTRAP
/// 2° === IMPORT
***************************************************************************** */
/** ****************************************************************************
* === xxx
* BOOTSTRAP @import "libs/bootstrap-4.6.2/scss/_variables.scss";
***************************************************************************** */
/** =====================================

isMobile / isDesktop

* scrollontop
* onscroll
*
* isTop
* isScroll
*
* menu_actif > OK
*
* mobileSize
* desktopSize
*/
/** ****************************************************************************
* === CUSTOM BASE CREATION BOOTSTRAP
***************************************************************************** */
.embed-responsive-by::before {
  padding-top: calc(var(--img-h) / var(--img-w) * 100%);
}

.embed-responsive-15by7::before {
  padding-top: 46.6666666667%;
}

/** ****************************************************************************
* === IMPORT
***************************************************************************** */
:root {
  --blue: #007bff;
  --indigo: #6610f2;
  --purple: #6f42c1;
  --pink: #e83e8c;
  --red: #dc3545;
  --orange: #fd7e14;
  --yellow: #ffc107;
  --green: #28a745;
  --teal: #20c997;
  --cyan: #17a2b8;
  --white: #fff;
  --gray: #6c757d;
  --gray-dark: #343a40;
  --primary: #007bff;
  --secondary: #6c757d;
  --success: #28a745;
  --info: #17a2b8;
  --warning: #ffc107;
  --danger: #dc3545;
  --light: #f8f9fa;
  --dark: #343a40;
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --breakpoint-xxl: 1600px;
  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

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

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

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

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #391C11;
  text-align: left;
  background-color: #F6F7EE;
}

[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 500;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: #C7473B;
  text-decoration: none;
  background-color: transparent;
}
a:hover {
  color: #c39652;
  text-decoration: underline;
}

a:not([href]):not([class]) {
  color: inherit;
  text-decoration: none;
}
a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar;
}

figure {
  margin: 0 0 1rem;
}

img {
  vertical-align: middle;
  border-style: none;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
}

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #6c757d;
  text-align: left;
  caption-side: bottom;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

input[type=radio],
input[type=checkbox] {
  box-sizing: border-box;
  padding: 0;
}

textarea {
  overflow: auto;
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  legend {
    font-size: 1.5rem;
  }
}
legend {
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
  -webkit-appearance: none;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

summary {
  display: list-item;
  cursor: pointer;
}

template {
  display: none;
}

[hidden] {
  display: none !important;
}

.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  width: 100%;
  padding-right: 0px;
  padding-left: 0px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
}
@media (min-width: 1600px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1540px;
  }
}
.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: 0px;
  margin-left: 0px;
}

.no-gutters {
  margin-right: 0;
  margin-left: 0;
}
.no-gutters > .col,
.no-gutters > [class*=col-] {
  padding-right: 0;
  padding-left: 0;
}

.col-xxl,
.col-xxl-auto, .col-xxl-12, .col-xxl-11, .col-xxl-10, .col-xxl-9, .col-xxl-8, .col-xxl-7, .col-xxl-6, .col-xxl-5, .col-xxl-4, .col-xxl-3, .col-xxl-2, .col-xxl-1, .col-xl,
.col-xl-auto, .col-xl-12, .col-xl-11, .col-xl-10, .col-xl-9, .col-xl-8, .col-xl-7, .col-xl-6, .col-xl-5, .col-xl-4, .col-xl-3, .col-xl-2, .col-xl-1, .col-lg,
.col-lg-auto, .col-lg-12, .col-lg-11, .col-lg-10, .col-lg-9, .col-lg-8, .col-lg-7, .col-lg-6, .col-lg-5, .col-lg-4, .col-lg-3, .col-lg-2, .col-lg-1, .col-md,
.col-md-auto, .col-md-12, .col-md-11, .col-md-10, .col-md-9, .col-md-8, .col-md-7, .col-md-6, .col-md-5, .col-md-4, .col-md-3, .col-md-2, .col-md-1, .col-sm,
.col-sm-auto, .col-sm-12, .col-sm-11, .col-sm-10, .col-sm-9, .col-sm-8, .col-sm-7, .col-sm-6, .col-sm-5, .col-sm-4, .col-sm-3, .col-sm-2, .col-sm-1, .col,
.col-auto, .col-12, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 {
  position: relative;
  width: 100%;
  padding-right: 0px;
  padding-left: 0px;
}

.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
}

.row-cols-1 > * {
  flex: 0 0 100%;
  max-width: 100%;
}

.row-cols-2 > * {
  flex: 0 0 50%;
  max-width: 50%;
}

.row-cols-3 > * {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}

.row-cols-4 > * {
  flex: 0 0 25%;
  max-width: 25%;
}

.row-cols-5 > * {
  flex: 0 0 20%;
  max-width: 20%;
}

.row-cols-6 > * {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}

.col-1 {
  flex: 0 0 8.33333333%;
  max-width: 8.33333333%;
}

.col-2 {
  flex: 0 0 16.66666667%;
  max-width: 16.66666667%;
}

.col-3 {
  flex: 0 0 25%;
  max-width: 25%;
}

.col-4 {
  flex: 0 0 33.33333333%;
  max-width: 33.33333333%;
}

.col-5 {
  flex: 0 0 41.66666667%;
  max-width: 41.66666667%;
}

.col-6 {
  flex: 0 0 50%;
  max-width: 50%;
}

.col-7 {
  flex: 0 0 58.33333333%;
  max-width: 58.33333333%;
}

.col-8 {
  flex: 0 0 66.66666667%;
  max-width: 66.66666667%;
}

.col-9 {
  flex: 0 0 75%;
  max-width: 75%;
}

.col-10 {
  flex: 0 0 83.33333333%;
  max-width: 83.33333333%;
}

.col-11 {
  flex: 0 0 91.66666667%;
  max-width: 91.66666667%;
}

.col-12 {
  flex: 0 0 100%;
  max-width: 100%;
}

.order-first {
  order: -1;
}

.order-last {
  order: 13;
}

.order-0 {
  order: 0;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.order-4 {
  order: 4;
}

.order-5 {
  order: 5;
}

.order-6 {
  order: 6;
}

.order-7 {
  order: 7;
}

.order-8 {
  order: 8;
}

.order-9 {
  order: 9;
}

.order-10 {
  order: 10;
}

.order-11 {
  order: 11;
}

.order-12 {
  order: 12;
}

.offset-1 {
  margin-left: 8.33333333%;
}

.offset-2 {
  margin-left: 16.66666667%;
}

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

.offset-4 {
  margin-left: 33.33333333%;
}

.offset-5 {
  margin-left: 41.66666667%;
}

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

.offset-7 {
  margin-left: 58.33333333%;
}

.offset-8 {
  margin-left: 66.66666667%;
}

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

.offset-10 {
  margin-left: 83.33333333%;
}

.offset-11 {
  margin-left: 91.66666667%;
}

@media (min-width: 576px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-sm-1 {
    flex: 0 0 8.33333333%;
    max-width: 8.33333333%;
  }
  .col-sm-2 {
    flex: 0 0 16.66666667%;
    max-width: 16.66666667%;
  }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 33.33333333%;
    max-width: 33.33333333%;
  }
  .col-sm-5 {
    flex: 0 0 41.66666667%;
    max-width: 41.66666667%;
  }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 58.33333333%;
    max-width: 58.33333333%;
  }
  .col-sm-8 {
    flex: 0 0 66.66666667%;
    max-width: 66.66666667%;
  }
  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 83.33333333%;
    max-width: 83.33333333%;
  }
  .col-sm-11 {
    flex: 0 0 91.66666667%;
    max-width: 91.66666667%;
  }
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-sm-first {
    order: -1;
  }
  .order-sm-last {
    order: 13;
  }
  .order-sm-0 {
    order: 0;
  }
  .order-sm-1 {
    order: 1;
  }
  .order-sm-2 {
    order: 2;
  }
  .order-sm-3 {
    order: 3;
  }
  .order-sm-4 {
    order: 4;
  }
  .order-sm-5 {
    order: 5;
  }
  .order-sm-6 {
    order: 6;
  }
  .order-sm-7 {
    order: 7;
  }
  .order-sm-8 {
    order: 8;
  }
  .order-sm-9 {
    order: 9;
  }
  .order-sm-10 {
    order: 10;
  }
  .order-sm-11 {
    order: 11;
  }
  .order-sm-12 {
    order: 12;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333333%;
  }
  .offset-sm-2 {
    margin-left: 16.66666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333333%;
  }
  .offset-sm-5 {
    margin-left: 41.66666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333333%;
  }
  .offset-sm-8 {
    margin-left: 66.66666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333333%;
  }
  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-md-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-md-1 {
    flex: 0 0 8.33333333%;
    max-width: 8.33333333%;
  }
  .col-md-2 {
    flex: 0 0 16.66666667%;
    max-width: 16.66666667%;
  }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-md-4 {
    flex: 0 0 33.33333333%;
    max-width: 33.33333333%;
  }
  .col-md-5 {
    flex: 0 0 41.66666667%;
    max-width: 41.66666667%;
  }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-7 {
    flex: 0 0 58.33333333%;
    max-width: 58.33333333%;
  }
  .col-md-8 {
    flex: 0 0 66.66666667%;
    max-width: 66.66666667%;
  }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-md-10 {
    flex: 0 0 83.33333333%;
    max-width: 83.33333333%;
  }
  .col-md-11 {
    flex: 0 0 91.66666667%;
    max-width: 91.66666667%;
  }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-md-first {
    order: -1;
  }
  .order-md-last {
    order: 13;
  }
  .order-md-0 {
    order: 0;
  }
  .order-md-1 {
    order: 1;
  }
  .order-md-2 {
    order: 2;
  }
  .order-md-3 {
    order: 3;
  }
  .order-md-4 {
    order: 4;
  }
  .order-md-5 {
    order: 5;
  }
  .order-md-6 {
    order: 6;
  }
  .order-md-7 {
    order: 7;
  }
  .order-md-8 {
    order: 8;
  }
  .order-md-9 {
    order: 9;
  }
  .order-md-10 {
    order: 10;
  }
  .order-md-11 {
    order: 11;
  }
  .order-md-12 {
    order: 12;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333333%;
  }
  .offset-md-2 {
    margin-left: 16.66666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333333%;
  }
  .offset-md-5 {
    margin-left: 41.66666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333333%;
  }
  .offset-md-8 {
    margin-left: 66.66666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333333%;
  }
  .offset-md-11 {
    margin-left: 91.66666667%;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-lg-1 {
    flex: 0 0 8.33333333%;
    max-width: 8.33333333%;
  }
  .col-lg-2 {
    flex: 0 0 16.66666667%;
    max-width: 16.66666667%;
  }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 33.33333333%;
    max-width: 33.33333333%;
  }
  .col-lg-5 {
    flex: 0 0 41.66666667%;
    max-width: 41.66666667%;
  }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 58.33333333%;
    max-width: 58.33333333%;
  }
  .col-lg-8 {
    flex: 0 0 66.66666667%;
    max-width: 66.66666667%;
  }
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 83.33333333%;
    max-width: 83.33333333%;
  }
  .col-lg-11 {
    flex: 0 0 91.66666667%;
    max-width: 91.66666667%;
  }
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-lg-first {
    order: -1;
  }
  .order-lg-last {
    order: 13;
  }
  .order-lg-0 {
    order: 0;
  }
  .order-lg-1 {
    order: 1;
  }
  .order-lg-2 {
    order: 2;
  }
  .order-lg-3 {
    order: 3;
  }
  .order-lg-4 {
    order: 4;
  }
  .order-lg-5 {
    order: 5;
  }
  .order-lg-6 {
    order: 6;
  }
  .order-lg-7 {
    order: 7;
  }
  .order-lg-8 {
    order: 8;
  }
  .order-lg-9 {
    order: 9;
  }
  .order-lg-10 {
    order: 10;
  }
  .order-lg-11 {
    order: 11;
  }
  .order-lg-12 {
    order: 12;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333333%;
  }
  .offset-lg-2 {
    margin-left: 16.66666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333333%;
  }
  .offset-lg-5 {
    margin-left: 41.66666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333333%;
  }
  .offset-lg-8 {
    margin-left: 66.66666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333333%;
  }
  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-xl-1 {
    flex: 0 0 8.33333333%;
    max-width: 8.33333333%;
  }
  .col-xl-2 {
    flex: 0 0 16.66666667%;
    max-width: 16.66666667%;
  }
  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 33.33333333%;
    max-width: 33.33333333%;
  }
  .col-xl-5 {
    flex: 0 0 41.66666667%;
    max-width: 41.66666667%;
  }
  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 58.33333333%;
    max-width: 58.33333333%;
  }
  .col-xl-8 {
    flex: 0 0 66.66666667%;
    max-width: 66.66666667%;
  }
  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 83.33333333%;
    max-width: 83.33333333%;
  }
  .col-xl-11 {
    flex: 0 0 91.66666667%;
    max-width: 91.66666667%;
  }
  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-xl-first {
    order: -1;
  }
  .order-xl-last {
    order: 13;
  }
  .order-xl-0 {
    order: 0;
  }
  .order-xl-1 {
    order: 1;
  }
  .order-xl-2 {
    order: 2;
  }
  .order-xl-3 {
    order: 3;
  }
  .order-xl-4 {
    order: 4;
  }
  .order-xl-5 {
    order: 5;
  }
  .order-xl-6 {
    order: 6;
  }
  .order-xl-7 {
    order: 7;
  }
  .order-xl-8 {
    order: 8;
  }
  .order-xl-9 {
    order: 9;
  }
  .order-xl-10 {
    order: 10;
  }
  .order-xl-11 {
    order: 11;
  }
  .order-xl-12 {
    order: 12;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
}
@media (min-width: 1600px) {
  .col-xxl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .row-cols-xxl-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-xxl-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-xxl-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-xxl-1 {
    flex: 0 0 8.33333333%;
    max-width: 8.33333333%;
  }
  .col-xxl-2 {
    flex: 0 0 16.66666667%;
    max-width: 16.66666667%;
  }
  .col-xxl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 33.33333333%;
    max-width: 33.33333333%;
  }
  .col-xxl-5 {
    flex: 0 0 41.66666667%;
    max-width: 41.66666667%;
  }
  .col-xxl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 58.33333333%;
    max-width: 58.33333333%;
  }
  .col-xxl-8 {
    flex: 0 0 66.66666667%;
    max-width: 66.66666667%;
  }
  .col-xxl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 83.33333333%;
    max-width: 83.33333333%;
  }
  .col-xxl-11 {
    flex: 0 0 91.66666667%;
    max-width: 91.66666667%;
  }
  .col-xxl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-xxl-first {
    order: -1;
  }
  .order-xxl-last {
    order: 13;
  }
  .order-xxl-0 {
    order: 0;
  }
  .order-xxl-1 {
    order: 1;
  }
  .order-xxl-2 {
    order: 2;
  }
  .order-xxl-3 {
    order: 3;
  }
  .order-xxl-4 {
    order: 4;
  }
  .order-xxl-5 {
    order: 5;
  }
  .order-xxl-6 {
    order: 6;
  }
  .order-xxl-7 {
    order: 7;
  }
  .order-xxl-8 {
    order: 8;
  }
  .order-xxl-9 {
    order: 9;
  }
  .order-xxl-10 {
    order: 10;
  }
  .order-xxl-11 {
    order: 11;
  }
  .order-xxl-12 {
    order: 12;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }
}
.table, .ck_tx table {
  width: 100%;
  margin-bottom: 1rem;
  color: #391C11;
}
.table th, .ck_tx table th,
.table td,
.ck_tx table td {
  padding: 0.75rem;
  vertical-align: top;
  border-top: 1px solid #dee2e6;
}
.table thead th, .ck_tx table thead th {
  vertical-align: bottom;
  border-bottom: 2px solid #dee2e6;
}
.table tbody + tbody, .ck_tx table tbody + tbody {
  border-top: 2px solid #dee2e6;
}

.table-sm th,
.table-sm td {
  padding: 0.3rem;
}

.table-bordered, .ck_tx table {
  border: 1px solid #dee2e6;
}
.table-bordered th, .ck_tx table th,
.table-bordered td,
.ck_tx table td {
  border: 1px solid #dee2e6;
}
.table-bordered thead th, .ck_tx table thead th,
.table-bordered thead td,
.ck_tx table thead td {
  border-bottom-width: 2px;
}

.table-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody + tbody {
  border: 0;
}

.table-striped tbody tr:nth-of-type(odd), .ck_tx table tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05);
}

.table-hover tbody tr:hover {
  color: #391C11;
  background-color: rgba(0, 0, 0, 0.075);
}

.table-primary,
.table-primary > th,
.table-primary > td {
  background-color: rgb(183.6, 218.04, 255);
}
.table-primary th,
.table-primary td,
.table-primary thead th,
.table-primary tbody + tbody {
  border-color: rgb(122.4, 186.36, 255);
}

.table-hover .table-primary:hover {
  background-color: rgb(158.1, 204.84, 255);
}
.table-hover .table-primary:hover > td,
.table-hover .table-primary:hover > th {
  background-color: rgb(158.1, 204.84, 255);
}

.table-secondary,
.table-secondary > th,
.table-secondary > td {
  background-color: rgb(213.84, 216.36, 218.6);
}
.table-secondary th,
.table-secondary td,
.table-secondary thead th,
.table-secondary tbody + tbody {
  border-color: rgb(178.56, 183.24, 187.4);
}

.table-hover .table-secondary:hover {
  background-color: rgb(200.3075090253, 203.6560288809, 206.6324909747);
}
.table-hover .table-secondary:hover > td,
.table-hover .table-secondary:hover > th {
  background-color: rgb(200.3075090253, 203.6560288809, 206.6324909747);
}

.table-success,
.table-success > th,
.table-success > td {
  background-color: rgb(194.8, 230.36, 202.92);
}
.table-success th,
.table-success td,
.table-success thead th,
.table-success tbody + tbody {
  border-color: rgb(143.2, 209.24, 158.28);
}

.table-hover .table-success:hover {
  background-color: rgb(176.7059405941, 222.9540594059, 187.2665346535);
}
.table-hover .table-success:hover > td,
.table-hover .table-success:hover > th {
  background-color: rgb(176.7059405941, 222.9540594059, 187.2665346535);
}

.table-info,
.table-info > th,
.table-info > td {
  background-color: rgb(190.04, 228.96, 235.12);
}
.table-info th,
.table-info td,
.table-info thead th,
.table-info tbody + tbody {
  border-color: rgb(134.36, 206.64, 218.08);
}

.table-hover .table-info:hover {
  background-color: rgb(170.5152475248, 221.1332673267, 229.1447524752);
}
.table-hover .table-info:hover > td,
.table-hover .table-info:hover > th {
  background-color: rgb(170.5152475248, 221.1332673267, 229.1447524752);
}

.table-warning,
.table-warning > th,
.table-warning > td {
  background-color: rgb(255, 237.64, 185.56);
}
.table-warning th,
.table-warning td,
.table-warning thead th,
.table-warning tbody + tbody {
  border-color: rgb(255, 222.76, 126.04);
}

.table-hover .table-warning:hover {
  background-color: rgb(255, 231.265, 160.06);
}
.table-hover .table-warning:hover > td,
.table-hover .table-warning:hover > th {
  background-color: rgb(255, 231.265, 160.06);
}

.table-danger,
.table-danger > th,
.table-danger > td {
  background-color: rgb(245.2, 198.44, 202.92);
}
.table-danger th,
.table-danger td,
.table-danger thead th,
.table-danger tbody + tbody {
  border-color: rgb(236.8, 149.96, 158.28);
}

.table-hover .table-danger:hover {
  background-color: rgb(241.4341772152, 176.7058227848, 182.9073417722);
}
.table-hover .table-danger:hover > td,
.table-hover .table-danger:hover > th {
  background-color: rgb(241.4341772152, 176.7058227848, 182.9073417722);
}

.table-light,
.table-light > th,
.table-light > td {
  background-color: rgb(253.04, 253.32, 253.6);
}
.table-light th,
.table-light td,
.table-light thead th,
.table-light tbody + tbody {
  border-color: rgb(251.36, 251.88, 252.4);
}

.table-hover .table-light:hover {
  background-color: rgb(238.165, 240.57, 242.975);
}
.table-hover .table-light:hover > td,
.table-hover .table-light:hover > th {
  background-color: rgb(238.165, 240.57, 242.975);
}

.table-dark,
.table-dark > th,
.table-dark > td {
  background-color: rgb(198.16, 199.84, 201.52);
}
.table-dark th,
.table-dark td,
.table-dark thead th,
.table-dark tbody + tbody {
  border-color: rgb(149.44, 152.56, 155.68);
}

.table-hover .table-dark:hover {
  background-color: rgb(185.0216751269, 187.09, 189.1583248731);
}
.table-hover .table-dark:hover > td,
.table-hover .table-dark:hover > th {
  background-color: rgb(185.0216751269, 187.09, 189.1583248731);
}

.table-active,
.table-active > th,
.table-active > td {
  background-color: rgba(0, 0, 0, 0.075);
}

.table-hover .table-active:hover {
  background-color: rgba(0, 0, 0, 0.075);
}
.table-hover .table-active:hover > td,
.table-hover .table-active:hover > th {
  background-color: rgba(0, 0, 0, 0.075);
}

.table .thead-dark th, .ck_tx table .thead-dark th {
  color: #fff;
  background-color: #343a40;
  border-color: rgb(69.1465517241, 77.125, 85.1034482759);
}
.table .thead-light th, .ck_tx table .thead-light th {
  color: #495057;
  background-color: #e9ecef;
  border-color: #dee2e6;
}

.table-dark {
  color: #fff;
  background-color: #343a40;
}
.table-dark th,
.table-dark td,
.table-dark thead th {
  border-color: rgb(69.1465517241, 77.125, 85.1034482759);
}
.table-dark.table-bordered, .ck_tx table.table-dark {
  border: 0;
}
.table-dark.table-striped tbody tr:nth-of-type(odd), .ck_tx table.table-dark tbody tr:nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.05);
}
.table-dark.table-hover tbody tr:hover {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.075);
}

@media (max-width: 575.98px) {
  .table-responsive-sm {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-sm > .table-bordered, .ck_tx .table-responsive-sm > table {
    border: 0;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-md > .table-bordered, .ck_tx .table-responsive-md > table {
    border: 0;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-lg > .table-bordered, .ck_tx .table-responsive-lg > table {
    border: 0;
  }
}
@media (max-width: 1199.98px) {
  .table-responsive-xl {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-xl > .table-bordered, .ck_tx .table-responsive-xl > table {
    border: 0;
  }
}
@media (max-width: 1599.98px) {
  .table-responsive-xxl {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-xxl > .table-bordered, .ck_tx .table-responsive-xxl > table {
    border: 0;
  }
}
.table-responsive, .ck_tx table {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.table-responsive > .table-bordered, .ck_tx table > .table-bordered, .ck_tx .table-responsive > table, .ck_tx table > table {
  border: 0;
}

.align-baseline {
  vertical-align: baseline !important;
}

.align-top {
  vertical-align: top !important;
}

.align-middle {
  vertical-align: middle !important;
}

.align-bottom {
  vertical-align: bottom !important;
}

.align-text-bottom {
  vertical-align: text-bottom !important;
}

.align-text-top {
  vertical-align: text-top !important;
}

.bg-primary {
  background-color: #007bff !important;
}

a.bg-primary:hover, a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
  background-color: rgb(0, 98.4, 204) !important;
}

.bg-secondary {
  background-color: #6c757d !important;
}

a.bg-secondary:hover, a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
  background-color: rgb(84.3605150215, 91.3905579399, 97.6394849785) !important;
}

.bg-success {
  background-color: #28a745 !important;
}

a.bg-success:hover, a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
  background-color: rgb(30.1449275362, 125.8550724638, 52) !important;
}

.bg-info {
  background-color: #17a2b8 !important;
}

a.bg-info:hover, a.bg-info:focus,
button.bg-info:hover,
button.bg-info:focus {
  background-color: rgb(17.3333333333, 122.0869565217, 138.6666666667) !important;
}

.bg-warning {
  background-color: #ffc107 !important;
}

a.bg-warning:hover, a.bg-warning:focus,
button.bg-warning:hover,
button.bg-warning:focus {
  background-color: rgb(211, 158.25, 0) !important;
}

.bg-danger {
  background-color: #dc3545 !important;
}

a.bg-danger:hover, a.bg-danger:focus,
button.bg-danger:hover,
button.bg-danger:focus {
  background-color: rgb(189.2151898734, 32.7848101266, 47.7721518987) !important;
}

.bg-light {
  background-color: #f8f9fa !important;
}

a.bg-light:hover, a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
  background-color: rgb(218.25, 223.5, 228.75) !important;
}

.bg-dark {
  background-color: #343a40 !important;
}

a.bg-dark:hover, a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
  background-color: rgb(29.1379310345, 32.5, 35.8620689655) !important;
}

.bg-white {
  background-color: #fff !important;
}

.bg-transparent {
  background-color: transparent !important;
}

.border {
  border: 1px solid #dee2e6 !important;
}

.border-top {
  border-top: 1px solid #dee2e6 !important;
}

.border-right {
  border-right: 1px solid #dee2e6 !important;
}

.border-bottom {
  border-bottom: 1px solid #dee2e6 !important;
}

.border-left {
  border-left: 1px solid #dee2e6 !important;
}

.border-0 {
  border: 0 !important;
}

.border-top-0 {
  border-top: 0 !important;
}

.border-right-0 {
  border-right: 0 !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.border-left-0 {
  border-left: 0 !important;
}

.border-primary {
  border-color: #007bff !important;
}

.border-secondary {
  border-color: #6c757d !important;
}

.border-success {
  border-color: #28a745 !important;
}

.border-info {
  border-color: #17a2b8 !important;
}

.border-warning {
  border-color: #ffc107 !important;
}

.border-danger {
  border-color: #dc3545 !important;
}

.border-light {
  border-color: #f8f9fa !important;
}

.border-dark {
  border-color: #343a40 !important;
}

.border-white {
  border-color: #fff !important;
}

.rounded-sm {
  border-radius: 0.2rem !important;
}

.rounded {
  border-radius: 0.25rem !important;
}

.rounded-top {
  border-top-left-radius: 0.25rem !important;
  border-top-right-radius: 0.25rem !important;
}

.rounded-right {
  border-top-right-radius: 0.25rem !important;
  border-bottom-right-radius: 0.25rem !important;
}

.rounded-bottom {
  border-bottom-right-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
}

.rounded-left {
  border-top-left-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
}

.rounded-lg {
  border-radius: 0.3rem !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-pill {
  border-radius: 50rem !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

.clearfix::after, .card_avis .desc::after, .card_loc .infos > .inner::after, .separate_100::after, .separate_95::after, .separate_90::after, .separate_85::after, .separate_80::after, .separate_75::after, .separate_70::after, .separate_65::after, .separate_60::after, .separate_55::after, .separate_50::after, .separate_45::after, .separate_40::after, .separate_35::after, .separate_30::after, .separate_25::after, .separate_20::after, .separate_15::after, .separate_10::after, .separate_5::after {
  display: block;
  clear: both;
  content: "";
}

.d-none {
  display: none !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 1600px) {
  .d-xxl-none {
    display: none !important;
  }
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-table {
    display: table !important;
  }
  .d-xxl-table-row {
    display: table-row !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
  .d-xxl-inline-flex {
    display: inline-flex !important;
  }
}
@media print {
  .d-print-none {
    display: none !important;
  }
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
}
.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}
.embed-responsive::before {
  display: block;
  content: "";
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.embed-responsive-21by9::before {
  padding-top: 42.85714286%;
}

.embed-responsive-16by9::before {
  padding-top: 56.25%;
}

.embed-responsive-4by3::before {
  padding-top: 75%;
}

.embed-responsive-1by1::before {
  padding-top: 100%;
}

.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

@media (min-width: 576px) {
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 768px) {
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 992px) {
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 1200px) {
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 1600px) {
  .flex-xxl-row {
    flex-direction: row !important;
  }
  .flex-xxl-column {
    flex-direction: column !important;
  }
  .flex-xxl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xxl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xxl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xxl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-xxl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xxl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xxl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xxl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xxl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-xxl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xxl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xxl-center {
    justify-content: center !important;
  }
  .justify-content-xxl-between {
    justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    justify-content: space-around !important;
  }
  .align-items-xxl-start {
    align-items: flex-start !important;
  }
  .align-items-xxl-end {
    align-items: flex-end !important;
  }
  .align-items-xxl-center {
    align-items: center !important;
  }
  .align-items-xxl-baseline {
    align-items: baseline !important;
  }
  .align-items-xxl-stretch {
    align-items: stretch !important;
  }
  .align-content-xxl-start {
    align-content: flex-start !important;
  }
  .align-content-xxl-end {
    align-content: flex-end !important;
  }
  .align-content-xxl-center {
    align-content: center !important;
  }
  .align-content-xxl-between {
    align-content: space-between !important;
  }
  .align-content-xxl-around {
    align-content: space-around !important;
  }
  .align-content-xxl-stretch {
    align-content: stretch !important;
  }
  .align-self-xxl-auto {
    align-self: auto !important;
  }
  .align-self-xxl-start {
    align-self: flex-start !important;
  }
  .align-self-xxl-end {
    align-self: flex-end !important;
  }
  .align-self-xxl-center {
    align-self: center !important;
  }
  .align-self-xxl-baseline {
    align-self: baseline !important;
  }
  .align-self-xxl-stretch {
    align-self: stretch !important;
  }
}
.float-left {
  float: left !important;
}

.float-right {
  float: right !important;
}

.float-none {
  float: none !important;
}

@media (min-width: 576px) {
  .float-sm-left {
    float: left !important;
  }
  .float-sm-right {
    float: right !important;
  }
  .float-sm-none {
    float: none !important;
  }
}
@media (min-width: 768px) {
  .float-md-left {
    float: left !important;
  }
  .float-md-right {
    float: right !important;
  }
  .float-md-none {
    float: none !important;
  }
}
@media (min-width: 992px) {
  .float-lg-left {
    float: left !important;
  }
  .float-lg-right {
    float: right !important;
  }
  .float-lg-none {
    float: none !important;
  }
}
@media (min-width: 1200px) {
  .float-xl-left {
    float: left !important;
  }
  .float-xl-right {
    float: right !important;
  }
  .float-xl-none {
    float: none !important;
  }
}
@media (min-width: 1600px) {
  .float-xxl-left {
    float: left !important;
  }
  .float-xxl-right {
    float: right !important;
  }
  .float-xxl-none {
    float: none !important;
  }
}
.user-select-all {
  user-select: all !important;
}

.user-select-auto {
  user-select: auto !important;
}

.user-select-none {
  user-select: none !important;
}

.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: sticky !important;
}

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}

@supports (position: sticky) {
  .sticky-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

.shadow-sm {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.shadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.shadow-lg {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.h-auto {
  height: auto !important;
}

.mw-100 {
  max-width: 100% !important;
}

.mh-100 {
  max-height: 100% !important;
}

.min-vw-100 {
  min-width: 100vw !important;
}

.min-vh-100 {
  min-height: 100vh !important;
}

.vw-100 {
  width: 100vw !important;
}

.vh-100 {
  height: 100vh !important;
}

.m-0 {
  margin: 0 !important;
}

.mt-0,
.my-0 {
  margin-top: 0 !important;
}

.mr-0,
.mx-0 {
  margin-right: 0 !important;
}

.mb-0,
.my-0 {
  margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
  margin-left: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.mt-1,
.my-1 {
  margin-top: 0.25rem !important;
}

.mr-1,
.mx-1 {
  margin-right: 0.25rem !important;
}

.mb-1,
.my-1 {
  margin-bottom: 0.25rem !important;
}

.ml-1,
.mx-1 {
  margin-left: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.mt-2,
.my-2 {
  margin-top: 0.5rem !important;
}

.mr-2,
.mx-2 {
  margin-right: 0.5rem !important;
}

.mb-2,
.my-2 {
  margin-bottom: 0.5rem !important;
}

.ml-2,
.mx-2 {
  margin-left: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.mt-3,
.my-3 {
  margin-top: 1rem !important;
}

.mr-3,
.mx-3 {
  margin-right: 1rem !important;
}

.mb-3,
.my-3 {
  margin-bottom: 1rem !important;
}

.ml-3,
.mx-3 {
  margin-left: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.mt-4,
.my-4 {
  margin-top: 1.5rem !important;
}

.mr-4,
.mx-4 {
  margin-right: 1.5rem !important;
}

.mb-4,
.my-4 {
  margin-bottom: 1.5rem !important;
}

.ml-4,
.mx-4 {
  margin-left: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.mt-5,
.my-5 {
  margin-top: 3rem !important;
}

.mr-5,
.mx-5 {
  margin-right: 3rem !important;
}

.mb-5,
.my-5 {
  margin-bottom: 3rem !important;
}

.ml-5,
.mx-5 {
  margin-left: 3rem !important;
}

.m-6 {
  margin: 6rem !important;
}

.mt-6,
.my-6 {
  margin-top: 6rem !important;
}

.mr-6,
.mx-6 {
  margin-right: 6rem !important;
}

.mb-6,
.my-6 {
  margin-bottom: 6rem !important;
}

.ml-6,
.mx-6 {
  margin-left: 6rem !important;
}

.m-7 {
  margin: 8rem !important;
}

.mt-7,
.my-7 {
  margin-top: 8rem !important;
}

.mr-7,
.mx-7 {
  margin-right: 8rem !important;
}

.mb-7,
.my-7 {
  margin-bottom: 8rem !important;
}

.ml-7,
.mx-7 {
  margin-left: 8rem !important;
}

.p-0 {
  padding: 0 !important;
}

.pt-0,
.py-0 {
  padding-top: 0 !important;
}

.pr-0,
.px-0 {
  padding-right: 0 !important;
}

.pb-0,
.py-0 {
  padding-bottom: 0 !important;
}

.pl-0,
.px-0 {
  padding-left: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.pt-1,
.py-1 {
  padding-top: 0.25rem !important;
}

.pr-1,
.px-1 {
  padding-right: 0.25rem !important;
}

.pb-1,
.py-1 {
  padding-bottom: 0.25rem !important;
}

.pl-1,
.px-1 {
  padding-left: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.pt-2,
.py-2 {
  padding-top: 0.5rem !important;
}

.pr-2,
.px-2 {
  padding-right: 0.5rem !important;
}

.pb-2,
.py-2 {
  padding-bottom: 0.5rem !important;
}

.pl-2,
.px-2 {
  padding-left: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.pt-3,
.py-3 {
  padding-top: 1rem !important;
}

.pr-3,
.px-3 {
  padding-right: 1rem !important;
}

.pb-3,
.py-3 {
  padding-bottom: 1rem !important;
}

.pl-3,
.px-3 {
  padding-left: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.pt-4,
.py-4 {
  padding-top: 1.5rem !important;
}

.pr-4,
.px-4 {
  padding-right: 1.5rem !important;
}

.pb-4,
.py-4 {
  padding-bottom: 1.5rem !important;
}

.pl-4,
.px-4 {
  padding-left: 1.5rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.pt-5,
.py-5 {
  padding-top: 3rem !important;
}

.pr-5,
.px-5 {
  padding-right: 3rem !important;
}

.pb-5,
.py-5 {
  padding-bottom: 3rem !important;
}

.pl-5,
.px-5 {
  padding-left: 3rem !important;
}

.p-6 {
  padding: 6rem !important;
}

.pt-6,
.py-6 {
  padding-top: 6rem !important;
}

.pr-6,
.px-6 {
  padding-right: 6rem !important;
}

.pb-6,
.py-6 {
  padding-bottom: 6rem !important;
}

.pl-6,
.px-6 {
  padding-left: 6rem !important;
}

.p-7 {
  padding: 8rem !important;
}

.pt-7,
.py-7 {
  padding-top: 8rem !important;
}

.pr-7,
.px-7 {
  padding-right: 8rem !important;
}

.pb-7,
.py-7 {
  padding-bottom: 8rem !important;
}

.pl-7,
.px-7 {
  padding-left: 8rem !important;
}

.m-n1 {
  margin: -0.25rem !important;
}

.mt-n1,
.my-n1 {
  margin-top: -0.25rem !important;
}

.mr-n1,
.mx-n1 {
  margin-right: -0.25rem !important;
}

.mb-n1,
.my-n1 {
  margin-bottom: -0.25rem !important;
}

.ml-n1,
.mx-n1 {
  margin-left: -0.25rem !important;
}

.m-n2 {
  margin: -0.5rem !important;
}

.mt-n2,
.my-n2 {
  margin-top: -0.5rem !important;
}

.mr-n2,
.mx-n2 {
  margin-right: -0.5rem !important;
}

.mb-n2,
.my-n2 {
  margin-bottom: -0.5rem !important;
}

.ml-n2,
.mx-n2 {
  margin-left: -0.5rem !important;
}

.m-n3 {
  margin: -1rem !important;
}

.mt-n3,
.my-n3 {
  margin-top: -1rem !important;
}

.mr-n3,
.mx-n3 {
  margin-right: -1rem !important;
}

.mb-n3,
.my-n3 {
  margin-bottom: -1rem !important;
}

.ml-n3,
.mx-n3 {
  margin-left: -1rem !important;
}

.m-n4 {
  margin: -1.5rem !important;
}

.mt-n4, .gutenberg-content > .gtb_cust.pb-4 + .section-conteneur,
.my-n4 {
  margin-top: -1.5rem !important;
}

.mr-n4,
.mx-n4 {
  margin-right: -1.5rem !important;
}

.mb-n4,
.my-n4 {
  margin-bottom: -1.5rem !important;
}

.ml-n4,
.mx-n4 {
  margin-left: -1.5rem !important;
}

.m-n5 {
  margin: -3rem !important;
}

.mt-n5,
.my-n5 {
  margin-top: -3rem !important;
}

.mr-n5,
.mx-n5 {
  margin-right: -3rem !important;
}

.mb-n5,
.my-n5 {
  margin-bottom: -3rem !important;
}

.ml-n5,
.mx-n5 {
  margin-left: -3rem !important;
}

.m-n6 {
  margin: -6rem !important;
}

.mt-n6,
.my-n6 {
  margin-top: -6rem !important;
}

.mr-n6,
.mx-n6 {
  margin-right: -6rem !important;
}

.mb-n6,
.my-n6 {
  margin-bottom: -6rem !important;
}

.ml-n6,
.mx-n6 {
  margin-left: -6rem !important;
}

.m-n7 {
  margin: -8rem !important;
}

.mt-n7,
.my-n7 {
  margin-top: -8rem !important;
}

.mr-n7,
.mx-n7 {
  margin-right: -8rem !important;
}

.mb-n7,
.my-n7 {
  margin-bottom: -8rem !important;
}

.ml-n7,
.mx-n7 {
  margin-left: -8rem !important;
}

.m-auto {
  margin: auto !important;
}

.mt-auto,
.my-auto {
  margin-top: auto !important;
}

.mr-auto,
.mx-auto {
  margin-right: auto !important;
}

.mb-auto,
.my-auto {
  margin-bottom: auto !important;
}

.ml-auto,
.mx-auto {
  margin-left: auto !important;
}

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important;
  }
  .mt-sm-0,
  .my-sm-0 {
    margin-top: 0 !important;
  }
  .mr-sm-0,
  .mx-sm-0 {
    margin-right: 0 !important;
  }
  .mb-sm-0,
  .my-sm-0 {
    margin-bottom: 0 !important;
  }
  .ml-sm-0,
  .mx-sm-0 {
    margin-left: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .mt-sm-1,
  .my-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mr-sm-1,
  .mx-sm-1 {
    margin-right: 0.25rem !important;
  }
  .mb-sm-1,
  .my-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-sm-1,
  .mx-sm-1 {
    margin-left: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .mt-sm-2,
  .my-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mr-sm-2,
  .mx-sm-2 {
    margin-right: 0.5rem !important;
  }
  .mb-sm-2,
  .my-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-sm-2,
  .mx-sm-2 {
    margin-left: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .mt-sm-3,
  .my-sm-3 {
    margin-top: 1rem !important;
  }
  .mr-sm-3,
  .mx-sm-3 {
    margin-right: 1rem !important;
  }
  .mb-sm-3,
  .my-sm-3 {
    margin-bottom: 1rem !important;
  }
  .ml-sm-3,
  .mx-sm-3 {
    margin-left: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .mt-sm-4,
  .my-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mr-sm-4,
  .mx-sm-4 {
    margin-right: 1.5rem !important;
  }
  .mb-sm-4,
  .my-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-sm-4,
  .mx-sm-4 {
    margin-left: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 3rem !important;
  }
  .mt-sm-5,
  .my-sm-5 {
    margin-top: 3rem !important;
  }
  .mr-sm-5,
  .mx-sm-5 {
    margin-right: 3rem !important;
  }
  .mb-sm-5,
  .my-sm-5 {
    margin-bottom: 3rem !important;
  }
  .ml-sm-5,
  .mx-sm-5 {
    margin-left: 3rem !important;
  }
  .m-sm-6 {
    margin: 6rem !important;
  }
  .mt-sm-6,
  .my-sm-6 {
    margin-top: 6rem !important;
  }
  .mr-sm-6,
  .mx-sm-6 {
    margin-right: 6rem !important;
  }
  .mb-sm-6,
  .my-sm-6 {
    margin-bottom: 6rem !important;
  }
  .ml-sm-6,
  .mx-sm-6 {
    margin-left: 6rem !important;
  }
  .m-sm-7 {
    margin: 8rem !important;
  }
  .mt-sm-7,
  .my-sm-7 {
    margin-top: 8rem !important;
  }
  .mr-sm-7,
  .mx-sm-7 {
    margin-right: 8rem !important;
  }
  .mb-sm-7,
  .my-sm-7 {
    margin-bottom: 8rem !important;
  }
  .ml-sm-7,
  .mx-sm-7 {
    margin-left: 8rem !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .pt-sm-0,
  .py-sm-0 {
    padding-top: 0 !important;
  }
  .pr-sm-0,
  .px-sm-0 {
    padding-right: 0 !important;
  }
  .pb-sm-0,
  .py-sm-0 {
    padding-bottom: 0 !important;
  }
  .pl-sm-0,
  .px-sm-0 {
    padding-left: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .pt-sm-1,
  .py-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pr-sm-1,
  .px-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pb-sm-1,
  .py-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-sm-1,
  .px-sm-1 {
    padding-left: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .pt-sm-2,
  .py-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pr-sm-2,
  .px-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pb-sm-2,
  .py-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-sm-2,
  .px-sm-2 {
    padding-left: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .pt-sm-3,
  .py-sm-3 {
    padding-top: 1rem !important;
  }
  .pr-sm-3,
  .px-sm-3 {
    padding-right: 1rem !important;
  }
  .pb-sm-3,
  .py-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pl-sm-3,
  .px-sm-3 {
    padding-left: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .pt-sm-4,
  .py-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pr-sm-4,
  .px-sm-4 {
    padding-right: 1.5rem !important;
  }
  .pb-sm-4,
  .py-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-sm-4,
  .px-sm-4 {
    padding-left: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 3rem !important;
  }
  .pt-sm-5,
  .py-sm-5 {
    padding-top: 3rem !important;
  }
  .pr-sm-5,
  .px-sm-5 {
    padding-right: 3rem !important;
  }
  .pb-sm-5,
  .py-sm-5 {
    padding-bottom: 3rem !important;
  }
  .pl-sm-5,
  .px-sm-5 {
    padding-left: 3rem !important;
  }
  .p-sm-6 {
    padding: 6rem !important;
  }
  .pt-sm-6,
  .py-sm-6 {
    padding-top: 6rem !important;
  }
  .pr-sm-6,
  .px-sm-6 {
    padding-right: 6rem !important;
  }
  .pb-sm-6,
  .py-sm-6 {
    padding-bottom: 6rem !important;
  }
  .pl-sm-6,
  .px-sm-6 {
    padding-left: 6rem !important;
  }
  .p-sm-7 {
    padding: 8rem !important;
  }
  .pt-sm-7,
  .py-sm-7 {
    padding-top: 8rem !important;
  }
  .pr-sm-7,
  .px-sm-7 {
    padding-right: 8rem !important;
  }
  .pb-sm-7,
  .py-sm-7 {
    padding-bottom: 8rem !important;
  }
  .pl-sm-7,
  .px-sm-7 {
    padding-left: 8rem !important;
  }
  .m-sm-n1 {
    margin: -0.25rem !important;
  }
  .mt-sm-n1,
  .my-sm-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-sm-n1,
  .mx-sm-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-sm-n1,
  .my-sm-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-sm-n1,
  .mx-sm-n1 {
    margin-left: -0.25rem !important;
  }
  .m-sm-n2 {
    margin: -0.5rem !important;
  }
  .mt-sm-n2,
  .my-sm-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-sm-n2,
  .mx-sm-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-sm-n2,
  .my-sm-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-sm-n2,
  .mx-sm-n2 {
    margin-left: -0.5rem !important;
  }
  .m-sm-n3 {
    margin: -1rem !important;
  }
  .mt-sm-n3,
  .my-sm-n3 {
    margin-top: -1rem !important;
  }
  .mr-sm-n3,
  .mx-sm-n3 {
    margin-right: -1rem !important;
  }
  .mb-sm-n3,
  .my-sm-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-sm-n3,
  .mx-sm-n3 {
    margin-left: -1rem !important;
  }
  .m-sm-n4 {
    margin: -1.5rem !important;
  }
  .mt-sm-n4,
  .my-sm-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-sm-n4,
  .mx-sm-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-sm-n4,
  .my-sm-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-sm-n4,
  .mx-sm-n4 {
    margin-left: -1.5rem !important;
  }
  .m-sm-n5 {
    margin: -3rem !important;
  }
  .mt-sm-n5,
  .my-sm-n5 {
    margin-top: -3rem !important;
  }
  .mr-sm-n5,
  .mx-sm-n5 {
    margin-right: -3rem !important;
  }
  .mb-sm-n5,
  .my-sm-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-sm-n5,
  .mx-sm-n5 {
    margin-left: -3rem !important;
  }
  .m-sm-n6 {
    margin: -6rem !important;
  }
  .mt-sm-n6,
  .my-sm-n6 {
    margin-top: -6rem !important;
  }
  .mr-sm-n6,
  .mx-sm-n6 {
    margin-right: -6rem !important;
  }
  .mb-sm-n6,
  .my-sm-n6 {
    margin-bottom: -6rem !important;
  }
  .ml-sm-n6,
  .mx-sm-n6 {
    margin-left: -6rem !important;
  }
  .m-sm-n7 {
    margin: -8rem !important;
  }
  .mt-sm-n7,
  .my-sm-n7 {
    margin-top: -8rem !important;
  }
  .mr-sm-n7,
  .mx-sm-n7 {
    margin-right: -8rem !important;
  }
  .mb-sm-n7,
  .my-sm-n7 {
    margin-bottom: -8rem !important;
  }
  .ml-sm-n7,
  .mx-sm-n7 {
    margin-left: -8rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mt-sm-auto,
  .my-sm-auto {
    margin-top: auto !important;
  }
  .mr-sm-auto,
  .mx-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-auto,
  .my-sm-auto {
    margin-bottom: auto !important;
  }
  .ml-sm-auto,
  .mx-sm-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important;
  }
  .mt-md-0,
  .my-md-0 {
    margin-top: 0 !important;
  }
  .mr-md-0,
  .mx-md-0 {
    margin-right: 0 !important;
  }
  .mb-md-0,
  .my-md-0 {
    margin-bottom: 0 !important;
  }
  .ml-md-0,
  .mx-md-0 {
    margin-left: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .mt-md-1,
  .my-md-1 {
    margin-top: 0.25rem !important;
  }
  .mr-md-1,
  .mx-md-1 {
    margin-right: 0.25rem !important;
  }
  .mb-md-1,
  .my-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-md-1,
  .mx-md-1 {
    margin-left: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .mt-md-2,
  .my-md-2 {
    margin-top: 0.5rem !important;
  }
  .mr-md-2,
  .mx-md-2 {
    margin-right: 0.5rem !important;
  }
  .mb-md-2,
  .my-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-md-2,
  .mx-md-2 {
    margin-left: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .mt-md-3,
  .my-md-3 {
    margin-top: 1rem !important;
  }
  .mr-md-3,
  .mx-md-3 {
    margin-right: 1rem !important;
  }
  .mb-md-3,
  .my-md-3 {
    margin-bottom: 1rem !important;
  }
  .ml-md-3,
  .mx-md-3 {
    margin-left: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .mt-md-4,
  .my-md-4 {
    margin-top: 1.5rem !important;
  }
  .mr-md-4,
  .mx-md-4 {
    margin-right: 1.5rem !important;
  }
  .mb-md-4,
  .my-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-md-4,
  .mx-md-4 {
    margin-left: 1.5rem !important;
  }
  .m-md-5 {
    margin: 3rem !important;
  }
  .mt-md-5,
  .my-md-5 {
    margin-top: 3rem !important;
  }
  .mr-md-5,
  .mx-md-5 {
    margin-right: 3rem !important;
  }
  .mb-md-5,
  .my-md-5 {
    margin-bottom: 3rem !important;
  }
  .ml-md-5,
  .mx-md-5 {
    margin-left: 3rem !important;
  }
  .m-md-6 {
    margin: 6rem !important;
  }
  .mt-md-6,
  .my-md-6 {
    margin-top: 6rem !important;
  }
  .mr-md-6,
  .mx-md-6 {
    margin-right: 6rem !important;
  }
  .mb-md-6,
  .my-md-6 {
    margin-bottom: 6rem !important;
  }
  .ml-md-6,
  .mx-md-6 {
    margin-left: 6rem !important;
  }
  .m-md-7 {
    margin: 8rem !important;
  }
  .mt-md-7,
  .my-md-7 {
    margin-top: 8rem !important;
  }
  .mr-md-7,
  .mx-md-7 {
    margin-right: 8rem !important;
  }
  .mb-md-7,
  .my-md-7 {
    margin-bottom: 8rem !important;
  }
  .ml-md-7,
  .mx-md-7 {
    margin-left: 8rem !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .pt-md-0,
  .py-md-0 {
    padding-top: 0 !important;
  }
  .pr-md-0,
  .px-md-0 {
    padding-right: 0 !important;
  }
  .pb-md-0,
  .py-md-0 {
    padding-bottom: 0 !important;
  }
  .pl-md-0,
  .px-md-0 {
    padding-left: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .pt-md-1,
  .py-md-1 {
    padding-top: 0.25rem !important;
  }
  .pr-md-1,
  .px-md-1 {
    padding-right: 0.25rem !important;
  }
  .pb-md-1,
  .py-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-md-1,
  .px-md-1 {
    padding-left: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .pt-md-2,
  .py-md-2 {
    padding-top: 0.5rem !important;
  }
  .pr-md-2,
  .px-md-2 {
    padding-right: 0.5rem !important;
  }
  .pb-md-2,
  .py-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-md-2,
  .px-md-2 {
    padding-left: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .pt-md-3,
  .py-md-3 {
    padding-top: 1rem !important;
  }
  .pr-md-3,
  .px-md-3 {
    padding-right: 1rem !important;
  }
  .pb-md-3,
  .py-md-3 {
    padding-bottom: 1rem !important;
  }
  .pl-md-3,
  .px-md-3 {
    padding-left: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .pt-md-4,
  .py-md-4 {
    padding-top: 1.5rem !important;
  }
  .pr-md-4,
  .px-md-4 {
    padding-right: 1.5rem !important;
  }
  .pb-md-4,
  .py-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-md-4,
  .px-md-4 {
    padding-left: 1.5rem !important;
  }
  .p-md-5 {
    padding: 3rem !important;
  }
  .pt-md-5,
  .py-md-5 {
    padding-top: 3rem !important;
  }
  .pr-md-5,
  .px-md-5 {
    padding-right: 3rem !important;
  }
  .pb-md-5,
  .py-md-5 {
    padding-bottom: 3rem !important;
  }
  .pl-md-5,
  .px-md-5 {
    padding-left: 3rem !important;
  }
  .p-md-6 {
    padding: 6rem !important;
  }
  .pt-md-6,
  .py-md-6 {
    padding-top: 6rem !important;
  }
  .pr-md-6,
  .px-md-6 {
    padding-right: 6rem !important;
  }
  .pb-md-6,
  .py-md-6 {
    padding-bottom: 6rem !important;
  }
  .pl-md-6,
  .px-md-6 {
    padding-left: 6rem !important;
  }
  .p-md-7 {
    padding: 8rem !important;
  }
  .pt-md-7,
  .py-md-7 {
    padding-top: 8rem !important;
  }
  .pr-md-7,
  .px-md-7 {
    padding-right: 8rem !important;
  }
  .pb-md-7,
  .py-md-7 {
    padding-bottom: 8rem !important;
  }
  .pl-md-7,
  .px-md-7 {
    padding-left: 8rem !important;
  }
  .m-md-n1 {
    margin: -0.25rem !important;
  }
  .mt-md-n1,
  .my-md-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-md-n1,
  .mx-md-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-md-n1,
  .my-md-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-md-n1,
  .mx-md-n1 {
    margin-left: -0.25rem !important;
  }
  .m-md-n2 {
    margin: -0.5rem !important;
  }
  .mt-md-n2,
  .my-md-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-md-n2,
  .mx-md-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-md-n2,
  .my-md-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-md-n2,
  .mx-md-n2 {
    margin-left: -0.5rem !important;
  }
  .m-md-n3 {
    margin: -1rem !important;
  }
  .mt-md-n3,
  .my-md-n3 {
    margin-top: -1rem !important;
  }
  .mr-md-n3,
  .mx-md-n3 {
    margin-right: -1rem !important;
  }
  .mb-md-n3,
  .my-md-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-md-n3,
  .mx-md-n3 {
    margin-left: -1rem !important;
  }
  .m-md-n4 {
    margin: -1.5rem !important;
  }
  .mt-md-n4,
  .my-md-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-md-n4,
  .mx-md-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-md-n4,
  .my-md-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-md-n4,
  .mx-md-n4 {
    margin-left: -1.5rem !important;
  }
  .m-md-n5 {
    margin: -3rem !important;
  }
  .mt-md-n5,
  .my-md-n5 {
    margin-top: -3rem !important;
  }
  .mr-md-n5,
  .mx-md-n5 {
    margin-right: -3rem !important;
  }
  .mb-md-n5,
  .my-md-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-md-n5,
  .mx-md-n5 {
    margin-left: -3rem !important;
  }
  .m-md-n6 {
    margin: -6rem !important;
  }
  .mt-md-n6,
  .my-md-n6 {
    margin-top: -6rem !important;
  }
  .mr-md-n6,
  .mx-md-n6 {
    margin-right: -6rem !important;
  }
  .mb-md-n6,
  .my-md-n6 {
    margin-bottom: -6rem !important;
  }
  .ml-md-n6,
  .mx-md-n6 {
    margin-left: -6rem !important;
  }
  .m-md-n7 {
    margin: -8rem !important;
  }
  .mt-md-n7,
  .my-md-n7 {
    margin-top: -8rem !important;
  }
  .mr-md-n7,
  .mx-md-n7 {
    margin-right: -8rem !important;
  }
  .mb-md-n7,
  .my-md-n7 {
    margin-bottom: -8rem !important;
  }
  .ml-md-n7,
  .mx-md-n7 {
    margin-left: -8rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mt-md-auto,
  .my-md-auto {
    margin-top: auto !important;
  }
  .mr-md-auto,
  .mx-md-auto {
    margin-right: auto !important;
  }
  .mb-md-auto,
  .my-md-auto {
    margin-bottom: auto !important;
  }
  .ml-md-auto,
  .mx-md-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important;
  }
  .mt-lg-0,
  .my-lg-0 {
    margin-top: 0 !important;
  }
  .mr-lg-0,
  .mx-lg-0 {
    margin-right: 0 !important;
  }
  .mb-lg-0,
  .my-lg-0 {
    margin-bottom: 0 !important;
  }
  .ml-lg-0,
  .mx-lg-0 {
    margin-left: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .mt-lg-1,
  .my-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mr-lg-1,
  .mx-lg-1 {
    margin-right: 0.25rem !important;
  }
  .mb-lg-1,
  .my-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-lg-1,
  .mx-lg-1 {
    margin-left: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .mt-lg-2,
  .my-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mr-lg-2,
  .mx-lg-2 {
    margin-right: 0.5rem !important;
  }
  .mb-lg-2,
  .my-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-lg-2,
  .mx-lg-2 {
    margin-left: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .mt-lg-3,
  .my-lg-3 {
    margin-top: 1rem !important;
  }
  .mr-lg-3,
  .mx-lg-3 {
    margin-right: 1rem !important;
  }
  .mb-lg-3,
  .my-lg-3 {
    margin-bottom: 1rem !important;
  }
  .ml-lg-3,
  .mx-lg-3 {
    margin-left: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .mt-lg-4,
  .my-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mr-lg-4,
  .mx-lg-4 {
    margin-right: 1.5rem !important;
  }
  .mb-lg-4,
  .my-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-lg-4,
  .mx-lg-4 {
    margin-left: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 3rem !important;
  }
  .mt-lg-5,
  .my-lg-5 {
    margin-top: 3rem !important;
  }
  .mr-lg-5,
  .mx-lg-5 {
    margin-right: 3rem !important;
  }
  .mb-lg-5,
  .my-lg-5 {
    margin-bottom: 3rem !important;
  }
  .ml-lg-5,
  .mx-lg-5 {
    margin-left: 3rem !important;
  }
  .m-lg-6 {
    margin: 6rem !important;
  }
  .mt-lg-6,
  .my-lg-6 {
    margin-top: 6rem !important;
  }
  .mr-lg-6,
  .mx-lg-6 {
    margin-right: 6rem !important;
  }
  .mb-lg-6,
  .my-lg-6 {
    margin-bottom: 6rem !important;
  }
  .ml-lg-6,
  .mx-lg-6 {
    margin-left: 6rem !important;
  }
  .m-lg-7 {
    margin: 8rem !important;
  }
  .mt-lg-7,
  .my-lg-7 {
    margin-top: 8rem !important;
  }
  .mr-lg-7,
  .mx-lg-7 {
    margin-right: 8rem !important;
  }
  .mb-lg-7,
  .my-lg-7 {
    margin-bottom: 8rem !important;
  }
  .ml-lg-7,
  .mx-lg-7 {
    margin-left: 8rem !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .pt-lg-0,
  .py-lg-0 {
    padding-top: 0 !important;
  }
  .pr-lg-0,
  .px-lg-0 {
    padding-right: 0 !important;
  }
  .pb-lg-0,
  .py-lg-0 {
    padding-bottom: 0 !important;
  }
  .pl-lg-0,
  .px-lg-0 {
    padding-left: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .pt-lg-1,
  .py-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pr-lg-1,
  .px-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pb-lg-1,
  .py-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-lg-1,
  .px-lg-1 {
    padding-left: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .pt-lg-2,
  .py-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pr-lg-2,
  .px-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pb-lg-2,
  .py-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-lg-2,
  .px-lg-2 {
    padding-left: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .pt-lg-3,
  .py-lg-3 {
    padding-top: 1rem !important;
  }
  .pr-lg-3,
  .px-lg-3 {
    padding-right: 1rem !important;
  }
  .pb-lg-3,
  .py-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pl-lg-3,
  .px-lg-3 {
    padding-left: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .pt-lg-4,
  .py-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pr-lg-4,
  .px-lg-4 {
    padding-right: 1.5rem !important;
  }
  .pb-lg-4,
  .py-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-lg-4,
  .px-lg-4 {
    padding-left: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 3rem !important;
  }
  .pt-lg-5,
  .py-lg-5 {
    padding-top: 3rem !important;
  }
  .pr-lg-5,
  .px-lg-5 {
    padding-right: 3rem !important;
  }
  .pb-lg-5,
  .py-lg-5 {
    padding-bottom: 3rem !important;
  }
  .pl-lg-5,
  .px-lg-5 {
    padding-left: 3rem !important;
  }
  .p-lg-6 {
    padding: 6rem !important;
  }
  .pt-lg-6,
  .py-lg-6 {
    padding-top: 6rem !important;
  }
  .pr-lg-6,
  .px-lg-6 {
    padding-right: 6rem !important;
  }
  .pb-lg-6,
  .py-lg-6 {
    padding-bottom: 6rem !important;
  }
  .pl-lg-6,
  .px-lg-6 {
    padding-left: 6rem !important;
  }
  .p-lg-7 {
    padding: 8rem !important;
  }
  .pt-lg-7,
  .py-lg-7 {
    padding-top: 8rem !important;
  }
  .pr-lg-7,
  .px-lg-7 {
    padding-right: 8rem !important;
  }
  .pb-lg-7,
  .py-lg-7 {
    padding-bottom: 8rem !important;
  }
  .pl-lg-7,
  .px-lg-7 {
    padding-left: 8rem !important;
  }
  .m-lg-n1 {
    margin: -0.25rem !important;
  }
  .mt-lg-n1,
  .my-lg-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-lg-n1,
  .mx-lg-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-lg-n1,
  .my-lg-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-lg-n1,
  .mx-lg-n1 {
    margin-left: -0.25rem !important;
  }
  .m-lg-n2 {
    margin: -0.5rem !important;
  }
  .mt-lg-n2,
  .my-lg-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-lg-n2,
  .mx-lg-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-lg-n2,
  .my-lg-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-lg-n2,
  .mx-lg-n2 {
    margin-left: -0.5rem !important;
  }
  .m-lg-n3 {
    margin: -1rem !important;
  }
  .mt-lg-n3,
  .my-lg-n3 {
    margin-top: -1rem !important;
  }
  .mr-lg-n3,
  .mx-lg-n3 {
    margin-right: -1rem !important;
  }
  .mb-lg-n3,
  .my-lg-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-lg-n3,
  .mx-lg-n3 {
    margin-left: -1rem !important;
  }
  .m-lg-n4 {
    margin: -1.5rem !important;
  }
  .mt-lg-n4,
  .my-lg-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-lg-n4,
  .mx-lg-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-lg-n4,
  .my-lg-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-lg-n4,
  .mx-lg-n4 {
    margin-left: -1.5rem !important;
  }
  .m-lg-n5 {
    margin: -3rem !important;
  }
  .mt-lg-n5,
  .my-lg-n5 {
    margin-top: -3rem !important;
  }
  .mr-lg-n5,
  .mx-lg-n5 {
    margin-right: -3rem !important;
  }
  .mb-lg-n5,
  .my-lg-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-lg-n5,
  .mx-lg-n5 {
    margin-left: -3rem !important;
  }
  .m-lg-n6 {
    margin: -6rem !important;
  }
  .mt-lg-n6,
  .my-lg-n6 {
    margin-top: -6rem !important;
  }
  .mr-lg-n6,
  .mx-lg-n6 {
    margin-right: -6rem !important;
  }
  .mb-lg-n6,
  .my-lg-n6 {
    margin-bottom: -6rem !important;
  }
  .ml-lg-n6,
  .mx-lg-n6 {
    margin-left: -6rem !important;
  }
  .m-lg-n7 {
    margin: -8rem !important;
  }
  .mt-lg-n7,
  .my-lg-n7 {
    margin-top: -8rem !important;
  }
  .mr-lg-n7,
  .mx-lg-n7 {
    margin-right: -8rem !important;
  }
  .mb-lg-n7,
  .my-lg-n7 {
    margin-bottom: -8rem !important;
  }
  .ml-lg-n7,
  .mx-lg-n7 {
    margin-left: -8rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mt-lg-auto,
  .my-lg-auto {
    margin-top: auto !important;
  }
  .mr-lg-auto,
  .mx-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-auto,
  .my-lg-auto {
    margin-bottom: auto !important;
  }
  .ml-lg-auto,
  .mx-lg-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important;
  }
  .mt-xl-0,
  .my-xl-0 {
    margin-top: 0 !important;
  }
  .mr-xl-0,
  .mx-xl-0 {
    margin-right: 0 !important;
  }
  .mb-xl-0,
  .my-xl-0 {
    margin-bottom: 0 !important;
  }
  .ml-xl-0,
  .mx-xl-0 {
    margin-left: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .mt-xl-1,
  .my-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mr-xl-1,
  .mx-xl-1 {
    margin-right: 0.25rem !important;
  }
  .mb-xl-1,
  .my-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-xl-1,
  .mx-xl-1 {
    margin-left: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .mt-xl-2,
  .my-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mr-xl-2,
  .mx-xl-2 {
    margin-right: 0.5rem !important;
  }
  .mb-xl-2,
  .my-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-xl-2,
  .mx-xl-2 {
    margin-left: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .mt-xl-3,
  .my-xl-3 {
    margin-top: 1rem !important;
  }
  .mr-xl-3,
  .mx-xl-3 {
    margin-right: 1rem !important;
  }
  .mb-xl-3,
  .my-xl-3 {
    margin-bottom: 1rem !important;
  }
  .ml-xl-3,
  .mx-xl-3 {
    margin-left: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .mt-xl-4,
  .my-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mr-xl-4,
  .mx-xl-4 {
    margin-right: 1.5rem !important;
  }
  .mb-xl-4,
  .my-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-xl-4,
  .mx-xl-4 {
    margin-left: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 3rem !important;
  }
  .mt-xl-5,
  .my-xl-5 {
    margin-top: 3rem !important;
  }
  .mr-xl-5,
  .mx-xl-5 {
    margin-right: 3rem !important;
  }
  .mb-xl-5,
  .my-xl-5 {
    margin-bottom: 3rem !important;
  }
  .ml-xl-5,
  .mx-xl-5 {
    margin-left: 3rem !important;
  }
  .m-xl-6 {
    margin: 6rem !important;
  }
  .mt-xl-6,
  .my-xl-6 {
    margin-top: 6rem !important;
  }
  .mr-xl-6,
  .mx-xl-6 {
    margin-right: 6rem !important;
  }
  .mb-xl-6,
  .my-xl-6 {
    margin-bottom: 6rem !important;
  }
  .ml-xl-6,
  .mx-xl-6 {
    margin-left: 6rem !important;
  }
  .m-xl-7 {
    margin: 8rem !important;
  }
  .mt-xl-7,
  .my-xl-7 {
    margin-top: 8rem !important;
  }
  .mr-xl-7,
  .mx-xl-7 {
    margin-right: 8rem !important;
  }
  .mb-xl-7,
  .my-xl-7 {
    margin-bottom: 8rem !important;
  }
  .ml-xl-7,
  .mx-xl-7 {
    margin-left: 8rem !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .pt-xl-0,
  .py-xl-0 {
    padding-top: 0 !important;
  }
  .pr-xl-0,
  .px-xl-0 {
    padding-right: 0 !important;
  }
  .pb-xl-0,
  .py-xl-0 {
    padding-bottom: 0 !important;
  }
  .pl-xl-0,
  .px-xl-0 {
    padding-left: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .pt-xl-1,
  .py-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pr-xl-1,
  .px-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pb-xl-1,
  .py-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-xl-1,
  .px-xl-1 {
    padding-left: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .pt-xl-2,
  .py-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pr-xl-2,
  .px-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pb-xl-2,
  .py-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-xl-2,
  .px-xl-2 {
    padding-left: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .pt-xl-3,
  .py-xl-3 {
    padding-top: 1rem !important;
  }
  .pr-xl-3,
  .px-xl-3 {
    padding-right: 1rem !important;
  }
  .pb-xl-3,
  .py-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pl-xl-3,
  .px-xl-3 {
    padding-left: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .pt-xl-4,
  .py-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pr-xl-4,
  .px-xl-4 {
    padding-right: 1.5rem !important;
  }
  .pb-xl-4,
  .py-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-xl-4,
  .px-xl-4 {
    padding-left: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 3rem !important;
  }
  .pt-xl-5,
  .py-xl-5 {
    padding-top: 3rem !important;
  }
  .pr-xl-5,
  .px-xl-5 {
    padding-right: 3rem !important;
  }
  .pb-xl-5,
  .py-xl-5 {
    padding-bottom: 3rem !important;
  }
  .pl-xl-5,
  .px-xl-5 {
    padding-left: 3rem !important;
  }
  .p-xl-6 {
    padding: 6rem !important;
  }
  .pt-xl-6,
  .py-xl-6 {
    padding-top: 6rem !important;
  }
  .pr-xl-6,
  .px-xl-6 {
    padding-right: 6rem !important;
  }
  .pb-xl-6,
  .py-xl-6 {
    padding-bottom: 6rem !important;
  }
  .pl-xl-6,
  .px-xl-6 {
    padding-left: 6rem !important;
  }
  .p-xl-7 {
    padding: 8rem !important;
  }
  .pt-xl-7,
  .py-xl-7 {
    padding-top: 8rem !important;
  }
  .pr-xl-7,
  .px-xl-7 {
    padding-right: 8rem !important;
  }
  .pb-xl-7,
  .py-xl-7 {
    padding-bottom: 8rem !important;
  }
  .pl-xl-7,
  .px-xl-7 {
    padding-left: 8rem !important;
  }
  .m-xl-n1 {
    margin: -0.25rem !important;
  }
  .mt-xl-n1,
  .my-xl-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-xl-n1,
  .mx-xl-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-xl-n1,
  .my-xl-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-xl-n1,
  .mx-xl-n1 {
    margin-left: -0.25rem !important;
  }
  .m-xl-n2 {
    margin: -0.5rem !important;
  }
  .mt-xl-n2,
  .my-xl-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-xl-n2,
  .mx-xl-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-xl-n2,
  .my-xl-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-xl-n2,
  .mx-xl-n2 {
    margin-left: -0.5rem !important;
  }
  .m-xl-n3 {
    margin: -1rem !important;
  }
  .mt-xl-n3,
  .my-xl-n3 {
    margin-top: -1rem !important;
  }
  .mr-xl-n3,
  .mx-xl-n3 {
    margin-right: -1rem !important;
  }
  .mb-xl-n3,
  .my-xl-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-xl-n3,
  .mx-xl-n3 {
    margin-left: -1rem !important;
  }
  .m-xl-n4 {
    margin: -1.5rem !important;
  }
  .mt-xl-n4,
  .my-xl-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-xl-n4,
  .mx-xl-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-xl-n4,
  .my-xl-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-xl-n4,
  .mx-xl-n4 {
    margin-left: -1.5rem !important;
  }
  .m-xl-n5 {
    margin: -3rem !important;
  }
  .mt-xl-n5,
  .my-xl-n5 {
    margin-top: -3rem !important;
  }
  .mr-xl-n5,
  .mx-xl-n5 {
    margin-right: -3rem !important;
  }
  .mb-xl-n5,
  .my-xl-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-xl-n5,
  .mx-xl-n5 {
    margin-left: -3rem !important;
  }
  .m-xl-n6 {
    margin: -6rem !important;
  }
  .mt-xl-n6,
  .my-xl-n6 {
    margin-top: -6rem !important;
  }
  .mr-xl-n6,
  .mx-xl-n6 {
    margin-right: -6rem !important;
  }
  .mb-xl-n6,
  .my-xl-n6 {
    margin-bottom: -6rem !important;
  }
  .ml-xl-n6,
  .mx-xl-n6 {
    margin-left: -6rem !important;
  }
  .m-xl-n7 {
    margin: -8rem !important;
  }
  .mt-xl-n7,
  .my-xl-n7 {
    margin-top: -8rem !important;
  }
  .mr-xl-n7,
  .mx-xl-n7 {
    margin-right: -8rem !important;
  }
  .mb-xl-n7,
  .my-xl-n7 {
    margin-bottom: -8rem !important;
  }
  .ml-xl-n7,
  .mx-xl-n7 {
    margin-left: -8rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mt-xl-auto,
  .my-xl-auto {
    margin-top: auto !important;
  }
  .mr-xl-auto,
  .mx-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-auto,
  .my-xl-auto {
    margin-bottom: auto !important;
  }
  .ml-xl-auto,
  .mx-xl-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 1600px) {
  .m-xxl-0 {
    margin: 0 !important;
  }
  .mt-xxl-0,
  .my-xxl-0 {
    margin-top: 0 !important;
  }
  .mr-xxl-0,
  .mx-xxl-0 {
    margin-right: 0 !important;
  }
  .mb-xxl-0,
  .my-xxl-0 {
    margin-bottom: 0 !important;
  }
  .ml-xxl-0,
  .mx-xxl-0 {
    margin-left: 0 !important;
  }
  .m-xxl-1 {
    margin: 0.25rem !important;
  }
  .mt-xxl-1,
  .my-xxl-1 {
    margin-top: 0.25rem !important;
  }
  .mr-xxl-1,
  .mx-xxl-1 {
    margin-right: 0.25rem !important;
  }
  .mb-xxl-1,
  .my-xxl-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-xxl-1,
  .mx-xxl-1 {
    margin-left: 0.25rem !important;
  }
  .m-xxl-2 {
    margin: 0.5rem !important;
  }
  .mt-xxl-2,
  .my-xxl-2 {
    margin-top: 0.5rem !important;
  }
  .mr-xxl-2,
  .mx-xxl-2 {
    margin-right: 0.5rem !important;
  }
  .mb-xxl-2,
  .my-xxl-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-xxl-2,
  .mx-xxl-2 {
    margin-left: 0.5rem !important;
  }
  .m-xxl-3 {
    margin: 1rem !important;
  }
  .mt-xxl-3,
  .my-xxl-3 {
    margin-top: 1rem !important;
  }
  .mr-xxl-3,
  .mx-xxl-3 {
    margin-right: 1rem !important;
  }
  .mb-xxl-3,
  .my-xxl-3 {
    margin-bottom: 1rem !important;
  }
  .ml-xxl-3,
  .mx-xxl-3 {
    margin-left: 1rem !important;
  }
  .m-xxl-4 {
    margin: 1.5rem !important;
  }
  .mt-xxl-4,
  .my-xxl-4 {
    margin-top: 1.5rem !important;
  }
  .mr-xxl-4,
  .mx-xxl-4 {
    margin-right: 1.5rem !important;
  }
  .mb-xxl-4,
  .my-xxl-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-xxl-4,
  .mx-xxl-4 {
    margin-left: 1.5rem !important;
  }
  .m-xxl-5 {
    margin: 3rem !important;
  }
  .mt-xxl-5,
  .my-xxl-5 {
    margin-top: 3rem !important;
  }
  .mr-xxl-5,
  .mx-xxl-5 {
    margin-right: 3rem !important;
  }
  .mb-xxl-5,
  .my-xxl-5 {
    margin-bottom: 3rem !important;
  }
  .ml-xxl-5,
  .mx-xxl-5 {
    margin-left: 3rem !important;
  }
  .m-xxl-6 {
    margin: 6rem !important;
  }
  .mt-xxl-6,
  .my-xxl-6 {
    margin-top: 6rem !important;
  }
  .mr-xxl-6,
  .mx-xxl-6 {
    margin-right: 6rem !important;
  }
  .mb-xxl-6,
  .my-xxl-6 {
    margin-bottom: 6rem !important;
  }
  .ml-xxl-6,
  .mx-xxl-6 {
    margin-left: 6rem !important;
  }
  .m-xxl-7 {
    margin: 8rem !important;
  }
  .mt-xxl-7,
  .my-xxl-7 {
    margin-top: 8rem !important;
  }
  .mr-xxl-7,
  .mx-xxl-7 {
    margin-right: 8rem !important;
  }
  .mb-xxl-7,
  .my-xxl-7 {
    margin-bottom: 8rem !important;
  }
  .ml-xxl-7,
  .mx-xxl-7 {
    margin-left: 8rem !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .pt-xxl-0,
  .py-xxl-0 {
    padding-top: 0 !important;
  }
  .pr-xxl-0,
  .px-xxl-0 {
    padding-right: 0 !important;
  }
  .pb-xxl-0,
  .py-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pl-xxl-0,
  .px-xxl-0 {
    padding-left: 0 !important;
  }
  .p-xxl-1 {
    padding: 0.25rem !important;
  }
  .pt-xxl-1,
  .py-xxl-1 {
    padding-top: 0.25rem !important;
  }
  .pr-xxl-1,
  .px-xxl-1 {
    padding-right: 0.25rem !important;
  }
  .pb-xxl-1,
  .py-xxl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-xxl-1,
  .px-xxl-1 {
    padding-left: 0.25rem !important;
  }
  .p-xxl-2 {
    padding: 0.5rem !important;
  }
  .pt-xxl-2,
  .py-xxl-2 {
    padding-top: 0.5rem !important;
  }
  .pr-xxl-2,
  .px-xxl-2 {
    padding-right: 0.5rem !important;
  }
  .pb-xxl-2,
  .py-xxl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-xxl-2,
  .px-xxl-2 {
    padding-left: 0.5rem !important;
  }
  .p-xxl-3 {
    padding: 1rem !important;
  }
  .pt-xxl-3,
  .py-xxl-3 {
    padding-top: 1rem !important;
  }
  .pr-xxl-3,
  .px-xxl-3 {
    padding-right: 1rem !important;
  }
  .pb-xxl-3,
  .py-xxl-3 {
    padding-bottom: 1rem !important;
  }
  .pl-xxl-3,
  .px-xxl-3 {
    padding-left: 1rem !important;
  }
  .p-xxl-4 {
    padding: 1.5rem !important;
  }
  .pt-xxl-4,
  .py-xxl-4 {
    padding-top: 1.5rem !important;
  }
  .pr-xxl-4,
  .px-xxl-4 {
    padding-right: 1.5rem !important;
  }
  .pb-xxl-4,
  .py-xxl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-xxl-4,
  .px-xxl-4 {
    padding-left: 1.5rem !important;
  }
  .p-xxl-5 {
    padding: 3rem !important;
  }
  .pt-xxl-5,
  .py-xxl-5 {
    padding-top: 3rem !important;
  }
  .pr-xxl-5,
  .px-xxl-5 {
    padding-right: 3rem !important;
  }
  .pb-xxl-5,
  .py-xxl-5 {
    padding-bottom: 3rem !important;
  }
  .pl-xxl-5,
  .px-xxl-5 {
    padding-left: 3rem !important;
  }
  .p-xxl-6 {
    padding: 6rem !important;
  }
  .pt-xxl-6,
  .py-xxl-6 {
    padding-top: 6rem !important;
  }
  .pr-xxl-6,
  .px-xxl-6 {
    padding-right: 6rem !important;
  }
  .pb-xxl-6,
  .py-xxl-6 {
    padding-bottom: 6rem !important;
  }
  .pl-xxl-6,
  .px-xxl-6 {
    padding-left: 6rem !important;
  }
  .p-xxl-7 {
    padding: 8rem !important;
  }
  .pt-xxl-7,
  .py-xxl-7 {
    padding-top: 8rem !important;
  }
  .pr-xxl-7,
  .px-xxl-7 {
    padding-right: 8rem !important;
  }
  .pb-xxl-7,
  .py-xxl-7 {
    padding-bottom: 8rem !important;
  }
  .pl-xxl-7,
  .px-xxl-7 {
    padding-left: 8rem !important;
  }
  .m-xxl-n1 {
    margin: -0.25rem !important;
  }
  .mt-xxl-n1,
  .my-xxl-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-xxl-n1,
  .mx-xxl-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-xxl-n1,
  .my-xxl-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-xxl-n1,
  .mx-xxl-n1 {
    margin-left: -0.25rem !important;
  }
  .m-xxl-n2 {
    margin: -0.5rem !important;
  }
  .mt-xxl-n2,
  .my-xxl-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-xxl-n2,
  .mx-xxl-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-xxl-n2,
  .my-xxl-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-xxl-n2,
  .mx-xxl-n2 {
    margin-left: -0.5rem !important;
  }
  .m-xxl-n3 {
    margin: -1rem !important;
  }
  .mt-xxl-n3,
  .my-xxl-n3 {
    margin-top: -1rem !important;
  }
  .mr-xxl-n3,
  .mx-xxl-n3 {
    margin-right: -1rem !important;
  }
  .mb-xxl-n3,
  .my-xxl-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-xxl-n3,
  .mx-xxl-n3 {
    margin-left: -1rem !important;
  }
  .m-xxl-n4 {
    margin: -1.5rem !important;
  }
  .mt-xxl-n4,
  .my-xxl-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-xxl-n4,
  .mx-xxl-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-xxl-n4,
  .my-xxl-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-xxl-n4,
  .mx-xxl-n4 {
    margin-left: -1.5rem !important;
  }
  .m-xxl-n5 {
    margin: -3rem !important;
  }
  .mt-xxl-n5,
  .my-xxl-n5 {
    margin-top: -3rem !important;
  }
  .mr-xxl-n5,
  .mx-xxl-n5 {
    margin-right: -3rem !important;
  }
  .mb-xxl-n5,
  .my-xxl-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-xxl-n5,
  .mx-xxl-n5 {
    margin-left: -3rem !important;
  }
  .m-xxl-n6 {
    margin: -6rem !important;
  }
  .mt-xxl-n6,
  .my-xxl-n6 {
    margin-top: -6rem !important;
  }
  .mr-xxl-n6,
  .mx-xxl-n6 {
    margin-right: -6rem !important;
  }
  .mb-xxl-n6,
  .my-xxl-n6 {
    margin-bottom: -6rem !important;
  }
  .ml-xxl-n6,
  .mx-xxl-n6 {
    margin-left: -6rem !important;
  }
  .m-xxl-n7 {
    margin: -8rem !important;
  }
  .mt-xxl-n7,
  .my-xxl-n7 {
    margin-top: -8rem !important;
  }
  .mr-xxl-n7,
  .mx-xxl-n7 {
    margin-right: -8rem !important;
  }
  .mb-xxl-n7,
  .my-xxl-n7 {
    margin-bottom: -8rem !important;
  }
  .ml-xxl-n7,
  .mx-xxl-n7 {
    margin-left: -8rem !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mt-xxl-auto,
  .my-xxl-auto {
    margin-top: auto !important;
  }
  .mr-xxl-auto,
  .mx-xxl-auto {
    margin-right: auto !important;
  }
  .mb-xxl-auto,
  .my-xxl-auto {
    margin-bottom: auto !important;
  }
  .ml-xxl-auto,
  .mx-xxl-auto {
    margin-left: auto !important;
  }
}
.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: rgba(0, 0, 0, 0);
}

.text-monospace {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
}

.text-justify {
  text-align: justify !important;
}

.text-wrap {
  white-space: normal !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

@media (min-width: 576px) {
  .text-sm-left {
    text-align: left !important;
  }
  .text-sm-right {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important;
  }
  .text-md-right {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important;
  }
  .text-lg-right {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .text-xl-left {
    text-align: left !important;
  }
  .text-xl-right {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}
@media (min-width: 1600px) {
  .text-xxl-left {
    text-align: left !important;
  }
  .text-xxl-right {
    text-align: right !important;
  }
  .text-xxl-center {
    text-align: center !important;
  }
}
.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.font-weight-light {
  font-weight: 300 !important;
}

.font-weight-lighter {
  font-weight: lighter !important;
}

.font-weight-normal {
  font-weight: 400 !important;
}

.font-weight-bold {
  font-weight: 500 !important;
}

.font-weight-bolder {
  font-weight: bolder !important;
}

.font-italic {
  font-style: italic !important;
}

.text-white {
  color: #fff !important;
}

.text-primary {
  color: #007bff !important;
}

a.text-primary:hover, a.text-primary:focus {
  color: rgb(0, 86.1, 178.5) !important;
}

.text-secondary {
  color: #6c757d !important;
}

a.text-secondary:hover, a.text-secondary:focus {
  color: rgb(72.5407725322, 78.5858369099, 83.9592274678) !important;
}

.text-success {
  color: #28a745 !important;
}

a.text-success:hover, a.text-success:focus {
  color: rgb(25.2173913043, 105.2826086957, 43.5) !important;
}

.text-info {
  color: #17a2b8 !important;
}

a.text-info:hover, a.text-info:focus {
  color: rgb(14.5, 102.1304347826, 116) !important;
}

.text-warning {
  color: #ffc107 !important;
}

a.text-warning:hover, a.text-warning:focus {
  color: rgb(185.5, 139.125, 0) !important;
}

.text-danger {
  color: #dc3545 !important;
}

a.text-danger:hover, a.text-danger:focus {
  color: rgb(167.4810126582, 29.0189873418, 42.2848101266) !important;
}

.text-light {
  color: #f8f9fa !important;
}

a.text-light:hover, a.text-light:focus {
  color: rgb(203.375, 210.75, 218.125) !important;
}

.text-dark {
  color: #343a40 !important;
}

a.text-dark:hover, a.text-dark:focus {
  color: rgb(17.7068965517, 19.75, 21.7931034483) !important;
}

.text-body {
  color: #391C11 !important;
}

.text-muted {
  color: #6c757d !important;
}

.text-black-50 {
  color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
  color: rgba(255, 255, 255, 0.5) !important;
}

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

.text-decoration-none {
  text-decoration: none !important;
}

.text-break {
  word-break: break-word !important;
  word-wrap: break-word !important;
}

.text-reset {
  color: inherit !important;
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

/*
___bootstrap-and-custom.scss appelé dans le fichier ci dessous
*/
/* --- Size VAR --- */
/* 24 */
/* Don't touch !!! */
/* --- END > Size VAR --- */
body {
  /* --- Size --- */
  font-size: 14px;
}
@media (min-width: 992px) {
  body {
    font-size: 17px;
  }
}
@media (min-width: 1600px) {
  body {
    font-size: 20px;
  }
}
body {
  /* --- END > Size --- */
  background-image: url("../../src/img/img_deco/bois-2.png");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: contain;
}

/* --- FONT WEIGHT Default en 700 --- */
b,
strong {
  font-weight: 500;
}

/* --- END > FONT WEIGHT Default en 700 --- */
/* --- LINKS --- */
a {
  transition: all 0.2s ease-in-out;
}
/* --- END > LINK --- */
/** ****************************************************************************
* === MIXIN
***************************************************************************** */
/* ======================================== STYLING --- */
h1.gtb_blk, .ck_tx .h1,
.ck_tx h1, .h1 {
  color: #606C38;
  font-size: 3.2em;
  font-family: "Amatic SC", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-weight: 700;
}

h2.gtb_blk, .ck_tx .h2,
.ck_tx h2, .h2 {
  color: #606C38;
  font-size: 2.3em;
  font-family: "Amatic SC", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-weight: 700;
}

h3.gtb_blk, .ck_tx .h3,
.ck_tx h3, .h3 {
  font-size: 1.9em;
  font-family: "Amatic SC", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-weight: 700;
}

h4.gtb_blk, .ck_tx .h4,
.ck_tx h4, .h4 {
  font-size: 1em;
}

h5.gtb_blk, .ck_tx .h5,
.ck_tx h5, .h5 {
  font-size: 0.83em;
}

h6.gtb_blk, .ck_tx .h6,
.ck_tx h6, .h6 {
  font-size: 0.67em;
}

/* ======================================== END > STYLING --- */
/* ----- Ck texte ----- */
.ck_tx .h1 + ul,
.ck_tx h1 + ul {
  margin-top: 1.2rem;
}

h1.gtb_blk + ul {
  margin-top: 1.2rem;
}

/* ----- END > Ck texte ----- */
/* ----- Ck texte ----- */
.ck_tx .h2 + ul,
.ck_tx h2 + ul {
  margin-top: 1.2rem;
}

h2.gtb_blk + ul {
  margin-top: 1.2rem;
}

/* ----- END > Ck texte ----- */
/* ----- Ck texte ----- */
.ck_tx .h3 + ul,
.ck_tx h3 + ul {
  margin-top: 1.2rem;
}

h3.gtb_blk + ul {
  margin-top: 1.2rem;
}

/* ----- END > Ck texte ----- */
/* ----- Ck texte ----- */
.ck_tx .h4 + ul,
.ck_tx h4 + ul {
  margin-top: 1.2rem;
}

h4.gtb_blk + ul {
  margin-top: 1.2rem;
}

/* ----- END > Ck texte ----- */
/* ----- Ck texte ----- */
.ck_tx .h5 + ul,
.ck_tx h5 + ul {
  margin-top: 1.2rem;
}

h5.gtb_blk + ul {
  margin-top: 1.2rem;
}

/* ----- END > Ck texte ----- */
/* ----- Ck texte ----- */
.ck_tx .h6 + ul,
.ck_tx h6 + ul {
  margin-top: 1.2rem;
}

h6.gtb_blk + ul {
  margin-top: 1.2rem;
}

/* ----- END > Ck texte ----- */
.ck_tx, .gtb.wp-block-quote {
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
  border-color: #606C38;
}
.ck_tx p, .gtb.wp-block-quote p {
  flex: 0 0 100%;
  max-width: 100%;
  margin-left: 0%;
  margin-bottom: 1.3rem;
}

.ck_tx + .h_tag, .gtb.list_ul + .h_tag {
  margin-top: 1rem;
}
.ck_tx > ul, .gtb.list_ul > ul {
  padding-left: 0;
}
.ck_tx, .gtb.list_ul {
  /* --- All ul --- */
}
.ck_tx ul, .gtb.list_ul ul {
  flex: 0 0 100%;
  max-width: 100%;
  margin-left: 0%;
}
.ck_tx ul h1, .gtb.list_ul ul h1, .ck_tx ul h2, .gtb.list_ul ul h2, .ck_tx ul h3, .gtb.list_ul ul h3, .ck_tx ul h4, .gtb.list_ul ul h4, .ck_tx ul h5, .gtb.list_ul ul h5, .ck_tx ul h6, .gtb.list_ul ul h6 {
  display: inline;
}
.ck_tx ul ul, .gtb.list_ul ul ul {
  margin-top: 0.5rem;
  margin-bottom: 1rem;
}
.ck_tx, .gtb.list_ul {
  /* --- END > All ul --- */
  /* --- All li --- */
}
.ck_tx li, .gtb.list_ul li {
  hyphens: auto;
  list-style-type: none;
  /* --- Size --- */
  margin-bottom: 3.5px;
}
@media (min-width: 992px) {
  .ck_tx li, .gtb.list_ul li {
    margin-bottom: 4.25px;
  }
}
@media (min-width: 1600px) {
  .ck_tx li, .gtb.list_ul li {
    margin-bottom: 5px;
  }
}
.ck_tx li, .gtb.list_ul li {
  /* --- END > Size --- */
}
.ck_tx li:before, .gtb.list_ul li:before {
  content: "●";
  color: #606C38;
  margin-right: 0.6rem;
}
.ck_tx li > p, .gtb.list_ul li > p {
  display: inline;
}
.ck_tx, .gtb.list_ul {
  /* --- END > All li --- */
  /* --- li inside --- */
}
.ck_tx li li:before, .gtb.list_ul li li:before {
  content: "⚬";
  color: #606C38;
  margin-right: 0.6rem;
}
.ck_tx, .gtb.list_ul {
  /* --- END > li inside --- */
}

/* --- CK TX --- */
.ck_tx a:not(.btn) {
  color: #C7473B;
  text-decoration: none;
}
.ck_tx a:not(.btn):hover {
  text-decoration: none;
}
.ck_tx a {
  position: relative;
  transition: all 0.25s linear;
  background: linear-gradient(to bottom, #eb1c9a 0%, #ff831a 98%);
  background-size: 0px 2px;
  background-repeat: no-repeat;
  background-position: left 100%;
  border-bottom: 1px solid #C7473B;
}
.ck_tx a:hover {
  background-size: 100% 2px;
  border-bottom-color: transparent;
}
.ck_tx {
  /* --- ul premier niveau --- */
}
.ck_tx > .wrapperInner > .inner > ul,
.ck_tx > .inner > ul {
  padding-left: 0;
}
.ck_tx {
  /* --- END > ul premier niveau --- */
}

/* --- END > CK TX --- */
.li_first_reset {
  /* --- All li --- */
}
.li_first_reset > ul > li:before {
  display: none;
}
.li_first_reset > ul > li > ul {
  padding-left: 0;
}
.li_first_reset {
  /* --- END > All li --- */
  /* --- li inside --- */
}
.li_first_reset > ul li li:before {
  color: #606C38;
  margin-right: 0.6rem;
}
.li_first_reset {
  /* --- END > li inside --- */
}

/* --- tx_col-2 --- */
@media (min-width: 992px) {
  .tx_col-2 {
    columns: 2;
    column-gap: 8.3333333333%;
  }
}

/* --- ul_col-2 --- */
.ul_col-2 {
  /* --- ul premier niveau --- */
}
@media (min-width: 768px) {
  .ul_col-2 > ul {
    column-count: 2;
    column-gap: 2.5rem; /* Espace entre colonne */
    column-rule: 1px solid #e6e6e6; /* Trai entre colonne */
  }
}
.ul_col-2 > ul {
  /* --- li second niveau --- */
}
@media (min-width: 768px) {
  .ul_col-2 > ul > li {
    break-inside: avoid-column; /* interdit saut de colonne à l'intérieur du texte */
  }
}
.ul_col-2 > ul {
  /* --- END > li second niveau --- */
}
.ul_col-2 {
  /* --- END > ul premier niveau --- */
}

/* --- END > ul_col-2 --- */
.h100 {
  height: 100vh;
}

/* ========================================================================
   Component: Animation
 ========================================================================== */
[class*=uk-animation-] {
  animation-duration: 0.5s;
  animation-timing-function: ease-out;
  animation-fill-mode: both;
}

/* Animations
 ========================================================================== */
/*
 * Fade
 */
.uk-animation-fade {
  animation-name: uk-fade;
  animation-duration: 0.8s;
  animation-timing-function: linear;
}

/*
 * Scale
 */
.uk-animation-scale-up {
  animation-name: uk-fade-scale-02;
}

.uk-animation-scale-down {
  animation-name: uk-fade-scale-18;
}

/*
 * Slide
 */
.uk-animation-slide-top {
  animation-name: uk-fade-top;
}

.uk-animation-slide-bottom {
  animation-name: uk-fade-bottom;
}

.uk-animation-slide-left {
  animation-name: uk-fade-left;
}

.uk-animation-slide-right {
  animation-name: uk-fade-right;
}

/*
 * Slide Small
 */
.uk-animation-slide-top-small {
  animation-name: uk-fade-top-small;
}

.uk-animation-slide-bottom-small {
  animation-name: uk-fade-bottom-small;
}

.uk-animation-slide-left-small {
  animation-name: uk-fade-left-small;
}

.uk-animation-slide-right-small {
  animation-name: uk-fade-right-small;
}

/*
 * Slide Medium
 */
.uk-animation-slide-top-medium {
  animation-name: uk-fade-top-medium;
}

.uk-animation-slide-bottom-medium {
  animation-name: uk-fade-bottom-medium;
}

.uk-animation-slide-left-medium {
  animation-name: uk-fade-left-medium;
}

.uk-animation-slide-right-medium {
  animation-name: uk-fade-right-medium;
}

/*
 * Kenburns
 */
.uk-animation-kenburns {
  animation-name: uk-scale-kenburns;
  animation-duration: 15s;
}

/*
 * Shake
 */
.uk-animation-shake {
  animation-name: uk-shake;
}

/*
 * SVG Stroke
 * The `--uk-animation-stroke` custom property contains the longest path length.
 * Set it manually or use `uk-svg="stroke-animation: true"` to set it automatically.
 * All strokes are animated by the same pace and doesn't end simultaneously.
 * To end simultaneously, `pathLength="1"` could be used, but it's not working in Safari yet.
 */
.uk-animation-stroke {
  animation-name: uk-stroke;
  stroke-dasharray: var(--uk-animation-stroke);
  animation-duration: 2s;
}

/* Direction modifier
 ========================================================================== */
.uk-animation-reverse {
  animation-direction: reverse;
  animation-timing-function: ease-in;
}

/* Duration modifier
 ========================================================================== */
.uk-animation-fast {
  animation-duration: 0.1s;
}

/* Toggle (Hover + Focus)
========================================================================== */
/*
 * The toggle is triggered on touch devices using `:focus` and tabindex
 */
.uk-animation-toggle:not(:hover):not(:focus) [class*=uk-animation-] {
  animation-name: none;
}

/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-animation-toggle {
  /* 1 */
  -webkit-tap-highlight-color: transparent;
}

/*
 * Remove outline for `tabindex`
 */
.uk-animation-toggle:focus {
  outline: none;
}

/* Keyframes used by animation classes
 ========================================================================== */
/*
 * Fade
 */
@keyframes uk-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*
 * Slide Top
 */
@keyframes uk-fade-top {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
 * Slide Bottom
 */
@keyframes uk-fade-bottom {
  0% {
    opacity: 0;
    transform: translateY(100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
 * Slide Left
 */
@keyframes uk-fade-left {
  0% {
    opacity: 0;
    transform: translateX(-100%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/*
 * Slide Right
 */
@keyframes uk-fade-right {
  0% {
    opacity: 0;
    transform: translateX(100%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/*
 * Slide Top Small
 */
@keyframes uk-fade-top-small {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
 * Slide Bottom Small
 */
@keyframes uk-fade-bottom-small {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
 * Slide Left Small
 */
@keyframes uk-fade-left-small {
  0% {
    opacity: 0;
    transform: translateX(-10px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/*
 * Slide Right Small
 */
@keyframes uk-fade-right-small {
  0% {
    opacity: 0;
    transform: translateX(10px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/*
 * Slide Top Medium
 */
@keyframes uk-fade-top-medium {
  0% {
    opacity: 0;
    transform: translateY(-50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
 * Slide Bottom Medium
 */
@keyframes uk-fade-bottom-medium {
  0% {
    opacity: 0;
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
 * Slide Left Medium
 */
@keyframes uk-fade-left-medium {
  0% {
    opacity: 0;
    transform: translateX(-50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/*
 * Slide Right Medium
 */
@keyframes uk-fade-right-medium {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/*
 * Scale Up
 */
@keyframes uk-fade-scale-02 {
  0% {
    opacity: 0;
    transform: scale(0.2);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
/*
 * Scale Down
 */
@keyframes uk-fade-scale-18 {
  0% {
    opacity: 0;
    transform: scale(1.8);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
/*
 * Kenburns
 */
@keyframes uk-scale-kenburns {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}
/*
 * Shake
 */
@keyframes uk-shake {
  0%, 100% {
    transform: translateX(0);
  }
  10% {
    transform: translateX(-9px);
  }
  20% {
    transform: translateX(8px);
  }
  30% {
    transform: translateX(-7px);
  }
  40% {
    transform: translateX(6px);
  }
  50% {
    transform: translateX(-5px);
  }
  60% {
    transform: translateX(4px);
  }
  70% {
    transform: translateX(-3px);
  }
  80% {
    transform: translateX(2px);
  }
  90% {
    transform: translateX(-1px);
  }
}
/*
 * Stroke
 */
@keyframes uk-stroke {
  0% {
    stroke-dashoffset: var(--uk-animation-stroke);
  }
  100% {
    stroke-dashoffset: 0;
  }
}
/* ========================================================================
   Component: Cover
 ========================================================================== */
/*
 * Works with iframes and embedded content
 * 1. Apply transform instantly. Needed if transform is transitioned.
 * 2. Reset responsiveness for embedded content
 * 3. Center object
 * Note: Percent values on the `top` property only works if this element
 *       is absolute positioned or if the container has a height
 */
.uk-cover,
[uk-cover] {
  /* 2 */
  max-width: none;
  /* 3 */
  position: absolute;
  left: 50%;
  top: 50%;
  --uk-position-translate-x: -50%;
  --uk-position-translate-y: -50%;
  transform: translate(var(--uk-position-translate-x), var(--uk-position-translate-y));
}

iframe.uk-cover {
  pointer-events: none;
}

/* Container
 ========================================================================== */
/*
 * 1. Parent container which clips resized object
 * 2. Needed if the child is positioned absolute. See note above
 */
.uk-cover-container {
  /* 1 */
  overflow: hidden;
  /* 2 */
  position: relative;
}

/* ========================================================================
   Component: Sticky
 ========================================================================== */
/*
 * 1. Force new layer to resolve frame rate issues on devices with lower frame rates
 */
.uk-sticky-fixed {
  z-index: 980;
  box-sizing: border-box;
  margin: 0 !important;
  /* 1 */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/*
 * Faster animations
 */
.uk-sticky[class*=uk-animation-] {
  animation-duration: 0.2s;
}

.uk-sticky.uk-animation-reverse {
  animation-duration: 0.2s;
}

/* ========================================================================
   Component: Position
 ========================================================================== */
:root {
  --uk-position-margin-offset: 0px;
}

/* Directions
 ========================================================================== */
/*
 * 1. Prevent content overflow.
 */
[class*=uk-position-top],
[class*=uk-position-bottom],
[class*=uk-position-left],
[class*=uk-position-right],
[class*=uk-position-center] {
  position: absolute !important;
  /* 1 */
  max-width: calc(100% - (var(--uk-position-margin-offset) * 2));
  box-sizing: border-box;
}

/*
 * Edges
 * Don't use `width: 100%` because it's wrong if the parent has padding.
 */
.uk-position-top {
  top: 0;
  left: 0;
  right: 0;
}

.uk-position-bottom {
  bottom: 0;
  left: 0;
  right: 0;
}

.uk-position-left {
  top: 0;
  bottom: 0;
  left: 0;
}

.uk-position-right {
  top: 0;
  bottom: 0;
  right: 0;
}

/*
 * Corners
 */
.uk-position-top-left {
  top: 0;
  left: 0;
}

.uk-position-top-right {
  top: 0;
  right: 0;
}

.uk-position-bottom-left {
  bottom: 0;
  left: 0;
}

.uk-position-bottom-right {
  bottom: 0;
  right: 0;
}

/*
 * Center
 * 1. Fix text wrapping if content is larger than 50% of the container.
 *    Using `max-content` requires `max-width` of 100% which is set generally.
 */
.uk-position-center {
  top: calc(50% - var(--uk-position-margin-offset));
  left: calc(50% - var(--uk-position-margin-offset));
  --uk-position-translate-x: -50%;
  --uk-position-translate-y: -50%;
  transform: translate(var(--uk-position-translate-x), var(--uk-position-translate-y));
  /* 1 */
  width: max-content;
}

/* Vertical */
[class*=uk-position-center-left],
[class*=uk-position-center-right] {
  top: calc(50% - var(--uk-position-margin-offset));
  --uk-position-translate-y: -50%;
  transform: translate(0, var(--uk-position-translate-y));
}

.uk-position-center-left {
  left: 0;
}

.uk-position-center-right {
  right: 0;
}

.uk-position-center-left-out {
  right: 100%;
  width: max-content;
}

.uk-position-center-right-out {
  left: 100%;
  width: max-content;
}

/* Horizontal */
.uk-position-top-center,
.uk-position-bottom-center {
  left: calc(50% - var(--uk-position-margin-offset));
  --uk-position-translate-x: -50%;
  transform: translate(var(--uk-position-translate-x), 0);
  /* 1 */
  width: max-content;
}

.uk-position-top-center {
  top: 0;
}

.uk-position-bottom-center {
  bottom: 0;
}

/*
 * Cover
 */
.uk-position-cover {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

/* Margin
 ========================================================================== */
.uk-position-small {
  margin: 15px;
  --uk-position-margin-offset: 15px;
}

.uk-position-medium {
  margin: 30px;
  --uk-position-margin-offset: 30px;
}

.uk-position-large {
  margin: 30px;
  --uk-position-margin-offset: 30px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-position-large {
    margin: 50px;
    --uk-position-margin-offset: 50px;
  }
}
/* Schemes
 ========================================================================== */
.uk-position-relative {
  position: relative !important;
}

.uk-position-absolute {
  position: absolute !important;
}

.uk-position-fixed {
  position: fixed !important;
}

.uk-position-sticky {
  position: sticky !important;
}

/* Layer
 ========================================================================== */
.uk-position-z-index {
  z-index: 1;
}

.uk-position-z-index-zero {
  z-index: 0;
}

.uk-position-z-index-negative {
  z-index: -1;
}

.uk-position-z-index-high {
  z-index: 990;
}

.uk-position-z-index-highest {
  z-index: 1060;
}

/* ========================================================================
   Component: Height
 ========================================================================== */
[class*=uk-height] {
  box-sizing: border-box;
}

/*
 * Only works if parent element has a height set
 */
.uk-height-1-1 {
  height: 100%;
}

/*
 * Useful to create image teasers
 */
.uk-height-viewport {
  min-height: 100vh;
}

.uk-height-viewport-2 {
  min-height: 200vh;
}

.uk-height-viewport-3 {
  min-height: 300vh;
}

.uk-height-viewport-4 {
  min-height: 400vh;
}

/*
 * Pixel
 * Useful for `overflow: auto`
 */
.uk-height-small {
  height: 150px;
}

.uk-height-medium {
  height: 300px;
}

.uk-height-large {
  height: 450px;
}

.uk-height-max-small {
  max-height: 150px;
}

.uk-height-max-medium {
  max-height: 300px;
}

.uk-height-max-large {
  max-height: 450px;
}

/*
gutenberg-content 

    gtb_cust    Nouveau block créé
    gtb_def     Block par default
    gtb_pat     Block pattern







data-align="center"           aligncenter 

data-align="wide"             alignwide
data-align="full"             alignfull

data-align="left"             alignleft
data-align="right"            alignright

*/
.gutenberg-content > .wp-block-columns,
.gutenberg-content > .wp-block-cover, .gutenberg-content > .wp-block-gallery.alignright,
.gutenberg-content > .wp-block-gallery.alignleft {
  margin-bottom: 4rem;
}
@media (min-width: 992px) {
  .gutenberg-content > .wp-block-columns,
  .gutenberg-content > .wp-block-cover, .gutenberg-content > .wp-block-gallery.alignright,
  .gutenberg-content > .wp-block-gallery.alignleft {
    margin-bottom: 6rem;
  }
}

.gutenberg-content {
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 992px) {
  .gutenberg-content > .gtb_cust.pb-lg-6 + .section-conteneur {
    margin-top: -6rem !important;
  }
}
.gutenberg-content > .wp-block-media-text,
.gutenberg-content > .aligncenter,
.gutenberg-content > .gtb_def {
  flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
  margin-left: 8.3333333333%;
}
@media (min-width: 992px) {
  .gutenberg-content > .wp-block-media-text,
  .gutenberg-content > .aligncenter,
  .gutenberg-content > .gtb_def {
    flex: 0 0 50%;
    max-width: 50%;
    margin-left: 25%;
  }
}
.gutenberg-content .alignwide {
  flex: 0 0 80%;
  max-width: 80%;
  margin-left: 10%;
}
.gutenberg-content .alignfull {
  flex: 0 0 100%;
  max-width: 100%;
  margin-left: 0%;
}
.gutenberg-content > .wp-block-media-text {
  margin-top: 4rem;
  margin-bottom: 4rem;
}
.gutenberg-content > .wp-block-media-text ~ .wp-block-media-text {
  margin-top: 0rem;
}
@media (min-width: 992px) {
  .gutenberg-content > .wp-block-media-text ~ .wp-block-media-text {
    margin-top: 2rem;
  }
}
@media (max-width: 575.98px) {
  .gutenberg-content > .wp-block-media-text {
    flex: 0 0 100%;
    max-width: 100%;
    margin-left: 0%;
  }
}
.gutenberg-content > .wave_double {
  flex: 0 0 100%;
  max-width: 100%;
}
.gutenberg-content > .titre_double_c .titre_double {
  /* wp-content\themes\plune\template-parts\blocks-gutenberg\titre-double\block.scss */
  /*  col-10 col-xl-8 offset-1 offset-xl-2 mb-4 */
  flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
  margin-left: 8.3333333333%;
  margin-bottom: 1.5rem;
}
@media (min-width: 1200px) {
  .gutenberg-content > .titre_double_c .titre_double {
    flex: 0 0 50%;
    max-width: 50%;
    margin-left: 25%;
    margin-bottom: 6rem;
  }
}
.gutenberg-content > .wp-block-gallery.alignright,
.gutenberg-content > .wp-block-gallery.alignleft {
  flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
  margin-left: 8.3333333333%;
}
@media (min-width: 992px) {
  .gutenberg-content > .wp-block-gallery.alignleft {
    flex: 0 0 39.5833333333%;
    max-width: 39.5833333333%;
    margin-left: 8.3333333333%;
  }
}
@media (min-width: 992px) {
  .gutenberg-content > .wp-block-gallery.alignright {
    flex: 0 0 39.5833333333%;
    max-width: 39.5833333333%;
    margin-left: 4.1666666667%;
  }
}
.gutenberg-content > .wp-block-columns,
.gutenberg-content > .wp-block-cover {
  flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
  margin-left: 8.3333333333%;
}

.wp-block-quote {
  padding-top: 0.4rem;
  padding-bottom: 0.6rem;
  border-color: #606C38;
}
.wp-block-quote .text {
  margin-bottom: 0.3rem;
}

.wp-block-buttons {
  display: block;
}
.wp-block-buttons > .wp-block-button {
  display: block;
}

.item_video iframe.embed-responsive-item {
  pointer-events: none;
  user-select: none;
}

.item_video.embed-responsive-15by7[data-format-video="16_9"] iframe.embed-responsive-item {
  transform: scale(1.54);
}

.item_video.embed-responsive-21by9[data-format-video="16_9"] iframe.embed-responsive-item {
  transform: scale(1.35185);
}

.menu-item a[href="#"] {
  pointer-events: none;
}

::selection {
  color: #391C11;
  background: rgba(96, 108, 56, 0.6);
}

@media (min-width: 992px) {
  .h70vh-lg, .img_full_tx.med .images_c_img {
    height: 70vh;
  }
  .h70vh-lg img, .img_full_tx.med .images_c_img img {
    object-fit: cover;
  }
}

@media (min-width: 992px) {
  .h100vh-lg, .img_full_tx .images_c_img {
    height: 100vh;
  }
  .h100vh-lg img, .img_full_tx .images_c_img img {
    object-fit: cover;
  }
}

.htestvh {
  height: 100vh;
}
.htestvh img {
  object-fit: cover;
}

.h100vh {
  height: 100vh;
}
.h100vh img {
  object-fit: cover;
}

.embed-responsive {
  background: linear-gradient(180deg, #c5d7ac, #606C38);
}

.fancybox__content {
  background-color: transparent;
}

.uk-section .item_uk-3 {
  height: 100vh;
  padding: 200px 0;
}
.uk-section .titre_double_c .soustitre,
.uk-section .titre_double_c .titre {
  color: #fff;
}

i.i-lezard {
  display: inline-block;
  width: 120px;
  height: 61px;
  background: url("../img/img_deco/i-lezard.svg") no-repeat;
  filter: invert(90%) sepia(2%) saturate(1924%) hue-rotate(188deg) brightness(99%) contrast(91%);
}
@media (min-width: 576px) {
  i.i-lezard {
    width: 160px;
    height: 81px;
    transform: translate(0, -10%);
    margin-right: -5rem;
  }
}
@media (min-width: 992px) {
  i.i-lezard {
    width: 300px;
    height: 152px;
    filter: none;
    transform: translate(0, -10%);
    margin-right: -11rem;
  }
}

.deco_scotch_tape {
  display: inline-block;
  padding: 0;
  width: 44%;
  background-image: url("../img/titre-post-it-scotch-tape.png");
  background-repeat: no-repeat;
  background-size: cover;
}
.deco_scotch_tape:before {
  display: block;
  content: " ";
  padding-top: 59.6899224806%;
}

.tx_img .tx_img-tx .deco_png {
  overflow: hidden;
  padding: 2rem;
}
@media (min-width: 992px) {
  .tx_img .tx_img-tx .deco_png {
    margin-top: -4rem;
  }
}
.tx_img .tx_img-tx .deco_png + .inner {
  padding-top: 0 !important;
}

@media (min-width: 768px) {
  .tx_img.tx_img-x1-2 .titre_double_c .deco_png {
    /* Reset pour ce bloc */
    position: static;
    top: auto;
    right: auto;
  }
}

.titre_double_c .deco_png {
  width: 190px;
  overflow: hidden;
  padding: 2rem;
  margin: 0 auto -0.6rem;
  pointer-events: none;
}
@media (min-width: 768px) {
  .titre_double_c .deco_png {
    position: absolute;
    z-index: -1;
    z-index: 0;
    top: 0;
    right: 0%;
    margin-bottom: 0;
  }
}
@media (min-width: 992px) {
  .titre_double_c .deco_png {
    width: 360px;
  }
}
.titre_double_c .deco_png.left {
  right: auto;
  left: 0%;
}
@media (min-width: 768px) {
  .titre_double_c .deco_png.deco-smile_main {
    transform: translate(-34%, 10%);
  }
}
.titre_double_c .deco_png.deco-hamac_and_fleurs_x3.left {
  /* Fleur */
  transform: translate(20%, 0%);
  margin-bottom: -4rem;
}
@media (min-width: 768px) {
  .titre_double_c .deco_png.deco-hamac_and_fleurs_x3.left {
    transform: translate(30%, -20%);
    margin-bottom: 0;
  }
}
.titre_double_c .deco_png.deco-hamac_and_fleurs_x3.right {
  /* Hamac */
  transform: translate(-20%, 0%);
}
@media (min-width: 768px) {
  .titre_double_c .deco_png.deco-hamac_and_fleurs_x3.right {
    transform: translate(-24%, 0%);
  }
}
.titre_double_c .deco_png.deco-pins-pomme_and_deco-coeurs_x3.right {
  /* 3 coeurs */
  width: 120px;
  margin-bottom: -6rem;
  transform: translate(-40%, 0%);
}
@media (min-width: 768px) {
  .titre_double_c .deco_png.deco-pins-pomme_and_deco-coeurs_x3.right {
    width: 150px;
  }
}
@media (min-width: 1600px) {
  .titre_double_c .deco_png.deco-pins-pomme_and_deco-coeurs_x3.right {
    width: 150px;
    transform: translate(-190%, -40%);
    margin-bottom: 0;
  }
}
.titre_double_c .deco_png.deco-pins-pomme_and_deco-coeurs_x3.left {
  /* Pommme de pins */
  transform: translate(20%, 0%);
}
@media (min-width: 768px) {
  .titre_double_c .deco_png.deco-pins-pomme_and_deco-coeurs_x3.left {
    transform: translate(5%, 7%);
  }
}
.titre_double_c .deco_png.deco-cactus {
  right: auto;
  left: 0%;
}
.titre_double_c .deco_png.deco--cactus_lezard {
  width: 180px;
}
@media (min-width: 768px) {
  .titre_double_c .deco_png.deco--cactus_lezard {
    width: 270px;
    transform: translate(0%, -20%);
  }
}
.titre_double_c .deco_png.deco-ballon {
  width: 160px;
}
@media (min-width: 768px) {
  .titre_double_c .deco_png.deco-ballon {
    width: 200px;
    transform: translate(-20%, 0%);
  }
}
@media (min-width: 992px) {
  .titre_double_c .deco_png.deco-ballon {
    width: 240px;
  }
}

.tx_img .titre_double {
  max-width: none;
  margin-left: 0;
}

@media (max-width: 991.98px) {
  .embed-responsive .btn {
    text-indent: -9999px;
  }
}
.embed-responsive .btn {
  color: #F6F7EE;
  text-shadow: 0px 0px 8px #391c11, 0px 0px 4px #391c11;
  position: absolute;
  z-index: 100;
  bottom: 0;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, 0%);
}
.embed-responsive .btn i {
  border-color: #F6F7EE;
  box-shadow: 0px 0px 8px rgba(57, 28, 17, 0.3), 0px 0px 4px rgba(57, 28, 17, 0.3);
  background-color: rgba(57, 28, 17, 0.2);
  transition: all 0.2s;
}
.embed-responsive .btn i:after, .embed-responsive .btn i:before {
  background-color: #F6F7EE;
}
@media (max-width: 991.98px) {
  .embed-responsive .btn i {
    margin-left: 0;
  }
}
.embed-responsive:hover .btn i {
  background-color: rgba(57, 28, 17, 0.8);
}

/**
.header_novis {}
.header_isvis {}
*/
.header_novis .logo_min {
  transform: translate(0, 0px);
}

@media (min-width: 992px) {
  .header_isvis .logo_min {
    top: 16px;
  }
}

.logo_min {
  position: fixed;
  z-index: 121;
  top: 10px;
  left: 26px;
  transform: translate(0, -100px);
  transition: all 0.3s;
  width: 200px;
}
@media (max-width: 991.98px) {
  .logo_min {
    top: 15px;
    left: 10px;
  }
  .logo_min svg,
  .logo_min img {
    width: 100px;
    height: auto;
  }
}
@media (min-width: 992px) {
  .logo_min {
    top: 30px;
  }
}

.text_c__r {
  order: 1;
  margin-left: 8.3333333333%;
}
@media (min-width: 992px) {
  .text_c__r {
    margin-left: 6.6666666667%;
    order: 2;
  }
}
.text_c__r > .inner::after {
  display: block;
  clear: both;
  content: "";
}
.text_c__r .item {
  float: left;
}
.text_c__r .img_1 {
  width: 50%;
  margin-top: 3rem;
  margin-bottom: 1rem;
}
@media (min-width: 992px) {
  .text_c__r .img_1 {
    width: 41.6666666667%;
    margin-top: 5rem;
    margin-left: 10%;
  }
}
.text_c__r .img_2 {
  width: 41.6666666667%;
  margin-left: 8.3333333333%;
  margin-bottom: 1rem;
}
@media (min-width: 992px) {
  .text_c__r .img_2 {
    margin-left: 1rem;
    width: 45.8333333333%;
  }
}
.text_c__r .img_3 {
  width: 37.5%;
  margin-left: 1rem;
  margin-bottom: 1rem;
}

.slider-img_full_info .text_c__r span.btn_std, .slider-img_full_info .text_c__r span.wp-block-button__link {
  text-transform: inherit;
}
@media (min-width: 992px) {
  .slider-img_full_info .text_c__r {
    margin-left: 0;
  }
}
@media (min-width: 992px) {
  .slider-img_full_info .text_c__r.left .img_1 {
    margin-left: 8%;
  }
}
@media (min-width: 992px) {
  .slider-img_full_info .text_c__r.right .img_1 {
    margin-left: 2%;
  }
}

.bg_color {
  margin-bottom: 1.5rem;
}
@media (min-width: 992px) {
  .bg_color {
    margin-bottom: 6rem;
  }
}
.bg_color + .bg_color {
  margin-bottom: 0;
}
.bg_color:after {
  background: #F6F7EE url("../img/texture-fond.jpg") center bottom repeat-x !important;
}

.card_slider-img_tx_info .content .titre_double_c:after, .img_full_tx .images_c_text h2:after {
  content: " ";
  display: block;
  height: 2px;
  background: url(../../assets/img/dot.png);
  margin: 1rem 0 2rem 0rem;
  width: 108.3333333333%;
}
@media (min-width: 992px) {
  .card_slider-img_tx_info .content .titre_double_c:after, .img_full_tx .images_c_text h2:after {
    width: 200%;
    margin: 3rem 0 4rem -4rem;
  }
}

@keyframes animatedBackground {
  0% {
    filter: blur(0px);
    transform: rotate(0deg) skewY(0deg) skewX(0deg) translateZ(0) translateX(0) translateY(0);
  }
  100% {
    filter: blur(5px);
    transform: rotate(-2deg) skewY(-3deg) skewX(-2deg) translateZ(0px) translateX(13px) translateY(-9px);
  }
}
/* fleur orange */
@keyframes animatedBackgroundOliv {
  0% {
    transform: rotate(0deg) skewY(0deg) skewX(0deg) translateZ(0) translateX(4%) translateY(0);
  }
  100% {
    transform: rotate(-4deg) skewY(-1deg) skewX(-5deg) translateZ(0px) translateX(0%) translateY(1%);
  }
}
/* Hamac */
@keyframes animatedhamac {
  0% {
    transform: rotate(-4deg) skewY(0deg) skewX(3deg) translateZ(0) translateX(0%) translateY(0);
  }
  100% {
    transform: rotate(7deg) skewY(-9deg) skewX(7deg) translateZ(0px) translateX(0%) translateY(0%);
  }
}
/* 3 fleurs */
@keyframes animatedflowerx3 {
  0% {
    transform: rotate(-4deg) skewY(0deg) skewX(3deg) translateZ(0) translateX(0%) translateY(0);
  }
  100% {
    transform: rotate(11deg) skewY(-9deg) skewX(7deg) translateZ(0px) translateX(0%) translateY(0%);
  }
}
/* 3 fleurs */
@keyframes animatedpomme {
  0% {
    transform: rotate(-2deg) skewY(0deg) skewX(0deg) translateZ(0) translateX(0%) translateY(0);
  }
  100% {
    transform: rotate(2deg) skewY(0deg) skewX(1deg) translateZ(0) translateX(0%) translateY(2%);
  }
}
.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes pulse {
  50% {
    opacity: 0.5;
    transform: scale(0.95);
  }
}
.hero_content .titre_double {
  font-size: 0.7rem;
}
@media (min-width: 576px) {
  .hero_content .titre_double {
    font-size: 0.8rem;
  }
}
@media (min-width: 768px) {
  .hero_content .titre_double {
    font-size: 2rem;
  }
}
@media (min-width: 992px) {
  .hero_content .titre_double {
    font-size: 2.2rem;
  }
}
@media (min-width: 1200px) {
  .hero_content .titre_double {
    font-size: 2.7rem;
  }
}
@media (min-width: 1600px) {
  .hero_content .titre_double {
    font-size: 3.25rem;
  }
}
.hero_content img {
  user-select: none;
}

/* contien les bouton prev next et le content slide */
.hero_slider {
  overflow: hidden;
  position: relative;
}

a.img_popup img {
  transition: all 0.2s;
}
a.img_popup:hover img {
  opacity: 0.6;
}
a.img_popup .ico_zoom {
  position: absolute;
  z-index: 110;
  top: 0.5rem;
  right: 0.5rem;
  width: 1.4rem;
  height: 1.4rem;
  background: transparent;
}
a.img_popup .ico_zoom img {
  filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%);
}

.pm__lieu.selected .pm__lieu__title {
  color: #391C11;
}

.pm__filters__button, .pm__filters__all button {
  border: none;
  background: transparent;
}

.pm__lieu__title {
  color: #606C38;
  font-size: 1.2rem;
  line-height: 1;
  font-weight: 400;
}

.pm__lieu__cats {
  border-bottom: 1px solid #606C38;
}

.pm__lieu__cat {
  color: #391C11 !important;
  font-size: 0.7rem;
}

.pm__lieu__excerpt {
  font-size: 0.7rem;
  margin-top: 13px;
}

.pm__lieu__link {
  font-size: 0.7rem !important;
  display: inline-block !important;
}

.pm__left,
.pm__right {
  padding-top: 0 !important;
}

.pm__header {
  min-height: initial;
}

.pm {
  height: 100vh;
}

@media (min-width: 768px) {
  .pm__left {
    height: 100vh;
    position: sticky;
    top: 0;
  }
}

.svg_wave_img {
  fill: #F6F7EE;
  position: absolute;
  bottom: 0;
}

.xdebug-var-dump,
.var_dump {
  color: #fff;
  font-size: 0.8rem;
  display: block;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 2022;
  padding: 0.4rem 1rem;
  border-bottom: 1px solid #fff;
  background-color: #333;
}
.xdebug-var-dump span[style="color: #0000BB"],
.var_dump span[style="color: #0000BB"] {
  color: #fff !important;
}
.xdebug-var-dump span[style="color: #DD0000"],
.var_dump span[style="color: #DD0000"] {
  color: #1ca3d0 !important;
}
.xdebug-var-dump span[style="color: #007700"],
.var_dump span[style="color: #007700"] {
  color: #c1a243 !important;
}
.xdebug-var-dump > code,
.var_dump > code {
  overflow-y: auto;
  display: block;
}

/* Page lieu > fiche */
.button-container--center {
  text-align: center;
}

/* END > Page lieu > fiche */
.breadcrumb {
  background-color: transparent;
  padding-left: 8.3333333333%;
  padding-right: 8.3333333333%;
}
.breadcrumb a {
  color: #84934F;
}

@-webkit-keyframes Gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@-moz-keyframes Gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes Gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.warn {
  position: absolute;
  z-index: 1000;
  pointer-events: none;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 0.8rem;
  display: block;
  padding: 0.4rem 0.8rem 0.6rem;
  background: linear-gradient(-45deg, #EE7752, #E73C7E, #23A6D5, #23D5AB);
  background-size: 400% 400%;
  animation: Gradient 7s ease infinite;
}

.warn-l,
.warn-r {
  position: relative;
}
.warn-l i,
.warn-r i {
  content: " ";
  display: block;
  width: 13px;
  height: 13px;
  position: absolute;
  top: 0;
  border-radius: 100%;
  background: linear-gradient(-45deg, #EE7752, #E73C7E, #23A6D5, #23D5AB);
  background-size: 400% 400%;
  animation: Gradient 7s ease infinite;
}

.warn-r i {
  right: 0;
}

.warn-l i {
  left: 0;
}

#TA_cdsratingsonlynarrow753 {
  width: 136px;
  height: 108px;
  margin: 0 auto;
  overflow: hidden;
}

@media (max-width: 991.98px) {
  .info_top > ctv-offers {
    display: inline-block;
    text-align: center;
  }
}
@media (min-width: 992px) {
  .info_top {
    text-align: right;
    position: absolute;
    z-index: 140;
    left: 2%;
    bottom: 0%;
  }
}

a.link_cover:after {
  content: " ";
  display: block;
  z-index: 1020;
  inset: 0;
  position: absolute;
}
a.link_cover:hover {
  text-decoration: none;
}

/* --- Link vers la barre de réservation --- */
@media (max-width: 991.98px) {
  #main_footer {
    border-bottom: 70px solid #606C38;
  }
}

a.link_resa {
  position: fixed;
  z-index: 1030;
  transition: all 0.2s;
  bottom: 6px;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, 0);
  display: none !important;
}
@media (min-width: 768px) {
  a.link_resa {
    display: inline-flex !important;
    top: 10px;
    right: 50px;
    /* Reset */
    bottom: auto;
    transform: none;
    margin-right: 0;
    left: auto;
  }
}
@media (min-width: 992px) {
  a.link_resa {
    top: 30px;
  }
}
a.link_resa {
  /* --- At root --- */
}
a.link_resa {
  /* --- END > At root --- */
}

@media (min-width: 992px) {
  .isScroll a.link_resa {
    top: 10px;
  }
}

/* --- END > Link vers la barre de réservation --- */
@media screen and (orientation: portrait) and (media-breakpoint-down(sm)) {
  .head-wrapper + .content_img {
    /* Style à appliquer lorsque le périphérique est en mode portrait */
  }
}
@media screen and (orientation: landscape) and (media-breakpoint-down(sm)) {
  .head-wrapper + .content_img {
    /* Style à appliquer lorsque le périphérique est en mode paysage */
  }
}

.head-wrapper {
  position: relative;
}

.elemShowHide {
  display: none;
}

.hide_label [class*=label] {
  display: none;
}

.sticky {
  position: sticky;
  flex: 1;
  top: 2rem;
  width: 100%;
}

/* --- Reset ul --- */
.lazy-bgi {
  background-size: cover;
  background-position: center;
}

/* --- END > Reset ul --- */
/* --- Ico Zoom --- */
.ico-zoom {
  position: absolute;
  z-index: 130;
  top: 10px;
  right: 10px;
  width: 30px;
  height: 30px;
  fill: #fff;
}

/* --- END > Ico Zoom --- */
/* --- Reset ul --- */
.list_reseaux-ul li, .list_btn li, .menu-footer li, .menu-V1 ul li, .list_dbl_tx_bis li, .list_dbl_tx li, .list_picto li, .tabs-wrapper .tabs-nav li, .main_slider .slick-dots li, .gtb.list_ul li, .ck_tx li, .li_first_reset > ul li {
  list-style-type: none;
}

/* --- END > Reset ul --- */
/* --- First Letter --- */
.h1:first-letter, .ck_tx .h1:first-letter,
.ck_tx h1:first-letter, h1.gtb_blk:first-letter,
.h2:first-letter,
.ck_tx .h2:first-letter,
.ck_tx h2:first-letter,
h2.gtb_blk:first-letter,
.h3:first-letter,
.ck_tx .h3:first-letter,
.ck_tx h3:first-letter,
h3.gtb_blk:first-letter,
.h4:first-letter,
.ck_tx .h4:first-letter,
.ck_tx h4:first-letter,
h4.gtb_blk:first-letter,
.h5:first-letter,
.ck_tx .h5:first-letter,
.ck_tx h5:first-letter,
h5.gtb_blk:first-letter,
.h6:first-letter,
.ck_tx .h6:first-letter,
.ck_tx h6:first-letter,
h6.gtb_blk:first-letter, .ck_tx p:first-letter {
  text-transform: uppercase;
}

/* --- END > First Letter --- */
/* --- Stroke --- */
.vignette-horizontal .desc:before, .tx_img .bg_i .ck_tx-content:before {
  content: " ";
  display: block;
  background-color: #606C38;
  width: 70%;
  height: 1px;
  margin: 20px auto;
}

/* --- END > Stroke --- */
/* --- Opacity & gradient UNDER --- */
.op-100:after, .op-90:after, .op-80:after, .op-70:after, .op-60:after, .op-50:after, .op-40:after, .card_loc .embed-responsive.img_popup:after, .op-30:after, .card_avis.img_i.desc_i .img:after, .card_loc:hover .embed-responsive.img_popup:after, .tx_img-img .link:hover:after, .op-20:after, .op-10:after, .op-0:after, .tx_img-img .link:after {
  content: " ";
  display: block;
  position: absolute;
  z-index: 120;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: background-color 0.2s;
}

.op-0:after, .tx_img-img .link:after {
  background-color: rgba(0, 0, 0, 0);
}

.op-10:after {
  background-color: rgba(0, 0, 0, 0.1);
}

.op-20:after {
  background-color: rgba(0, 0, 0, 0.2);
}

.op-30:after, .card_avis.img_i.desc_i .img:after, .card_loc:hover .embed-responsive.img_popup:after, .tx_img-img .link:hover:after {
  background-color: rgba(0, 0, 0, 0.3);
}

.op-40:after, .card_loc .embed-responsive.img_popup:after {
  background-color: rgba(0, 0, 0, 0.4);
}

.op-50:after {
  background-color: rgba(0, 0, 0, 0.5);
}

.op-60:after {
  background-color: rgba(0, 0, 0, 0.6);
}

.op-70:after {
  background-color: rgba(0, 0, 0, 0.7);
}

.op-80:after {
  background-color: rgba(0, 0, 0, 0.8);
}

.op-90:after {
  background-color: rgba(0, 0, 0, 0.9);
}

.op-100:after {
  background-color: black;
}

/* --- END > Opacity & gradient UNDER --- */
/* --- Text shadow --- */
.card_loc-price, .card_loc .soustitre, .card_loc .titre, .card_loc .picto__label {
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.7);
}

/* --- END > Text shadow --- */
/* --- SVG shadow --- */
.ico-zoom {
  filter: drop-shadow(0px 2px 3px rgba(0, 0, 0, 0.6));
}

/* --- END > SVG shadow --- */
/* --- Image padding ratio --- */
/* --- END > Image padding ratio --- */
/* --- Loader --- */
.loader {
  display: block;
  position: absolute;
  z-index: 300;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, -50%);
}
.loader svg {
  width: 130px;
  height: 130px;
  animation: spin 3s linear infinite;
}
@keyframes spin {
  from {
    transform: rotate(1turn);
  }
}
.loader path {
  fill: none;
  stroke: dodgerblue;
  stroke-width: 5;
  stroke-dasharray: 430;
  stroke-dashoffset: 860;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-alignment: center;
  animation: load 2s ease-in-out infinite;
}
@keyframes load {
  to {
    stroke-dashoffset: 0;
  }
}

/* --- END > Loader --- */
/* --- Image de fond --- */
.bg_i {
  background: var(--bg-img--xs) no-repeat center;
  background-size: cover;
}
@media (min-width: 768px) {
  .bg_i {
    background-image: var(--bg-img--md);
  }
}
@media (min-width: 1200px) {
  .bg_i {
    background-image: var(--bg-img--xl);
  }
}
@media (min-width: 1600px) {
  .bg_i {
    background-image: var(--bg-img--xxl);
  }
}

/* --- END > Image de fond --- */
/* --- Image cover --- */
.img_cover, .tx_img.img_cover_i .tx_img-img .item {
  /* --- */
}
.img_cover.fit-nok, .tx_img.img_cover_i .tx_img-img .fit-nok.item {
  background-size: cover;
  background-position: center center;
}
.img_cover.fit-nok img, .tx_img.img_cover_i .tx_img-img .fit-nok.item img {
  opacity: 0;
}
.img_cover, .tx_img.img_cover_i .tx_img-img .item {
  /* --- */
}
.img_cover img, .tx_img.img_cover_i .tx_img-img .item img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: center center;
}
.img_cover, .tx_img.img_cover_i .tx_img-img .item {
  /* --- */
}

/* --- END > Image cover --- */
/* --- Séparateur --- */
.separate_100, .separate_95, .separate_90, .separate_85, .separate_80, .separate_75, .separate_70, .separate_65, .separate_60, .separate_55, .separate_50, .separate_45, .separate_40, .separate_35, .separate_30, .separate_25, .separate_20, .separate_15, .separate_10, .separate_5 {
  display: block;
  width: 100%;
}

/*multipliers*/
.separate_5 {
  height: 2.5px;
}
@media (min-width: 992px) {
  .separate_5 {
    height: 5px;
  }
}

.separate_10 {
  height: 5px;
}
@media (min-width: 992px) {
  .separate_10 {
    height: 10px;
  }
}

.separate_15 {
  height: 7.5px;
}
@media (min-width: 992px) {
  .separate_15 {
    height: 15px;
  }
}

.separate_20 {
  height: 10px;
}
@media (min-width: 992px) {
  .separate_20 {
    height: 20px;
  }
}

.separate_25 {
  height: 12.5px;
}
@media (min-width: 992px) {
  .separate_25 {
    height: 25px;
  }
}

.separate_30 {
  height: 15px;
}
@media (min-width: 992px) {
  .separate_30 {
    height: 30px;
  }
}

.separate_35 {
  height: 17.5px;
}
@media (min-width: 992px) {
  .separate_35 {
    height: 35px;
  }
}

.separate_40 {
  height: 20px;
}
@media (min-width: 992px) {
  .separate_40 {
    height: 40px;
  }
}

.separate_45 {
  height: 22.5px;
}
@media (min-width: 992px) {
  .separate_45 {
    height: 45px;
  }
}

.separate_50 {
  height: 25px;
}
@media (min-width: 992px) {
  .separate_50 {
    height: 50px;
  }
}

.separate_55 {
  height: 27.5px;
}
@media (min-width: 992px) {
  .separate_55 {
    height: 55px;
  }
}

.separate_60 {
  height: 30px;
}
@media (min-width: 992px) {
  .separate_60 {
    height: 60px;
  }
}

.separate_65 {
  height: 32.5px;
}
@media (min-width: 992px) {
  .separate_65 {
    height: 65px;
  }
}

.separate_70 {
  height: 35px;
}
@media (min-width: 992px) {
  .separate_70 {
    height: 70px;
  }
}

.separate_75 {
  height: 37.5px;
}
@media (min-width: 992px) {
  .separate_75 {
    height: 75px;
  }
}

.separate_80 {
  height: 40px;
}
@media (min-width: 992px) {
  .separate_80 {
    height: 80px;
  }
}

.separate_85 {
  height: 42.5px;
}
@media (min-width: 992px) {
  .separate_85 {
    height: 85px;
  }
}

.separate_90 {
  height: 45px;
}
@media (min-width: 992px) {
  .separate_90 {
    height: 90px;
  }
}

.separate_95 {
  height: 47.5px;
}
@media (min-width: 992px) {
  .separate_95 {
    height: 95px;
  }
}

.separate_100 {
  height: 50px;
}
@media (min-width: 992px) {
  .separate_100 {
    height: 100px;
  }
}

/* --- END > Séparateur --- */
/** ****************************************************************************
* === Sprite PNG
***************************************************************************** */
.sgpb-main-html-content-wrapper > [class*=px-] {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.sgpb-main-html-content-wrapper > [class*=py-] {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.sgpb-main-html-content-wrapper > [class*=pt-] {
  padding-top: 0 !important;
}
.sgpb-main-html-content-wrapper > [class*=pb-] {
  padding-bottom: 0 !important;
}
.sgpb-main-html-content-wrapper > [class*=pr-] {
  padding-right: 0 !important;
}
.sgpb-main-html-content-wrapper > [class*=pl-] {
  padding-left: 0 !important;
}
.sgpb-main-html-content-wrapper > [class*=mx-] {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.sgpb-main-html-content-wrapper > [class*=my-] {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.sgpb-main-html-content-wrapper > [class*=mt-] {
  margin-top: 0 !important;
}
.sgpb-main-html-content-wrapper > [class*=mb-] {
  margin-bottom: 0 !important;
}
.sgpb-main-html-content-wrapper > [class*=mr-] {
  margin-right: 0 !important;
}
.sgpb-main-html-content-wrapper > [class*=ml-] {
  margin-left: 0 !important;
}

/*
  Youtube player PORTRAIT ON
*/
.yt_p_i #iframe-landscape_content {
  display: none;
}
@media (min-width: 576px) {
  .yt_p_i #iframe-portrait_content {
    display: none;
  }
  .yt_p_i #iframe-landscape_content {
    display: block;
  }
}

/*
  Youtube player PORTRAIT OFF
*/
.wp-block-acf-section-conteneur {
  max-width: 100%;
}

.bg-bois {
  background-image: url("../../src/img/img_deco/bois-2.png");
  background-position: center 10rem;
  background-repeat: no-repeat;
  background-size: contain;
}

.section-conteneur.bg-bois:after {
  content: " ";
  display: block;
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  top: 0;
  height: 8rem;
  background-image: linear-gradient(#eaeddb 60%, rgba(234, 237, 219, 0));
  pointer-events: none;
}
@media (min-width: 992px) {
  .section-conteneur.bg-bois:after {
    height: 18rem;
  }
}
.section-conteneur.forme-castor_h {
  background-image: url("../../src/img/img_deco/forme-castor_h.png");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100%;
}
@media (min-width: 1600px) {
  .section-conteneur.cigogne_and_petit {
    padding-bottom: 11rem;
  }
}
.section-conteneur.cigogne_and_petit:before {
  content: " ";
  display: block;
  position: absolute;
  z-index: 5;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-image: url("../../src/img/img_deco/cigogne_and_petit.png");
  background-position: right -3rem bottom;
  background-repeat: no-repeat;
  background-size: 40%;
  pointer-events: none;
}
@media (min-width: 1600px) {
  .section-conteneur.cigogne_and_petit:before {
    background-size: auto;
  }
}
.section-conteneur.cigogne:before {
  content: " ";
  display: block;
  position: absolute;
  z-index: 5;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-image: url("../../src/img/img_deco/cigogne.png");
  background-position: right -4rem bottom 2rem;
  background-repeat: no-repeat;
  background-size: 40%;
  transform: scaleX(-1);
  pointer-events: none;
}
@media (min-width: 1600px) {
  .section-conteneur.cigogne:before {
    background-size: auto;
  }
}
.section-conteneur.bretzel:before {
  content: " ";
  display: block;
  position: absolute;
  z-index: 0;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-image: url("../../src/img/img_deco/bretzel.png");
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 40%;
  pointer-events: none;
}
@media (min-width: 1600px) {
  .section-conteneur.bretzel:before {
    background-size: auto;
    z-index: 0;
  }
}
h1.titre_double {
  font-size: 0.7rem;
}
@media (min-width: 576px) {
  h1.titre_double {
    font-size: 0.8rem;
  }
}
@media (min-width: 768px) {
  h1.titre_double {
    font-size: 1.5rem;
  }
}
@media (min-width: 992px) {
  h1.titre_double {
    font-size: 1.7rem;
  }
}
@media (min-width: 1200px) {
  h1.titre_double {
    font-size: 2.2rem;
  }
}
@media (min-width: 1600px) {
  h1.titre_double {
    font-size: 2.75rem;
  }
}

h2.titre_double {
  font-size: 0.5rem;
}
@media (min-width: 576px) {
  h2.titre_double {
    font-size: 0.7rem;
  }
}
@media (min-width: 768px) {
  h2.titre_double {
    font-size: 0.8rem;
  }
}
@media (min-width: 992px) {
  h2.titre_double {
    font-size: 1.2rem;
  }
}
@media (min-width: 1200px) {
  h2.titre_double {
    font-size: 1.35rem;
  }
}
@media (min-width: 1600px) {
  h2.titre_double {
    font-size: 1.5rem;
  }
}

@media (min-width: 992px) {
  .hero_content .titre_double_c > .inner {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
    margin-left: 8.3333333333%;
  }
}

.titre_double_c {
  width: 100%;
}
.titre_double_c > .inner {
  /* wp-content\themes\plune\src\scss\___blocks-gutenberg__front.scss */
  flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
  margin-left: 8.3333333333%;
}

.listing_article-slider_content .deco_png {
  top: auto;
  bottom: 0;
}

@media (min-width: 992px) {
  .img_full_tx .titre_double .soustitre,
  .img_full_tx .titre_double .titre {
    color: #fff;
  }
}

.hero_i .hero_content .titre_double .soustitre,
.hero_i .hero_content .titre_double .titre {
  transition: all 0.3s ease-in-out;
}
.hero_i .hero_content .uk-sticky.uk-sticky-below .titre_double {
  text-shadow: 0px 2px 8px rgba(34, 35, 38, 0.8), 0px 2px 4px rgba(34, 35, 38, 0.8), 0px 3px 5px rgb(34, 35, 38);
}
.hero_i .hero_content .uk-sticky.uk-sticky-below .titre_double .soustitre,
.hero_i .hero_content .uk-sticky.uk-sticky-below .titre_double .titre {
  color: #fff;
}

.titre_double {
  text-align: center;
  width: 100%;
  z-index: 5;
  position: relative;
}
.titre_double .titre {
  color: #606C38;
  font-family: "Amatic SC", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 4em;
  line-height: 1.1;
  font-weight: 700;
  display: block;
  transform: rotate(-0.1deg);
}
@media (min-width: 576px) {
  .titre_double .titre {
    font-size: 3.8em;
  }
}
@media (min-width: 768px) {
  .titre_double .titre {
    font-size: 2em;
  }
}
.titre_double .titre {
  margin-bottom: 1rem;
}
@media (min-width: 576px) {
  .titre_double .titre {
    margin-bottom: 0.5rem;
  }
}
@media (min-width: 768px) {
  .titre_double .titre {
    margin-bottom: 0.7rem;
  }
}
.titre_double .soustitre {
  color: #84934F;
  font-size: 0.8rem;
  text-transform: uppercase;
  line-height: 1.2;
  letter-spacing: 0.1rem;
  font-weight: 500;
  width: 100%;
  display: block;
}
@media (min-width: 992px) {
  .titre_double .soustitre {
    font-size: 1.2rem;
    margin-top: 0.8rem;
  }
}
.titre_double .picto-pmr {
  margin-right: 1rem;
  transform: translate(0, 0.2rem);
  width: 24px;
  height: 24px;
}
@media (min-width: 992px) {
  .titre_double .picto-pmr {
    width: 30px;
    height: 30px;
    transform: none;
  }
}
.titre_double .carac {
  color: #fff;
  font-weight: 500;
  width: 100%;
  display: block;
}
.titre_double .carac .picto-pmr {
  display: inline-block;
  margin-top: -12px;
}
.titre_double .carac .tx {
  font-size: 2.5em;
}
@media (min-width: 992px) {
  .titre_double .carac .tx {
    font-size: 2.3em;
  }
}
.titre_double .carac .year {
  font-size: 1.8em;
  text-transform: uppercase;
}
@media (min-width: 992px) {
  .titre_double .carac .year {
    margin-left: 1rem;
    font-size: 1.8em;
  }
}
.teaser_page a:hover {
  text-decoration: none;
}
.teaser_page a:hover img {
  transform: scale(1.1);
}
.teaser_page .img {
  border-radius: 20px;
  overflow: hidden;
}
.teaser_page img {
  transition: all 1s;
}
.teaser_page {
  /* Reset */
}
.teaser_page .titre_double_c > .inner {
  max-width: none;
  margin-left: 0;
}
.teaser_page {
  /* END > Reset */
}
.teaser_page .titre_double {
  /* Reset */
  width: auto;
  /* END > Reset */
  color: #391C11;
  margin-top: 1rem;
  font-size: 0.65rem;
}
@media (min-width: 768px) {
  .teaser_page .titre_double {
    font-size: 1.2rem;
  }
}
@media (min-width: 1200px) {
  .teaser_page .titre_double {
    font-size: 0.7rem;
  }
}
@media (max-width: 767.98px) {
  .teaser_page .titre_double .titre {
    font-size: 3.5em;
  }
}
@media (min-width: 1200px) {
  .teaser_page .titre_double .titre {
    font-size: 4em;
  }
}
.teaser_page .titre_double .soustitre {
  margin-top: 0.5rem;
}
@media (max-width: 767.98px) {
  .teaser_page .titre_double .soustitre {
    font-size: 1.5em;
  }
}
.teaser_page .titre_double .carac {
  color: #391C11;
}
.teaser_page.is-admin {
  flex: 0 0 100%;
  max-width: 100%;
  margin-left: 0;
}
.teaser_page.is-admin .item {
  margin: 0 1rem 2rem !important;
}

.wp-block.wp-block-acf-teaser-page {
  padding-top: 0 !important;
}

.wp-block-acf-listing-card {
  max-width: 100%;
}

.listing-card-avis.is-admin .item.card_avis {
  width: 25%;
  flex: 0 0 25%;
  max-width: 25%;
}
.listing-card-avis.is-admin .slick.slick-slider {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.listing-card-avis.is-admin .slick_button {
  display: none;
}

.wp-block-acf-listing-article {
  max-width: 100%;
}

.listing_article-slider.is-admin .item.card_loc {
  width: 25%;
  flex: 0 0 25%;
  max-width: 25%;
}
.listing_article-slider.is-admin .main_slider.type_heberg .slick {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.listing_article-slider.is-admin .slick_button {
  display: none;
}

.wp-block-acf-form-contact {
  max-width: 100%;
}

.tx_img.double_col .embed-responsive {
  border-radius: 20px;
}

.alert {
  position: relative;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}

.alert-success {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb;
}

.alert-danger {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
}

.form-contact-img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

@media (max-width: 992px) {
  .form-contact-img {
    display: none;
  }
}
.wp-block-acf-texte-image {
  max-width: 100%;
}

.photo_move_click,
.cta_mulitple {
  overflow: hidden;
}

.tx_img .titre_double {
  /* Retiré impact tout les titres */
  max-width: none;
  margin-left: 0;
  font-size: 0.5rem;
}
@media (min-width: 576px) {
  .tx_img .titre_double {
    font-size: 0.7rem;
  }
}
@media (min-width: 768px) {
  .tx_img .titre_double {
    font-size: 1.4rem;
  }
}
@media (min-width: 992px) {
  .tx_img .titre_double {
    font-size: 1.2rem;
  }
}
@media (min-width: 1200px) {
  .tx_img .titre_double {
    font-size: 1.35rem;
  }
}
@media (min-width: 1600px) {
  .tx_img .titre_double {
    font-size: 1.5rem;
  }
}
@media (min-width: 1200px) {
  .tx_img.img_sup_i .tx_img-img {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
}
.tx_img .img_sup {
  margin: -5rem 0 0 3rem;
  flex: 0 0 41.6666666667%;
  max-width: 41.6666666667%;
}
@media (min-width: 1200px) {
  .tx_img .img_sup {
    margin: 0;
    position: absolute;
    z-index: 5;
    right: -4.1666666667%;
    top: -9vw;
    flex: 0 0 23.3333333333%;
    max-width: 23.3333333333%;
    width: 23.3333333333%;
  }
}
.tx_img .img_sup .embed-responsive {
  background: transparent;
}
.tx_img {
  /* --- Text --- */
}
.tx_img-tx > .inner {
  padding: 0 8.3333333333%;
}
@media (min-width: 1200px) {
  .tx_img-tx > .inner {
    padding: 0 16.6666666667%;
  }
}
.tx_img {
  /* --- END > Text --- */
  /* --- Image --- */
}
.tx_img-img img {
  display: block;
  width: 100%;
  height: auto;
  background-color: rgb(233.148, 235.576, 213.724);
  transition: all 0.2s;
}
.tx_img-img {
  /* --- Item --- */
}
.tx_img-img .embed-responsive {
  border-radius: 20px;
}
.tx_img-img > .item {
  position: relative;
}
.tx_img-img {
  /* --- Texte coté image --- */
  /* --- END > Texte coté image --- */
}
.tx_img-img .item img + .btn_extra_bold-r {
  padding-right: 14px;
}
.tx_img-img .item img + .btn_extra_bold-r:after {
  display: none;
}
.tx_img-img .link {
  /* --- Rajout --- */
  text-indent: -9999px;
  overflow: hidden;
  display: block;
  position: absolute;
  z-index: 140;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  /* --- END > Rajout --- */
}
.tx_img-img .link + .btn {
  pointer-events: none;
}
.tx_img-img .link + .btn:after {
  display: block !important;
}
.tx_img-img .link:hover + .btn_extra_bold-r:after {
  right: -6px;
}
.tx_img-img .link_span {
  text-align: center;
  word-break: break-word;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  -o-hyphens: auto;
  hyphens: auto;
  font-size: 0.9em;
}
@media (min-width: 768px) {
  .tx_img-img .link_span {
    font-size: 1.3em;
  }
}
@media (min-width: 1200px) {
  .tx_img-img .link_span {
    font-size: 1.7em;
  }
}
.tx_img-img .link_span {
  position: absolute;
  z-index: 160;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, -50%);
}
@media (min-width: 576px) {
  .tx_img-img .link_span {
    top: auto;
    bottom: 20px;
    transform: translate(-50%, 0);
  }
}
.tx_img-img {
  /* --- Liste picto --- */
  /* --- END > Liste picto --- */
}
.tx_img {
  /* --- END > Image --- */
}
@media (min-width: 1200px) {
  .tx_img.even .btn_photos {
    margin-left: -41.6666666667%;
  }
}
@media (min-width: 1200px) {
  .tx_img.odd .btn_photos {
    margin-right: -41.6666666667%;
  }
  .tx_img.odd .btn_photos .item {
    margin-right: 0;
    margin-left: auto;
  }
  .tx_img.odd .btn_photos .btn_actif:after {
    left: auto;
    right: 0%;
    transform: translate(60%, -50%) scale(-1);
  }
}
@media (min-width: 1200px) {
  .tx_img .tx_img-img {
    overflow: hidden;
  }
}
.tx_img.odd.img_i .titre_double {
  text-align: left;
}
@media (min-width: 1200px) {
  .tx_img.odd.img_i .ck_tx,
  .tx_img.odd.img_i .titre_double {
    text-align: right;
  }
}
.tx_img.even.img_i .titre_double {
  text-align: left;
}
@media (min-width: 1200px) {
  .tx_img > .justify-content-xl-start .bloc_spl {
    margin-left: 8.3333333333%;
  }
}
@media (min-width: 1200px) {
  .tx_img.tx_under_i .tx_img-img, .tx_img.img_cover_o .tx_img-img {
    position: sticky;
    top: 3rem;
  }
}
.tx_img.img_cover_i .tx_img-img > .row {
  height: 100%;
}
@media (min-width: 1200px) {
  .tx_img.justify-content-xl-start .bloc_spl {
    margin-left: 8.3333333333%;
  }
  .tx_img.even .list_btn,
  .tx_img.even .ck_tx,
  .tx_img.even .titre_double {
    text-align: left;
  }
  .tx_img.even .tx_img-img + .tx_img-tx {
    order: 1;
  }
  .tx_img.even .listing_article-slider {
    order: 5;
  }
  .tx_img.even .bloc_spl {
    order: 6;
  }
}
@media (min-width: 1200px) and (min-width: 1200px) {
  .tx_img.even .tx_img-img {
    margin-left: 8.3333333333%;
  }
}
@media (min-width: 1200px) {
  .tx_img.odd.img_i .list_btn,
  .tx_img.odd.img_i .ck_tx,
  .tx_img.odd.img_i .titre_double {
    text-align: right;
  }
  .tx_img.odd .tx_img-img {
    order: 2;
  }
  .tx_img.odd .tx_img-img + .tx_img-tx {
    order: 1;
  }
  .tx_img.odd .listing_article-slider {
    order: 5;
  }
  .tx_img.odd .bloc_spl {
    order: 6;
  }
  .tx_img.tx_under_i .tx_img-img {
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .tx_img.tx_under_i .tx_img-tx {
    position: relative;
    z-index: 2;
  }
  .tx_img.tx_under_i .tx_img-tx > .inner {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
    border-radius: 20px;
    margin-top: 4rem;
    margin-bottom: 4rem;
    background-color: rgba(246, 247, 238, 0.8);
  }
  .tx_img.tx_under_i .tx_img-tx {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .tx_img.tx_under_i.odd .tx_img-tx {
    margin-left: 41.6666666667%;
  }
  .tx_img.tx_under_i.odd .tx_img-tx > .inner {
    padding: 0 0 0 8.3333333333%;
  }
  .tx_img.tx_under_i.even .tx_img-img {
    margin-left: 41.6666666667%;
  }
  .tx_img.tx_under_i.even .tx_img-tx > .inner {
    padding: 0 8.3333333333% 0 0;
  }
}
@media (min-width: 1200px) {
  .tx_img .img_cover img, .tx_img.img_cover_i .tx_img-img .item img {
    position: absolute;
  }
}
.tx_img-x1-2 {
  /* --- Image cover --- */
  /* --- END > Image cover --- */
}
.tx_img-x3-4 .tx_img-img > .row {
  height: 100%;
}
.tx_img-x3-4 {
  /* --- Image cover --- */
}
.tx_img-x3-4 {
  /* --- END > Image cover --- */
}
.tx_img {
  /* --- Image de fond --- */
}
.tx_img > .bg_i,
.tx_img > .bg_i .titre_style-1 {
  color: #fff;
}
.tx_img .bg_i {
  position: relative;
}
.tx_img .bg_i > * {
  z-index: 1;
  position: relative;
}
.tx_img .bg_i {
  /* --- Overlay --- */
}
.tx_img .bg_i:after {
  content: " ";
  display: block;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.7);
}
@media (min-width: 992px) {
  .tx_img .bg_i:after {
    content: " ";
    background-color: transparent;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.8) 30%, rgba(0, 0, 0, 0));
  }
}
.tx_img .bg_i {
  /* --- END > Overlay --- */
}
.tx_img .bg_i .ck_tx-content:before {
  margin-top: 0 !important;
}
.tx_img {
  /* --- END > Image de fond --- */
}

.photo_move_click [class*=photo_] {
  display: none;
}
.photo_move_click .photo_1 {
  display: block;
}
.photo_move_click .tx_img-img .elemShowHide {
  display: none;
}
.photo_move_click .tx_img-img .elemShowHide.item_i {
  display: block;
}
.photo_move_click .tx_img-tx .elemShowHide {
  display: none;
}
.photo_move_click .tx_img-tx .elemShowHide.item_i {
  display: block;
}

.btn_photos {
  margin-bottom: 1.4rem;
}
@media (min-width: 992px) {
  .btn_photos {
    margin-bottom: 2.2rem;
  }
}
.btn_photos .item {
  margin-bottom: 0.4rem;
}
@media (min-width: 992px) {
  .btn_photos .item {
    margin-bottom: 1.2rem;
  }
}
.btn_photos .item:last-child {
  margin-bottom: 0;
}

@media (min-width: 1200px) {
  .cta_mulitple.tx_img.even .embed-responsive.col-12 {
    flex: 0 0 90%;
    max-width: 90%;
    margin-left: 10%;
  }
  .cta_mulitple.tx_img.even .btns_cta {
    left: 0;
  }
  .cta_mulitple.tx_img.odd .tx_img-img > .row {
    justify-content: end;
  }
  .cta_mulitple.tx_img.odd .embed-responsive.col-12 {
    flex: 0 0 90%;
    max-width: 90%;
    margin-right: 10%;
  }
  .cta_mulitple.tx_img.odd .btns_cta > .inner {
    justify-content: end;
  }
}

.cta_mulitple {
  overflow: hidden;
}
@media (min-width: 1200px) {
  .cta_mulitple {
    overflow: unset;
  }
}
@media (min-width: 1200px) {
  .cta_mulitple .tx_img-tx .ck_tx {
    padding: 0 10%;
  }
}
@media (min-width: 1200px) {
  .cta_mulitple .tx_img-tx {
    position: sticky;
    align-self: flex-start;
    z-index: 0;
    top: 3rem;
  }
}
@media (min-width: 1200px) {
  .cta_mulitple.img_cover_i .tx_img-img .item.embed-responsive {
    position: absolute;
    z-index: 0;
    top: 0;
    bottom: 0;
  }
}

.btns_cta {
  position: relative;
  z-index: 5;
  margin-top: 2rem;
}
@media (min-width: 1200px) {
  .btns_cta {
    width: 66.6666666667%;
  }
}
.btns_cta > .inner {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
}
.btns_cta .btn_cta {
  width: 100%;
}
.btns_cta .item {
  margin-bottom: 0.4rem;
}
@media (min-width: 992px) {
  .btns_cta .item {
    margin-bottom: 1.2rem;
  }
}
.btns_cta .item:last-child {
  margin-bottom: 0;
}

.wp-block-acf-texte-image-full {
  max-width: 100%;
}

.image_full__listing_valorisation.is-admin, .img_full_tx.is-admin, .listing-card-avis.is-admin {
  overflow: hidden;
}

.hero_i .gutenberg-content > .img_full_tx:nth-child(1) {
  margin-top: -3rem;
}
@media (min-width: 992px) {
  .hero_i .gutenberg-content > .img_full_tx:nth-child(1) {
    margin-top: -6rem;
  }
}

.img_full_tx + .theme_section_dark {
  margin-top: -3rem;
}
@media (min-width: 992px) {
  .img_full_tx + .theme_section_dark {
    margin-top: -6rem;
  }
}

.overlay_castor {
  position: absolute;
  z-index: 40;
  inset: 0;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-image: url("../../src/img/castor_mask.svg");
  mask-image: url("../../src/img/castor_mask.svg");
  mask-size: cover;
  mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-composite: source-out;
  mask-composite: exclude;
  background-color: rgba(0, 0, 0, 0.5);
  pointer-events: none;
  display: none;
}
@media (min-width: 992px) {
  .overlay_castor {
    display: block;
  }
}

.img_full_tx > .row {
  position: relative;
  z-index: 0;
}
.img_full_tx .titre_double_c {
  z-index: 50;
}
.img_full_tx .embed-responsive {
  background: none;
}
@media (min-width: 576px) {
  .img_full_tx .titre_double {
    font-size: 0.8rem;
  }
}
@media (min-width: 768px) {
  .img_full_tx .titre_double {
    font-size: 1.5rem;
  }
}
@media (min-width: 992px) {
  .img_full_tx .titre_double {
    font-size: 1.7rem;
  }
}
@media (min-width: 1200px) {
  .img_full_tx .titre_double {
    font-size: 2.2rem;
  }
}
@media (min-width: 1600px) {
  .img_full_tx .titre_double {
    font-size: 2.75rem;
  }
}
@media (max-width: 991.98px) {
  .img_full_tx .titre_double_c {
    padding-top: 0.6rem;
    background-color: #fff;
  }
}
@media (min-width: 992px) {
  .img_full_tx .titre_double_c {
    margin-bottom: 3%;
  }
}
@media (min-width: 992px) {
  .img_full_tx .images_c_img {
    position: sticky;
    top: 0;
  }
}
.img_full_tx .images_c_text {
  position: relative;
  z-index: 2;
  margin-top: -2rem;
  width: 83.3333333333%;
  margin-left: 8.3333333333%;
}
@media (min-width: 992px) {
  .img_full_tx .images_c_text {
    margin-top: -100vh;
    width: 33.3333333333%;
    padding-top: 12.5%;
    padding-bottom: 12.5%;
    padding-top: 100vh;
    padding-bottom: 100vh;
  }
}
@media (min-width: 992px) {
  .img_full_tx .images_c_text .ck_tx {
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 10.4166666667% 16.6666666667%;
  }
}
.img_full_tx .images_c_text h1, .img_full_tx .images_c_text h2, .img_full_tx .images_c_text h3, .img_full_tx .images_c_text h4, .img_full_tx .images_c_text h5, .img_full_tx .images_c_text h6 {
  color: #391C11;
  font-family: "Amatic SC", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.img_full_tx .images_c_text h2 {
  font-size: 2em;
  line-height: 1;
  font-weight: 400;
  display: block;
  padding-left: 8.3333333333%;
}
@media (min-width: 992px) {
  .img_full_tx .images_c_text h2 {
    font-size: 3em;
  }
}
.wp-block-acf-image-full--listing-valorisation {
  max-width: 100%;
}

.image_full__listing_valorisation {
  position: relative;
  z-index: 0;
}
.image_full__listing_valorisation .carte-region {
  position: absolute;
  z-index: 100;
  top: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}
.image_full__listing_valorisation .carte-region svg {
  width: 200%;
  transform: translate(-25%, -11%);
}
@media (min-width: 992px) {
  .image_full__listing_valorisation .carte-region svg {
    width: 150%;
    transform: translate(-10%, 0%);
  }
}
@media (min-width: 1200px) {
  .image_full__listing_valorisation .carte-region svg {
    width: 100%;
    transform: translate(0%, 0%);
  }
}
.image_full__listing_valorisation .carte-region .st0 {
  fill: #e8e2d4;
}
.image_full__listing_valorisation .carte-region .st1 {
  fill: #d5d6d6;
}
.image_full__listing_valorisation .carte-region .st2 {
  fill: #fffcf5;
}
.image_full__listing_valorisation .carte-region .st3 {
  fill: #fbebd8;
}
.image_full__listing_valorisation .carte-region .st4 {
  fill: #efeae4;
}
.image_full__listing_valorisation .carte-region .st5, .image_full__listing_valorisation .carte-region .st7 {
  fill: none;
  stroke: #937f70;
  stroke-width: 2;
  stroke-miterlimit: 10;
}
.image_full__listing_valorisation .carte-region .st7 {
  stroke-dasharray: 3.996, 3.996, 3.996, 3.996, 3.996, 3.996;
}
.image_full__listing_valorisation .carte-region .st8 {
  fill: #879448;
}
.image_full__listing_valorisation .carte-region .st10 {
  fill: #00b5ce;
}
.image_full__listing_valorisation .carte-region .st15 {
  fill: #feece3;
}
.image_full__listing_valorisation .carte-region .st16 {
  fill: #1f1f23;
}
.image_full__listing_valorisation .carte-region .st17 {
  font-family: "Amatic SC", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-weight: bold;
}
.image_full__listing_valorisation .carte-region .st18 {
  font-size: 18px;
}
.image_full__listing_valorisation .carte-region .st21 {
  fill: #020203;
}
@media (min-width: 992px) {
  .image_full__listing_valorisation .images_c_img {
    height: 100vh;
  }
  .image_full__listing_valorisation .images_c_img img {
    object-fit: cover;
  }
}
@media (min-width: 992px) {
  .image_full__listing_valorisation .images_c_img {
    position: sticky;
    top: 0;
  }
}
.image_full__listing_valorisation .images_c_text {
  width: 100%;
  background-color: #391c11;
  z-index: 100;
}
@media (min-width: 992px) {
  .image_full__listing_valorisation .images_c_text {
    width: 45.8333333333%;
    margin-left: 27.0833333333%;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    margin-top: -13%;
  }
}
.image_full__listing_valorisation .titre_double_c > .inner {
  flex: 0 0 91.6666666667%;
  max-width: 91.6666666667%;
  margin-left: 4.1666666667%;
}
.image_full__listing_valorisation .list_cards .item {
  margin: 0 25px;
  border: 1px solid #fff;
}
.image_full__listing_valorisation .list_cards .item .inner {
  color: #fff;
  text-align: center;
  font-weight: 300;
  padding: 10px 25px 2px;
}
.image_full__listing_valorisation .list_cards .item .inner strong,
.image_full__listing_valorisation .list_cards .item .inner em {
  font-size: 1.4rem;
  line-height: 1.2;
  font-weight: normal;
  font-family: "Amatic SC", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  display: block;
}
.image_full__listing_valorisation .list_cards .slick_button [type=button] svg {
  fill: #fff;
}
/*
	B4 : default
	(21 9),
	(16 9),
	(4 3),
	(1 1)

	Ajout
	15by7

*/
.iframe_c .embed-responsive {
  background-color: #f7f7f7;
}
.iframe_c.is-admin .embed-responsive {
  pointer-events: none;
}

.wp-block-acf-galerie-photos---bricklayer-bis {
  max-width: 100%;
}

.galerie_photos.is-admin .bricklayer > div {
  flex: 0 0 25%;
  max-width: 25%;
}
.galerie_photos.is-admin .bricklayer a {
  pointer-events: none;
}

.bricklayer {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-wrap: wrap;
}
.bricklayer-column-sizer {
  display: none;
}
.bricklayer-column {
  flex: 1;
  padding-left: 10px;
  padding-right: 10px;
}
.bricklayer .item {
  margin-bottom: 20px;
}

.galerie_photos.gtb_def {
  flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
  margin-left: 8.3333333333%;
}

.bricklayer .ico_zoom {
  background: transparent;
}
.bricklayer .item {
  border: 4px solid #fff;
}
.bricklayer .deco_m.embed-responsive {
  background: transparent;
}
.bricklayer .deco_m .deco_png {
  padding: 1.6rem;
}
@media (min-width: 992px) {
  .bricklayer .deco_m .deco_png {
    padding: 5rem;
  }
}
.bricklayer .deco_m svg {
  width: 100%;
  height: 100%;
}

.bricklayer.inc_col .bricklayer-column-sizer {
  width: 50%;
}
@media (min-width: 576px) {
  .bricklayer.inc_col .bricklayer-column-sizer {
    width: 33.33333%;
  }
}
@media (min-width: 768px) {
  .bricklayer.inc_col .bricklayer-column-sizer {
    width: 50%;
  }
}
.bricklayer.small .bricklayer-column-sizer {
  width: 50%;
}
@media (min-width: 576px) {
  .bricklayer.small .bricklayer-column-sizer {
    width: 33.33333%;
  }
}
@media (min-width: 992px) {
  .bricklayer.small .bricklayer-column-sizer {
    width: 25%;
  }
}
@media (min-width: 1600px) {
  .bricklayer.small .bricklayer-column-sizer {
    width: 16.66666%;
  }
}

.bricklayer.standard .bricklayer-column-sizer {
  width: 100%;
}
@media (min-width: 576px) {
  .bricklayer.standard .bricklayer-column-sizer {
    width: 50%;
  }
}
@media (min-width: 992px) {
  .bricklayer.standard .bricklayer-column-sizer {
    width: 33.33333%;
  }
}
@media (min-width: 1600px) {
  .bricklayer.standard .bricklayer-column-sizer {
    width: 25%;
  }
}

.bricklayer.medium .bricklayer-column-sizer {
  width: 100%;
}
@media (min-width: 576px) {
  .bricklayer.medium .bricklayer-column-sizer {
    width: 50%;
  }
}
@media (min-width: 992px) {
  .bricklayer.medium .bricklayer-column-sizer {
    width: 33.33333%;
  }
}
@media (min-width: 1600px) {
  .bricklayer.medium .bricklayer-column-sizer {
    width: 33.33333%;
  }
}

.bricklayer.large .bricklayer-column-sizer {
  width: 100%;
}
@media (min-width: 992px) {
  .bricklayer.large .bricklayer-column-sizer {
    width: 50%;
  }
}

.wp-block-acf-texte-image-and-2-blocks-slide {
  max-width: 100%;
}

.tx_img_2img_slide > div {
  overflow: hidden;
}
@media (max-width: 991.98px) {
  .tx_img_2img_slide {
    padding: 5rem 0;
    background-color: #BBC591;
  }
}
@media (min-width: 992px) {
  .tx_img_2img_slide .block_c,
  .tx_img_2img_slide .img_c {
    height: 100vh;
  }
}
.tx_img_2img_slide .img_dessus {
  width: 300px;
  height: auto;
  margin: 0 auto;
  max-width: 80%;
  background: none;
}
.tx_img_2img_slide .img_c {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
@media (min-width: 992px) {
  .tx_img_2img_slide .img_c {
    background-color: #BBC591;
    background: #BBC591 url("../../src/img/img_deco/bois-1.png") center center no-repeat;
    background-size: cover;
  }
}
@media (max-width: 991.98px) {
  .tx_img_2img_slide .img_c {
    margin-bottom: 2rem;
  }
}
.tx_img_2img_slide .content_bg {
  transition: opacity 0.5s ease-in-out;
}
.tx_img_2img_slide .block_c {
  position: relative;
  z-index: 50;
  align-items: center;
}
@media (min-width: 992px) {
  .tx_img_2img_slide .block_c {
    margin-top: -100vh;
  }
}
.tx_img_2img_slide .block_c .img_dessus {
  position: absolute;
  z-index: 100;
  top: 50%;
  left: 50%;
  margin-right: -50%;
}
.tx_img_2img_slide .block_c .list_btn .btn {
  text-indent: -9999px;
  overflow: hidden;
  position: absolute;
  z-index: 100;
  inset: 0;
  background-color: transparent;
  margin-bottom: 0;
  border: none;
  border-radius: 20px;
}
.tx_img_2img_slide .img_fond {
  border-radius: 20px;
  overflow: hidden;
}
.tx_img_2img_slide .left .content,
.tx_img_2img_slide .right .content {
  position: relative;
  width: 75%;
}
@media (min-width: 992px) {
  .tx_img_2img_slide .left .content,
  .tx_img_2img_slide .right .content {
    width: 58.3333333333%;
  }
}
.tx_img_2img_slide .left .content {
  margin: 0 0 0 auto;
}
.tx_img_2img_slide .left .content .img_dessus {
  transform: translate(-50%, -50%) translate(-11%, 0);
}
@media (min-width: 992px) {
  .tx_img_2img_slide .left .content .img_dessus {
    transform: translate(-50%, -50%) translate(-2.4rem, 0);
  }
}
.tx_img_2img_slide .left .content .list_btn .btn,
.tx_img_2img_slide .left .content .img_fond {
  transform: translate(-11%, 0);
}
@media (min-width: 992px) {
  .tx_img_2img_slide .left .content .list_btn .btn,
  .tx_img_2img_slide .left .content .img_fond {
    transform: translate(-2.4rem, 0);
  }
}
.tx_img_2img_slide .right .content {
  margin: 0 auto 0 0;
}
.tx_img_2img_slide .right .content .img_dessus {
  transform: translate(-50%, -50%) translate(11%, 0);
}
@media (min-width: 992px) {
  .tx_img_2img_slide .right .content .img_dessus {
    transform: translate(-50%, -50%) translate(2.4rem, 0);
  }
}
.tx_img_2img_slide .right .content .list_btn .btn,
.tx_img_2img_slide .right .content .img_fond {
  transform: translate(11%, 0);
}
@media (min-width: 992px) {
  .tx_img_2img_slide .right .content .list_btn .btn,
  .tx_img_2img_slide .right .content .img_fond {
    transform: translate(2.4rem, 0);
  }
}
.tx_img_2img_slide .titre_double .soustitre {
  color: #fff;
}
@media (min-width: 992px) {
  .tx_img_2img_slide .uk-sticky .block_c {
    pointer-events: none;
  }
}
.tx_img_2img_slide .uk-sticky.uk-active .block_c {
  pointer-events: auto;
}
.tx_img_2img_slide .uk-sticky.uk-active .content_bg {
  opacity: 0.5;
}
@media (max-width: 991.98px) {
  .tx_img_2img_slide .position-sticky {
    position: static !important;
    top: 0;
  }
}
@media (max-width: 991.98px) {
  .tx_img_2img_slide.uk-height-viewport-2, .tx_img_2img_slide.uk-height-viewport-3, .tx_img_2img_slide.uk-height-viewport-4 {
    min-height: auto;
  }
}
.tx_img_2img_slide.is-admin {
  z-index: 1;
}
.tx_img_2img_slide.is-admin .position-sticky {
  position: static !important;
}
.tx_img_2img_slide.is-admin .block_c {
  margin-top: 0;
  padding: 4rem 0;
  height: auto;
}
.tx_img_2img_slide.is-admin .img_c {
  height: auto;
  padding: 4rem 0;
}

.module-plune-map .button-container--map {
  bottom: 55px;
}
/* Debug si flex */
* {
  min-height: 0;
  min-width: 0;
}

.slick-lazyload-error {
  display: none;
}

.item-video {
  background-color: #333;
}
.slick-slide .titre, .slick-slide .soustitre {
  visibility: visible !important;
}

/* Hauteur et largeur du bouton */
.main_slider[data-slick-arrows=false] .slick_button {
  display: none;
}

.main_slider figure {
  margin-bottom: 0;
}
.main_slider {
  /* --- Item --- */
}
.main_slider .item {
  position: relative;
}
.main_slider .item .figure > img {
  display: block;
  width: 100%;
  height: auto;
}
.main_slider {
  /* --- END > Item --- */
  /* --- Button Prev & Next --- */
}
.main_slider .slick_button {
  text-align: center;
}
.main_slider .slick_button [type=button] {
  cursor: pointer;
  border: 0;
  outline: 0;
  background-color: transparent;
  transition: all 0.2s;
  border-radius: 100%;
  background-color: transparent;
}
.main_slider .slick_button [type=button] svg {
  width: 70px;
  height: 50px;
  display: block;
  transition: fill 0.2s ease;
}
.main_slider .slick_button [type=button] svg {
  fill: #391C11;
}
.main_slider .slick_button [type=button]:hover {
  cursor: pointer;
}
.main_slider .slick_button [type=button]:hover svg {
  fill: #fff;
}
.main_slider .slick_button .slick_button-next {
  transform: rotate(180deg);
}
.main_slider {
  /* --- END > Button Prev & Next --- */
  /* --- DOTS --- */
}
.main_slider .slick-dots {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
}
.main_slider .slick-dots li {
  margin: 0 5px;
}
.main_slider .slick-dots li button {
  text-indent: -9999px;
  overflow: hidden;
  display: block;
  width: 12px;
  height: 12px;
  border: 0;
  outline: 0;
  border-radius: 100%;
}
.main_slider {
  /* --- END > DOTS --- */
}

.content_img {
  /* --- Item --- */
}
.content_img {
  /* --- END > Item --- */
  /* --- Button Prev & Next --- */
}
.content_img .slick_button [type=button] {
  position: absolute;
  z-index: 100;
  top: 50%;
  margin-top: -25px;
}
.content_img .slick_button-prev {
  left: 4.1666666667%;
  margin-left: -35px;
}
.content_img .slick_button-prev:hover {
  cursor: pointer;
  margin-left: -38.8888888889px;
}
.content_img .slick_button-next {
  right: 4.1666666667%;
  margin-right: -35px;
}
.content_img .slick_button-next:hover {
  cursor: pointer;
  margin-right: -38.8888888889px;
}
.content_img {
  /* --- END > Button Prev & Next --- */
  /* --- DOTS --- */
}
.content_img .slick-dots {
  /* */
  position: absolute;
  z-index: 100;
  bottom: 3%;
  left: 0;
  right: 0;
  /* */
}
.content_img .slick-dots li button {
  background-color: rgb(178.5, 178.5, 178.5);
}
.content_img .slick-dots li.slick-active button {
  background-color: #606C38;
}
.content_img {
  /* --- END > DOTS --- */
}

/*

$listing_type == 'slider
	.list_cards

$listing_type == 'bricklayer' 
	bricklayer standard 

$listing_type == 'div'
	uikit_filter

$listing_type == 'accordeon' || $listing_type == 'accordeon_min'
	accordeon_it

*/
.no_type_heberg .slick-list {
  padding-left: 4.1666666667%;
  padding-right: 4.1666666667%;
}
@media (min-width: 992px) {
  .no_type_heberg .slick-list {
    padding-left: 20.8333333333%;
    padding-right: 20.8333333333%;
  }
}
.no_type_heberg .slick-dots {
  flex: 0 0 100%;
  max-width: 100%;
}

.type_heberg .slick-list {
  padding-left: 4.1666666667%;
  padding-right: 4.1666666667%;
}
@media (min-width: 992px) {
  .type_heberg .slick-list {
    padding-left: 21.6666666667%;
    padding-right: 21.6666666667%;
  }
}
.type_heberg {
  /* slick-current slick-active */
}
.listing-card .slick-list {
  padding-left: 4.1666666667%;
  padding-right: 4.1666666667%;
}
@media (min-width: 992px) {
  .listing-card .slick-list {
    padding-left: 25%;
    padding-right: 0%;
  }
}

.listing-card-avis .slick-list {
  padding-left: 4.1666666667%;
  padding-right: 4.1666666667%;
}
@media (min-width: 992px) {
  .listing-card-avis .slick-list {
    padding-left: 18.75%;
    padding-right: 18.75%;
  }
}
@media (min-width: 1600px) {
  .listing-card-avis .slick-list {
    padding-left: 18.3333333333%;
    padding-right: 18.3333333333%;
  }
}
.listing-card-avis .slick-slide:not(.slick-active) {
  opacity: 0;
}
.listing-card-avis .slick-slide.slick-active {
  opacity: 1;
}
.listing-card-avis .slick-slide {
  transition: opacity 1s;
}
.listing-card-avis {
  /* --- Button Prev & Next --- */
}
.listing-card-avis .slick_button [type=button] {
  position: absolute;
  z-index: 100;
  top: 50%;
  margin-top: -25px;
}
.listing-card-avis .slick_button-prev {
  left: 8.3333333333%;
  margin-left: -35px;
}
@media (min-width: 992px) {
  .listing-card-avis .slick_button-prev {
    left: 12.5%;
  }
}
.listing-card-avis .slick_button-prev:hover {
  cursor: pointer;
  margin-left: -43.75px;
}
.listing-card-avis .slick_button-next {
  right: 8.3333333333%;
  margin-right: -35px;
}
@media (min-width: 992px) {
  .listing-card-avis .slick_button-next {
    right: 12.5%;
  }
}
.listing-card-avis .slick_button-next:hover {
  cursor: pointer;
  margin-right: -43.75px;
}
.listing-card-avis {
  /* --- END > Button Prev & Next --- */
}

.list_cards {
  /* --- Button Prev & Next --- */
}
.list_cards {
  /* --- END > Button Prev & Next --- */
}
.list_cards {
  /* --- Button Prev & Next --- */
}
.list_cards {
  /* --- END > Button Prev & Next --- */
  /* --- DOTS --- */
}
.list_cards .slick-dots {
  /* */
  /* */
  margin-top: 1.5rem;
  width: 100%;
}
.list_cards .slick-dots li button {
  border: 0;
  /* Fond clair */
  background-color: rgb(201.7027027027, 110.7837837838, 76.2972972973);
}
.list_cards .slick-dots li.slick-active button {
  background-color: #606C38;
}
.list_cards {
  /* --- END > DOTS --- */
}

/*
JS data-breakpoints
wp-content\themes\plune\src\js\app.js
*/
div[data-breakpoints=break_1_to_1] .slick {
  display: inline-flex;
  /* Pour les dots */
  flex-wrap: wrap;
}
div[data-breakpoints=break_1_to_1] .hero_item {
  flex: 0 0 100%;
  max-width: 100%;
}

.slick {
  overflow: hidden;
  display: block;
  width: 100%;
}
.slick .slick-track,
.slick .slick-list {
  min-width: 100%;
}
.slick .slick-track > .item,
.slick .slick-list > .item {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
}

.slick_button .slick-disabled {
  opacity: 0;
  pointer-events: none;
}

.slick-dots {
  margin-left: 0;
  padding-left: 0;
}

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

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

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

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

.slick-slide {
  height: 100%;
  min-height: 1px;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: inline-block !important;
  vertical-align: top;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

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

.tabs-wrapper {
  margin: 3rem 0;
  display: block;
  clear: both;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}
.tabs-wrapper .free_date a {
  opacity: 1 !important;
  color: #fff !important;
  background-color: #606C38 !important;
}
.tabs-wrapper .tabs-nav {
  padding: 0;
  margin: 0;
}
@media (min-width: 576px) {
  .tabs-wrapper .tabs-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media (max-width: 991.98px) {
  .tabs-wrapper .tabs-nav > li {
    height: 100%;
  }
  .tabs-wrapper .tabs-nav > li a {
    text-align: center;
    width: 100%;
  }
}
.tabs-wrapper .tabs-nav > li a {
  display: inline-block;
  padding: 0.5rem 1.5rem;
  text-decoration: none;
  opacity: 0.6;
}
@media screen and (max-width: 48em) {
  .tabs-wrapper .tabs-nav > li a {
    font-size: 90%;
    padding: 0.3rem 0.5rem;
  }
}
.tabs-wrapper .tabs-nav > li.current a {
  opacity: 1;
  position: relative;
  z-index: 1;
}
.tabs-wrapper.top-left .tabs-nav, .tabs-wrapper.bottom-left .tabs-nav {
  text-align: left;
}
.tabs-wrapper.top-right .tabs-nav, .tabs-wrapper.bottom-right .tabs-nav {
  text-align: right;
}
.tabs-wrapper.bottom-right .tabs-nav, .tabs-wrapper.bottom-left .tabs-nav {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3rem;
}
.tabs-wrapper.bottom-right, .tabs-wrapper.bottom-left {
  padding-bottom: 3rem;
}
.tabs-wrapper .tabs {
  margin-bottom: -1px;
}
.tabs-wrapper .tab {
  margin-top: -1px;
  padding: 0.5rem 1.5rem;
}
@media screen and (max-width: 48em) {
  .tabs-wrapper .tab {
    font-size: 90%;
    padding: 0.5rem;
  }
}
.tabs-wrapper .tab:nth-child(1) {
  display: block;
}
.tabs-wrapper .tab:nth-child(4), .tabs-wrapper .tab:nth-child(3), .tabs-wrapper .tab:nth-child(2) {
  /* Si activation bug widget Securholiday > display none en JS avec settimeout */
}
.tabs-wrapper.ui-theme-default .tabs-nav li a {
  color: #391C11;
  color: #606C38;
  background-color: rgb(234.6, 234.6, 234.6);
  border: 1px solid #e9e9e9;
}
.tabs-wrapper.ui-theme-default .tabs-nav li a:hover {
  background: rgb(244.8, 244.8, 244.8);
}
.tabs-wrapper.ui-theme-default .tabs-nav li.current a {
  background-color: #ffffff;
  border-bottom: 1px solid #ffffff;
}
.tabs-wrapper.ui-theme-default.bottom-right .tabs-nav li.current a, .tabs-wrapper.ui-theme-default.bottom-left .tabs-nav li.current a {
  border-top: 1px solid #ffffff;
  border-bottom: 1px solid #e9e9e9;
}
.tabs-wrapper.ui-theme-default .tab {
  border: 1px solid #e9e9e9;
  background-color: #ffffff;
}
.tabs-wrapper.ui-theme-badges {
  background: #f9f9f9;
  border: 1px solid rgb(241.35, 241.35, 241.35);
  border-radius: 4px;
}
.tabs-wrapper.ui-theme-badges .tabs-nav {
  margin: 0.5rem;
}
.tabs-wrapper.ui-theme-badges .tabs-nav .tabs {
  padding: 0.5rem;
}
.tabs-wrapper.ui-theme-badges .tabs-nav li a {
  color: rgb(121.5, 121.5, 121.5);
  background: rgb(236.25, 236.25, 236.25);
  padding: 0.1rem 1rem;
  border-radius: 4px;
}
.tabs-wrapper.ui-theme-badges .tabs-nav li a:hover {
  background: rgb(215.85, 215.85, 215.85);
}
.tabs-wrapper.ui-theme-badges .tabs-nav li.current a {
  color: #fff;
  background-color: #666;
}
.tabs-wrapper.ui-theme-badges.bottom-left .tabs-nav, .tabs-wrapper.ui-theme-badges.bottom-right .tabs-nav {
  margin: 0 0.5rem;
}
.tabs-wrapper.ui-theme-badges.bottom-left .tabs-nav li, .tabs-wrapper.ui-theme-badges.bottom-right .tabs-nav li {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}
.tabs-wrapper.ui-theme-lite .tabs-nav li.current a {
  font-weight: bold;
  border-bottom: 1px solid rgb(143.75, 143.75, 143.75);
}
.tabs-wrapper.ui-theme-lite .tabs-nav li:hover {
  background: rgb(244.8, 244.8, 244.8);
}
.tabs-wrapper.ui-theme-lite.bottom-right .tabs-nav li.current a, .tabs-wrapper.ui-theme-lite.bottom-left .tabs-nav li.current a {
  border-bottom: 0;
  border-top: 1px solid rgb(143.75, 143.75, 143.75);
}
.tabs-wrapper.ui-theme-lite.bottom-right .tab, .tabs-wrapper.ui-theme-lite.bottom-left .tab {
  border-top: 0;
  border-bottom: 1px solid #e9e9e9;
}
.tabs-wrapper.ui-theme-lite .tab {
  border-top: 1px solid #e9e9e9;
  background-color: #ffffff;
  padding: 0.5rem 0;
}
@media screen and (max-width: 48em) {
  .tabs-wrapper.ui-theme-lite .tab {
    padding: 0.5rem 0;
  }
}
.wp-block-acf-listing-article,
.wp-block-acf-teaser-page {
  max-width: 100%;
}
.wp-block-acf-listing-article a.link_cover:after,
.wp-block-acf-teaser-page a.link_cover:after {
  pointer-events: none;
}

.list_articles {
  overflow: hidden;
}
.list_articles[data-nbr-loc] {
  height: auto;
}
.list_articles[data-nbr-loc="0"] {
  height: 0;
}
.list_articles .top {
  overflow: hidden;
  margin-bottom: -30px;
}
@media (min-width: 992px) {
  .list_articles .top {
    margin-bottom: -70px;
  }
}
@media (min-width: 1200px) {
  .list_articles .top {
    margin-left: 8.3333333333%;
  }
}
@media (min-width: 1600px) {
  .list_articles .top {
    margin-left: 16.6666666667%;
  }
}
.content_io .filter_type-io {
  width: 100%;
}
.content_io {
  width: 100px;
}

.section_filter {
  text-align: center;
  transition: all 0.2s;
}
@media (max-width: 991.98px) {
  .section_filter .btn_filter {
    display: inline-block;
  }
}
.section_filter .btn_filter .ico:before {
  display: none;
}
.section_filter .form-row {
  display: flex;
  flex-wrap: wrap;
}
.section_filter .form-check {
  margin: 0;
  padding-top: 0.4rem;
  display: inline-block;
  display: flex;
  align-items: center;
}
@media (min-width: 992px) {
  .section_filter .filter-items {
    margin: 0 0 2.6rem;
  }
}
@media (max-width: 991.98px) {
  .section_filter .filter-items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 0 8.3333333333%;
  }
}
.section_filter .label {
  margin-bottom: 0;
}
@media (min-width: 576px) {
  .section_filter .label {
    display: inline-block;
    vertical-align: middle;
  }
}
.section_filter {
  /* --- btn --- */
}
.section_filter .user_choice {
  width: auto;
  margin: 0 0.3rem 0.4rem;
}
@media (min-width: 992px) {
  .section_filter .user_choice {
    margin: 0 auto 0.4rem;
  }
}
.section_filter {
  /* --- END > btn --- */
}

.listing_article-slider .all_listing {
  order: 2;
}
@media (min-width: 992px) {
  .listing_article-slider .all_listing {
    order: 1;
  }
}
.listing_article-slider {
  /* --- SANS IMG DE FOND --- */
}
.listing_article-slider {
  /* --- END > SANS IMG DE FOND --- */
  /* --- AVEC IMG DE FOND --- */
}
.listing_article-slider > .lazy-bgi {
  /* --- Form --- */
}
.listing_article-slider > .lazy-bgi .section_filter .label {
  color: #fff;
}
.listing_article-slider > .lazy-bgi .filter {
  color: #fff;
}
.listing_article-slider > .lazy-bgi {
  /* --- END > Form --- */
}
.listing_article-slider {
  /* --- END > AVEC IMG DE FOND --- */
}

/*
catégorie :
    presentation-gamme
*/
.card_loc {
  position: relative;
  margin-top: 1rem; /* pour le scotch */
}
.card_loc .embed-responsive.img_popup {
  border-radius: 20px;
}
.card_loc:hover {
  text-decoration: none;
}
.card_loc:hover .embed-responsive img {
  transform: scale(1.1);
}
.card_loc .embed-responsive img {
  transition: all 1s;
}
.card_loc > .inner {
  margin: 14px 25px 0px;
}
@media (min-width: 768px) {
  .card_loc > .inner {
    margin: 20px 25px 0px;
  }
}
.card_loc > .inner {
  position: relative;
}
.card_loc .picto__label {
  color: #fff;
  font-size: 1rem;
  font-weight: 400;
}
.card_loc .picto__label i {
  font-size: 1.3rem;
  font-weight: 500;
  margin-bottom: 0.4rem;
}
@media (min-width: 992px) {
  .card_loc .picto__label i {
    font-size: 2.2rem;
    margin-bottom: 0.8rem;
  }
}
.card_loc .titre {
  font-size: 1.8rem;
  line-height: 1.2;
  font-family: "Amatic SC", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-weight: 700;
  margin-bottom: 0.6rem;
  display: block;
}
@media (min-width: 576px) {
  .card_loc .titre {
    font-size: 2.8rem;
  }
}
@media (min-width: 992px) {
  .card_loc .titre {
    font-size: 1.3rem;
    line-height: 1.5;
  }
}
.card_loc .soustitre {
  color: #BBC591;
  font-size: 0.9rem;
  line-height: 1.2;
  font-weight: 500;
  text-transform: uppercase;
  margin-bottom: 0.6rem;
  display: block;
}
@media (min-width: 576px) {
  .card_loc .soustitre {
    font-size: 1.1rem;
  }
}
@media (min-width: 992px) {
  .card_loc .soustitre {
    font-size: 1.2rem;
  }
}
.card_loc .content {
  color: #391C11;
  text-align: left;
}
.card_loc .titre_c {
  text-align: center;
  position: relative;
  display: inline-block;
  background-image: url("../img/titre-post-it-bg.svg");
  background-repeat: no-repeat;
  background-size: cover;
}
.card_loc .titre_c {
  position: absolute;
  z-index: 100;
  top: -4%;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, 0%) scale(0.8);
  padding-top: 30px;
}
.card_loc .titre_c .label,
.card_loc .titre_c .titre {
  position: relative;
  z-index: 10;
}
.card_loc .titre_c .label {
  color: #606C38;
  text-transform: uppercase;
  font-weight: 300;
}
.card_loc .titre_c .titre {
  color: #391C11;
}
.card_loc .deco_scotch_tape {
  position: absolute;
  z-index: 0;
  top: -25%;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, 0%);
}
@media (max-width: 991.98px) {
  .card_loc .deco_scotch_tape {
    width: 100px;
  }
}
.card_loc.img_i .infos {
  position: absolute;
  z-index: 130;
  bottom: 0;
  left: 0;
}
@media (min-width: 576px) and (max-width: 991.98px) {
  .card_loc.img_i .infos {
    position: absolute;
    z-index: 130;
    bottom: 0;
    left: 0;
  }
}
@media (min-width: 1200px) {
  .card_loc.img_i .infos {
    position: absolute;
    z-index: 130;
    bottom: 0;
    left: 0;
  }
}
.card_loc .infos {
  display: inline-block;
}
.card_loc .infos > .inner {
  padding: 1rem 2rem 1rem;
}
.card_loc .infos .titre {
  color: #fff;
}
.card_loc .infos .picto-pmr {
  display: inline-block;
}
.card_loc .infos {
  width: 100%;
  border-radius: 20px;
}
.card_loc .list_dbl_tx_bis.info_on_img {
  position: absolute;
  z-index: 300;
  top: 0;
  left: 0;
  transform: translate(-20px, -20px);
  /* Reset */
  float: none;
  width: 100%;
}
.card_loc .list_dbl_tx_bis.info_on_img svg,
.card_loc .list_dbl_tx_bis.info_on_img img {
  position: relative;
  z-index: 5;
  background-color: #606C38;
}
.card_loc .list_dbl_tx_bis.info_on_img svg path {
  fill: #fff;
}
.card_loc .list_dbl_tx_bis.info_on_img .inner {
  position: relative;
  z-index: 3;
  margin-left: -0.4rem;
  padding: 0.3rem 0.7rem 0.5rem 1rem;
  background-color: rgba(0, 0, 0, 0.8);
}
.card_loc .list_dbl_tx_bis.info_on_img [class*=tx-] {
  font-size: 0.8rem;
  line-height: 1;
  display: block;
}
.card_loc .infos_l {
  float: left;
  width: 60%;
}
.card_loc .list_dbl_tx_bis {
  margin-bottom: 0rem;
}
.card_loc .list_dbl_tx_bis li {
  margin-top: 0.5rem;
}
.card_loc-price {
  color: #fff;
  text-align: right;
  padding: 0rem 0 0 1.2rem;
  width: 40%;
  float: right;
}
.card_loc-price .from {
  font-size: 0.75rem;
  font-weight: 400;
  width: 100%;
  display: block;
  margin-bottom: 0.5rem;
  text-transform: none;
}
.card_loc-price .to {
  font-size: 0.95rem;
  font-weight: 500;
  text-transform: uppercase;
  width: 100%;
  display: block;
}
.card_loc-price .to,
.card_loc-price .from {
  color: #BBC591;
  line-height: 1.2;
}
.card_loc-price .nbr,
.card_loc-price .sigle {
  font-size: 2.8rem;
  line-height: 1.2;
  font-family: "Amatic SC", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-weight: 700;
}
@media (min-width: 992px) {
  .card_loc-price .nbr,
  .card_loc-price .sigle {
    font-size: 4rem;
  }
}

/*

$listing_type == 'slider'
  .list_cards main_slider

$listing_type == 'div'
    .uikit_filter px-lg-5
*/
@media (min-width: 992px) {
  .list_cards.main_slider .card_loc .embed-responsive + .content {
    position: absolute;
    z-index: 100;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
  }
}
@media (min-width: 992px) {
  .list_cards.main_slider .card_loc .infos {
    /* reset */
  }
}
.list_cards.main_slider .card_loc .titre_c {
  top: 0;
  transform: translate(-50%, 0%) scale(1);
}
@media (min-width: 992px) {
  .list_cards.main_slider .card_loc .titre_c {
    width: 41.6666666667%;
    margin: 1rem 0 1rem 1rem;
    padding-top: 3rem;
  }
}
@media (min-width: 992px) {
  .list_cards.main_slider .card_loc .titre {
    font-size: 2.7rem;
    line-height: 1.2;
  }
}

.list_articles .stl_card .titre_style-1 {
  font-size: 1rem;
}

.stl_card .titre_double {
  font-size: 0.4rem;
}
.stl_card .titre_double .soustitre {
  margin-top: 0;
}

.bricklayer .stl_card {
  margin-bottom: 4rem;
}
.bricklayer .stl_card .label {
  margin-bottom: 2rem;
  color: #391C11;
  border: 1px solid #391C11;
  background-color: #F6F7EE;
}
.bricklayer .stl_card .ck_tx:after,
.bricklayer .stl_card .strokeY_deco .titre_double:after {
  height: 1px;
  width: 60%;
  margin: 0 auto;
}
.bricklayer .stl_card .ck_tx,
.bricklayer .stl_card .strokeY_deco .titre_double {
  margin-bottom: 4rem !important;
}
.bricklayer .stl_card .content {
  text-align: center;
}

.no_type_heberg .stl_card .label {
  text-transform: uppercase;
  margin-bottom: 2rem;
}
.no_type_heberg .stl_card .img_cover + .content .label, .no_type_heberg .stl_card .tx_img.img_cover_i .tx_img-img .item + .content .label, .tx_img.img_cover_i .tx_img-img .no_type_heberg .stl_card .item + .content .label {
  position: absolute;
  top: 2rem;
  right: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
@media (min-width: 992px) {
  .no_type_heberg .stl_card .img_cover + .content .label, .no_type_heberg .stl_card .tx_img.img_cover_i .tx_img-img .item + .content .label, .tx_img.img_cover_i .tx_img-img .no_type_heberg .stl_card .item + .content .label {
    transform: translate(-100%, 0);
    left: 50%;
    right: auto;
  }
}
.no_type_heberg .stl_card {
  padding-top: 1rem; /* Pour le shadow */
}
.no_type_heberg .stl_card > .inner {
  margin-left: 8.3333333333%;
  margin-right: 8.3333333333%;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0px 0px 10px rgba(57, 28, 17, 0.5);
  background-color: #fff;
  position: relative; /* Pour le a 100% */
}
.no_type_heberg .stl_card .content {
  position: initial; /* Pour le a 100% */
  padding: 2rem 2rem 2rem 2rem;
}
@media (min-width: 992px) {
  .no_type_heberg .stl_card .content {
    padding: 4rem 3rem 2rem 4rem;
  }
}
.no_type_heberg .stl_card .link_page {
  text-indent: -9999px;
  display: block;
  position: absolute;
  z-index: 100;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: transparent;
  border: 0;
}

.card_avis .embed-responsive {
  background: transparent;
}
.card_avis .embed-responsive .btn {
  color: #fff;
  text-shadow: initial;
  position: initial;
  z-index: initial;
  bottom: initial;
  left: initial;
  margin-right: initial;
  transform: initial;
  margin-bottom: 0;
  text-indent: 0;
}
.card_avis .embed-responsive .btn:hover {
  color: #C7473B;
}
.card_avis.btn_i .desc {
  text-align: left;
  justify-content: left;
  align-content: end;
}
.card_avis.img_i.desc_i .titre {
  color: #fff;
}
.card_avis.img_i.desc_i .tx {
  color: #BBC591;
  text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.8);
}
.card_avis .img, .card_avis .desc {
  position: absolute;
  inset: 8.3333333333%;
  border-radius: 40px;
  overflow: hidden;
}
.card_avis > .inner {
  position: relative; /* Pour le a 100% */
}
.card_avis .img {
  z-index: 5;
}
.card_avis .img .item img {
  object-fit: cover;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, -50%);
}
.card_avis .img + .desc {
  background-color: transparent;
}
.card_avis .desc {
  text-align: center;
  z-index: 10;
  padding: 1.4rem 1.4rem 1.6rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  background-color: #BBC591;
}
.card_avis .desc em, .card_avis .desc strong {
  color: #606C38;
}
.card_avis .labpic {
  color: #fff;
}
.card_avis .labpic i {
  font-size: 2.4rem;
}
.card_avis .titre {
  color: #606C38;
  font-family: "Amatic SC", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 2rem;
  line-height: 1;
  font-weight: 700;
  word-wrap: break-word;
}
@media (min-width: 992px) {
  .card_avis .titre {
    font-size: 2.5rem;
  }
}
@media (min-width: 1600px) {
  .card_avis .titre {
    font-size: 3rem;
  }
}
.card_avis .tx {
  color: #84934F;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
}
@media (min-width: 992px) {
  .card_avis .tx {
    font-size: 1rem;
  }
}
@media (min-width: 1600px) {
  .card_avis .tx {
    font-size: 1.2rem;
  }
}

.from_price .price {
  font-size: 1.15rem;
  line-height: 1;
  font-weight: 500;
}
@media (min-width: 576px) {
  .from_price .price {
    font-size: 1.5rem;
  }
}
@media (min-width: 768px) {
  .from_price .price {
    font-size: 2rem;
  }
}
@media (min-width: 992px) {
  .from_price .price {
    font-size: 2.5rem;
  }
}
@media (min-width: 1200px) {
  .from_price .price {
    font-size: 3rem;
  }
}
.from_price .night_week {
  text-transform: uppercase;
  margin-left: 0.4rem;
}

.card_slider-img_tx_info .content {
  border-left: 1px solid #F6F7EE;
  border-right: 1px solid #F6F7EE;
  border-bottom: 1px solid #F6F7EE;
  padding-bottom: 35px;
  overflow: hidden;
}
.card_slider-img_tx_info .content .titre_double_c:after {
  margin: 0 0 2rem;
}
.card_slider-img_tx_info .content > .inner {
  background-color: #606c38;
  padding: 0.3rem 1.8rem 1rem;
}
@media (min-width: 992px) {
  .card_slider-img_tx_info .content {
    border: 0;
    position: absolute;
    z-index: 10;
    top: 6.6666666667%;
    right: 2.5%;
    width: 37.5%;
  }
}
@media (min-width: 1200px) {
  .card_slider-img_tx_info .content {
    width: 33.3333333333%;
  }
}
@media (min-width: 1600px) {
  .card_slider-img_tx_info .content {
    width: 29.1666666667%;
  }
}
.card_slider-img_tx_info .ck_tx {
  margin-bottom: 1rem;
}
.card_slider-img_tx_info {
  /* Reset */
}
.card_slider-img_tx_info .list_btn {
  margin-top: 0rem;
  text-align: center;
}
@media (max-width: 991.98px) {
  .card_slider-img_tx_info .list_btn {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
  }
}
@media (min-width: 992px) {
  .card_slider-img_tx_info .list_btn {
    margin-top: 2rem;
    margin-bottom: -50px;
  }
}
.card_slider-img_tx_info .btn_std, .card_slider-img_tx_info .wpml-ls-legacy-dropdown li a, .wpml-ls-legacy-dropdown li .card_slider-img_tx_info a, .card_slider-img_tx_info .wp-block-button__link {
  border-radius: 100%;
  padding: 8px;
  background-color: rgba(96, 108, 56, 0.6);
}
@media (min-width: 992px) {
  .card_slider-img_tx_info .btn_std, .card_slider-img_tx_info .wpml-ls-legacy-dropdown li a, .wpml-ls-legacy-dropdown li .card_slider-img_tx_info a, .card_slider-img_tx_info .wp-block-button__link {
    padding: 14px;
    background-color: #606c38;
  }
}
.card_slider-img_tx_info .btn_std i, .card_slider-img_tx_info .wpml-ls-legacy-dropdown li a i, .wpml-ls-legacy-dropdown li .card_slider-img_tx_info a i, .card_slider-img_tx_info .wp-block-button__link i {
  margin-left: 0;
}
.card_slider-img_tx_info .btn_std:after, .card_slider-img_tx_info .wpml-ls-legacy-dropdown li a:after, .wpml-ls-legacy-dropdown li .card_slider-img_tx_info a:after, .card_slider-img_tx_info .wp-block-button__link:after {
  content: " ";
  display: block;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}
.card_slider-img_tx_info {
  /* END > Reset */
}
.card_slider-img_tx_info .titre_double {
  color: #391C11;
  text-align: left;
  /* Reset */
}
.card_slider-img_tx_info .titre_double .soustitre {
  margin-top: 0;
}
.card_slider-img_tx_info .titre_double {
  flex: 0 0 100%;
  max-width: 100%;
  margin-left: 0%;
  font-size: 0.28rem;
}
@media (min-width: 992px) {
  .card_slider-img_tx_info .titre_double {
    font-size: 0.35rem;
  }
}
@media (min-width: 1200px) {
  .card_slider-img_tx_info .titre_double {
    font-size: 0.45rem;
  }
}
@media (min-width: 1600px) {
  .card_slider-img_tx_info .titre_double {
    font-size: 0.5rem;
  }
}
.card_slider-img_tx_info .titre_double {
  /* END > Reset */
}

/* ================================ VIGNETTE ================================ */
/* ================================ END > VIGNETTE ================================ */
/* ================================ VIGNETTE HORIZONTAL ================================ */
.carte_tourisme-article .titre_style-1 {
  font-size: 0.35rem;
}
@media (min-width: 768px) {
  .carte_tourisme-article .titre_style-1 {
    font-size: 0.4rem;
  }
}
@media (min-width: 1200px) {
  .carte_tourisme-article .titre_style-1 {
    font-size: 0.45rem;
  }
}

.vignette-horizontal.card_min .titre_double .titre {
  font-size: 3.25em;
}
@media (min-width: 768px) {
  .vignette-horizontal.card_min .titre_double .titre {
    font-size: 3.3em;
  }
}
@media (min-width: 1200px) {
  .vignette-horizontal.card_min .titre_double .titre {
    font-size: 3.35em;
  }
}
.vignette-horizontal {
  /* --- Article actif --- */
}
.vignette-horizontal {
  /* --- END > Article actif --- */
}
.vignette-horizontal .label {
  padding: 0 40px 40px;
}
.vignette-horizontal .figure {
  margin-bottom: 1rem;
  background-color: rgb(233.148, 235.576, 213.724);
}
.vignette-horizontal .desc:before {
  margin-top: 0 !important;
}
.vignette-horizontal .desc {
  text-align: justify;
}
.vignette-horizontal {
  /* --- SANS IMG DE FOND --- */
}
.vignette-horizontal {
  /* --- END > SANS IMG DE FOND --- */
}
.vignette-horizontal > .lazy-bgi,
.vignette-horizontal > .lazy-bgi .titre_style-1 {
  color: #fff;
}
.vignette-horizontal > .lazy-bgi .label {
  padding-top: 20px;
}
.vignette-horizontal > .lazy-bgi .label,
.vignette-horizontal > .lazy-bgi .content {
  position: relative;
  z-index: 160;
}
.vignette-horizontal > .lazy-bgi {
  position: relative;
  z-index: 160;
}
.vignette-horizontal > .lazy-bgi:after {
  content: " ";
  display: block;
  position: absolute;
  z-index: 120;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.6);
}
@media (min-width: 992px) {
  .vignette-horizontal > .lazy-bgi:after {
    content: " ";
    background-color: transparent;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.8) 30%, rgba(0, 0, 0, 0));
  }
}

/* ================================ END > VIGNETTE HORIZONTAL ================================ */
.list_picto {
  text-align: center;
}
.list_picto-li {
  display: inline-block;
  vertical-align: top;
  margin: 0 5px 10px;
  max-width: 33.33%;
}
@media (min-width: 576px) {
  .list_picto-li {
    max-width: 25%;
    margin-left: 10px;
    margin-right: 10px;
  }
}
@media (min-width: 768px) {
  .list_picto-li {
    max-width: 33.33%;
    margin-left: 5px;
    margin-right: 5px;
  }
}
@media (min-width: 992px) {
  .list_picto-li {
    max-width: 25%;
    margin-left: 10px;
    margin-right: 10px;
  }
}
@media (min-width: 1200px) {
  .list_picto-li {
    max-width: 33.33%;
    margin-left: 5px;
    margin-right: 5px;
  }
}
@media (min-width: 1600px) {
  .list_picto-li {
    max-width: 25%;
    margin-left: 10px;
    margin-right: 10px;
  }
}
.list_picto .inner_li {
  display: block;
}
.list_picto .picto_clim .ico {
  padding: 6px 8px 0px !important;
}
.card_loc .list_dbl_tx {
  padding: 0 !important;
}

.list_dbl_tx {
  color: #fff;
  padding: 0 4.1666666667% !important;
}
.list_dbl_tx li {
  text-align: center;
  border-left: 1px solid rgb(201.7027027027, 110.7837837838, 76.2972972973);
}
.list_dbl_tx li:first-child {
  border-left: 0;
}
.list_dbl_tx .inner {
  padding: 0 1rem;
}
.list_dbl_tx [class*=tx-] {
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1.2;
}
@media (min-width: 992px) {
  .list_dbl_tx [class*=tx-] {
    font-size: 0.9rem;
  }
}
.list_dbl_tx img,
.list_dbl_tx svg {
  width: 40px;
  height: 40px;
  margin: 0 auto;
  filter: invert(69%) sepia(10%) saturate(90%) hue-rotate(341deg) brightness(84%) contrast(81%);
}
.list_dbl_tx svg + .inner {
  padding-right: 8%;
}

.list_dbl_tx_bis {
  color: #fff;
  padding: 0 !important;
}
.list_dbl_tx_bis li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 1rem;
}
.list_dbl_tx_bis li:first-child {
  margin-top: 0;
}
.list_dbl_tx_bis .inner {
  padding: 0 1rem;
}
.list_dbl_tx_bis [class*=tx-] {
  font-size: 0.8rem;
  font-weight: 300;
  line-height: 1.2;
}
@media (min-width: 992px) {
  .list_dbl_tx_bis [class*=tx-] {
    font-size: 0.9rem;
  }
}
.list_dbl_tx_bis img,
.list_dbl_tx_bis svg {
  width: 40px;
  height: 40px;
  border-radius: 100%;
  background-color: #606C38;
}
.list_dbl_tx_bis svg + .inner {
  padding-right: 8%;
}

.wp-block-button__link {
  color: red;
  border: 0 !important;
}

[data-type="acf/wave-double"] {
  clear: both;
}

.has-theme-green-background-color {
  background-color: rgb(169, 198, 40) !important;
  color: white;
}

.wp-block-cover {
  text-align: center;
  justify-content: center;
  align-items: center;
}
.wp-block-cover .wp-block-paragraph,
.wp-block-cover .text {
  color: #fff !important;
  font-size: 1.3rem !important;
}
.wp-block-cover .wp-block-heading,
.wp-block-cover .h_tag {
  color: #fff !important;
  font-family: "Amatic SC", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 2.3rem;
  font-weight: 400;
}

.wp-block-cover-image.is-position-bottom-center,
.wp-block-cover.is-position-bottom-center {
  align-items: flex-end;
  justify-content: center;
}

#guestapp-mini {
  margin: 0 auto;
  position: relative;
  width: 55px;
}
@media (min-width: 768px) {
  #guestapp-mini {
    width: 70px;
  }
}
@media (min-width: 992px) {
  #guestapp-mini {
    width: 150px;
  }
}

@media (min-width: 768px) {
  .widget_avi {
    bottom: 14px;
    right: 20px;
  }
}
@media (min-width: 992px) {
  .widget_avi {
    bottom: 20px;
    right: 20px;
  }
}

.widget-mini {
  display: flex;
  align-items: center;
  transition: opacity 0.2s;
}

.main_footer_visible .widget-mini {
  opacity: 0;
  visibility: hidden;
}

/* --- Bouton plus --- */
.widget-mini .guestapp-plus {
  text-indent: -599px;
  overflow: hidden;
  display: block;
  width: 24px;
  height: 24px;
  position: absolute;
  top: -8px;
  left: 40px;
  z-index: 20;
  border-radius: 100%;
  background-image: url(../img/logo-guest-suite-icon-plus.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-color: #3bb1db;
}
.widget-mini .guestapp-plus:hover {
  background-color: #373737 !important;
}
@media (min-width: 768px) {
  .widget-mini .guestapp-plus {
    left: 50px;
  }
}
@media (min-width: 992px) {
  .widget-mini .guestapp-plus {
    width: 30px;
    height: 30px;
    top: -8px;
    left: 60px;
  }
}

/* --- END > Bouton plus --- */
/* --- Note --- */
.widget-mini .guestapp-note {
  color: #FFF;
  text-align: center;
  position: relative;
  z-index: 13;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  width: 55px;
  height: 55px;
  border-radius: 100%;
  background-color: #3bb1db;
}
.widget-mini .guestapp-note .guestapp-valeur {
  font-size: 1em;
  font-weight: bold;
  line-height: 1;
  display: block;
}
.widget-mini .guestapp-note .guestapp-valeur:after {
  content: " ";
  display: block;
  height: 2px;
  width: 60%;
  margin: 0.1em auto;
  background-color: #fff;
}
.widget-mini .guestapp-note .guestapp-max {
  font-size: 0.8em;
  font-weight: normal;
  line-height: 1;
  display: block;
}
@media (min-width: 768px) {
  .widget-mini .guestapp-note {
    width: 70px;
    height: 70px;
  }
  .widget-mini .guestapp-note .guestapp-valeur {
    font-size: 1.25em;
  }
  .widget-mini .guestapp-note .guestapp-max {
    font-size: 1.05em;
  }
}
@media (min-width: 992px) {
  .widget-mini .guestapp-note {
    width: 90px;
    height: 90px;
  }
  .widget-mini .guestapp-note .guestapp-valeur {
    font-size: 1.5em;
  }
  .widget-mini .guestapp-note .guestapp-max {
    font-size: 1.3em;
  }
}

/* --- END > Note --- */
/* --- Total --- */
.widget-mini .guestapp-total {
  color: #FFF;
  text-align: center;
  position: relative;
  z-index: 10;
  width: 80px;
  padding-right: 10px;
  padding-left: 20px;
  margin-left: -20px;
  display: none;
  flex-flow: column nowrap;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  background-color: #373737;
}
@media (min-width: 992px) {
  .widget-mini .guestapp-total {
    display: flex;
  }
}
.widget-mini .guestapp-total .guestapp-nb-avis,
.widget-mini .guestapp-total .guestapp-lien {
  display: block;
}
.widget-mini .guestapp-total .guestapp-nb-avis {
  font-size: 12px;
  line-height: 1.1;
  text-align: center;
  margin: 0.5em 0 0.15em;
}
.widget-mini .guestapp-total .guestapp-lien {
  margin: 0.15em 0 0.4em;
}
.widget-mini .guestapp-total .guestapp-lien img {
  display: block;
  width: 40px;
  height: 28px;
  margin: 0 auto;
}

/* --- END > Total --- */
/*
 * GENERAL
 */
#guestapp-reviews {
  position: relative;
  border-radius: 5px !important;
  font-family: Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 100 !important;
  width: 100% !important;
}

#guestapp-reviews p {
  margin: 8px 0;
}

#guestapp-reviews ul {
  list-style: none;
  list-style-type: none;
  padding: 0;
  margin: 0;
}

#guestapp-reviews table {
  margin: auto;
  width: 100%;
}

#guestapp-reviews table td {
  border: 0;
  vertical-align: top;
  padding: 0 5px;
  font-size: 12px;
}

.guestapp-criterias {
  padding: 0 15px;
}

.guestapp-comment {
  padding: 10px;
  border-radius: 5px;
}

.guestapp-center {
  text-align: center;
}

.guestapp-right {
  text-align: right;
}

.guestapp-bold {
  font-weight: bold;
}

.guestapp-scale {
  border-top: 1px solid white;
  font-size: 28px;
  padding: 0 8px;
}

.guestapp-mb3 {
  margin: 3px;
}

.guestapp-mb10 {
  margin-bottom: 10px;
}

.guestapp-big2 {
  font-size: 1.5em;
}

.guestapp-big3 {
  font-size: 3em;
  line-height: 1.2em;
}

.guestapp-bar {
  background-color: white;
  border: 1px solid #999;
  height: 10px;
  display: block;
  width: 100%;
  overflow: hidden;
  position: relative;
  margin: auto;
}

.guestapp-progress {
  display: block;
  height: 100%;
  width: 0;
}

.guestapp-rating-bar {
  position: absolute;
}

.guestapp-link {
  color: grey;
  font-weight: 300;
  font-size: 10px;
}

.guestapp-link:hover {
  color: #da3768;
}

.guestapp-see-more {
  cursor: pointer;
}

.guestapp-infos {
  padding: 20px;
}

/*
 * REVIEW AGGREGATE
 */
.guestapp-aggregate h1 {
  margin: 0;
  text-transform: uppercase;
  font-size: 20px;
  /*float: left;*/
  width: auto;
}

.guestapp-aggregate .guestapp-language {
  top: 15px;
  width: auto;
  position: absolute;
  right: 15px;
}

.guestapp-aggregate > .guestapp-title {
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
}

.guestapp-details {
  margin: 0;
  padding: 0 10px 10px 10px;
}

.guestapp-title {
  text-align: center;
}

.guestapp-aggregate .guestapp-average {
  box-sizing: border-box;
  border-radius: 50%;
  color: white;
  height: 90px;
  padding-top: 8px;
  text-align: center;
  width: 90px;
  margin: 20px auto 0 auto;
}

/*
 * REVIEW
 */
.guestapp-review {
  padding: 10px;
}

.guestapp-rating {
  height: 31px;
  text-align: center;
  margin: 0 auto 15px auto;
}

.guestapp-review table {
  font-size: inherit;
}

.guestapp-review .ga-review-footer li:nth-child(2) {
  text-align: right;
}

.guestapp-review .guestapp-authenticity {
  text-align: right;
}

.guestapp-review .guestapp-authenticity img {
  height: 30px !important;
  width: auto;
}

.guestapp-footer {
  padding: 10px 0 0 0;
  font-size: 10px;
}

.guestapp-footer img {
  height: 40px !important;
  margin-bottom: 5px;
}

.guestapp-criterias-rating td {
  display: none;
}

.guestapp-criterias-rating.open td {
  display: table-cell;
}

.guestapp-review i {
  font-size: 12px;
}

.guestapp-content-reviews {
  max-height: 475px;
  overflow: auto;
}

.guestapp-response-container {
  margin-top: 10px;
}

.guestapp-comment-response {
  padding: 0 10px;
  border-left: 1px dashed;
}

.guestapp-globals-criterias {
  display: none;
}

.guestapp-globals-criterias.open {
  display: table;
  margin-top: 10px !important;
}

.guestapp-show-globals-criterias {
  border-radius: 5px;
  padding: 5px;
  font-size: 12px;
}

/* Responsive */
@media (min-width: 480px) {
  .guestapp-average {
    position: absolute;
    left: 20px;
  }
  .guestapp-infos {
    max-width: 300px;
    margin: auto;
  }
}
/*
 * Theme sombre
 */
.guestapp-widget-obscur {
  background-color: #262f34;
  border: 1px solid #000;
  color: #f7f7f7;
  overflow: hidden;
}

.guestapp-widget-obscur table {
  color: #f7f7f7;
}

.guestapp-widget-obscur .guestapp-review {
  border-bottom: 1px solid #000;
}

.guestapp-widget-obscur .guestapp-aggregate > .guestapp-title {
  background-color: #262f34;
}

.guestapp-widget-obscur .guestapp-details {
  background-color: #262f34;
  border-bottom: 1px solid #000;
}

.guestapp-widget-obscur .guestapp-stars {
  color: #f7f7f7;
}

.guestapp-widget-obscur .guestapp-rate {
  color: #da3768;
}

.guestapp-widget-obscur .guestapp-comment {
  background: #2B282F;
  border: 1px solid black;
}

.guestapp-widget-obscur .guestapp-footer {
  border-top: 1px solid black;
}

.guestapp-widget-obscur .guestapp-show-globals-criterias {
  border: 1px solid #A0264B;
  background-color: #da3768;
  border-bottom: 2px solid #A0264B;
  color: white;
  cursor: pointer;
}

.guestapp-widget-obscur .guestapp-details {
  color: white;
}

.guestapp-widget-obscur .guestapp-scale {
  border-top: 1px solid white;
}

.guestapp-widget-obscur .guestapp-progress {
  background-color: #da3768 !important;
}

.guestapp-widget-obscur .guestapp-aggregate .guestapp-average {
  background-color: #da3768;
}

/*
 * Theme bright
 */
.guestapp-widget-bright {
  background-color: #f5f5f5;
  color: #333;
  overflow: hidden;
}

.guestapp-widget-bright table {
  color: #333;
}

.guestapp-widget-bright .guestapp-review {
  border-bottom: 1px solid #ccc;
}

.guestapp-widget-bright .guestapp-aggregate > .guestapp-title {
  background-color: #f5f5f5;
}

.guestapp-widget-bright .guestapp-details {
  background-color: #f5f5f5;
  border-bottom: 1px solid #ccc;
}

.guestapp-details {
  color: #333;
}

.guestapp-widget-bright .guestapp-stars {
  color: #333;
}

.guestapp-widget-bright .guestapp-rate {
  color: #da3768;
}

.guestapp-widget-bright .guestapp-comment {
  background: #fff;
  border: 1px solid #ccc;
}

.guestapp-widget-bright .guestapp-comment-response {
  border-color: #ccc;
}

.guestapp-widget-bright .guestapp-show-globals-criterias {
  border: 1px solid #A0264B;
  background-color: #da3768;
  border-bottom: 2px solid #A0264B;
  color: white;
  cursor: pointer;
}

.guestapp-widget-bright .guestapp-scale {
  border-top: 1px solid #ccc;
}

.guestapp-widget-bright .guestapp-progress {
  background-color: #da3768 !important;
}

.guestapp-widget-bright .guestapp-aggregate .guestapp-average {
  background-color: #da3768;
}

.guestapp-rating-tooltip img {
  width: 100%;
  height: auto;
}

.guestapp-rating-tooltip {
  display: inline-block;
  position: relative;
  width: 10px;
  height: 10px;
}

.guestapp-rating-tooltip::before {
  display: inline-block;
  position: absolute;
  left: 100%;
  top: 5px;
  padding: 10px;
  margin-left: 10px;
  color: #fff;
  background: #888;
  border-radius: 5px;
  content: attr(aria-label);
  opacity: 0;
  -webkit-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}

.guestapp-rating-tooltip:hover:before,
.guestapp-rating-tooltip:focus:before {
  opacity: 1;
}

.guestapp-hidden {
  display: none;
}

/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  overflow: hidden;
  -webkit-transform: translate3d(0, 0, 0);
}

#cboxWrapper {
  max-width: none;
}

#cboxOverlay {
  position: fixed;
  width: 100%;
  height: 100%;
}

#cboxMiddleLeft, #cboxBottomLeft {
  clear: left;
}

#cboxContent {
  position: relative;
}

#cboxLoadedContent {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

#cboxTitle {
  margin: 0;
}

#cboxLoadingOverlay, #cboxLoadingGraphic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow {
  cursor: pointer;
}

.cboxPhoto {
  float: left;
  margin: auto;
  border: 0;
  display: block;
  max-width: none;
  -ms-interpolation-mode: bicubic;
}

.cboxIframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
}

#colorbox, #cboxContent, #cboxLoadedContent {
  box-sizing: content-box;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
}

/*
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay {
  background: #000;
  opacity: 0.9;
  filter: alpha(opacity=90);
}

#colorbox {
  outline: 0;
}

#cboxContent {
  margin-top: 20px;
  background: #000;
}

.cboxIframe {
  background: #fff;
}

#cboxError {
  padding: 50px;
  border: 1px solid #ccc;
}

#cboxLoadedContent {
  border: 5px solid #000;
  background: #fff;
}

#cboxTitle {
  position: absolute;
  top: -20px;
  left: 0;
  color: #ccc;
}

#cboxCurrent {
  position: absolute;
  top: -20px;
  right: 0px;
  color: #ccc;
}

#cboxLoadingGraphic {
  background: url(../img/color-box/loading.gif) no-repeat center center;
}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {
  border: 0;
  padding: 0;
  margin: 0;
  overflow: visible;
  width: auto;
  background: none;
}

/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {
  outline: 0;
}

#cboxSlideshow {
  position: absolute;
  top: -20px;
  right: 90px;
  color: #fff;
}

#cboxPrevious {
  position: absolute;
  top: 50%;
  left: 5px;
  margin-top: -32px;
  background: url(../img/color-box/controls.png) no-repeat top left;
  width: 28px;
  height: 65px;
  text-indent: -9999px;
}

#cboxPrevious:hover {
  background-position: bottom left;
}

#cboxNext {
  position: absolute;
  top: 50%;
  right: 5px;
  margin-top: -32px;
  background: url(../img/color-box/controls.png) no-repeat top right;
  width: 28px;
  height: 65px;
  text-indent: -9999px;
}

#cboxNext:hover {
  background-position: bottom right;
}

#cboxClose {
  position: absolute;
  top: 5px;
  right: 5px;
  display: block;
  background: url(../img/color-box/controls.png) no-repeat top center;
  width: 38px;
  height: 19px;
  text-indent: -9999px;
}

#cboxClose:hover {
  background-position: bottom center;
}

.st0 {
  fill: #84934f;
}

.st1 {
  fill: #6d441d;
}

.hero_o .header-logo #carte_contour {
  stroke: #606C38;
}
.hero_o .header-logo .logo_animal {
  fill: #606C38;
}
.hero_o .header-logo {
  margin-bottom: 2rem;
}
@media (min-width: 992px) {
  .hero_o .header-logo {
    margin-bottom: 3rem;
  }
}

.hero_i.home .head-wrapper .list_reseaux {
  transform: translate(0, -4rem);
}
@media (min-width: 576px) {
  .hero_i.home .head-wrapper .list_reseaux {
    transform: translate(0, -2rem);
  }
}
@media (min-width: 992px) {
  .hero_i.home .head-wrapper .list_reseaux {
    transform: translate(0, -6rem);
  }
}
.hero_i .head-wrapper .list_reseaux {
  align-items: center;
  transform: translate(0, -1rem);
}
@media (min-width: 576px) {
  .hero_i .head-wrapper .list_reseaux {
    transform: translate(0, 0rem);
  }
}
@media (min-width: 768px) {
  .hero_i .head-wrapper .list_reseaux {
    transform: translate(0, -1rem);
  }
}
@media (min-width: 992px) {
  .hero_i .head-wrapper .list_reseaux {
    position: absolute;
    z-index: 180;
    left: 35px;
    bottom: 40px;
    transform: translate(0, 0rem);
  }
}
.hero_i .form_resa {
  transform: translate(0, -3rem);
}
@media (min-width: 576px) {
  .hero_i .form_resa {
    transform: translate(0, -1rem);
  }
}
@media (min-width: 992px) {
  .hero_i .form_resa {
    position: absolute;
    z-index: 180;
    bottom: 0px;
    left: 16.6666666667%;
    transform: translate(0, -6rem);
    width: 66.6666666667%;
  }
}
@media (min-width: 1600px) {
  .hero_i .form_resa {
    left: 25%;
    width: 50%;
  }
}

.header-logo svg g {
  opacity: 0;
}
.header-logo svg g.uk-scrollspy-inview {
  opacity: 1;
}
.header-logo {
  text-align: center;
  transform: translate(-2%, 0%);
}
.header-logo .inner {
  display: flex;
  width: 60%;
}
@media (min-width: 576px) {
  .header-logo .inner {
    width: 260px;
  }
}
@media (min-width: 768px) {
  .header-logo .inner {
    width: 340px;
  }
}
@media (min-width: 992px) {
  .header-logo .inner {
    width: 440px;
  }
}
@media (min-width: 1600px) {
  .header-logo .inner {
    width: 560px;
  }
}
.header-logo .logo {
  flex: 0 0 80%;
  max-width: 80%;
  display: inline-block;
  margin: 0 auto;
  transition: all 0.2s;
}
.header-logo .logo img,
.header-logo .logo svg,
.header-logo .logo object {
  display: block;
  margin: 0 auto;
  width: 100%;
  height: auto;
}
a.header-logo .logo {
  cursor: pointer;
}
a.header-logo .logo object {
  pointer-events: none;
}

.header-logo .logo .st0, .header-logo .logo .st1 {
  fill-rule: evenodd;
  clip-rule: evenodd;
}

@media (max-width: 991.98px) {
  .video_i .header-logo {
    /* RESET POUR VIDEO SUR MOBILE */
  }
  .video_i .header-logo .logo svg,
  .video_i .header-logo .logo object {
    filter: none;
  }
}

#hero_fn {
  overflow: hidden;
}
@media (min-width: 992px) {
  #hero_fn .fn_img {
    opacity: 0;
  }
}
@media (max-width: 991.98px) {
  #hero_fn .fn_img.position-sticky {
    position: static !important;
  }
}
#hero_fn .fn_tx {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
#hero_fn .fn_tx .titre, #hero_fn .fn_tx .soustitre {
  opacity: 0;
}
#hero_fn .fn_tx .titre.uk-scrollspy-inview, #hero_fn .fn_tx .soustitre.uk-scrollspy-inview {
  opacity: 1;
}
@media (min-width: 992px) {
  #hero_fn .fn_tx {
    position: absolute;
    z-index: 100;
    left: 0;
    right: 0;
  }
}
@media (max-width: 991.98px) {
  #hero_fn .fn_tx {
    padding-bottom: 1rem;
    background-color: #fff;
  }
}
@media (max-width: 991.98px) {
  #hero_fn.uk-height-viewport-2 {
    min-height: auto;
  }
}

.main_header {
  color: #fff;
  transition: background 0.2s;
  position: relative;
  flex: 0 0 100%;
  max-width: 100%;
}
.main_header .l_b {
  position: absolute;
  z-index: 1010;
  left: 6px;
  bottom: 60px;
}
@media (min-width: 992px) {
  .main_header .l_b {
    right: 20px;
    top: 110px;
  }
}
.main_header .right {
  position: absolute;
  z-index: 1010;
  right: 6px;
  top: 60px;
}
@media (min-width: 992px) {
  .main_header .right {
    right: 20px;
    top: 110px;
  }
}

/*
  image banner existe           = hero_i
  image banner non existante    = hero_o
*/
.hero_o .header-logo {
  text-align: center;
}
.hero_o .header-logo > .inner {
  display: inline-block;
  padding: 50px 0 0rem;
}
@media (min-width: 992px) {
  .hero_o .header-logo > .inner {
    padding: 50px 0 0rem;
  }
}
.hero_o .header-logo .logo {
  width: 80%;
}

.hero_i .header-logo {
  position: absolute;
  z-index: 140;
  top: 0;
  left: 0;
  right: 0;
}
.hero_i .header-logo > .inner {
  position: absolute;
  z-index: 100;
  top: 20px;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, 0px);
}
@media (max-width: 991.98px) {
  .hero_i .header-logo > .inner svg path {
    fill: white;
  }
}
@media (min-width: 576px) {
  .hero_i .header-logo > .inner {
    top: 20px;
  }
}
@media (min-width: 992px) {
  .hero_i .header-logo > .inner {
    top: 20px;
    transform: translate(-50%, 0);
  }
}
@media (min-width: 1200px) {
  .hero_i .header-logo > .inner {
    top: 25px;
  }
}
@media (max-width: 991.98px) {
  .hero_i.video_i .header-logo {
    /* RESET POUR VIDEO SUR MOBILE */
    position: relative;
    padding-top: 0;
  }
  .hero_i.video_i .header-logo > .inner {
    position: relative;
  }
}

.logo-site-paysage {
  display: inline-block;
  background-color: #606C38;
  padding: 1rem 0.5rem 3rem;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}
.logo-site-paysage img {
  height: auto !important;
  left: auto !important;
  top: auto !important;
  bottom: auto !important;
  position: relative !important;
}
@media (max-width: 991.98px) {
  .logo-site-paysage img {
    width: 130px;
    margin-bottom: 1rem;
  }
}

#main_footer .logo-site-paysage {
  margin-top: 1rem;
  padding: 1rem 0.5rem 0.5rem;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
}
#main_footer .logo-site-paysage img {
  width: 80px;
}

.hero_i .header-logo .logo-site-paysage {
  display: none;
}
@media (min-width: 992px) {
  .hero_i .header-logo .logo-site-paysage {
    display: block;
  }
}
.hero_o .header-logo .logo-site-paysage {
  display: block;
}
.hero_o .content_img .logo-site-paysage {
  display: none;
}

.post-type-archive-lieux .list_reseaux {
  display: none;
}

.post-type-archive-lieux.hero_o .header-logo > .inner {
  padding: 0px 0 0rem;
}

.post-type-archive-lieux .header-logo .logo {
  height: 69px;
}

body.header_novis.post-type-archive-lieux:after {
  height: 0px;
}

.header_novis.post-type-archive-lieux .logo_min {
  display: none;
}

body.menu_actif {
  overflow: hidden;
}
body.menu_actif .menu-V1 {
  overflow: auto;
}

#menu-principal-bis {
  margin-top: 1rem;
}
@media (min-width: 992px) {
  #menu-principal-bis {
    margin-top: 3rem;
  }
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    left: 20%;
  }
  100% {
    opacity: 1;
    left: 0;
  }
}
.menu_actif .main-menu li {
  animation: fadeInRight 0.5s ease forwards;
  animation-delay: 0.35s;
}
.menu_actif .main-menu li:nth-of-type(2) {
  animation-delay: 0.4s;
}
.menu_actif .main-menu li:nth-of-type(3) {
  animation-delay: 0.45s;
}
.menu_actif .main-menu li:nth-of-type(4) {
  animation-delay: 0.5s;
}
.menu_actif .main-menu li:nth-of-type(5) {
  animation-delay: 0.55s;
}
.menu_actif .main-menu li:nth-of-type(6) {
  animation-delay: 0.6s;
}

.main-menu li {
  opacity: 0;
  position: relative;
}

.main-menu .ico a:hover {
  background-color: transparent !important;
}
.main-menu .ico a:hover:after {
  background-color: rgba(96, 108, 56, 0.2);
}
.main-menu .ico a:after {
  content: " ";
  display: block;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  transition: all 0.2s;
}
.main-menu .ico:before {
  content: " ";
  display: block;
  margin: 0 auto;
  margin-top: 0.6rem;
  width: 40px;
  height: 40px;
  background: transparent url("../img/img_deco/mini_deco.svg") no-repeat;
}
.main-menu .ico[class*=ico_]:before {
  width: 80px;
  height: 80px;
  filter: invert(95%) sepia(8%) saturate(418%) hue-rotate(27deg) brightness(91%) contrast(97%);
}
.main-menu .ico.ico_map:before {
  background: transparent url("../img/img_deco/ico-map.svg") no-repeat;
}
.main-menu .ico.ico_canoe:before {
  background: transparent url("../img/img_deco/ico-canoe.svg") no-repeat;
}
.main-menu .ico.ico_discover:before {
  background: transparent url("../img/img_deco/ico-discover.svg") no-repeat;
}

.menu-V1 .overlay {
  border-radius: 100%;
  color: white;
  position: absolute;
  width: 300px;
  height: 300px;
  right: -120px;
  top: -120px;
  transition: all 0.3s;
}

.menu_actif .menu-V1 .overlay {
  border-radius: 0;
  padding: 0 !important;
  position: aboslute;
  width: 100%;
  height: 100%;
  right: 0;
  top: 0;
  transition: all 0.3s;
}

.menu-V1 {
  display: none;
  text-align: center;
  background-color: #84934F;
  background: linear-gradient(144deg, rgba(244.8, 244.8, 244.8, 0.9) 35%, #bbc591 100%);
  position: fixed;
  z-index: 1025;
  top: 0;
  left: 0;
  right: 0;
  -webkit-transform: translate3d(0, 0, 0);
  transition: height 0.2s;
  padding-bottom: 60px;
}
.menu-V1 > .inner {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-content: center;
  min-height: 100%;
  padding: 7rem 8.3333333333% 0;
}
.menu-V1 {
  /* --- Général --- */
}
.menu-V1 ul {
  padding-left: 0;
}
.menu-V1 a.item[href*="javascript:;"], .menu-V1 a.item.noclic {
  cursor: default;
  color: #fff !important;
}
.menu-V1 a.item:hover {
  text-decoration: none;
}
.menu-V1 li:not(.sspage_actif) > a:hover:not([href*="javascript:;"]), .menu-V1 li:not(.sspage_actif) > a:focus:not(.noclic) {
  background-color: rgba(96, 108, 56, 0.2);
}
.menu-V1 {
  /* --- END > Général --- */
  /* --- UL : navigation généré par camp-ebox --- */
}
.menu-V1 .main-menu {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  position: relative;
  z-index: 130;
}
.menu-V1 .main-menu > li {
  margin: 0 20px 2rem;
}
.menu-V1 .main-menu > li.current-menu-item > .item {
  transition: all 0.2s;
}
.menu-V1 .main-menu > li {
  /* --- Link --- */
}
.menu-V1 .main-menu > li > .item {
  color: rgb(24.3512195122, 27.3951219512, 14.2048780488);
  font-size: 2.6rem;
  font-weight: 400;
  font-family: "Amatic SC", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  display: block;
  padding: 5px 10px;
  margin-bottom: 6px;
  border-bottom: 2px solid #fff;
}
@media (min-width: 576px) {
  .menu-V1 .main-menu > li > .item {
    font-size: 3.3rem;
  }
}
.menu-V1 .main-menu > li {
  /* --- END > Link --- */
}
.menu-V1 .main-menu {
  /*
  menu-item-has-children
  */
}
.menu-V1 .main-menu .current-menu-ancestor > .item {
  color: rgb(153.8292682927, 171.6829268293, 94.3170731707) !important;
}
.menu-V1 .main-menu .current-menu-item > .item {
  background-color: rgba(96, 108, 56, 0.2);
}
.menu-V1 .main-menu .sub-menu li > a:hover {
  background-color: rgba(96, 108, 56, 0.3);
}
.menu-V1 .main-menu .sub-menu li .item {
  color: #391C11;
  font-size: 1rem;
  padding: 8px;
  display: block;
  transition: all 0.2s;
}
.menu-V1 {
  /* --- END > UL : navigation généré par camp-ebox --- */
}

.bloc_dual > .row {
  align-items: flex-start;
}
.bloc_dual .titre_double {
  font-size: 0.3rem;
}
@media (min-width: 992px) {
  .bloc_dual .titre_double {
    font-size: 0.35rem;
  }
}
@media (min-width: 1200px) {
  .bloc_dual .titre_double {
    font-size: 0.4rem;
  }
}
@media (min-width: 1600px) {
  .bloc_dual .titre_double {
    font-size: 0.45rem;
  }
}
.bloc_dual {
  /* --- LEFT --- */
}
.bloc_dual-l {
  position: sticky;
  top: 7rem;
}
@media (min-width: 768px) {
  .bloc_dual-l > .inner {
    margin-right: 8.3333333333%;
  }
}
.bloc_dual {
  /* --- END > LEFT --- */
  /* --- RIGHT --- */
}
@media (min-width: 768px) {
  .bloc_dual-r > .inner {
    margin-left: 8.3333333333%;
  }
}
.bloc_dual {
  /* --- END > RIGHT --- */
}

.list-partner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.list-partner .item_m {
  width: 100%;
  max-width: 100px;
  display: block !important;
  outline: 0;
  margin: 0 1rem 1rem;
}
.list-partner .item_m img {
  margin: 0 auto;
  object-fit: contain;
}
.list-partner .embed-responsive {
  background: transparent;
}

.list-reviews {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.list-reviews .item_m {
  width: 100%;
  max-width: 185px;
  display: block !important;
  outline: 0;
  margin: 0 1rem 1rem;
}
.list-reviews .item_m img {
  margin: 0 auto;
  object-fit: contain;
}
.list-reviews ctv-reviews[data-small=true] {
  width: 185px;
  display: block;
  margin: 0 auto;
}

.deco_bretzel {
  width: 200px;
  height: 200px;
  background: transparent url("../../assets/img/img_deco/bretzel.png") no-repeat center center;
  background-size: cover;
  pointer-events: none;
}
@media (min-width: 992px) {
  .deco_bretzel {
    width: 400px;
    height: 400px;
  }
}

.footer_deco_top {
  width: 100%;
  height: auto;
  z-index: 10;
  margin-bottom: -1px;
  pointer-events: none;
}

.moyen-de-paiement--footer {
  display: block;
  width: 100%;
  height: auto;
  max-width: 251px;
  margin: 2rem auto 0;
}
@media (min-width: 992px) {
  .moyen-de-paiement--footer {
    margin: 4rem 0 0 auto;
  }
}

.menu-footer {
  padding-left: 0;
}
.menu-footer li {
  color: #fff;
}
.menu-footer li a {
  color: #fff;
  display: inline-block;
  padding: 0.2rem 0.5rem;
}
.menu-footer li {
  text-align: center;
}
@media (min-width: 992px) {
  .menu-footer li {
    text-align: right;
  }
}

.main_footer {
  color: #391C11;
  z-index: 110;
}
.main_footer .deco_bretzel {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  transform: translate(0, -250px);
}
.main_footer .titre {
  color: #fff;
  font-size: 1.2rem;
  font-weight: 500;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.main_footer-logo {
  display: block;
  padding: 0 25px;
  margin-top: 6rem;
  margin-bottom: 4rem;
}
.main_footer-logo img,
.main_footer-logo svg {
  display: inline-block;
}
@media (max-width: 991.98px) {
  .main_footer-logo img,
  .main_footer-logo svg {
    margin: 0 auto;
  }
}
.main_footer-logo img,
.main_footer-logo svg {
  width: 240px;
}
@media (min-width: 992px) {
  .main_footer-logo img,
  .main_footer-logo svg {
    width: 90%;
  }
}
@media (min-width: 1200px) {
  .main_footer-logo img,
  .main_footer-logo svg {
    width: 80%;
  }
}
@media (min-width: 1600px) {
  .main_footer-logo img,
  .main_footer-logo svg {
    width: 66%;
  }
}
.main_footer-logo svg path {
  fill: #fff;
}
.main_footer .opening_head,
.main_footer .opening {
  font-family: "Amatic SC", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 2.15rem;
  font-weight: 700;
  text-transform: uppercase;
}
.main_footer .opening_head {
  color: #D3A91F;
}
.main_footer .opening {
  color: #F6F7EE;
  display: inline-block;
  margin-bottom: 2rem;
}
.main_footer .address {
  color: #F6F7EE;
  margin-bottom: 0;
  width: 100%;
  margin-bottom: 0.5rem;
}
@media (max-width: 991.98px) {
  .main_footer .address {
    text-align: center;
  }
}
.main_footer .societe .titre {
  margin-right: 2rem;
}
.main_footer .societe-name {
  color: #F6F7EE;
  font-size: 1.1rem;
  font-weight: 500;
  text-transform: uppercase;
  text-align: center;
  width: 100%;
  margin-bottom: 0.5rem;
}
@media (min-width: 992px) {
  .main_footer .societe-name {
    text-align: left;
  }
}
@media (min-width: 1600px) {
  .main_footer .societe-name {
    font-size: 1.2rem;
  }
}
.main_footer .societe-country {
  color: #BBC591;
}
.main_footer .societe-region {
  color: #BBC591;
}
.main_footer .societe-mail .titre, .main_footer .societe-phone .titre {
  margin-right: 0.5rem;
}
.main_footer .societe-mail, .main_footer .societe-phone {
  width: 100%;
}
.main_footer .societe-mail {
  color: #BBC591;
}
@media (max-width: 991.98px) {
  .main_footer .societe-mail {
    text-align: center;
  }
}
.main_footer .societe-mail a,
.main_footer .societe-mail a:hover,
.main_footer .societe-mail a:focus {
  color: #F6F7EE;
}
.main_footer .societe-phone {
  color: #BBC591;
  font-size: 1.6rem;
  font-weight: 500;
  margin: 2rem 0;
}
@media (max-width: 991.98px) {
  .main_footer .societe-phone {
    text-align: center;
  }
}
.main_footer .societe-phone a,
.main_footer .societe-phone a:hover,
.main_footer .societe-phone a:focus {
  color: #F6F7EE;
}
@media (min-width: 1600px) {
  .main_footer .societe {
    font-size: 0.9rem;
  }
}
.main_footer .list_reseaux {
  width: 100%;
  align-items: center;
}
@media (min-width: 992px) {
  .main_footer .list_reseaux {
    align-items: unset;
  }
}
.main_footer .list_reseaux .titre {
  color: #391C11;
}
.main_footer-t_t {
  z-index: 10;
  background-color: #606C38;
}
.main_footer-t_t > .row {
  margin-left: 8.3333333333%;
  margin-right: 8.3333333333%;
}
@media (min-width: 992px) {
  .main_footer-t_t > .row {
    margin-left: 8.3333333333%;
  }
}
.main_footer-t {
  z-index: 10;
  background-color: #606C38;
  padding: 0 8.3333333333%;
}
@media (min-width: 992px) {
  .main_footer-t {
    padding: 0;
  }
}
.main_footer-t {
  /* --- Left --- */
}
@media (min-width: 992px) {
  .main_footer-t_l > .inner {
    padding-left: 16.6666666667%;
  }
}
.main_footer-t {
  /* --- END > Left --- */
  /* --- Middle --- */
}
.main_footer-t_m {
  text-align: center;
}
.main_footer-t {
  /* --- END > Middle --- */
  /* --- Right --- */
}
.main_footer-t_r {
  position: initial; /* pour la deco en bas a droite */
}
@media (min-width: 992px) {
  .main_footer-t_r > .inner {
    margin-right: 16.6666666667%;
  }
}
.main_footer-t_r .titre {
  text-align: center;
}
@media (min-width: 992px) {
  .main_footer-t_r .titre {
    text-align: right;
  }
}
.main_footer-t {
  /* --- END > Right --- */
}
.main_footer-b {
  background-color: #F6F7EE;
}

.ic {
  display: inline-block;
  width: 19px;
  height: 19px;
  margin-right: 0.4rem;
  background-size: contain;
}
.ic.dog {
  background-image: url("../img/dog.png");
}
.ic.defibri {
  background-image: url("../img/defibrilateur.png");
}

.info_tec {
  color: #BBC591;
  font-size: 1rem;
  text-transform: uppercase;
  margin-top: 1rem;
}
@media (min-width: 992px) {
  .info_tec {
    margin-bottom: 0;
  }
}
.info_tec .nbr {
  color: #fff;
}
.info_tec .ic {
  filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(188deg) brightness(103%) contrast(100%);
}

.footer_mention {
  color: #391C11;
  text-align: center;
  display: block;
  padding: 5px 0;
  background-color: #BBC591;
  font-size: 0.7em;
  padding: 10px 0;
}
.footer_mention a {
  color: #391C11;
}
.footer_mention .icon {
  width: 1.4rem;
  height: 1.4rem;
  vertical-align: -0.4rem;
}
.wp-block-acf-form-contact {
  max-width: 100%;
}

.tx_img.double_col .embed-responsive {
  border-radius: 20px;
}

.alert {
  position: relative;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}

.alert-success {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb;
}

.alert-danger {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
}

.form-contact-img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

@media (max-width: 992px) {
  .form-contact-img {
    display: none;
  }
}
.wd_secur_content {
  text-align: center;
}

.widget_resa {
  text-align: center;
}

ctv-searchbar {
  position: relative;
  z-index: 100;
  width: 300px;
  display: block;
}
@media (min-width: 320px) {
  ctv-searchbar {
    width: 100%;
    padding: 10px;
  }
}
ctv-availability.secureholidayV3_2020 {
  display: block;
}

ctv-reviews-list.secureholidayV3_2020 {
  display: block;
}

.hero_o .hamburger {
  top: 10px;
}
@media (min-width: 992px) {
  .hero_o .hamburger {
    top: 20px;
  }
}

.isScroll .hamburger {
  top: 10px;
}
@media (min-width: 992px) {
  .isScroll .hamburger {
    top: 10px;
  }
}

.hamburger {
  transition: all 0.2s;
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 1030;
  padding: 0.2rem;
}
@media (min-width: 992px) {
  .hamburger {
    top: 30px;
    left: 50px;
  }
}

/*$hamburger-hover-use-filter: false !default;*/
/*$hamburger-hover-filter    : opacity(50%) !default;*/
.hero_o .wpml-ls-legacy-list-vertical a {
  color: #391C11 !important;
}

.menu_actif .wpml-ls-legacy-list-vertical a {
  color: #fff !important;
}

@media (min-width: 992px) {
  .isScroll .wpml-ls-legacy-dropdown {
    top: 10px;
  }
}

.wpml-ls-legacy-dropdown {
  position: absolute;
  z-index: 1100;
  top: 10px;
  right: 10px;
  width: auto;
}
@media (min-width: 992px) {
  .wpml-ls-legacy-dropdown {
    top: 30px;
    left: 125px;
    right: auto;
  }
}
.wpml-ls-legacy-dropdown .wpml-ls-item-toggle:after {
  top: calc(50% - 0.1em) !important;
  border-top: 0.3em solid !important;
  border-width: 0.22em !important;
}
.wpml-ls-legacy-dropdown a.wpml-ls-item-toggle {
  padding-right: calc(10px + 0.8em) !important;
}
.wpml-ls-legacy-dropdown li a {
  line-height: 1.5;
}
.wpml-ls-legacy-dropdown li a:hover {
  text-decoration: none;
}
.wpml-ls-legacy-dropdown li img,
.wpml-ls-legacy-dropdown li svg {
  display: inline-block;
  vertical-align: middle;
  width: 18px;
}
.wpml-ls-legacy-dropdown li img {
  height: auto;
}
.wpml-ls-legacy-dropdown li:not(.wpml-ls-current-language) a {
  color: #fff;
  font-weight: 400;
  background-color: #C7473B;
}
.wpml-ls-legacy-dropdown .wpml-ls-current-language {
  display: block !important;
}

.hero_o .content_img .figcaption {
  margin-bottom: 4rem !important;
}
.pagination {
  display: flex;
  justify-content: center;
  list-style: none;
}

.pagination a,
.pagination span {
  margin: 0 5px;
  padding: 8px 12px;
  border: 1px solid #ddd;
  text-decoration: none;
  color: #391C11;
  border-radius: 4px;
}

.pagination a:hover,
.pagination span.current {
  color: #fff;
  background-color: #606C38;
  border-color: #606C38;
}

.btn_cta, .btn_all, .btn_filter {
  display: block;
  border: 0;
  outline: 0;
  padding: 0;
  background-color: transparent;
  transition: all 0.2s;
}
.btn_cta:focus, .btn_all:focus, .btn_filter:focus {
  outline: 1px dotted;
}
.btn_cta:first-letter, .btn_all:first-letter, .btn_filter:first-letter {
  text-transform: uppercase;
}

.btn_std, .wp-block-button__link, .wpml-ls-legacy-dropdown li a {
  color: #fff;
  font-size: 1.1rem;
  font-family: "Amatic SC", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  padding: 0.3rem 0.8rem 0.3rem;
  border: 1px solid #C7473B;
  background-color: #C7473B;
  border-radius: 6px;
  display: inline-flex !important;
  align-items: center;
}
@media (min-width: 992px) {
  .btn_std, .wp-block-button__link, .wpml-ls-legacy-dropdown li a {
    font-size: 1.5rem;
    padding: 0.1rem 0.8rem 0.2rem;
  }
}
.btn_std.btnShowHide.btn_i i:before, .btnShowHide.btn_i.wp-block-button__link i:before, .wpml-ls-legacy-dropdown li a.btnShowHide.btn_i i:before {
  transform: translate(-50%, -50%) rotate(-135deg) translate(-2px, -2px);
}
@media (min-width: 992px) {
  .btn_std.btnShowHide.btn_i i:before, .btnShowHide.btn_i.wp-block-button__link i:before, .wpml-ls-legacy-dropdown li a.btnShowHide.btn_i i:before {
    transform: translate(-50%, -50%) rotate(-135deg) translate(-3px, -3px);
  }
}
.btn_std.btnShowHide i, .btnShowHide.wp-block-button__link i, .wpml-ls-legacy-dropdown li a.btnShowHide i {
  border-color: #a8913e;
}
.btn_std.btnShowHide i:before, .btnShowHide.wp-block-button__link i:before, .wpml-ls-legacy-dropdown li a.btnShowHide i:before {
  transform: translate(-50%, -50%) rotate(45deg) translate(-2px, -2px);
}
@media (min-width: 992px) {
  .btn_std.btnShowHide i:before, .btnShowHide.wp-block-button__link i:before, .wpml-ls-legacy-dropdown li a.btnShowHide i:before {
    transform: translate(-50%, -50%) rotate(45deg) translate(-3px, -3px);
  }
}
.btn_std.btnShowHide i:before, .btnShowHide.wp-block-button__link i:before, .wpml-ls-legacy-dropdown li a.btnShowHide i:before {
  height: 11.25px;
  border-color: #a8913e;
  border-style: solid;
  border-width: 0px 2px 2px 0px;
  background-color: transparent;
}
@media (min-width: 992px) {
  .btn_std.btnShowHide i:before, .btnShowHide.wp-block-button__link i:before, .wpml-ls-legacy-dropdown li a.btnShowHide i:before {
    height: 18px;
  }
}
.btn_std.btnShowHide i:after, .btnShowHide.wp-block-button__link i:after, .wpml-ls-legacy-dropdown li a.btnShowHide i:after {
  display: none;
}
.btn_std, .wp-block-button__link, .wpml-ls-legacy-dropdown li a {
  /* --- At root --- */
}
button.btn_std, button.wp-block-button__link,
a.btn_std,
a.wp-block-button__link,
.wpml-ls-legacy-dropdown li a {
  cursor: pointer;
}

.btn_std, .wp-block-button__link, .wpml-ls-legacy-dropdown li a {
  /* --- END > At root --- */
  /* --- At root : LINK --- */
}
a.btn_std.btn_actif, a.btn_actif.wp-block-button__link, .wpml-ls-legacy-dropdown li a.btn_actif, a.btn_std:hover, a.wp-block-button__link:hover, .wpml-ls-legacy-dropdown li a:hover {
  color: #C7473B;
  background-color: #fff;
  text-decoration: none;
}

a[target=_blank].btn_std:after, a[target=_blank].wp-block-button__link:after, .wpml-ls-legacy-dropdown li a[target=_blank]:after {
  background-color: #fff;
}
a[target=_blank].btn_std.btn_actif, a[target=_blank].btn_actif.wp-block-button__link, .wpml-ls-legacy-dropdown li a[target=_blank].btn_actif, a[target=_blank].btn_std:hover, a[target=_blank].wp-block-button__link:hover, .wpml-ls-legacy-dropdown li a[target=_blank]:hover {
  background-color: #fff;
}
a[target=_blank].btn_std.btn_actif:after, a[target=_blank].btn_actif.wp-block-button__link:after, .wpml-ls-legacy-dropdown li a[target=_blank].btn_actif:after, a[target=_blank].btn_std:hover:after, a[target=_blank].wp-block-button__link:hover:after, .wpml-ls-legacy-dropdown li a[target=_blank]:hover:after {
  background-color: #C7473B;
}

.btn_std, .wp-block-button__link, .wpml-ls-legacy-dropdown li a {
  /* --- END > At root : LINK --- */
  /* --- At root : BUTTON --- */
}
button.btn_std, button.wp-block-button__link {
  cursor: pointer;
}
button.btn_std.uk-active, button.uk-active.wp-block-button__link, button.btn_std.btn_actif, button.btn_actif.wp-block-button__link, button.btn_std:hover, button.wp-block-button__link:hover {
  color: #a8913e;
  background-color: #fff;
}

.btn_std, .wp-block-button__link, .wpml-ls-legacy-dropdown li a {
  /* --- END > At root : BUTTON --- */
}

.btn_std_h {
  color: #fff;
  font-size: 0.7rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  padding: 0.4rem 1rem 0.4rem;
  border: 1px solid #391C11;
  background-color: #391C11;
  border-radius: 10px;
  display: inline-flex !important;
  align-items: center;
}
@media (min-width: 992px) {
  .btn_std_h {
    font-size: 0.9rem;
    padding: 0.6rem 1.4rem 0.7rem;
  }
}
.btn_std_h.btnShowHide.btn_i i:before {
  transform: translate(-50%, -50%) rotate(-135deg) translate(-2px, -2px);
}
@media (min-width: 992px) {
  .btn_std_h.btnShowHide.btn_i i:before {
    transform: translate(-50%, -50%) rotate(-135deg) translate(-3px, -3px);
  }
}
.btn_std_h.btnShowHide i {
  border-color: #a8913e;
}
.btn_std_h.btnShowHide i:before {
  transform: translate(-50%, -50%) rotate(45deg) translate(-2px, -2px);
}
@media (min-width: 992px) {
  .btn_std_h.btnShowHide i:before {
    transform: translate(-50%, -50%) rotate(45deg) translate(-3px, -3px);
  }
}
.btn_std_h.btnShowHide i:before {
  height: 11.25px;
  border-color: #a8913e;
  border-style: solid;
  border-width: 0px 2px 2px 0px;
  background-color: transparent;
}
@media (min-width: 992px) {
  .btn_std_h.btnShowHide i:before {
    height: 18px;
  }
}
.btn_std_h.btnShowHide i:after {
  display: none;
}
.btn_std_h {
  /* --- At root --- */
}
button.btn_std_h,
a.btn_std_h {
  cursor: pointer;
}

.btn_std_h {
  /* --- END > At root --- */
  /* --- At root : LINK --- */
}
a.btn_std_h.btn_actif, a.btn_std_h:hover {
  color: #C7473B;
  background-color: #fff;
  text-decoration: none;
}

a[target=_blank].btn_std_h:after {
  background-color: #fff;
}
a[target=_blank].btn_std_h.btn_actif, a[target=_blank].btn_std_h:hover {
  background-color: #fff;
}
a[target=_blank].btn_std_h.btn_actif:after, a[target=_blank].btn_std_h:hover:after {
  background-color: #C7473B;
}

.btn_std_h {
  /* --- END > At root : LINK --- */
  /* --- At root : BUTTON --- */
}
button.btn_std_h {
  cursor: pointer;
}
button.btn_std_h.uk-active, button.btn_std_h.btn_actif, button.btn_std_h:hover {
  color: #a8913e;
  background-color: #fff;
}

.btn_std_h {
  /* --- END > At root : BUTTON --- */
}

.filter_type-io {
  padding-top: 100% !important;
  height: 0;
  position: relative;
}
@media (max-width: 991.98px) {
  .filter_type-io {
    width: 40px;
    height: 40px;
  }
}
.filter_type-io .user_choice {
  margin: 0 !important;
  transition: none;
}
.filter_type-io .btn_filter.picto .ico {
  padding: 6px 8px 0px;
  background-color: #F6F7EE;
}
.filter_type-io button {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, -50%);
}
.filter_type-io button .uk-active,
.filter_type-io button .btn_actif {
  opacity: 0;
}
.filter_type-io .button_i.uk-active {
  pointer-events: none;
}

.btn_filter {
  color: #391C11;
  padding: 0.2rem 0.8rem 0.2rem;
  border: 1px solid #391C11;
  background-color: rgba(255, 255, 255, 0);
  border-radius: 6px;
  display: block;
  margin: 0 0.2rem 0 auto;
}
.btn_filter[disabled=disabled] {
  opacity: 0.4;
}
.btn_filterbutton {
  cursor: pointer;
}
.btn_filter.uk-active, .btn_filter.btn_actif, .btn_filter:hover {
  color: #fff;
  border-color: #606C38;
  background-color: #606C38;
}
.btn_filter:focus {
  outline: 0;
}
.btn_filter.picto {
  color: #606C38;
  border: 0;
  background-color: transparent;
}
.btn_filter.picto .ico {
  display: block;
  width: 50px;
  height: 50px;
  border: 1px solid #391C11;
  border-radius: 100%;
  padding: 5px;
  margin: 0 auto;
}
.btn_filter.picto .ico svg {
  fill: #606C38;
  fill: #391C11;
}
.btn_filter.picto.uk-active .ico {
  border-color: #606C38;
  background-color: #606C38;
}
.btn_filter.picto.uk-active .ico svg {
  fill: #fff;
}

/* --- Button > Double texte --- */
/* --- END > Button > Double texte --- */
.form_standard .btn_01-textarea::placeholder,
.form_standard .btn_01-input::placeholder {
  color: #cccccc;
}

.toggle-group .ico {
  transition: all 0.2s;
}
.toggle-group .ico:hover {
  opacity: 0.4;
}
.toggle-group .btn_all:hover .ico {
  background-color: transparent;
}

.btn_all {
  display: inline-block;
}
.btn_all .ico {
  display: flex;
  justify-content: center;
  border-radius: 50%;
  padding: 0.3rem;
  border: 2px solid #fff;
  width: 40px;
  height: 40px;
}
@media (min-width: 992px) {
  .btn_all .ico {
    padding: 0.4rem;
    width: 65px;
    height: 65px;
  }
}
.btn_all .ico svg {
  fill: #fff;
  display: inline-block;
}
.btn_all .tx {
  color: #fff;
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 1;
  text-transform: uppercase;
}
.btn_all.btn_actif .ico, .btn_all:hover .ico {
  color: #fff;
  background-color: #BBC591;
}

.btn_cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  border: 10px solid #fff;
  background-color: rgba(255, 255, 255, 0.8);
}
.btn_cta .img {
  flex: 0 0 33.3333333333%;
}
.btn_cta .content {
  max-width: 62.5%;
  margin-left: 4.1666666667%;
  padding: 0.6rem 0 1rem;
}
.btn_cta .titre_double {
  font-size: 0.2rem;
}
@media (min-width: 1200px) {
  .btn_cta .titre_double {
    font-size: 0.35rem;
  }
}
.btn_cta .titre_double .titre {
  background: linear-gradient(90deg, rgb(90.2973451327, 100.5584070796, 54.0415929204) 0%, rgb(54.2048780488, 60.9804878049, 31.6195121951) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: all 1.8s linear;
}
.btn_cta .titre_double .soustitre {
  color: #391C11;
  text-transform: none;
  display: block;
  margin-top: 0;
}
.btn_cta .titre_double .soustitre:before {
  margin-right: 71%;
}
.btn_cta.btn_actif, .btn_cta:hover {
  text-decoration: none;
}
.btn_cta:hover .titre {
  background: linear-gradient(90deg, #606C38 0%, #BBC591 100%);
  -webkit-background-clip: text;
  background-position: center right, top right;
}

.list_btn .btn {
  margin-left: 1rem;
  margin-bottom: 1rem;
}
.list_btn .btn:first-child {
  margin-left: 0;
}

.hero_o .list_reseaux {
  flex-direction: row;
}
.hero_o .list_reseaux .titre {
  color: #391C11;
  text-align: center;
  margin-bottom: 0.3rem;
  flex: 0 0 100%;
  max-width: 100%;
}
.hero_o .list_reseaux {
  margin-bottom: 1rem;
}
@media (min-width: 992px) {
  .hero_o .list_reseaux {
    margin-bottom: 3rem;
  }
}
.hero_o .list_reseaux .list_reseaux-ul {
  justify-content: center;
  flex: 0 0 100%;
  max-width: 100%;
}

.hero_i .head-wrapper .list_reseaux .titre {
  text-shadow: 0px 0px 4px rgba(57, 28, 17, 0.6), 0px 0px 6px rgba(57, 28, 17, 0.6);
}
.hero_i .head-wrapper .list_reseaux .inner_li:hover img {
  filter: invert(0%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%);
}

.list_reseaux {
  display: inline-flex;
  flex-wrap: wrap;
  flex-direction: column;
}
.list_reseaux .titre {
  color: #fff;
  font-size: 0.6rem;
  letter-spacing: 0.2rem;
  text-transform: uppercase;
  display: block;
}
.list_reseaux-ul {
  padding-left: 0;
  margin-bottom: 0;
  display: flex;
}
.list_reseaux-li {
  margin-left: 5px;
}
@media (min-width: 992px) {
  .list_reseaux-li {
    margin-left: 10px;
  }
}
.list_reseaux-li:first-child {
  margin-left: 0;
}
.list_reseaux .inner_li {
  display: block;
  width: 30px;
  height: 30px;
}
@media (min-width: 992px) {
  .list_reseaux .inner_li {
    width: 37px;
    height: 37px;
  }
}
.list_reseaux img {
  display: block;
  width: 30px;
  height: auto;
  transition: all 0.2s;
}
@media (min-width: 992px) {
  .list_reseaux img {
    width: 37px;
  }
}
.list_reseaux svg {
  width: 30px;
  height: 30px;
  fill: #391C11;
  transition: all 0.2s;
}
@media (min-width: 992px) {
  .list_reseaux svg {
    width: 37px;
    height: 37px;
  }
}
.list_reseaux .svg-facebook:hover svg {
  fill: #4665a2;
}
.list_reseaux .svg-facebook:hover img {
  filter: invert(38%) sepia(8%) saturate(3284%) hue-rotate(182deg) brightness(96%) contrast(88%);
}
.list_reseaux .svg-instagram:hover svg {
  fill: #d83275;
}
.list_reseaux .svg-instagram:hover img {
  filter: invert(26%) sepia(91%) saturate(2222%) hue-rotate(318deg) brightness(90%) contrast(87%);
}
.list_reseaux .svg-twitter:hover svg {
  fill: #3bb1db;
}
.list_reseaux .svg-twitter:hover img {
  filter: invert(57%) sepia(96%) saturate(338%) hue-rotate(152deg) brightness(90%) contrast(91%);
}
.list_reseaux .svg-youtube:hover svg {
  fill: #ee3124;
}
.list_reseaux .svg-youtube:hover img {
  filter: invert(24%) sepia(93%) saturate(4908%) hue-rotate(333deg) brightness(73%) contrast(163%);
}

#main_header .list_reseaux {
  margin-top: 5px;
}
@media (min-width: 992px) {
  #main_header .list_reseaux {
    margin-top: 0;
  }
}

#main_footer .list_reseaux-ul {
  text-align: center;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
#main_footer .list_reseaux-li {
  margin: 0 4px 5px;
}

.searchform {
  transition: all 0.75s ease-in-out;
  position: relative;
  z-index: 5;
}
.searchform .control-group-wrapper {
  background-color: #fff;
  border-radius: 0.5rem;
  padding: 0.5em;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.8);
  gap: 0.5rem;
  flex-direction: column;
}
@media (min-width: 768px) {
  #book-form-wrapper-banner .searchform .control-group-wrapper {
    height: 3.5rem;
    gap: 0;
    border-radius: 3rem;
    padding: 0;
    padding-left: 2em;
    flex-direction: row;
  }
}
@media (min-width: 992px) {
  #book-form-wrapper-fixed .searchform .control-group-wrapper {
    height: 3rem;
    gap: 0;
    border-radius: 3rem;
    padding: 0;
    padding-left: 2em;
    flex-direction: row;
  }
}
@media (min-width: 1200px) {
  .searchform .control-group-wrapper {
    height: 4rem;
    padding-left: 2.5em;
  }
}
.searchform .control-group {
  width: 100%;
  position: relative;
  font-size: 0.9rem;
}
@media (min-width: 768px) {
  #book-form-wrapper-banner .searchform .control-group {
    height: 100%;
    width: auto;
  }
}
@media (min-width: 992px) {
  #book-form-wrapper-fixed .searchform .control-group {
    height: 100%;
    width: auto;
  }
}
@media (min-width: 1200px) {
  .searchform .control-group {
    font-size: 1.25rem;
  }
}
.searchform .control-group svg {
  position: absolute;
  height: 1rem;
  top: 0.5rem;
  left: 0.5em;
  pointer-events: none;
}
@media (min-width: 768px) {
  #book-form-wrapper-banner .searchform .control-group svg {
    top: 1.1rem;
  }
}
@media (min-width: 1200px) {
  #book-form-wrapper-banner .searchform .control-group svg {
    height: 1.25rem;
  }
}
@media (min-width: 992px) {
  #book-form-wrapper-fixed .searchform .control-group svg {
    top: 1rem;
  }
}
.searchform .control-group.submit-form {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  #book-form-wrapper-banner .searchform .control-group.submit-form {
    padding: 0 0.35rem;
  }
}
@media (min-width: 992px) {
  #book-form-wrapper-fixed .searchform .control-group.submit-form {
    padding: 0 0.35rem;
  }
}
@media (min-width: 1200px) {
  .searchform .control-group.submit-form {
    padding: 0 0.5rem;
  }
}
.searchform input#daterange-input,
.searchform select,
.searchform .input {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  color: #000;
  font-size: 0.9em;
  display: block;
  height: 2rem;
  border: none;
  padding-left: 3rem;
  padding-right: 1rem;
  width: 100%;
  font-weight: 500;
}
.searchform input#daterange-input input#travelers,
.searchform select input#travelers,
.searchform .input input#travelers {
  width: 1.5em;
  text-align: center;
  border: none;
  pointer-events: none;
}
@media (min-width: 768px) {
  #book-form-wrapper-banner .searchform input#daterange-input,
  #book-form-wrapper-banner .searchform select,
  #book-form-wrapper-banner .searchform .input {
    height: 100%;
    width: auto;
  }
}
@media (min-width: 992px) {
  #book-form-wrapper-fixed .searchform input#daterange-input,
  #book-form-wrapper-fixed .searchform select,
  #book-form-wrapper-fixed .searchform .input {
    height: 100%;
    width: auto;
  }
}
@media (min-width: 1200px) {
  #book-form-wrapper-fixed .searchform input#daterange-input,
  #book-form-wrapper-fixed .searchform select,
  #book-form-wrapper-fixed .searchform .input {
    font-size: 0.8em;
  }
}
.searchform input#daterange-input,
.searchform select {
  cursor: pointer;
  transition: all 0.2s;
}
.searchform input#daterange-input:hover,
.searchform select:hover {
  background-color: red;
}
.searchform input#daterange-input {
  text-align: center;
}
.searchform .input {
  gap: 0.75em;
}
.searchform .input button {
  font-family: "Amatic SC", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  display: block;
  font-weight: 500;
  background-color: red;
  border: 1px solid #000;
  border-radius: 50%;
  font-size: 1.5rem;
  transition: all 0.15s ease;
  height: 1.5rem;
  width: 1.5rem;
  line-height: 1;
}
@media (min-width: 1200px) {
  .searchform .input button {
    height: 1.7rem;
    width: 1.7rem;
  }
}
.searchform .input button:hover {
  background-color: #cc0000;
}
.searchform .input button:focus {
  outline: 1px solid #007bff;
}
.searchform .input button:active {
  transform: scale(0.95);
}
.searchform button[type=submit] {
  background-color: #fd7e14;
  color: #fff;
  font-weight: 400;
  font-family: "Amatic SC", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 2rem;
  border-radius: 0.5em;
  transition: all 0.25s ease;
}
@media (min-width: 768px) {
  #book-form-wrapper-banner .searchform button[type=submit] {
    height: 3rem;
    width: 3rem;
    border-radius: 50%;
  }
}
@media (min-width: 992px) {
  #book-form-wrapper-fixed .searchform button[type=submit] {
    height: 2.5rem;
    width: 2.5rem;
    border-radius: 50%;
  }
}
.searchform button[type=submit]:hover {
  background-color: rgb(220.1265822785, 101.164556962, 1.8734177215);
}
.searchform button[type=submit]:active {
  transform: scale(0.95);
}

.daterangepicker td.in-range {
  background-color: rgba(253, 126, 20, 0.5);
}

.daterangepicker td.active,
.daterangepicker td.active:hover {
  background-color: purple;
}

#book-form-wrapper-fixed {
  position: fixed;
  bottom: 242px;
  left: 0;
  width: 100%;
  pointer-events: none;
  z-index: 20;
  display: flex;
  justify-content: center;
  max-height: 0;
}
@media (min-width: 576px) {
  #book-form-wrapper-fixed {
    top: 1.5rem;
    bottom: unset;
  }
}
@media (min-width: 992px) {
  #book-form-wrapper-fixed {
    top: 0;
  }
}
#book-form-wrapper-fixed.active .searchform {
  opacity: 1;
  transform: translateY(0);
  pointer-events: visible;
}
#book-form-wrapper-fixed .searchform {
  margin-left: 15px;
  margin-right: auto;
  pointer-events: none;
  opacity: 0;
  transform: translateY(-2rem);
  transition: all 0.35s ease-out;
}
@media (min-width: 576px) {
  #book-form-wrapper-fixed .searchform {
    margin-left: 1.5rem;
  }
}
#book-form-wrapper-fixed .searchform {
  margin: 0 auto;
}
@media (min-width: 992px) {
  #book-form-wrapper-fixed .searchform .control-group-wrapper {
    border-radius: 2rem;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
}

#book-form-wrapper-banner {
  min-height: 183px;
}
@media (min-width: 768px) {
  #book-form-wrapper-banner {
    min-height: 3.5rem;
  }
}

.home .pfq__themes {
  display: none;
}
.home .pfq__questions__group > h3 {
  display: none;
}
.home .pfq {
  flex: 0 0 100%;
  max-width: 100%;
  width: 100%;
  display: block;
}
.home .pfq__questions {
  width: 100%;
  padding-left: 0;
}
.home .pfq .pfq__question__title {
  font-size: 1.3rem !important;
  font-family: "Amatic SC", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  padding-right: 40px;
  padding-left: 0;
}
@media (min-width: 992px) {
  .home .pfq .pfq__question__title {
    font-size: 2rem !important;
  }
}

.pfq .pfq__themes li {
  list-style-type: none;
}
.pfq .pfq__theme.active {
  border-color: #C7473B;
}
.pfq .pfq__questions__group h3 {
  color: #606C38 !important;
}
.pfq .pfq__question__title {
  color: #84934F !important;
  font-size: 1rem !important;
}
@media (min-width: 992px) {
  .pfq .pfq__question__title {
    font-size: 1.3rem !important;
  }
}
.pfq .pfq__answer {
  display: block;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transform: translateY(-6px);
  transform-origin: top;
  transition: max-height 1000ms cubic-bezier(0.2, 0.9, 0.2, 1), opacity 240ms ease, transform 240ms ease;
}
.pfq .open .pfq__answer {
  max-height: 1000px;
  opacity: 1;
  transform: translateY(0);
}

.flash_info_i #plune-flash-info {
  height: 60px;
  background-color: #BBC591 !important;
  background: linear-gradient(143deg, #BBC591 0%, rgb(153.8292682927, 171.6829268293, 94.3170731707) 100%);
}
.flash_info_i #hero_fn {
  margin-top: 60px;
}
.flash_info_i .hamburger {
  top: 70px;
}
.flash_info_i a.link_resa {
  top: 70px;
}
.flash_info_i .wpml-ls-legacy-dropdown {
  top: 70px;
}
.flash_info_i .header-logo > .inner {
  top: 70px;
}

@font-face {
  font-family: "fallindregular";
  src: url("../fonts/fallind-webfont.woff2") format("woff2"), url("../fonts/fallind-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
/* --------------------------------------------------------------- */
/* 7.PLUNE MODULES TARIFFS DYNAMIC                                     */
/* --------------------------------------------------------------- */
#book-form-wrapper-masthead {
  position: fixed;
  width: 100%;
  z-index: 1000;
  transition: all 0.2s ease-in-out;
  bottom: 0;
  pointer-events: none;
}
@media (min-width: 768px) {
  #book-form-wrapper-masthead {
    top: calc(100vh - 125px);
  }
}

#searchform-wrapper {
  position: relative;
  margin-bottom: 0rem;
}
@media (min-width: 768px) {
  #searchform-wrapper {
    margin-bottom: 3rem;
  }
}
#searchform-wrapper #searchform {
  transition: max-height 0.5s cubic-bezier(0.5, 0, 0.1, 1), padding 0.5s cubic-bezier(0.5, 0, 0.1, 1);
  pointer-events: all;
}
@media (max-width: calc(768px - 1px)) {
  #searchform-wrapper #searchform {
    max-height: 0;
    overflow: hidden;
  }
}
#searchform-wrapper #searchform.active {
  max-height: 500px;
}
#searchform-wrapper .box-shadow {
  border-radius: 10px;
}
#searchform-wrapper .expandable {
  display: flex;
  padding: 0.8rem 1.5rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1rem;
  color: #fff;
  background-color: #C7473B;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  line-height: 1;
  text-transform: uppercase;
  font-weight: 700;
  transition: all 0.5s cubic-bezier(0.5, 0, 0.1, 1) 0.2s;
  pointer-events: all;
}
@media (min-width: 768px) {
  #searchform-wrapper .expandable {
    display: none;
  }
}
#searchform-wrapper .expandable span {
  position: relative;
  z-index: 3;
}
#searchform-wrapper .expandable.expanded {
  color: #fff;
  background-color: #606C38;
  box-shadow: unset;
  margin-right: 1rem;
  border-radius: 8px;
  border: none;
}
#searchform-wrapper .expandable.expanded::before {
  content: "\f00d";
  font-family: "Font Awesome 6 Pro";
  padding-right: 0.3rem;
  font-size: 1rem;
}
#searchform-wrapper .expandable.expanded .toggle-icon::before {
  color: #fff;
}
#searchform-wrapper #searchform {
  z-index: 10;
  display: flex !important;
  justify-content: center;
}
#searchform-wrapper #searchform.active .searchform {
  animation: fadeIn 0.5s ease-in-out forwards;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
#searchform-wrapper .sub__menu {
  display: none;
}
#searchform-wrapper .sub__menu [id^=menu-sous-menu] {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: flex-start;
  flex-wrap: wrap;
  color: #fff;
}
#searchform-wrapper .sub__menu [id^=menu-sous-menu] li {
  padding: 5px 9px;
  font-weight: 600;
  text-shadow: 0px 3px 8px black;
}
#searchform-wrapper .searchform {
  display: flex;
  justify-content: center;
  z-index: 15;
  width: 100%;
}
#searchform-wrapper .searchform .control-group-wrapper {
  background-color: #fff;
  padding: 2em 0.75em 0.75em;
  gap: 2em;
  width: 100%;
  height: 70vh;
  padding: 3rem 4rem 0 4rem;
  margin-left: auto;
  margin-right: auto;
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.08);
  border-radius: 8px 8px 0 0;
}
@media (min-width: 768px) {
  #searchform-wrapper .searchform .control-group-wrapper {
    gap: 1em;
    padding-top: auto;
    width: auto;
    height: auto;
    border-radius: 8px;
  }
}
@media (min-width: 768px) {
  #searchform-wrapper .searchform .control-group-wrapper {
    padding: 0;
    gap: 0;
    padding-left: 1em;
  }
}
@media (min-width: 1400px) {
  #searchform-wrapper .searchform .control-group-wrapper {
    padding-left: 1.5em;
  }
}
#searchform-wrapper .searchform select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  position: relative;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" viewBox="0 0 20 20"><polygon points="0,0 20,0 10,10" fill="black"/></svg>') no-repeat 97% 60%;
}
#searchform-wrapper .searchform select:hover {
  background-color: rgb(242.25, 242.25, 242.25);
}
@media (min-width: 768px) {
  #searchform-wrapper .searchform select {
    width: auto;
    padding: 0 1rem 0 1rem;
  }
}
#searchform-wrapper .searchform .control-group {
  position: relative;
  font-size: 0.8rem;
  width: 100%;
  align-items: stretch;
}
@media (min-width: 768px) {
  #searchform-wrapper .searchform .control-group {
    height: 100%;
    width: auto;
  }
}
@media (min-width: 768px) {
  #searchform-wrapper .searchform .control-group.dates::after, #searchform-wrapper .searchform .control-group.travelers::after {
    content: "";
    display: block;
    width: 1px;
    height: 40%;
    margin: auto 1.7647058824rem;
    background-color: #2f5349;
  }
}
@media (min-width: 768px) {
  #searchform-wrapper .searchform .control-group.submit-form {
    padding: 0.7em 0.85em 0.7em 1.7647058824rem;
  }
}
#searchform-wrapper .searchform input,
#searchform-wrapper .searchform select,
#searchform-wrapper .searchform button {
  color: #333033;
  font-size: 1.1764705882rem;
  display: block;
  border: none;
  cursor: pointer;
  background-color: #fff;
  transition: all 0.2s ease-in-out;
  padding-left: 1rem;
  width: 100%;
}
@media (min-width: 768px) {
  #searchform-wrapper .searchform input,
  #searchform-wrapper .searchform select,
  #searchform-wrapper .searchform button {
    font-size: 1rem;
  }
}
#searchform-wrapper .searchform input:hover,
#searchform-wrapper .searchform select:hover,
#searchform-wrapper .searchform button:hover {
  background-color: rgb(242.25, 242.25, 242.25);
}
@media (min-width: 768px) {
  #searchform-wrapper .searchform input,
  #searchform-wrapper .searchform select,
  #searchform-wrapper .searchform button {
    width: auto;
    padding: 0 1em 0 10px;
  }
}
#searchform-wrapper .searchform input#daterange-input,
#searchform-wrapper .searchform select#daterange-input,
#searchform-wrapper .searchform button#daterange-input {
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" viewBox="0 0 20 20"><polygon points="0,0 20,0 10,10" fill="black"/></svg>') no-repeat 97% 60%;
}
@media (min-width: 768px) {
  #searchform-wrapper .searchform input#daterange-input,
  #searchform-wrapper .searchform select#daterange-input,
  #searchform-wrapper .searchform button#daterange-input {
    text-align: center;
  }
}
#searchform-wrapper .searchform label {
  align-items: center;
  display: flex;
  font-size: 1.2rem;
  color: #1d4e53;
}
#searchform-wrapper .searchform button[type=submit] {
  background-color: #C7473B;
  color: #fff;
  display: flex;
  font-weight: 700;
  font-size: 1.7647058824rem;
  border-radius: 8px;
  text-transform: uppercase;
  padding: 0.8823529412rem 1.1764705882rem;
}
@media (min-width: 768px) {
  #searchform-wrapper .searchform button[type=submit] {
    font-size: 1.7647058824rem;
  }
}
#searchform-wrapper .searchform button[type=submit]:hover {
  background-color: #2f5349;
}
#searchform-wrapper .searchform button[type=submit]:active {
  background-color: #2f5349;
}
#searchform-wrapper .menu-open #book-form-wrapper-masthead {
  right: -22px;
  bottom: 0;
  flex-direction: row !important;
  align-items: center;
  width: 100%;
}
@media (min-width: 768px) {
  #searchform-wrapper .menu-open #book-form-wrapper-masthead {
    top: calc(100vh - 140px);
  }
}
@media (max-width: calc(992px - 1px)) {
  #searchform-wrapper .menu-open #book-form-wrapper-masthead {
    right: 0px;
    top: 94vh;
  }
}
@media (max-width: calc(576px - 1px)) {
  #searchform-wrapper .menu-open #book-form-wrapper-masthead {
    top: 90vh;
  }
}
@media (max-width: calc(992px - 1px)) {
  #searchform-wrapper .menu-open #searchform {
    display: none !important;
  }
}
#searchform-wrapper .menu-open .sub__menu {
  display: block;
  width: 100%;
}
#searchform-wrapper .menu-open .searchform .control-group-wrapper {
  border-bottom-right-radius: 0px;
  border-top-right-radius: 0px;
}

.button-reservation-seachform {
  color: #1d4e53;
  text-align: center;
  font-weight: 700;
  margin-top: 1rem;
}
.button-reservation-seachform p {
  margin-bottom: 0.5rem;
  font-size: 1rem;
}
.button-reservation-seachform::after {
  content: "";
  display: block;
  background-color: #333033;
  width: 12rem;
  margin: auto;
  height: 2px;
}
.button-reservation-seachform:hover, .button-reservation-seachform:focus, .button-reservation-seachform:active {
  color: #a9c628;
}
.button-reservation-seachform:hover::after, .button-reservation-seachform:focus::after, .button-reservation-seachform:active::after {
  background-color: #a9c628;
}

.expandable .toggle-icon,
.expandable .toggle-text {
  transition: opacity 0.2s ease-in-out;
}

.expandable .toggle-icon {
  display: inline;
}

.expandable .toggle-text {
  display: none;
}

.expandable.expanded .toggle-icon {
  display: none;
}

.expandable.expanded .toggle-text {
  display: inline;
}

.flatpickr-day.selected, .flatpickr-day.startRange {
  background-color: #606C38 !important;
  border: 1px solid #606C38 !important;
}

body.single-hebergement #modal-inventory {
  font-size: 1rem;
  overflow: auto;
}
body.single-hebergement .accommodation-inventory {
  padding: 3rem 1.5rem 0rem 1.5rem;
  font-size: 0.9rem;
}
@media (min-width: 768px) {
  body.single-hebergement .accommodation-inventory {
    display: flex;
    flex-wrap: wrap;
  }
}
body.single-hebergement .accommodation-inventory ul {
  padding-left: 0.5rem;
}
body.single-hebergement .accommodation-inventory li {
  list-style: none;
}
body.single-hebergement .accommodation-inventory .item {
  position: relative;
  padding-left: 0.7rem;
}
body.single-hebergement .accommodation-inventory .item::before {
  content: "\f111";
  font-family: "Font Awesome 6 Pro";
  position: absolute;
  left: 0rem;
  top: 0.5rem;
  font-weight: 900;
  font-size: 0.3rem;
  color: #606C38;
}
body.single-hebergement .accommodation-inventory .sub-items {
  margin-bottom: 0.5rem;
}
body.single-hebergement .accommodation-inventory .depth-0 {
  padding: 0rem 0 3rem 3rem;
}
body.single-hebergement .accommodation-inventory .depth-0::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0rem;
  width: 90%;
  height: 1px;
  background-color: #606C38;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  body.single-hebergement .accommodation-inventory .depth-0 {
    width: 50%;
  }
}
body.single-hebergement .accommodation-inventory .depth-0 > .name {
  color: #606C38;
  font-family: "Minion", sans-serif;
  font-size: 1.5rem;
}
body.single-hebergement .accommodation-inventory .depth-0::before {
  content: var(--picto);
  font-family: "Font Awesome 6 Pro";
  font-weight: 400;
  color: #606C38;
  font-size: 1.2rem;
  left: 0.3rem;
  top: 0.3rem;
}
body.single-hebergement .accommodation-inventory .depth-1 {
  padding-left: 0;
}
body.single-hebergement .accommodation-inventory .depth-1::before {
  display: none;
}
body.single-hebergement .accommodation-modal-inventory {
  width: 100%;
  max-width: 90vw;
  padding: 0;
  overflow: visible;
}
body.single-hebergement .accommodation-modal-inventory .inventory-header {
  background-color: #84934F;
  color: #fff;
  font-family: "Minion", sans-serif;
  padding: 1rem 1.2rem;
  font-size: 1.5rem;
}

#product-availability-root {
  font-size: 18px;
}

#product-reviews-root {
  font-size: 18px;
}

.products-filters {
  display: none;
}

#products-filters-root {
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 0.8rem;
}
@media (max-width: calc(768px - 1px)) {
  #products-filters-root {
    font-size: 0.9rem;
    line-height: 0.9rem;
  }
}
#products-filters-root .wp-block-button__link_transparent {
  background-color: #84934F;
  color: #606C38;
  border-radius: 8px;
  margin-left: 10px;
  border: 1px solid #84934F;
}

._modal_s7yzo_11 ._header_130jh_1 .wp-block-button__link {
  background-color: #84934F;
}
._modal_s7yzo_11 ._actions_130jh_16 .wp-block-button__link {
  padding: 0.5rem;
}

.col-heb.hide {
  display: none;
}

.has-values-parentnode {
  order: -1;
}

.wp-block-plune-blocks-accommodation-preview {
  position: relative;
  z-index: 1;
  transition: opacity 0.25s ease-in-out;
  display: flex;
  flex-direction: column;
  height: 100%;
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.08);
  background-color: #fff;
}
.wp-block-plune-blocks-accommodation-preview.hidden {
  opacity: 0;
}
.wp-block-plune-blocks-accommodation-preview.hide {
  display: none;
}
.wp-block-plune-blocks-accommodation-preview .thumbnail {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 60%;
  overflow: hidden;
  border-radius: 30px 30px 0 0;
}
.wp-block-plune-blocks-accommodation-preview .thumbnail img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.4s ease-out;
  border-radius: 30px 30px 0 0;
}
.wp-block-plune-blocks-accommodation-preview .thumbnail a:hover img,
.wp-block-plune-blocks-accommodation-preview .thumbnail a:focus img {
  transform: scale(1.05);
}
.wp-block-plune-blocks-accommodation-preview .thumbnail a:hover .plus-button,
.wp-block-plune-blocks-accommodation-preview .thumbnail a:focus .plus-button {
  background-color: #606C38;
  color: #fff;
}
.wp-block-plune-blocks-accommodation-preview .plus-button {
  position: absolute;
  top: 2.25rem;
  left: 2.25rem;
  display: flex;
  width: 3.75rem;
  height: 3.75rem;
  background-color: #fff;
  border-radius: 50%;
  pointer-events: none;
  justify-content: center;
  align-items: center;
  font-size: 2.25rem;
  font-weight: 400;
  transition: all 0.2s ease-in-out;
}
.wp-block-plune-blocks-accommodation-preview .camping-name {
  position: absolute;
  z-index: 1;
  top: 1.1764705882rem;
  right: 1.1764705882rem;
  display: flex;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 600;
  text-transform: uppercase;
  text-shadow: 0 0 0.25em #818181;
}
.wp-block-plune-blocks-accommodation-preview .gammes {
  position: absolute;
  top: 1.1764705882rem;
  right: 1.1764705882rem;
  display: flex;
  height: 2.5882352941rem;
  border: 2px solid #fff;
  box-shadow: 0 2px 10px rgba(51, 48, 51, 0.75);
  border-radius: 1.5rem;
  padding: 0.25em 0.75em;
  display: flex;
  gap: 0.5rem;
}
.wp-block-plune-blocks-accommodation-preview .gammes svg {
  width: 15px;
  display: block;
  filter: drop-shadow(0 2px 10px rgba(51, 48, 51, 0.5));
}
.wp-block-plune-blocks-accommodation-preview .content {
  background-color: #fff;
  color: #fff;
  padding: 2rem;
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  flex-grow: 1;
}
.wp-block-plune-blocks-accommodation-preview .content-reservation {
  background-color: #C7473B;
  color: #fff;
  font-family: "Amatic SC", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  text-align: center;
  font-size: 1.5rem;
  text-transform: uppercase;
  padding: 3px 10px 6px 10px;
  border-radius: 4px;
  display: inline-block;
  margin: auto;
}
.wp-block-plune-blocks-accommodation-preview .title {
  font-size: 35px;
  line-height: 25px;
  font-family: "Amatic SC", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-weight: 600;
  display: block;
  line-height: 1.7rem;
  text-align: center;
}
.wp-block-plune-blocks-accommodation-preview .title a {
  color: #606C38;
}
.wp-block-plune-blocks-accommodation-preview .title a:hover {
  color: #C7473B;
  text-decoration: none;
}
@media (max-width: calc(576px - 1px)) {
  .wp-block-plune-blocks-accommodation-preview .title {
    font-size: 18px;
    line-height: 22px;
  }
}
.wp-block-plune-blocks-accommodation-preview .infos {
  font-size: 15px;
  line-height: 15px;
  margin-top: 8px;
  min-height: 1rem;
  text-align: center;
}
@media (max-width: calc(576px - 1px)) {
  .wp-block-plune-blocks-accommodation-preview .infos {
    font-size: 13px;
    line-height: 13px;
  }
}
.wp-block-plune-blocks-accommodation-preview .infos .info::after {
  content: "-";
  margin: 0 0.2em;
}
.wp-block-plune-blocks-accommodation-preview .infos .info:last-child::after {
  display: none;
}
.wp-block-plune-blocks-accommodation-preview .left {
  width: 100%;
  flex-grow: 1;
}
.wp-block-plune-blocks-accommodation-preview .right {
  background-color: #606C38;
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-grow: 1;
  right: 1rem;
  bottom: 3rem;
  border-radius: 6px;
  margin: 1rem 0 0 0;
  padding: 1rem;
}
.wp-block-plune-blocks-accommodation-preview .text-week {
  padding: 0.5rem 0.5rem 0 0;
  font-size: 0.7rem;
}
.wp-block-plune-blocks-accommodation-preview .price,
.wp-block-plune-blocks-accommodation-preview .price-no-discount {
  font-size: 2.5rem;
  line-height: 2.8rem;
  padding-right: 0.5rem;
  font-family: "Minion", sans-serif;
}
.wp-block-plune-blocks-accommodation-preview .price,
.wp-block-plune-blocks-accommodation-preview .price-no-discount {
  animation: fadeIn 0.5s ease-out forwards;
}
.wp-block-plune-blocks-accommodation-preview .price::after,
.wp-block-plune-blocks-accommodation-preview .price-no-discount::after {
  content: "€";
}
.wp-block-plune-blocks-accommodation-preview .dates {
  padding: 0 0.5rem 0.5rem 0;
}
.wp-block-plune-blocks-accommodation-preview[data-products-ids] .price {
  padding: 0.1em 0.85em;
}
.wp-block-plune-blocks-accommodation-preview .price {
  font-weight: 400;
}
.wp-block-plune-blocks-accommodation-preview .price-no-discount {
  display: none;
  font-size: 0.8rem;
  overflow: hidden;
  color: #fff;
  font-weight: 400;
  margin-left: 0.25em;
  position: relative;
  line-height: 1rem;
}
.wp-block-plune-blocks-accommodation-preview .price-no-discount:before {
  content: "";
  position: absolute;
  width: 80%;
  height: 1px;
  top: 43%;
  background-color: #fff;
}
.wp-block-plune-blocks-accommodation-preview .available {
  padding: 0.5rem;
}
.wp-block-plune-blocks-accommodation-preview .alternatives {
  display: none;
  padding: 0.5rem;
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: 16px;
}
.wp-block-plune-blocks-accommodation-preview .alternatives a {
  font-size: 0.85em;
  color: #fff;
  font-weight: 400;
}
.wp-block-plune-blocks-accommodation-preview .loader {
  display: none;
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  gap: 0.25rem;
}
.wp-block-plune-blocks-accommodation-preview .loader .dot {
  display: block;
  border-radius: 50%;
  width: 0.55rem;
  height: 0.55rem;
  background-color: #2f5349;
  animation: scale 0.6s ease-out infinite alternate forwards;
}
.wp-block-plune-blocks-accommodation-preview .loader .dot:nth-child(2n) {
  animation-delay: 0.2s;
}
.wp-block-plune-blocks-accommodation-preview .loader .dot:nth-child(3n) {
  animation-delay: 0.4s;
}
@keyframes scale {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}
.wp-block-plune-blocks-accommodation-preview .full,
.wp-block-plune-blocks-accommodation-preview .last {
  position: absolute;
  left: 1rem;
  top: -1rem;
  color: #fff;
  background-color: #84934F;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 18px;
  line-height: 18px;
  text-align: center;
  border-radius: 6px;
  font-family: "Amatic SC", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  padding: 1rem;
  z-index: 2;
  animation: fadeInLeft 0.5s ease-out forwards;
}
.wp-block-plune-blocks-accommodation-preview .full small,
.wp-block-plune-blocks-accommodation-preview .last small {
  text-transform: initial;
}
.wp-block-plune-blocks-accommodation-preview .last {
  display: none;
  animation: none;
}
.wp-block-plune-blocks-accommodation-preview.no-value .text-week,
.wp-block-plune-blocks-accommodation-preview.no-value .price,
.wp-block-plune-blocks-accommodation-preview.no-value .price-no-discount,
.wp-block-plune-blocks-accommodation-preview.no-value .dates {
  display: none !important;
  animation: none;
}
.wp-block-plune-blocks-accommodation-preview.no-value .alternatives {
  display: block;
}
.wp-block-plune-blocks-accommodation-preview.no-value .thumbnail img {
  opacity: 0.5;
}
.wp-block-plune-blocks-accommodation-preview.no-value .thumbnail {
  background: #000;
  border-radius: 30px 30px 0 0;
}
.wp-block-plune-blocks-accommodation-preview.no-value:not(.heb-loading)::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.wp-block-plune-blocks-accommodation-preview.has-values .full {
  display: none !important;
  animation: none;
}
.wp-block-plune-blocks-accommodation-preview.heb-loading .text-week,
.wp-block-plune-blocks-accommodation-preview.heb-loading .price,
.wp-block-plune-blocks-accommodation-preview.heb-loading .price-no-discount,
.wp-block-plune-blocks-accommodation-preview.heb-loading .full,
.wp-block-plune-blocks-accommodation-preview.heb-loading .alternatives, .wp-block-plune-blocks-accommodation-preview.gamme-loading .text-week,
.wp-block-plune-blocks-accommodation-preview.gamme-loading .price,
.wp-block-plune-blocks-accommodation-preview.gamme-loading .price-no-discount,
.wp-block-plune-blocks-accommodation-preview.gamme-loading .full,
.wp-block-plune-blocks-accommodation-preview.gamme-loading .alternatives {
  display: none !important;
  animation: none;
}
.wp-block-plune-blocks-accommodation-preview.heb-loading .loader, .wp-block-plune-blocks-accommodation-preview.gamme-loading .loader {
  display: flex;
}
.wp-block-plune-blocks-accommodation-preview.has-offer .price-no-discount {
  display: block;
  animation: fadeIn 0.5s ease-out forwards;
}
.wp-block-plune-blocks-accommodation-preview.is-last .last {
  display: flex;
  animation: fadeInLeft 0.5s ease-out forwards;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInLeft {
  0% {
    transform: translateX(25px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

.col-heb {
  transition: all 0.25s ease;
}
.col-heb--hidden {
  width: 0;
  height: 0;
  padding: 0;
  pointer-events: none;
}

.button-content-reservation {
  margin: 0 auto 1rem auto;
}

.archive h1 {
  text-align: center;
}
.archive {
  overflow-x: hidden;
}

.archives-description {
  margin-bottom: 2.6470588235rem;
  margin-top: 2.6470588235rem;
}

.archives-conclusion {
  margin-top: 2.6470588235rem;
}

.archive-post {
  height: 100%;
  display: flex;
  flex-direction: column;
  box-shadow: 0 5px 15px rgba(51, 48, 51, 0.07);
  background-color: #fff;
}
.archive-post .thumbnail {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56%;
  overflow: hidden;
}
.archive-post .thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
  transition: all 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.archive-post .thumbnail a:hover img,
.archive-post .thumbnail a:focus img {
  transform: scale(1.1);
}
.archive-post .content {
  padding: 0.8823529412rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.archive-post .title {
  text-align: center;
  font-family: "Minion", sans-serif;
  color: #2f5349;
  font-size: 1rem;
  font-weight: 600;
  padding: 0.25em 0;
  margin-bottom: 0.5882352941rem;
}
.archive-post .excerpt {
  padding-top: 0.2941176471rem;
  margin-bottom: 0.8823529412rem;
  font-size: 0.8rem;
  line-height: 1.5;
}

.archive-post-heb {
  display: flex;
  flex-wrap: wrap;
  transition: opacity 0.25s ease-in-out;
}
.archive-post-heb.hidden {
  opacity: 0;
}
@media (min-width: 768px) {
  .archive-post-heb {
    gap: 1.5rem;
    flex-wrap: nowrap;
  }
}
.archive-post-heb__left {
  width: 100%;
}
@media (min-width: 768px) {
  .archive-post-heb__left {
    width: 100%;
  }
}
@media (min-width: 992px) {
  .archive-post-heb__left {
    width: 100%;
  }
}
.archive-post-heb__left .rotation-wrapper {
  position: relative;
  transform: rotate(-2deg);
  transition: all 0.25s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
@media (min-width: 768px) {
  .archive-post-heb__left .rotation-wrapper {
    transform: rotate(-5deg);
  }
}
.archive-post-heb__left .rotation-wrapper:hover, .archive-post-heb__left .rotation-wrapper:focus {
  transform: rotate(0);
}
.archive-post-heb__left figure {
  width: 100%;
  height: 0;
  padding-bottom: 56%;
  position: relative;
}
.archive-post-heb__left figure img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 6px solid #fff;
  box-shadow: 8px 8px 25px rgba(0, 0, 0, 0.35);
  transition: all 0.25s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.archive-post-heb__left figure a:hover img,
.archive-post-heb__left figure a:focus img {
  filter: brightness(0.8);
}
.archive-post-heb__left .heb-price {
  text-align: right;
  margin-top: 0.25rem;
  margin-bottom: 0;
}
.archive-post-heb__pictos {
  position: absolute;
  left: -30px;
  top: 0.5rem;
  width: 120px;
  pointer-events: none;
}
@media (min-width: 768px) {
  .archive-post-heb__pictos {
    left: -60px;
  }
}
.archive-post-heb__picto {
  color: #fff;
  text-align: center;
  text-transform: uppercase;
  font-size: 0.7rem;
  text-shadow: 0 0 4px #333033;
  margin-bottom: 0.25rem;
}
.archive-post-heb__picto .icon {
  font-size: 2.5em;
}
.archive-post-heb__right {
  width: 100%;
  position: relative;
  margin-top: 0rem;
}
@media (min-width: 768px) {
  .archive-post-heb__right {
    width: 50%;
  }
}
@media (min-width: 992px) {
  .archive-post-heb__right {
    width: 40%;
  }
}
.archive-post-heb__title {
  color: #2f5349;
  font-family: "Minion", sans-serif;
  font-size: 1.2rem;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .archive-post-heb__title {
    width: unset;
  }
}
.archive-post-heb__infos {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1rem;
  font-size: 0.75rem;
}
@media (min-width: 1200px) {
  .archive-post-heb__infos {
    font-size: 1rem;
  }
}
.archive-post-heb__info {
  font-weight: 600;
  padding-right: 1rem;
}
@media (min-width: 768px) {
  .archive-post-heb__info {
    width: 50%;
  }
}
.archive-post-heb__info i {
  font-size: 1.5em;
  margin-right: 0.2em;
  color: #a9c628;
}
@media (min-width: 992px) {
  .archive-post-heb__info i {
    margin-right: 0.5em;
  }
}

.col-heb {
  transition: all 0.25s ease;
}
.col-heb--hidden {
  width: 0;
  height: 0;
  padding: 0;
  pointer-events: none;
  opacity: 0;
}

#godispo {
  margin-top: 2rem;
  font-weight: 800;
  text-transform: uppercase;
  background-color: #84934F;
  border: 1px solid #84934F;
  color: #fff;
  padding: 10px 1rem;
  transition: all 0.3s ease;
  box-shadow: none;
  text-decoration: none;
  cursor: pointer;
  text-align: center;
  word-break: break-word;
  box-sizing: border-box;
  font-size: 1.2rem;
}
#godispo:hover {
  color: #84934F;
  background-color: white;
  border: 1px solid #84934F;
}

.box_gamme {
  position: relative;
  padding: 2rem 0px 2rem;
}
.box_gamme .h2 {
  color: #2f5349;
  font-size: 2.5rem;
}
.box_gamme {
  color: #2f5349;
}
.box_gamme .wp-block-plune-blocks-accommodation-preview {
  border-radius: 2.5rem;
}
.box_gamme .wp-block-plune-blocks-accommodation-preview .right {
  color: #fff;
}
.box_gamme .wp-block-plune-blocks-accommodation-preview .right .alternatives {
  background-color: #fff;
  border-radius: 8px;
}
.box_gamme .wp-block-plune-blocks-accommodation-preview .right .alternatives a {
  color: #606C38;
  font-family: "Amatic SC", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1.5rem;
}
.box_gamme .wp-block-plune-blocks-accommodation-preview .right:hover .alternatives {
  border-radius: 1rem;
  background-color: #84934F;
}
.box_gamme .wp-block-plune-blocks-accommodation-preview .right:hover .alternatives a {
  color: #fff;
}
.box_gamme .wp-block-plune-blocks-accommodation-preview .content {
  background-color: #fff;
  color: #2f5349;
}
.box_gamme .wp-block-plune-blocks-accommodation-preview .alternatives {
  position: relative;
  width: 100%;
  padding-left: 1.5rem;
}
.box_gamme .wp-block-plune-blocks-accommodation-preview .alternatives.alternatives-label {
  position: absolute;
  top: 1rem;
  right: 1rem;
  pointer-events: none;
}
.box_gamme .wp-block-plune-blocks-accommodation-preview .alternatives.alternatives-label .label {
  text-align: right;
  color: #fff;
}
.box_gamme .wp-block-plune-blocks-accommodation-preview .alternatives a {
  display: table-cell;
}
.box_gamme .h2 {
  margin-bottom: 2rem;
  text-align: center;
}
.box_gamme .description {
  margin-bottom: 2rem;
  font-weight: 500;
}
.box_gamme .wp-block-plune-blocks-accommodation-preview .content {
  padding: 1rem;
}
.box_gamme .wp-block-plune-blocks-accommodation-preview .dates {
  font-size: 0.7rem;
  font-weight: 500;
  padding-left: 2rem;
}
.box_gamme .wp-block-plune-blocks-accommodation-preview .infos {
  font-size: 0.7rem;
  text-transform: unset;
  color: #000;
}
.box_gamme .wp-block-plune-blocks-accommodation-preview .alternatives {
  font-size: 0.8rem;
  font-weight: 700;
}
.box_gamme .wp-block-plune-blocks-accommodation-preview .alternatives a {
  font-size: 0.9rem;
}
.box_gamme .last {
  pointer-events: none;
}

.thumbnail-archive-hebergement {
  height: 100%;
  width: 100%;
  object-fit: cover;
  align-items: center;
  border-radius: 20px;
}

.title-hebergement {
  position: relative;
  z-index: 2;
  text-align: center;
  text-transform: uppercase;
  margin-bottom: 5rem;
}

.post-preview:hover .content-reservation {
  background-color: #84934F;
}
.post-preview:hover .title {
  color: #606C38;
}

.contenaire-archive {
  overflow: unset;
}

.wp-block-plune-blocks-elements-tree-deco-right,
.wp-block-plune-blocks-elements-tree-deco-left {
  pointer-events: none;
}

body.single-hebergement {
  overflow-x: visible;
}

.bloc-photo-single-heb {
  background-image: url(../img/page/orchidee.png);
}

.heb-main-content {
  margin-bottom: 2rem;
}

.h1-single-heb {
  padding: 0 !important;
  margin: 1rem 0;
  color: #606C38;
  font-size: 3rem !important;
  font-family: "Amatic SC", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.heb-col-right {
  background-color: #f7f7f7;
  padding: 30px 40px;
  max-width: 340px;
  margin: 0 auto 40px auto;
  box-shadow: 0 1rem 25px rgba(51, 48, 51, 0.15);
}
@media (min-width: 992px) {
  .heb-col-right {
    margin-bottom: 40px;
  }
}
@media (min-width: 1200px) {
  .heb-col-right {
    padding: 40px 50px;
  }
}
.heb-col-right h2 {
  margin-bottom: 0.5882352941rem;
  text-align: center;
}
.heb-col-right .wp-block-button__link {
  width: 180px;
}
@media (min-width: 576px) {
  .heb-col-right .wp-block-button__link {
    width: 220px;
  }
}

.heb-price {
  text-align: center;
  font-weight: 600;
  margin-bottom: 1.5rem;
  line-height: 1;
}
.heb-price__prefix {
  display: block;
  text-transform: uppercase;
  font-weight: 400;
  font-size: 0.85em;
}
.heb-price__value {
  font-size: 1.75em;
  color: #a9c628;
  font-family: "Minion", sans-serif;
}

.services-pictos {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 20px;
  justify-content: center;
}
@media (min-width: 992px) {
  .services-pictos {
    margin-bottom: 40px;
  }
}

.services-picto {
  font-family: 25px;
  position: relative;
}
.services-picto .label,
.services-picto .icon {
  transition: all 0.25s ease;
}
.services-picto .label {
  position: absolute;
  font-weight: 600;
  width: 200px;
  left: -85px;
  bottom: calc(100% - 10px);
  opacity: 0;
}
@media (min-width: 768px) {
  .services-picto .label {
    left: -75px;
  }
}
.services-picto .label__inner {
  background-color: #2f5349;
  color: #fff;
  text-align: center;
  width: max-content;
  display: block;
  margin: 0 auto;
  font-size: 14px;
  border-radius: 0.15em;
  padding: 0.1em 0.5em;
}
.services-picto .icon {
  background-color: #fff;
  color: #2f5349;
  box-shadow: 0 5px 15px rgba(51, 48, 51, 0.5);
  margin: 0 auto;
  text-align: center;
  width: 35px;
  height: 35px;
  line-height: 2.4;
  font-size: 1.2rem;
  border-radius: 50%;
}
@media (min-width: 768px) {
  .services-picto .icon {
    width: 50px;
    height: 50px;
    line-height: 3;
  }
}
@media (min-width: 992px) {
  .services-picto .icon {
    line-height: 2.4;
  }
}
@media (min-width: 1400px) {
  .services-picto .icon {
    line-height: 2.2;
  }
}
.services-picto:hover .label, .services-picto:focus .label {
  bottom: calc(100% - 5px);
  opacity: 1;
}
.services-picto:hover .icon, .services-picto:focus .icon {
  background-color: #a9c628;
  color: #fff;
}

.heb-pictos {
  display: flex;
  justify-content: center;
  gap: 1.1764705882rem;
  margin-bottom: 1.5rem;
}

.heb-h2 {
  text-align: center;
}

.heb-picto {
  text-align: center;
}
.heb-picto__picto {
  width: 3.5294117647rem;
  height: 3.5294117647rem;
  padding: 6px;
  margin: 0 auto 10px auto;
  border-radius: 50%;
  border: 2px solid #2f5349;
}
@media (min-width: 768px) {
  .heb-picto__picto {
    padding: 8px;
  }
}
.heb-picto__label {
  line-height: 1.1;
  font-size: 0.9rem;
  font-weight: 600;
  color: #2f5349;
}
.heb-picto i {
  font-size: 1.5rem;
  line-height: 1.4;
}
.heb-picto svg {
  width: 100%;
  height: 100%;
}
.heb-picto svg * {
  stroke: #2f5349;
}

.heb-inventory {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 60px;
  padding-left: 2rem;
  border-left: 1px solid #2f5349;
}

.heb-inv-title {
  margin-top: 1rem;
}

.heb-inv-item {
  display: flex;
  width: 50%;
  margin-bottom: 15px;
}
.heb-inv-item:nth-child(odd) {
  padding-right: 5px;
}
@media (max-width: calc(576px - 1px)) {
  .heb-inv-item {
    display: block;
  }
}
.heb-inv-item .heb-picto {
  text-align: left;
  margin-right: 15px;
}
.heb-inv-item .heb-picto__picto {
  text-align: center;
}
@media (max-width: calc(768px - 1px)) {
  .heb-inv-item .heb-picto__picto {
    margin-left: 0;
  }
}
.heb-inv-item .content {
  font-size: 0.8em;
  line-height: 1.5;
}

body.single-hebergement .article {
  padding-top: 1rem;
}
body.single-hebergement .gutenberg-content > * {
  padding-left: 0;
  padding-right: 0;
}
@media (max-width: calc(576px - 1px)) {
  body.single-hebergement h1 .content {
    margin-left: auto;
  }
  body.single-hebergement h1 .top,
  body.single-hebergement h1 .bottom {
    text-align: center !important;
  }
}
body.single-hebergement .accomodation-summary-title {
  font-size: 1rem;
  font-weight: 700;
}
body.single-hebergement .wp-block-plune-blocks-reviews-summary {
  position: absolute;
  right: 2rem;
  top: -4.5rem;
  z-index: 1;
}
@media (max-width: calc(992px - 1px)) {
  body.single-hebergement .wp-block-plune-blocks-reviews-summary {
    right: 10rem;
  }
}
@media (max-width: calc(768px - 1px)) {
  body.single-hebergement .wp-block-plune-blocks-reviews-summary {
    right: 2rem;
  }
}
body.single-hebergement .accommodation-cold-info .wp-block-buttons > .wp-block-button {
  margin: 0;
  display: flex;
  justify-content: start;
  align-items: center;
  width: 100%;
}
body.single-hebergement .accommodation-photos {
  margin-left: auto;
  margin: 6rem 0 0 0;
}
body.single-hebergement .accommodation-photos img {
  padding: 0.5rem;
  border-radius: 8px;
}
@media (min-width: 576px) {
  body.single-hebergement .accommodation-photos img {
    padding: 0rem;
    border-radius: 8px;
  }
}
@media (min-width: 576px) {
  body.single-hebergement .accommodation-photos .accommodation-photos-right {
    gap: 1rem;
    flex-direction: column;
  }
}
body.single-hebergement .accommodation-photo {
  width: 100%;
  height: 0;
  padding-bottom: 68%;
  position: relative;
}
body.single-hebergement .accommodation-photo img {
  display: block;
  position: absolute;
  width: 100%;
  inset: 0;
  height: 100%;
  object-fit: cover;
  padding: 1rem;
}
body.single-hebergement .accommodation-photo.square {
  padding-bottom: 67.5%;
}
body.single-hebergement .accommodation-photo .no-preview-count {
  font-weight: 600;
  color: #fff;
  text-align: center;
  background-color: #84934F;
  font-size: 1.3rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40%;
  height: 40%;
  margin: auto;
  pointer-events: none;
  border-radius: 100px;
}
@media (min-width: 768px) {
  body.single-hebergement .accommodation-photo .no-preview-count {
    font-size: 2rem;
  }
}
@media (min-width: 1700px) {
  body.single-hebergement .accommodation-cold-info {
    position: relative;
  }
  body.single-hebergement .accommodation-cold-info.animated::after {
    animation: scaleOut 1.25s ease-in-out forwards;
  }
}
body.single-hebergement .accommodation-titre {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
}
@keyframes scaleOut {
  0% {
    transform: scale3d(1, 1, 1);
  }
  85% {
    transform: scale3d(1, 0.02, 1);
  }
  100% {
    transform: scale3d(0, 0.02, 1);
  }
}
body.single-hebergement small {
  font-size: 1em;
}
body.single-hebergement .accommodation-cold-info {
  padding-bottom: 20px;
}
body.single-hebergement .my-5 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}
body.single-hebergement .justify-content-between {
  -webkit-box-pack: justify !important;
  -ms-flex-pack: justify !important;
  justify-content: space-between !important;
}
body.single-hebergement .flex-wrap {
  -ms-flex-wrap: wrap !important;
  flex-wrap: wrap !important;
}
body.single-hebergement .d-flex {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}
body.single-hebergement .summary_box {
  gap: 20px;
}
body.single-hebergement .accommodation-titre {
  display: flex;
  flex-wrap: nowrap;
}
@media (max-width: calc(1200px - 1px)) {
  body.single-hebergement .accommodation-titre {
    flex-wrap: wrap;
  }
}
body.single-hebergement .accommodation-titre-h1 {
  color: #2f5349;
  text-transform: uppercase;
  font-family: "Minion", sans-serif;
  font-size: 3rem;
}
body.single-hebergement .wp-block-plune-blocks-picto {
  color: #2f5349;
  display: inline-block;
  text-align: center;
}
@media (min-width: 992px) {
  body.single-hebergement .wp-block-plune-blocks-picto {
    max-width: 10rem;
    flex: 1;
  }
}
body.single-hebergement .wp-block-plune-blocks-picto__icon {
  width: 4.5rem;
  height: 4.5rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid;
  margin: 0 auto 0.5rem;
  border-radius: 50%;
}
body.single-hebergement .wp-block-plune-blocks-picto__icon i {
  font-size: 1.8rem;
}
body.single-hebergement .wp-block-plune-blocks-picto .wp-block-plune-blocks-picto__icon {
  background-color: #84934F;
  border: #84934F;
  border-radius: 8px;
}
body.single-hebergement .wp-block-plune-blocks-picto .wp-block-plune-blocks-picto__icon i {
  color: #fff;
}
body.single-hebergement .wp-block-plune-blocks-picto .wp-block-plune-blocks-picto__icon .service_value {
  background-color: #606C38;
  color: #fff;
  position: absolute;
  bottom: -0.3rem;
  right: -0.3rem;
  border-radius: 50px;
  font-weight: 700;
  padding: 0 0.45rem 0.2rem 0.45rem;
}
body.single-hebergement .wp-block-plune-blocks-picto__label {
  font-size: 1rem;
  color: #333033;
}

.fancybox-container .fancybox-slide {
  padding: 48px 8px 8px 8px;
}
.fancybox-container .fancybox-button {
  position: absolute;
  top: -40px;
  right: 0;
  color: #fff;
}
.fancybox-container .fancybox-button svg path {
  color: #fff;
}

#product-availability-root {
  background: rgba(22, 25, 68, 0.02);
  border-radius: 1.2em;
  max-width: 414px;
  margin: auto;
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.08);
}
#product-availability-root .wp-block-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
#product-availability-root .wp-block-button__link {
  width: 100%;
}

.box-titre-section {
  display: grid;
  grid-template-columns: auto 1fr;
  justify-content: center;
  align-items: center;
  margin-top: 3rem;
}
.box-titre-section .text-titre-section {
  font-family: "Amatic SC", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 2rem;
  color: #84934F;
  line-height: 1.7rem;
  width: 100%;
  font-weight: 700;
}
.box-titre-section:after {
  content: "";
  background-color: #84934F;
  height: 1px;
  border-radius: 2px;
  margin-left: 28px;
}

.single.single-hebergement .wp-block-button:not(.is-style-fill) .wp-block-button__link {
  text-transform: uppercase;
  background-color: #606C38;
  border: 1px solid #606C38;
  color: #fff;
  padding: 0.5rem 1rem;
  display: inline-block;
  transition: all 0.3s ease;
}
.single.single-hebergement .wp-block-button:not(.is-style-fill) .wp-block-button__link:hover {
  background-color: #fff;
  color: #606C38;
  border: 1px solid #606C38;
}
.single.single-hebergement .accomodation-bloc {
  display: flex;
}
.single.single-hebergement .accomodationFeature {
  text-align: center;
}
.single.single-hebergement .accomodationFeatureOpinion {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  margin-bottom: 0.5rem;
  font-family: "Minion", sans-serif;
  background-color: #8B3229;
  border-radius: 8px;
  color: #fff;
  font-size: 1.2rem;
}

#product-reviews-root .main-wrapper {
  padding: 2rem;
  background-color: rgba(22, 25, 68, 0.02);
}
#product-reviews-root .main-wrapper .wp-block-plune-blocks-double-title .top {
  font-family: "Minion", sans-serif;
  color: #1d4e53;
  font-size: 3rem;
  line-height: 5rem;
  text-transform: unset;
}

.wp-block-button_availability-bloc {
  width: 100%;
}

.wp-block-button_availability {
  background-color: #C7473B;
  font-family: "Amatic SC", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  color: #fff;
  display: block;
  width: 100%;
  text-align: center;
  padding: 2rem 0;
  font-weight: 700;
  font-size: 2.5rem;
  text-transform: uppercase;
  border-radius: 0 0 8px 8px;
}
.wp-block-button_availability:hover, .wp-block-button_availability:focus {
  background-color: #606C38;
  color: #fff;
}

.wp-block-button_change-date-bloc {
  display: flex;
  justify-content: center;
}

.wp-block-button_change-date {
  background-color: #606C38;
  border: #606C38;
  padding: 1rem 3rem;
  color: #fff;
  font-family: "Amatic SC", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 2rem;
  width: 100%;
  border-radius: 8px 8px 0 0;
}
.wp-block-button_change-date:hover {
  background-color: #84934F;
  color: #fff;
}

.wp-block-button-product .wp-block-button__link::before {
  height: 15px;
}

.accomodationInfos__booking {
  position: sticky;
}
.accomodationInfos__booking-content, .accomodationInfos__booking-insurance {
  background: #fff;
  padding: 0 25px 20px;
  font-family: "Montserrat", sans-serif;
}
@media screen and (max-width: 400px) {
  .accomodationInfos__booking-content, .accomodationInfos__booking-insurance {
    padding: 0 15px 10px;
  }
}
.accomodationInfos__booking-content {
  border-radius: 15px 15px 0 0;
  text-align: center;
}
@media (max-width: calc(768px - 1px)) {
  .accomodationInfos__booking-content {
    border-radius: 0;
  }
}
.accomodationInfos__booking-content .dates {
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 10px;
  display: flex;
  justify-content: center;
}
.accomodationInfos__booking-content .dates .heb-date-range-input {
  border: none;
}
.accomodationInfos__booking-insurance {
  border-radius: 15px;
  padding: 20px 25px;
  text-align: left;
  background-color: #fff;
  max-width: 414px;
  margin: auto;
  margin-top: 1rem;
}
@media (max-width: calc(768px - 1px)) {
  .accomodationInfos__booking-insurance {
    display: none;
  }
}
.accomodationInfos__booking-insurance p {
  margin-bottom: 0;
}
.accomodationInfos__booking-insurance .content-picto {
  padding-top: 1em;
}
.accomodationInfos__booking-insurance .content-picto .payment-logos {
  display: flex;
}
.accomodationInfos__booking-insurance .content-picto .payment-logos .logo {
  color: #2f5349;
  padding: 0 0.3rem;
}
.accomodationInfos__booking-insurance .content-picto .payment-logos .logo::before {
  display: none;
}
.accomodationInfos__booking-insurance .content-picto .payment-logos .logo img {
  height: 30px;
  width: 100%;
}
.accomodationInfos__booking-insurance .payment_insurance_text {
  font-family: "Montserrat", sans-serif;
  color: #a9c628;
  text-transform: uppercase;
  font-weight: 500;
  font-size: 0.9rem;
}
.accomodationInfos__booking-insurance .payment_insurance_text_middle {
  color: #a9c628;
  font-family: "Minion", sans-serif;
  font-size: 1.2rem;
}
.accomodationInfos__booking-insurance-policy {
  padding-top: 10px;
  max-width: 414px;
  margin: auto;
}
.accomodationInfos__booking-insurance-policy .text {
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 300;
  text-align: center;
  line-height: 1;
  color: #fff;
  margin: 0;
}
@media (max-width: calc(768px - 1px)) {
  .accomodationInfos__booking-insurance-policy {
    display: none;
  }
}

.bloc-reservation {
  position: sticky;
  top: 150px;
}

.content_after_inventory {
  margin-top: 2rem;
}
.content_after_inventory h3 {
  font-size: 1.5rem;
  margin-top: 1.2rem;
}

.services-listing {
  display: flex;
  margin: 1.5rem 0;
  gap: 1rem;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .services-listing {
    gap: 2rem;
  }
}
@media (min-width: 1200px) {
  .services-listing {
    gap: 0;
  }
}
.services-listing .wp-block-plune-blocks-picto {
  max-width: 5rem;
}
@media (min-width: 992px) {
  .services-listing .wp-block-plune-blocks-picto {
    max-width: none;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5zY3NzIiwiX19fY29sb3JfYW5kX3Zhci5zY3NzIiwiX19fYm9vdHN0cmFwLWFuZC1jdXN0b20uc2NzcyIsImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvX3Jvb3Quc2NzcyIsImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvX3JlYm9vdC5zY3NzIiwibGlicy9ib290c3RyYXAtNC42LjIvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwibGlicy9ib290c3RyYXAtNC42LjIvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCJsaWJzL2Jvb3RzdHJhcC00LjYuMi9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvX2dyaWQuc2NzcyIsImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCJsaWJzL2Jvb3RzdHJhcC00LjYuMi9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwibGlicy9ib290c3RyYXAtNC42LjIvc2Nzcy9fdGFibGVzLnNjc3MiLCJsaWJzL2Jvb3RzdHJhcC00LjYuMi9zY3NzL21peGlucy9fdGFibGUtcm93LnNjc3MiLCJsaWJzL2Jvb3RzdHJhcC00LjYuMi9zY3NzL3V0aWxpdGllcy9fYWxpZ24uc2NzcyIsImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvdXRpbGl0aWVzL19iYWNrZ3JvdW5kLnNjc3MiLCJsaWJzL2Jvb3RzdHJhcC00LjYuMi9zY3NzL3V0aWxpdGllcy9fYm9yZGVycy5zY3NzIiwibGlicy9ib290c3RyYXAtNC42LjIvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCJsaWJzL2Jvb3RzdHJhcC00LjYuMi9zY3NzL3V0aWxpdGllcy9fZGlzcGxheS5zY3NzIiwibGlicy9ib290c3RyYXAtNC42LjIvc2Nzcy91dGlsaXRpZXMvX2VtYmVkLnNjc3MiLCJsaWJzL2Jvb3RzdHJhcC00LjYuMi9zY3NzL3V0aWxpdGllcy9fZmxleC5zY3NzIiwibGlicy9ib290c3RyYXAtNC42LjIvc2Nzcy91dGlsaXRpZXMvX2Zsb2F0LnNjc3MiLCJsaWJzL2Jvb3RzdHJhcC00LjYuMi9zY3NzL3V0aWxpdGllcy9faW50ZXJhY3Rpb25zLnNjc3MiLCJsaWJzL2Jvb3RzdHJhcC00LjYuMi9zY3NzL3V0aWxpdGllcy9fb3ZlcmZsb3cuc2NzcyIsImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvdXRpbGl0aWVzL19wb3NpdGlvbi5zY3NzIiwibGlicy9ib290c3RyYXAtNC42LjIvc2Nzcy91dGlsaXRpZXMvX3NjcmVlbnJlYWRlcnMuc2NzcyIsImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvbWl4aW5zL19zY3JlZW4tcmVhZGVyLnNjc3MiLCJsaWJzL2Jvb3RzdHJhcC00LjYuMi9zY3NzL3V0aWxpdGllcy9fc2hhZG93cy5zY3NzIiwibGlicy9ib290c3RyYXAtNC42LjIvc2Nzcy91dGlsaXRpZXMvX3NpemluZy5zY3NzIiwibGlicy9ib290c3RyYXAtNC42LjIvc2Nzcy91dGlsaXRpZXMvX3NwYWNpbmcuc2NzcyIsImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvdXRpbGl0aWVzL19zdHJldGNoZWQtbGluay5zY3NzIiwibGlicy9ib290c3RyYXAtNC42LjIvc2Nzcy91dGlsaXRpZXMvX3RleHQuc2NzcyIsImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvbWl4aW5zL190ZXh0LXRydW5jYXRlLnNjc3MiLCJsaWJzL2Jvb3RzdHJhcC00LjYuMi9zY3NzL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwibGlicy9ib290c3RyYXAtNC42LjIvc2Nzcy9taXhpbnMvX3RleHQtaGlkZS5zY3NzIiwibGlicy9ib290c3RyYXAtNC42LjIvc2Nzcy91dGlsaXRpZXMvX3Zpc2liaWxpdHkuc2NzcyIsIl9fX2luaXQuc2NzcyIsIl9fX21peGluLnNjc3MiLCJlbGVtZW50cy9fY2stdHguc2NzcyIsIl9fdWlraXRfYW5pbWF0aW9uLnNjc3MiLCJfX3Vpa2l0X2FkZC5zY3NzIiwiX19fYmxvY2tzLWd1dGVuYmVyZ19fZnJvbnQuc2NzcyIsIl9fX3N0eWxpbmcuc2NzcyIsIi4uL2pzL2NvbXBvbmVudHMvX3lvdXR1YmUtcGxheWVyLWlmcmFtZS1kdWFsLnNjc3MiLCIuLi8uLi90ZW1wbGF0ZS1wYXJ0cy9ibG9ja3MtZ3V0ZW5iZXJnL19zZWN0aW9uLWNvbnRlbmV1ci9zZWN0aW9uLWNvbnRlbmV1ci5zY3NzIiwiLi4vLi4vdGVtcGxhdGUtcGFydHMvYmxvY2tzLWd1dGVuYmVyZy90aXRyZS1kb3VibGUvdGl0cmUtZG91YmxlLnNjc3MiLCIuLi8uLi90ZW1wbGF0ZS1wYXJ0cy9ibG9ja3MtZ3V0ZW5iZXJnL3RlYXNlcl9wYWdlL3RlYXNlci1wYWdlLnNjc3MiLCIuLi8uLi90ZW1wbGF0ZS1wYXJ0cy9ibG9ja3MtZ3V0ZW5iZXJnL2xpc3RpbmctY2FyZC9saXN0aW5nLWNhcmQuc2NzcyIsIi4uLy4uL3RlbXBsYXRlLXBhcnRzL2Jsb2Nrcy1ndXRlbmJlcmcvbGlzdGluZy1hcnRpY2xlL2xpc3RpbmctYXJ0aWNsZS5zY3NzIiwiLi4vLi4vdGVtcGxhdGUtcGFydHMvYmxvY2tzLWd1dGVuYmVyZy9mb3JtX2NvbnRhY3QvZm9ybV9jb250YWN0LnNjc3MiLCIuLi8uLi90ZW1wbGF0ZS1wYXJ0cy9ibG9ja3MtZ3V0ZW5iZXJnL3RleHRlLWltYWdlL3RleHRlLWltYWdlLnNjc3MiLCIuLi8uLi90ZW1wbGF0ZS1wYXJ0cy9ibG9ja3MtZ3V0ZW5iZXJnL3RleHRlX2ltYWdlX2Z1bGwvdGV4dGVfaW1hZ2VfZnVsbC5zY3NzIiwiLi4vLi4vdGVtcGxhdGUtcGFydHMvYmxvY2tzLWd1dGVuYmVyZy9pbWFnZV9mdWxsX19saXN0aW5nX3ZhbG9yaXNhdGlvbi9ibG9jay5zY3NzIiwiLi4vLi4vdGVtcGxhdGUtcGFydHMvYmxvY2tzLWd1dGVuYmVyZy9pZnJhbWUvaWZyYW1lLnNjc3MiLCIuLi8uLi90ZW1wbGF0ZS1wYXJ0cy9ibG9ja3MtZ3V0ZW5iZXJnL2dhbGVyaWUtcGhvdG9zLS0tYnJpY2tsYXllci1iaXMvZ2FsZXJpZS1waG90b3MtLS1icmlja2xheWVyLnNjc3MiLCIuLi8uLi90ZW1wbGF0ZS1wYXJ0cy9ibG9ja3MtZ3V0ZW5iZXJnL3RleHRlX2ltZ18yaW1nX3NsaWRlL3RleHRlX2ltZ18yaW1nX3NsaWRlLnNjc3MiLCIuLi8uLi90ZW1wbGF0ZS1wYXJ0cy9ibG9ja3MtZ3V0ZW5iZXJnL21vZHVsZS1wbHVuZS1tYXAvYmxvY2suc2NzcyIsImxpYnMvX3NsaWNrLnNjc3MiLCJsaWJzL191aS10YWJzLnNjc3MiLCJibG9ja3MvX2xpc3RfY2FyZHMuc2NzcyIsImVsZW1lbnRzL19maWx0ZXIuc2NzcyIsImVsZW1lbnRzL19jYXJkX2xvYy5zY3NzIiwiZWxlbWVudHMvX2NhcmQuc2NzcyIsImVsZW1lbnRzL19jYXJkX2F2aXMuc2NzcyIsImVsZW1lbnRzL19jYXJkX3NsaWRlci1pbWdfdHhfaW5mby5zY3NzIiwiZWxlbWVudHMvX3ZpZ25ldHRlLnNjc3MiLCJlbGVtZW50cy9fbGlzdC1waWN0by5zY3NzIiwiZWxlbWVudHMvX2xpc3QtZGJsLXR4LnNjc3MiLCJfX19ibG9ja3MtZ3V0ZW5iZXJnX19mcm9udF9hbmRfYmFjay5zY3NzIiwibGlicy9fZ3Vlc3RhcHAtbWluaS5zY3NzIiwibGlicy9ndWVzdF9zdWl0ZV8yMDIxL19ncy5zY3NzIiwibGlicy9fY29sb3Jib3guc2NzcyIsImJsb2Nrcy9faGVhZGVyLW1haW4uc2NzcyIsImJsb2Nrcy9fbWVudS5zY3NzIiwiYmxvY2tzL19ibG9jLnNjc3MiLCJibG9ja3MvX2xpc3QtcGFydG5lci5zY3NzIiwiYmxvY2tzL19saXN0LXJldmlld3Muc2NzcyIsImJsb2Nrcy9fZm9vdGVyLnNjc3MiLCJibG9ja3MvX3dpZGdldF9zZWN1cl9fMjAyMC5zY3NzIiwiZWxlbWVudHMvX2hhbWJ1cmdlcnMtc2V0dGluZ3Muc2NzcyIsImVsZW1lbnRzL19sYW5nLXNpdGUuc2NzcyIsImVsZW1lbnRzL19maWdjYXB0aW9uLnNjc3MiLCJlbGVtZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiZWxlbWVudHMvX2J1dHRvbi5zY3NzIiwiZWxlbWVudHMvX2xpc3QtYnRuLnNjc3MiLCJlbGVtZW50cy9fbGlzdC1yZXNlYXV4LnNjc3MiLCJtb2R1bGUvX3NlYXJjaGZvcm0uc2NzcyIsIm1vZHVsZS9fcGx1bmVfZmFxLnNjc3MiLCJtb2R1bGUvX3BsdW5lX2ZsYXNoX2luZm8uc2NzcyIsIl9mb250LWZhY2Uuc2NzcyIsImFwcC1jdG91dmVydGFwaS5zY3NzIiwibW9kdWxlL3RhcmlmZnMvX3NlYXJjaGZvcm0uc2NzcyIsIm1vZHVsZS90YXJpZmZzL192YXJpYWJsZXMuc2NzcyIsIm1vZHVsZS90YXJpZmZzL19taXhpbnMuc2NzcyIsIm1vZHVsZS90YXJpZmZzL19pbnZlbnRvcnkuc2NzcyIsIm1vZHVsZS90YXJpZmZzL19hdmFpbGFiaWxpdHkuc2NzcyIsIm1vZHVsZS90YXJpZmZzL19yZXZpZXdzLnNjc3MiLCJtb2R1bGUvdGFyaWZmcy9fZmlsdGVycy5zY3NzIiwibW9kdWxlL3RhcmlmZnMvX3ByZXZpZXdzLnNjc3MiLCJtb2R1bGUvdGFyaWZmcy9fYXJjaGl2ZXMuc2NzcyIsIm1vZHVsZS90YXJpZmZzL19zaW5nbGUtaGViZXJnZW1lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUNXQTtBQUFBO0FBQUE7QUFHdUI7QUFDUTtBQUVOO0FBdUJ6QjtBQXVDQTtBQUFBOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQTBCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUN6R0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7QUFBQTtBQUFBO0FBQUE7QUFVQTtBQUFBO0FBQUE7QUFBQTtB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O0FBQ1Y7RUFBVTs7O0FBSVY7RUFBYzs7O0FBQ2Q7RUFBYzs7O0FBRWQ7RUFBVTs7O0FBQ1Y7RUFBVTs7O0FDVEY7RUFBZ0M7OztBQUNoQztBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQWZGO0VBQWdDOzs7QUFDaEM7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFmRjtFQUFnQzs7O0FBQ2hDO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBZkY7RUFBZ0M7OztBQUNoQztBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQWZGO0VBQWdDOzs7QUFDaEM7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFmRjtFQUFnQzs7O0FBQ2hDO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBZkY7RUFBZ0M7OztBQUNoQztBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQWZGO0VBQWdDOzs7QUFDaEM7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFmRjtFQUFnQzs7O0FBQ2hDO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBZkY7RUFBZ0M7OztBQUNoQztBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQWZGO0VBQWdDOzs7QUFDaEM7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFmRjtFQUFnQzs7O0FBQ2hDO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBZkY7RUFBZ0M7OztBQUNoQztBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQWZGO0VBQWdDOzs7QUFDaEM7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFmRjtFQUFnQzs7O0FBQ2hDO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBZkY7RUFBZ0M7OztBQUNoQztBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQVFGO0VBQXdCOzs7QUFDeEI7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFmRjtFQUF3Qjs7O0FBQ3hCO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBZkY7RUFBd0I7OztBQUN4QjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQWZGO0VBQXdCOzs7QUFDeEI7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFmRjtFQUF3Qjs7O0FBQ3hCO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBZkY7RUFBd0I7OztBQUN4QjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQWZGO0VBQXdCOzs7QUFDeEI7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFNTjtFQUFtQjs7O0FBQ25CO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FwQlRGO0VvQmxESTtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQVFGO0lBQXdCOztFQUN4QjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBd0I7O0VBQ3hCO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUF3Qjs7RUFDeEI7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQXdCOztFQUN4QjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBd0I7O0VBQ3hCO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUF3Qjs7RUFDeEI7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQXdCOztFQUN4QjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBTU47SUFBbUI7O0VBQ25CO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7O0FwQlRGO0VvQmxESTtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQVFGO0lBQXdCOztFQUN4QjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBd0I7O0VBQ3hCO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUF3Qjs7RUFDeEI7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQXdCOztFQUN4QjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBd0I7O0VBQ3hCO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUF3Qjs7RUFDeEI7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQXdCOztFQUN4QjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBTU47SUFBbUI7O0VBQ25CO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7O0FwQlRGO0VvQmxESTtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQVFGO0lBQXdCOztFQUN4QjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBd0I7O0VBQ3hCO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUF3Qjs7RUFDeEI7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQXdCOztFQUN4QjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBd0I7O0VBQ3hCO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUF3Qjs7RUFDeEI7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQXdCOztFQUN4QjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBTU47SUFBbUI7O0VBQ25CO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7O0FwQlRGO0VvQmxESTtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQVFGO0lBQXdCOztFQUN4QjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBd0I7O0VBQ3hCO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUF3Qjs7RUFDeEI7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQXdCOztFQUN4QjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBd0I7O0VBQ3hCO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUF3Qjs7RUFDeEI7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQXdCOztFQUN4QjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBTU47SUFBbUI7O0VBQ25CO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7O0FwQlRGO0VvQmxESTtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQWZGO0lBQWdDOztFQUNoQztBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBZ0M7O0VBQ2hDO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFmRjtJQUFnQzs7RUFDaEM7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQVFGO0lBQXdCOztFQUN4QjtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0FBQUE7SUFFRTs7RUFFRjtBQUFBO0lBRUU7O0VBZkY7SUFBd0I7O0VBQ3hCO0FBQUE7SUFF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QUNJO0lBQ0k7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7OztBQUlSO0FBQUE7QUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBOztFQUVKO0lBQ0k7SUFDQTs7O0FBSVI7QUFBQTtBQUFBO0FBSUE7RUFDSTtJQUNJO0lBQ0E7O0VBRUo7SUFDSTtJQUNBOzs7QUFJUjtBQUFBO0FBQUE7QUFJQTtFQUNJO0lBQ0k7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7OztBQUlSO0FBQUE7QUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBOztFQUVKO0lBQ0k7SUFDQTs7O0FBSVI7QUFBQTtBQUFBO0FBSUE7RUFDSTtJQUNJO0lBQ0E7O0VBRUo7SUFDSTtJQUNBOzs7QUFJUjtBQUFBO0FBQUE7QUFJQTtFQUNJO0lBQ0k7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7OztBQUlSO0FBQUE7QUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBOztFQUVKO0lBQ0k7SUFDQTs7O0FBSVI7QUFBQTtBQUFBO0FBSUE7RUFDSTtJQUNJO0lBQ0E7O0VBRUo7SUFDSTtJQUNBOzs7QUFJUjtBQUFBO0FBQUE7QUFJQTtFQUNJO0lBQ0k7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7OztBQUlSO0FBQUE7QUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBOztFQUVKO0lBQ0k7SUFDQTs7O0FBSVI7QUFBQTtBQUFBO0FBSUE7RUFDSTtJQUNJO0lBQ0E7O0VBRUo7SUFDSTtJQUNBOzs7QUFJUjtBQUFBO0FBQUE7QUFJQTtFQUNJO0lBQ0k7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7OztBQUlSO0FBQUE7QUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBOztFQUVKO0lBQ0k7SUFDQTs7O0FBSVI7QUFBQTtBQUFBO0FBSUE7RUFDSTtJQUFLOztFQUNMO0lBQU87OztBQUdYO0FBQUE7QUFBQTtBQUlBO0VBQ0k7SUFBVzs7RUFDWDtJQUFNOztFQUNOO0lBQU07O0VBQ047SUFBTTs7RUFDTjtJQUFNOztFQUNOO0lBQU07O0VBQ047SUFBTTs7RUFDTjtJQUFNOztFQUNOO0lBQU07O0VBQ047SUFBTTs7O0FBR1Y7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QU5aO0FBU0k7O0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFkTjtBQWdCSTs7O0FBRUo7QUFJQTtBQUNBO0VBQ0U7RUFDQTs7O0FBTUY7QUFHRTtFQUlFOztBakNqMkRBO0VpQzYxREY7SUFNSTs7OztBQU5KO0VBSUU7O0FqQ2oyREE7RWlDNjFERjtJQU1JOzs7O0FBTko7RUFJRTs7QWpDajJEQTtFaUM2MURGO0lBTUk7Ozs7QUFOSjtFQUlFOztBakNqMkRBO0VpQzYxREY7SUFNSTs7OztBQU5KO0VBSUU7O0FqQ2oyREE7RWlDNjFERjtJQU1JOzs7O0FBTko7RUFJRTs7QWpDajJEQTtFaUM2MURGO0lBTUk7Ozs7QUFOSjtFQUlFOztBakNqMkRBO0VpQzYxREY7SUFNSTs7OztBQU5KO0VBSUU7O0FqQ2oyREE7RWlDNjFERjtJQU1JOzs7O0FBTko7RUFJRTs7QWpDajJEQTtFaUM2MURGO0lBTUk7Ozs7QUFOSjtFQUlFOztBakNqMkRBO0VpQzYxREY7SUFNSTs7OztBQU5KO0VBSUU7O0FqQ2oyREE7RWlDNjFERjtJQU1JOzs7O0FBTko7RUFJRTs7QWpDajJEQTtFaUM2MURGO0lBTUk7Ozs7QUFOSjtFQUlFOztBakNqMkRBO0VpQzYxREY7SUFNSTs7OztBQU5KO0VBSUU7O0FqQ2oyREE7RWlDNjFERjtJQU1JOzs7O0FBTko7RUFJRTs7QWpDajJEQTtFaUM2MURGO0lBTUk7Ozs7QUFOSjtFQUlFOztBakNqMkRBO0VpQzYxREY7SUFNSTs7OztBQU5KO0VBSUU7O0FqQ2oyREE7RWlDNjFERjtJQU1JOzs7O0FBTko7RUFJRTs7QWpDajJEQTtFaUM2MURGO0lBTUk7Ozs7QUFOSjtFQUlFOztBakNqMkRBO0VpQzYxREY7SUFNSTs7OztBQU5KO0VBSUU7O0FqQ2oyREE7RWlDNjFERjtJQU1JOzs7O0FBS047QUFHQTtBQUFBO0FBQUE7QUFtQkU7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTs7QUFFRjtF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OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7QUFDQTtFQUNJO0lBQ0k7SUFDQTs7RUFHSjtJQUNJO0lBQ0E7OztBQUlSO0FBQUE7QUFBQTtBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUdBO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7RUFFSTs7O0FBR0o7RUFDSTs7O0FDbGFKO0FBQUE7QUFBQTtBQUFBO0FBSUE7RUFBc0M7RUFBbUI7RUFBTztFQUFRO0VBQWM7RUFBaUI7OztBQUN2RztFQUFjOzs7QUFDZDtFQUFhO0VBQWdCO0VBQVk7OztBQUN6QztFQUFpQzs7O0FBQ2pDO0VBQWE7OztBQUNiO0VBQW1CO0VBQWU7OztBQUNsQztFQUFXOzs7QUFDWDtFQUF5QztFQUFtQjtFQUFPO0VBQVE7RUFBWTs7O0FBQ3ZGO0VBQXFEOzs7QUFDckQ7RUFBVztFQUFZO0VBQWE7RUFBVTtFQUFlO0VBQWdCOzs7QUFDN0U7RUFBWTtFQUFZO0VBQWE7RUFBZTtFQUFVO0VBQVc7OztBQUN6RTtFQUE0QztFQUF3QjtFQUE2Qjs7O0FBRWpHO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUFhO0VBQWlCO0VBQWM7OztBQUM1QztFQUFVOzs7QUFDTjtFQUFhO0VBQWdCOzs7QUFDekI7RUFBWTs7O0FBQ1o7RUFBVztFQUFjOzs7QUFDekI7RUFBbUI7RUFBdUI7OztBQUMxQztFQUFXO0VBQW1CO0VBQVc7RUFBUTs7O0FBQ2pEO0VBQWE7RUFBbUI7RUFBVztFQUFXOzs7QUFDdEQ7RUFBb0I7OztBQUVwQjtBQUNBO0VBQXNEO0VBQVU7RUFBVztFQUFVO0VBQWtCO0VBQVk7OztBQUVuSDtBQUNBO0VBQWtGOzs7QUFFbEY7RUFBZTtFQUFtQjtFQUFXO0VBQVk7OztBQUN6RDtFQUFjO0VBQW1CO0VBQVM7RUFBVTtFQUFrQjtFQUFrRTtFQUFZO0VBQWE7OztBQUNqSztFQUFvQjs7O0FBQ3BCO0VBQVU7RUFBbUI7RUFBUztFQUFXO0VBQWtCO0VBQW1FO0VBQVk7RUFBYTs7O0FBQy9KO0VBQWdCOzs7QUFDaEI7RUFBVztFQUFtQjtFQUFTO0VBQVc7RUFBZTtFQUFvRTtFQUFZO0VBQWE7OztBQUM5SjtFQUFpQjs7O0FDOUJ6QjtFQUFLOzs7QUFDTDtFQUFLOzs7QUFPRDtFQUNFLFF4RVRROztBd0VnQlY7RUFDRSxNeEVqQlE7O0F3RUtaO0VBZUU7O0EvRDBCQTtFK0R6Q0Y7SUFpQkk7Ozs7QUFxQkY7RUFFRTs7QS9EQ0Y7RStESEE7SUFJSTs7O0EvRERKO0UrREhBO0lBT0k7OztBQU9OO0VBRUU7RUFDQTs7QS9EZEE7RStEV0Y7SUFNSTs7O0EvRGpCRjtFK0RXRjtJQVVJOzs7QS9EckJGO0UrRFdGO0lBY0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBV0o7RUFFRTs7QS9EMUNBO0UrRHdDRjtJQUtJOzs7QS9EN0NGO0UrRHdDRjtJQVdJO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFHQTs7O0EvRDNERjtFK0R3Q0Y7SUF1Qkk7SUFDQTs7OztBQXNDSjtFQUNFOztBQUVBO0VBQ0U7O0FBUE47RUFhRTtFQUNBOztBQUVBO0VBQ0U7RUFFQTs7QS9EdEhBO0UrRG1IRjtJQWFJOzs7QS9EaElGO0UrRG1IRjtJQW1CSTs7O0EvRHRJRjtFK0RtSEY7SUF3Qkk7OztBL0QzSUY7RStEbUhGO0lBOEJJOzs7QUFLSjtFQUlFO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7O0FBb0JBO0FBQUE7QUFBQTtFQUdFO0VBR0E7RUFFQTtFQUNBOztBQVFBO0VBQ0U7O0FBSUE7RUFDRTs7O0FBVU47RUFBVTtFQUFrQjs7O0EvRHZNNUI7RStEc09GO0FBRUk7O0VBS0U7QUFBQTtJQUVFOzs7O0FBK0NWO0VBQ0U7O0EvRDVTRTtFK0Q4U0Y7SUFHSTs7O0EvRHBTRjtFK0R1U0E7SUFFSTs7O0FBUU47RUFFRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUVBO0VBQ0U7O0EvRHpVSjtFK0Q4VEY7SUFnQkk7SUFDQTtJQUVBO0lBQ0E7OztBL0RyVUY7RStEaVRGO0lBdUJJO0lBQ0Esa0JuRTNZSzs7O0FJa0VQO0UrRCtVRjtJQUVJOzs7O0FBUU47RUFDRSxPbkU1WlM7RW1FNlpUO0VBR0E7RUFHQTtFQUNBOztBQWtDRTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBL0RyWkY7RStEaVpBO0lBT0k7SUFDQTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QS9EamFGO0UrRDZaQTtJQU9JO0lBQ0E7Ozs7QUE2RFI7QUFBQTtBQUFBO0FBQUE7QUFNRTtFQUNFOztBQUNBO0VBQ0U7RUFFQTs7QS9EN2VGO0UrRDBlQTtJQU9JOzs7QUFJSjtFQUNFOzs7QUFVSjtFQUdFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7O0EvRHBnQkY7RStEdWdCSTtJQUNFOzs7QS9EcmhCTjtFK0R5Z0JBO0lBaUJJOzs7QS9EMWhCSjtFK0R5Z0JBO0lBcUJJO0lBQ0E7OztBL0QvaEJKO0UrRHlnQkE7SUEwQkk7OztBL0R0aEJKO0UrRHVpQkY7QUFFSTtJQUNBO0lBQ0E7O0VBQ0E7SUFDRTs7OztBQVlSO0VBQ0U7RUFDQSxrQnhFdG5CWTtFd0V1bkJaO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0EvRHJrQkE7RStEeWtCQTtJQUNFO0lBQ0E7Ozs7QUFRSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7OztBQU9GO0VBQ0U7O0EvRC9tQkY7RStEOG1CQTtJQUdJOzs7QUF1Qko7RUFDRTs7QUFPRjtFQUNFOzs7QUFpQ047RUFBd0M7OztBQUN4QztFQUFxRDs7O0FBQ3JEO0VBQTZDOzs7QUFDN0M7RUFBaUQ7OztBQUNqRDtFQUFpRDs7O0FDaHZCakQ7RUFDQzs7QUFFQTtFQUNDOzs7QUFJRjtFQUNDOztBaEVpREc7RWdFbERKO0lBR0U7Ozs7QUFLRjtFQUNDO0lBQ0M7SUFDQTs7RUFHRDtJQUNDO0lBQ0E7OztBQUtBO0VBQ0M7RUFDQTs7QUFFQTtFQUNDOztBQUVEO0VBQ0M7O0FBRUQ7RUFDQzs7QUFFRDtFQUNDOztBQUVEO0VBQ0M7OztBQU1IO0VBQ0M7RUFDQTs7O0FBVUE7RUFDQzs7QUFFQTtFQUNDOztBQUlGO0VBQ0M7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTs7QUFNRjtFQUNDO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBOztBQUlBO0VBQ0M7RUFDQTtFQUVBOztBQUlEO0VBQ0M7O0FBSUQ7RUFDQzs7QUFJRDtFQUNDOzs7QUFRRjtFQUlDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBT0g7RUFDQztFQUNBO0VBQ0Esa0J6RXpKcUI7RXlFK0pyQjtFQU1BO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7O0FBT0E7RUFDQztFQUNBO0VBRUE7RUFDQTtFQUVBO0VBR0E7O0FBekNGO0FBNENDOztBQUNBO0VBRUM7O0FBSUE7RUFFQztFQUNBOztBQUVEO0VBQ0M7O0FBT0E7RUFHQzs7QUFuRUo7QUF5RUM7QUFFQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7O0FBU0E7RUFDQzs7QUFHQztFQUlDOztBQVJIO0FBWUM7O0FBQ0E7RUFDQztFQUVBO0VBRUEsYXBFYTBCO0VvRVoxQixhekVoTFc7RXlFbUxYO0VBQ0E7RUFDQTtFQUVBOztBaEUvTkE7RWdFa05EO0lBZ0JFOzs7QUE3Qkg7QUF5Q0M7O0FBeERGO0FBNERDO0FBQUE7QUFBQTs7QUFjQztFQUlDOztBQU9EO0VBRUM7O0FBZUQ7RUFFQzs7QUFNQTtFQUNDLE96RWpUUztFeUVrVFQ7RUFFQTtFQUNBO0VBRUE7O0FBbE1MO0FBd01DOzs7QUN6VkM7RUFDRTs7QUFHRjtFQUNFOztBakVtQ0E7RWlFcENGO0lBR3FDOzs7QWpFaUNuQztFaUVwQ0Y7SUFJcUM7OztBakVnQ25DO0VpRXBDRjtJQU9zQzs7O0FBYnhDO0FBZ0JFOztBQUNBO0VBQ0U7RUFDQTs7QWpFdUJBO0VpRXRCQTtJQUVJLGNBdkJXOzs7QUFDbkI7QUEwQkU7QUFFQTs7QWpFY0U7RWlFVEE7SUFFSSxhQXBDVzs7O0FBQ25CO0FBdUNFOzs7QUN0REY7RUFDRTtFQUNBO0VBS0E7RUFDQTs7QUFPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBQUlKO0VBQ0U7OztBQzdCSjtFQUNFO0VBQ0E7RUFLQTtFQUNBOztBQVFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNFO0VBQ0E7O0FBS0o7RUFHRTtFQUNBO0VBQ0E7OztBQ2xDSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7O0FwRWlERTtFb0V2REo7SUFTTTtJQUNGOzs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7O0FwRTJCRTtFb0VqQ0o7SUFTSTs7OztBQU1KO0VBR0U7O0FBRUE7RUFDRSxPeEV6Q087O0F3RTJDUDtFQUNFLE94RTVDSztFd0U2Q0w7RUFDQTs7QUFOSjtFQVNFOztBcEVJQTtFb0ViRjtJQVlJOzs7O0FBTU47RUFDRSxPN0VsQlk7RTZFbUJaOztBQUlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFPRjtFQUNFLE94RTdFTztFd0U4RVA7RUFDQSxhN0V6QmU7RTZFMEJmO0VBQ0E7O0FBWUY7RUFDRTtFQUVBO0VBQ0E7RUFDQTs7QUFRQTtBQUFBO0VBRUU7O0FwRTFDRjtFb0V3Q0E7QUFBQTtJQU1JOzs7QUFOSjtBQUFBO0VBU0U7O0FwRTlERjtFb0VxREE7QUFBQTtJQVlJOzs7QXBFakVKO0VvRXFEQTtBQUFBO0lBZUk7OztBcEVwRUo7RW9FcURBO0FBQUE7SUFrQkk7OztBQUlGO0VBQ0UsTXhFaklHOztBd0V3SVQ7QUFBQTtFQUVFLGE3RTdDVztFNkU4Q1g7RUFDQSxhN0VyRm1CO0U2RXNGbkI7O0FBRUY7RUFDRSxPN0UzSGdCOztBNkU2SGxCO0VBQ0UsTzdFdEllO0U2RXdJZjtFQUNBOztBQU1GO0VBQ0UsTzdFaEplO0U2RWlKZjtFQUdBO0VBQ0E7O0FwRWhHQTtFb0UwRkY7SUFTSTs7O0FBT0Y7RUFDRTs7QUFHRjtFQUNFLE83RXBLYTtFNkVxS2I7RUFDQSxhN0U3SGE7RTZFOEhiO0VBQ0E7RUFFQTtFQUNBOztBcEVuSUY7RW9FMkhBO0lBV0k7OztBcEV0SUo7RW9FMkhBO0lBZUk7OztBQVdKO0VBQ0UsTzdFak1VOztBNkVtTVo7RUFDRSxPN0VwTVU7O0E2RTBNVjtFQUNFOztBQUhKO0VBTUU7O0FBR0Y7RUFDRSxPN0VsTlU7O0FTd0RaO0VvRXlKQTtJQU1JOzs7QUFHRjtBQUFBO0FBQUE7RUFHRSxPN0UxTlc7O0E2RTZOZjtFQUNFLE83RWpPVTtFNkVrT1Y7RUFFQSxhN0V4TGE7RTZFNkxiOztBcEVqTEY7RW9Fd0tBO0lBZUk7OztBQUVGO0FBQUE7QUFBQTtFQUdFLE83RWpQVzs7QVN3Q2Y7RW9Fc0hGO0lBdUZJOzs7QUFNSjtFQUVFO0VBQ0E7O0FwRXROQTtFb0VtTkY7SUFNSTs7O0FBR0Y7RUFDRSxPN0V6T1E7O0E2RWtQWjtFQUNFO0VBQ0Esa0I3RXRSVTs7QTZFd1JWO0VBQ0U7RUFDQTs7QXBFNU9GO0VvRTBPQTtJQUlJOzs7QUFRTjtFQUNFO0VBQ0Esa0I3RXRTVTtFNkV3U1Y7O0FwRTFQQTtFb0VzUEY7SUFPSTs7O0FBUEo7QUFZRTs7QXBFbFFBO0VvRXdRRTtJQU1JOzs7QUF4QlI7QUE0QkU7QUFFQTs7QUFDQTtFQUNFOztBQWhDSjtBQW1DRTtBQUVBOztBQUNBO0VBSUU7O0FwRWhTRjtFb0VrU0U7SUFHSTs7O0FBSUo7RUFDRTs7QXBFMVNKO0VvRXlTRTtJQUdJOzs7QUF0RFI7QUEwREU7O0FBS0Y7RUFDRSxrQjdFOVZlOzs7QTZFa1duQjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFFRjtFQUNFOzs7QUFHSjtFQUVFLE83RXJYYztFNkVzWGQ7RUFDQTtFQUVBOztBcEU5VUU7RW9Fd1VKO0lBVUk7OztBQUdGO0VBQ0UsT3hFM1lPOztBd0UrWVQ7RUFDRTs7O0FBNkNKO0VBQ0UsTzdFclpZO0U2RXNaWjtFQUNBO0VBQ0E7RUFFQSxrQjdFemJjO0U2RTJiZDtFQUNBOztBQUVBO0VBQ0UsTzdFaGFVOztBNkVtYVo7RUFDRTtFQUNBO0VBQ0E7O0E1QnRkSjtFQUNJOzs7QUFNQTtFQUNJOzs7QUFtSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0lBQ0k7OztBNkJ0S1I7RUFDQzs7O0FBUUQ7RUFDQzs7O0FBS0Q7RUFFQztFQUNBO0VBVUE7RUFDQTs7QUFFQTtFQWhCRDtJQWlCRTtJQUNBOzs7QUFpQkY7RUFDQzs7O0FBS0Q7RUFDQzs7O0FDMUNDO0VBRUU7O0F0RXVDQTtFc0V6Q0Y7SUFLSTs7OztBQU1KO0VBQ0U7O0F0RTZCQTtFc0U5QkY7SUFLSTs7OztBQU9OO0VBZ0JFO0VBRUE7RUFJQTtFQUNBO0VBQ0E7RUFFQTs7QXRFUkU7RXNFbEJKO0lBK0JJO0lBQ0E7Ozs7QUEwREo7QUFDQTtBQ2pJSTtFQUNFOzs7QUFPRjtFQUNFOzs7QXZFK0NGO0V1RWtIRjtJQUVJOzs7O0FBT047RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUdBOztBdkVuSUU7RXVFMkhKO0lBWUk7SUFDQTtJQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTs7QUFFRjtFQUNFOztBQXVCQTtFQUVFOztBQW1CQTtFQUNFOztBQUlKO0FBQUE7RUFFRTtFQUNBO0VBRUE7O0FBR0Y7RUFDRTs7QUFtQ0Y7RUFDRSxPM0V0U0s7RTJFdVNMLGEzRWR3QjtFMkVnQnhCLGtCaEZ0Ulk7O0FnRmtTaEI7RUFDRTs7O0FDdlBGO0VBRUM7O0FDdEVIO0VBQ0k7RUFDQTtFQUVBOzs7QUFJSjtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPbEZnQ1U7RWtGL0JWOzs7QUFHSjtBQUFBO0VBRUksTzdFZk87RTZFZ0JQLGtCbEZUVTtFa0ZVVixjbEZWVTs7O0FtRlpkO0VBQ0U7RUFDQTtFQUFXO0VBQVk7RUFDdkI7RUFDQTs7QUFHQTtFQUNFOztBQUVGO0VBQ0U7OztBQWFKO0VBQ0UsTzlFcEJTO0U4RXFCVDtFQUNBLGFuRnVFYTtFbUZ0RWIsYW5GZ0NxQjtFbUYvQnJCO0VBQ0E7RUFFQTtFQUNBO0VBQ0Esa0JuRlZnQjtFbUZpQmhCO0VBRUE7RUFDQTs7QTFFY0U7RTBFbENKO0lBd0JJO0lBQ0E7OztBQVNJO0VBQ0U7O0ExRUROO0UwRUFJO0lBR0k7OztBQU1SO0VBQ0UsY25GQ1U7O0FtRkFWO0VBQ0U7O0ExRVpKO0UwRVdFO0lBR0k7OztBQUhKO0VBTUU7RUFDQSxjbkZQUTtFbUZRUjtFQUNBO0VBQ0E7O0ExRXJCSjtFMEVXRTtJQWFJLFFBL0RXOzs7QUFtRWY7RUFDRTs7QUEvRFI7QUE2SkU7O0FBRUU7QUFBQTtBQUFBO0FBQUE7RUFFRTs7O0FBaktOO0FBNkxFO0FBR0E7O0FBT0k7RUFFRSxPbkZ6TVU7RW1GME1WLGtCOUU3Tkc7RThFOE5IOzs7QUFNRjtFQUFVLGtCOUVwT0w7O0E4RXNPTDtFQUVFLGtCOUV4T0c7O0E4RXlPSDtFQUFVLGtCbkZ0TkE7OztBbUZBbEI7QUEyTkU7QUFFQTs7QUFFRTtFQUNFOztBQUlBO0VBR0UsT25GMUxRO0VtRjJMUixrQjlFM1BHOzs7QThFbUJYO0FBOE9FOzs7QUFNRjtFQUNFLE85RXhRUztFOEV5UVQ7RUFFQSxhbkZyTmlCO0VtRnNOakI7RUFDQTtFQUVBO0VBQ0E7RUFDQSxrQm5GeE9ZO0VtRitPWjtFQUVBO0VBQ0E7O0ExRXRPRTtFMEVrTko7SUF3Qkk7SUFDQTs7O0FBU0k7RUFDRTs7QTFFclBOO0UwRW9QSTtJQUdJOzs7QUFNUjtFQUNFLGNuRm5QVTs7QW1Gb1BWO0VBQ0U7O0ExRWhRSjtFMEUrUEU7SUFHSTs7O0FBSEo7RUFNRTtFQUNBLGNuRjNQUTtFbUY0UFI7RUFDQTtFQUNBOztBMUV6UUo7RTBFK1BFO0lBYUksUUFuVFc7OztBQXVUZjtFQUNFOztBQS9EUjtBQTZKRTs7QUFFRTtBQUFBO0VBRUU7OztBQWpLTjtBQTZMRTtBQUdBOztBQU9JO0VBRUUsT25GN2JVO0VtRjhiVixrQjlFamRHO0U4RWtkSDs7O0FBTUY7RUFBVSxrQjlFeGRMOztBOEUwZEw7RUFFRSxrQjlFNWRHOztBOEU2ZEg7RUFBVSxrQm5GMWNBOzs7QW1Gb1BsQjtBQTJORTtBQUVBOztBQUVFO0VBQ0U7O0FBSUE7RUFHRSxPbkY5YVE7RW1GK2FSLGtCOUUvZUc7OztBOEV1UVg7QUE4T0U7OztBQVdGO0VBRUU7RUFDQTtFQUVBOztBMUVuY0U7RTBFOGJKO0lBUUk7SUFDQTs7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQSxrQm5GdGdCZTs7QW1GeWdCakI7RUFFSTtFQUNBO0VBQ0E7RUFFQTtFQUVBO0VBQ0E7RUFDQTtFQUVBOztBQU9GO0FBQUE7RUFFRTs7QUFxQkY7RUFDRTs7O0FBUU47RUFDRSxPbkZqaUJZO0VtRm9pQlo7RUFDQTtFQUNBO0VBR0E7RUFFQTtFQUNBOztBQUVBO0VBQ0U7O0FBS0Y7RUFDRTs7QUFJRjtFQUdFLE85RXJtQk87RThFc21CUCxjbkYvbEJVO0VtRmdtQlYsa0JuRmhtQlU7O0FtRmttQlo7RUFDRTs7QUFLRjtFQUNFLE9uRnptQlU7RW1GMG1CVjtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBRUE7O0FBS0E7RUFFRSxNbkYvbkJNO0VtRmdvQk4sTW5GOWxCTTs7QW1Gd21CUjtFQUNFLGNuRjNvQk07RW1GNG9CTixrQm5GNW9CTTs7QW1GNm9CTjtFQUNFLE05RXJwQkM7OztBOEVpK0JYO0FBNElBO0FBVUk7QUFBQTtFQUNFOzs7QUFnQko7RUFDRTs7QUFDQTtFQUNFOztBQVNFO0VBQ0U7OztBQVFWO0VBR0U7O0FBRUE7RUFFRTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTs7QTFFdm5DQTtFMEU2bUNGO0lBYUk7SUFDQTtJQUNBOzs7QUFHRjtFQUNFLE05RXJyQ0s7RThFc3JDTDs7QUFJSjtFQUNFLE85RTNyQ087RThFNHJDUCxhbkZ0b0NlO0VtRnVvQ2Y7RUFDQTtFQUNBOztBQU1BO0VBQ0UsTzlFdHNDSztFOEV3c0NMLGtCbkY5ckNVOzs7QW1GcXNDaEI7RUFHRTtFQUNBO0VBQ0E7RUFFQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBY0Y7RUFFRTs7QTFFM3JDQTtFMEV5ckNGO0lBSXFDOzs7QUFJbkM7RUFDRTtFQUNBO0VBQ0E7RUFFQTs7QUFJSjtFQUNFLE9uRnZ0Q1U7RW1Gd3RDVjtFQUNBO0VBQ0E7O0FBRUY7RUFDRTs7QUFJRjtFQUVFOztBQUdBO0VBRUU7RUFDQTtFQUdBOzs7QUM3d0NKO0VBRUU7RUFDQTs7QUFFQTtFQUNFOzs7QUNoQko7RUFFRTs7QUFFQTtFQUNFLE9yRnNDUTtFcUZyQ1I7RUFFQTtFQUNBO0VBQ0E7O0FBVko7RUFhRTs7QTVFMENBO0U0RXZERjtJQWVJOzs7QUFHRjtFQUNFO0VBRUE7RUFDQTs7O0FBVUY7RUFFRTs7QUFJQTtFQUNFOzs7QUFXUjtFQUVFO0VBQ0E7RUFDQTs7QUFPQTtFQUVFLE9oRjdETztFZ0Y4RFA7RUFDQTtFQUNBO0VBRUE7O0FBU0Y7RUFFRTtFQUNBO0VBRUE7O0FBR0Y7RUFJRTs7QTVFbENBO0U0RThCRjtJQU1JOzs7QUFHRjtFQUNFOztBQUtGO0VBQ0U7RUFDQSxPckZuR2tCO0VxRm9HbEIsUXJGcEdrQjs7QVNvRHBCO0U0RTZDQTtJQU9JLE9yRnZHaUI7SXFGd0dqQixRckZ4R2lCOzs7QXFGb0h2QjtFQUNFO0VBQ0EsT3JGdkhvQjtFcUZ3SHBCO0VBRUE7O0E1RXRFQTtFNEVpRUY7SUFZSSxPckZoSW1COzs7QXFGbUl2QjtFQUNFLE9yRnJJb0I7RXFGc0lwQixRckZ0SW9CO0VxRnVJcEIsTXJGL0ZVO0VxRmdHVjs7QTVFcEZBO0U0RWdGRjtJQU1JLE9yRnpJbUI7SXFGMEluQixRckYxSW1COzs7QXFGd0puQjtFQUNFLE1yRnBJVTs7QXFGc0laO0VBQ0U7O0FBY0Y7RUFDRSxNckZySlc7O0FxRndKYjtFQUNFOztBQWNGO0VBQ0UsTXJGdEtTOztBcUZ3S1g7RUFDRTs7QUFjRjtFQUNFLE1yRnpMUzs7QXFGMkxYO0VBQ0U7OztBQWdCTjtFQUNFOztBNUVqTEE7RTRFZ0xGO0lBSUk7Ozs7QUFPSjtFQUNFO0VBQ0E7RUFDQTs7QUFFRjtFQUNFOzs7QUM3UEo7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRSxrQmpGQ087RWlGQVA7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QTdFaURBO0U2RS9DQTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0E3RXdDSjtFNkVyQ0E7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBN0U4Qko7RTZFdkRGO0lBOEJJO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOztBN0VpQkE7RTZFZkE7SUFFSTtJQUNBOzs7QTdFWUo7RTZFVEE7SUFFSTtJQUNBOzs7QTdFTUo7RTZFcEJGO0lBbUJJOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0E3RVBGO0U2RVNFO0lBRUk7OztBN0VYTjtFNkVTRTtJQUtJOzs7QTdFZE47RTZFaUJFO0lBRUk7OztBQUtOO0VBQ0U7RUFDQTtFQUNBOztBN0UzQkY7RTZFNkJFO0lBRUk7OztBN0UvQk47RTZFa0NFO0lBRUk7OztBN0VwQ047RTZFd0JBO0lBaUJJOzs7QUFLTjtBQUFBO0FBQUE7RUFHRSxhdEZaUztFc0ZhVCxPakY3Rk87RWlGOEZQO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0E3RWhFRjtFNkVtRUE7QUFBQTtBQUFBO0lBRUk7SUFDQTs7O0E3RXRFSjtFNkV5RUE7QUFBQTtBQUFBO0lBRUk7SUFDQTs7O0E3RTVFSjtFNkV5RUE7QUFBQTtBQUFBO0lBTUk7OztBQUtOO0FBQUE7RUFFRTtFQUNBOztBQUVBO0FBQUE7RUFDRTs7QUFJSjtFQUNFOztBQUdGO0VBQ0U7O0FBRUE7RUFDRSxhdEY5RFM7RXNGK0RUO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBN0VoSEY7RTZFcUdBO0lBY0k7SUFDQTs7O0FBR0Y7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7O0FBS047RUFDRSxrQmpGeEpNO0VpRnlKTixPakYxTE87RWlGMkxQO0VBQ0EsYXRGL0ZXO0VzRmdHWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QTdFOUlBO0U2RWdKQTtJQUVJO0lBQ0E7SUFDQTs7O0E3RXBKSjtFNkV1SkE7SUFFSTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7O0FBRUY7RUFDRTs7O0FBS047RUFDRTs7O0FBR0Y7QUFBQTtFQUdFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QTdFM0xFO0U2RWtMSjtJQVlJO0lBQ0E7OztBN0UvTEE7RTZFa0xKO0lBZ0JJOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QTdFak5BO0U2RTJNRjtJQVNJOzs7QUFUSjtFQWFJOztBN0V4TkY7RTZFMk5BO0lBRUk7SUFDQTtJQUNBOzs7O0FBTVI7RUFDRTs7QTdFdE9FO0U2RXFPSjtJQUlJOzs7O0FDalNBO0VBQ0k7O0FBRUo7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7QUFFSjtFQUNJO0VBQ0EsYXZGNkVPO0V1RjVFUDtFQUNBOztBOUVtQ0o7RThFdkNBO0lBT007Ozs7QUFvQko7RUFDRTs7QUFRSjtFQUNFLGN2RmhDWTs7QXVGdUNWO0VBQ0U7O0FBU047RUFDRTtFQUNBOztBOUVqQkY7RThFZUE7SUFLSTs7O0FBUUo7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FDL0ZKO0VBQ0U7RUFDQTtFQUNBOztBQUlGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7O0FDN0JKO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7QUNQRjtBQUNBO0FBQ0E7QUN1UEE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxZQ3BLZ0I7RURxS2hCO0VBQ0E7O0FsRm5NRTtFa0Y2TEo7SUFTSTs7OztBQU1KO0VBQ0U7RUFDQTs7QWxGOU1FO0VrRjRNSjtJQUtJOzs7QUFHRjtFQUNFO0VBQ0E7O0FFN1BEO0VGMlBEO0lBS0k7SUFDQTs7O0FBR0Y7RUFDRTs7QUFHSjtFQUNFOztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9DclNJO0VEc1NKLGtCM0YvUWM7RTJGZ1JkO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FsRnRQQTtFa0ZzT0Y7SUFtQkk7OztBQUdGO0VBQ0U7RUFDQTs7QUFJRjtFQUNFLE9DNVRFO0VENlRGLGtCM0ZsVFE7RTJGbVRSO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQSxhQ25QTTtFRG9QTjtFQUNBOztBQUtBO0VBQ0UsT0M3VUY7O0FEbVZOO0VBR0U7RUFDQTtFQUNBOztBQWFFO0VBQ0U7O0FBSUo7RUFDRTtJQUNFOztFQUVGO0lBQ0U7OztBQU1OO0VBQ0U7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBT047RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFJQTtFQUNFLGtCQ25aRTtFRG9aRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FsRm5XRjtFa0Z5VkE7SUFhSTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUVqV0w7RUZnVkM7SUFzQkk7SUFDQTtJQUNBOzs7QUVwVkw7RUY0VEM7SUE0Qkk7OztBQUtKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBRXpYTDtFRmlYQztJQVlJO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FFdFlIO0VGa1lDO0lBT0k7SUFDQTs7O0FFMVlMO0VGaVpHO0lBR0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLGtCQ2pkSDs7O0FDd0RKO0VGNlpHO0lBRUk7OztBQUtOO0FBQUE7QUFBQTtFQUlFLE9DeGVFO0VEeWVGO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0JDL2VFO0VEZ2ZGLFlDMVpZO0VEMlpaO0VBQ0E7O0FsRnpiRjtFa0Y2YUE7QUFBQTtBQUFBO0lBZUk7OztBQUlGO0FBQUE7QUFBQTtFQUNFOztBRXhiTDtFRm9hQztBQUFBO0FBQUE7SUF3Qkk7SUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0VBQ0U7O0FFamNMO0VGZ2NHO0FBQUE7QUFBQTtJQUlJOzs7QUFLTjtFQUNFO0VBQ0E7RUFDQTtFQUNBLE9DaGZPOztBRG9mVDtFQUNFLGtCM0Y3Zlk7RTJGOGZaLE9DcmhCRTtFRHNoQkY7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBbEZuZUY7RWtGMGRBO0lBYUk7OztBQUdGO0VBQ0Usa0JDbmhCSTs7QURzaEJOO0VBQ0Usa0JDdmhCSTs7QUQ2aEJSO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QWxGMWZGO0VrRnFmQTtJQVFJOzs7QUU3aEJMO0VGcWhCQztJQVlJO0lBQ0E7OztBRXZqQkw7RUYwaUJDO0lBaUJJOzs7QUV0aUJMO0VGMGlCQztJQUVJOzs7QUFJSjtFQUNFO0VBQ0E7O0FBSUE7RUFFRTtFQUNBOzs7QUFNUjtFQUNFLE9DMWpCVztFRDJqQlg7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQSxrQkNwbUJJO0VEcW1CSjtFQUNBO0VBQ0E7O0FBR0Y7RUFDRSxPQ3BtQkk7O0FEc21CSjtFQUNFLGtCQ3ZtQkU7OztBRDhtQlI7QUFBQTtFQUVJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNBO0VBQ0E7OztBRzNvQkE7RUFDSTtFQUNBOztBQUlBO0VBSUU7RUFDQTs7QURvREg7RUN6REM7SUFTSTtJQUNBOzs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUVBO0VBQ0k7RUFDQSxhRjhDRTtFRTdDSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsTzlGL0JJOztBOEZtQ1I7RUFDRTs7QUFHRjtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQjlGbERJO0U4Rm1ESjs7QURJUDtFQ2hCRztJQWdCSTs7O0FBR0Y7RUFDRSxPOUYzREk7RThGNERKLGFGVUc7RUVUSDs7QUFHRjtFQUNFO0VBQ0EsYUZLSTtFRUpKO0VBQ0EsTzlGcEVJO0U4RnFFSjtFQUNBO0VBQ0E7O0FBSUo7RUFDRTs7QUFDQTtFQUNFOztBQUtOO0VBS0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRSxrQjlGN0ZjO0U4RjhGZCxPRjFHQTtFRTJHQSxhRjFCSztFRTJCTDtFQUNBOzs7QUMxR1I7RUFDRSxXQU5lOzs7QUNLakI7RUFDRSxXQU5lOzs7QUNFakI7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FKV0M7RUlkSDtJQU1JO0lBQ0E7OztBQUdGO0VBQ0Usa0JqR0hrQjtFaUdJbEIsT2pHTFU7RWlHTVY7RUFDQTtFQUNBOzs7QUFPQTtFQUNFLGtCakdmZ0I7O0FpR29CbEI7RUFDRTs7O0FDcENOO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQk5kTTs7QU1nQk47RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtBQUFBO0VBRUU7O0FBR0Y7QUFBQTtFQUVFLGtCbEd2Q1E7RWtHd0NSLE9ObkRFOztBTXVETjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCTjlESTtFTStESjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZTmlCYzs7QU1kaEI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT045RUk7RU0rRUo7RUFDQTtFQUNBO0VBRUE7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBOztBQUlKO0VBQ0Usa0JOM0dJO0VNNEdKLE9ONUdJO0VNNkdKO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFLGtCbEcvRlk7RWtHZ0daLE9OdkhFO0VNd0hGLGFsR3ZCUztFa0d3QlQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDRTtFQUNBO0VBQ0EsYWxHckNXO0VrR3NDWDtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNFLE9sR25JUTs7QWtHcUlSO0VBQ0UsT2xHMUhVO0VrRzJIVjs7QUw5SUw7RUsrSEQ7SUFxQkk7SUFDQTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBTDlKRDtFS3lKRDtJQVFJO0lBQ0E7OztBQU1BO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOztBQUtOO0VBQ0U7RUFDQTs7QUFHRjtFQUNFLGtCbEdsTFU7RWtHbUxWO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQSxhTnJJUzs7QU1nSVg7QUFBQTtFQWFFOztBQUVBO0FBQUE7RUFDRTs7QUFJSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBRUE7RUFDQTtFQUNBLE9OdFBJO0VNdVBKO0VBQ0E7RUFFQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCTm5RRTs7QU11UU47RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFHQTtFQUNBO0VBRUEsT05uUkk7RU1vUko7O0FBRUE7RUFDRTtFQUNBLE9OeFJFO0VNeVJGOztBQVVKO0VBQ0U7RUFFQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0JOdFNDO0VNdVNEOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBTVI7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBLE9ONVVJO0VNNlVKLGtCbEdqVWtCO0VrR2tVbEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYWxHblBXO0VrR3FQWDtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtFQUNFOztBQUlKO0VBQ0U7RUFDQTs7QUFNQTtBQUFBO0FBQUE7QUFBQTtFQUlFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFJQTtFQUNFOztBQUZKO0VBS0UsWU52WE87RU13WFA7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQU1GO0VBQ0U7RUFDQTs7QUFPRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLRTtFQUNBOztBQU1GO0VBQ0U7O0FBS0Y7RUFDRTtFQUNBOztBQUtGO0VBQ0U7RUFDQTs7QUFJSjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7O0FBS047RUFDRTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNFOzs7QUNsZEE7RUFDRTs7QUFGSjtFQUtFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQlByQk07O0FPdUJOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtBO0FBQUE7RUFDRTs7QUFLTjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQSxhUHdCUztFT3ZCVCxPUGhERztFT2lESDtFQUNBO0VBQ0E7RUFDQTs7QUFTRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFLSjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBTnBCRDtFTWNIO0lBVUk7SUFDQTs7O0FBR0Y7RUFDRTs7QU43QkQ7RU00QkQ7SUFJSTs7O0FOekJIO0VNcUJEO0lBUUk7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBTjFDSDtFTXVDQztJQU1JOzs7QUFHRjtFQUVFOztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS0E7QUFBQTtFQUNFOztBQUtOO0VBQ0U7RUFDQTtFQUNBOztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QU41RkQ7RU11RkQ7SUFRSTs7O0FBSUo7RUFDRSxPUHRLSTtFT3VLSjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7O0FObkhEO0VNZ0hEO0lBTUk7OztBTi9HSDtFTXlHRDtJQVVJOzs7QUFJSjtFQUNFLE9QdkxHO0VPd0xILGFQakhTO0VPa0hUO0VBQ0E7O0FObElEO0VNOEhEO0lBT0k7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FOL0hEO0VNMkhEO0lBT0k7OztBQUlKO0VBQ0U7RUFDQTs7QU50SkQ7RU1vSkQ7SUFLSTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0EsT1B4TkU7O0FDZ0VMO0VNcUpDO0lBTUk7Ozs7QUFNUjtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBVUo7RUFDRTtFQUNBO0VBQ0E7RUFDQSxrQm5HcFBvQjtFbUdxUHBCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRSxPbkdsUWtCO0VtR21RbEI7RUFDQTs7O0FBSUo7RUFDRTtFQUNBOztBQUVBO0VBQ0UsT1AvUUc7RU9nUkg7O0FBTko7RUFTRSxPUG5SSzs7QU9xUkw7RUFFRTs7QUFZQTtFQUNFLE9QOVNFOztBT2dURjtFQUNFLGtCUGpUQTtFT2tUQTs7QUFFQTtFQUNFLE9uRzFTSTtFbUcyU0osYW5Hck5LO0VtR3NOTDs7QUFNRjtFQUVFO0VBQ0Esa0JuR3BUWTs7QW1Hc1RaO0VBQ0UsT1BuVUo7O0FPMlVKO0VBQ0Usa0JQNVVFO0VPNlVGLE9QblVDOztBT3VVSDtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQSxPUDlWRjs7QU9rV0Y7RUFDRTs7QUFXTjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQU9BO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0EsT1B4WU87O0FPMllUO0VBQ0U7RUFDQTs7QUFFQTtFQUNFOztBQUtOO0VBQ0U7OztBQUtKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJQTtFQUNFLGtCbkdsYWtCOztBbUdxYXBCO0VBQ0UsT25HdmFVOzs7QW1HNGFkO0VBQ0U7OztBQUlGO0FBQUE7RUFFRTs7O0FDL2JGO0VBQ0U7OztBQU9GO0VBRUU7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBLE9wR1JZO0VvR1NaO0VBQ0EsYXBHNEVhOzs7QW9HekVmO0VBQ0Usa0JSdEJLO0VRdUJMO0VBQ0E7RUFDQTtFQUNBOztBUDRDQztFT2pESDtJQVFJOzs7QVBnREQ7RU94REg7SUFZSTs7O0FBR0Y7RUFDRTtFQUNBOztBQUtGO0VBQ0U7O0FQWUQ7RU9iRDtJQUtJOzs7O0FBS047RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQSxPUjlESTtFUStESixhUlNTOzs7QVFMYjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FQUkM7RU9HSDtJQVFJOzs7O0FBSUo7RUFDRTtFQUNBOztBQUVBO0FBQUE7RUFFRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QVByQ0Q7RU8rQkQ7SUFTSTs7O0FBR0Y7RUFDRSxrQlJwR0M7RVFxR0QsT1IvR0U7RVFnSEY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDRSxrQlIzSEk7RVE0SEosT1JsSEc7RVFtSEg7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QVBsRUQ7RU93REQ7SUFhSTtJQUNBO0lBQ0E7OztBUGhFSDtFT2lERDtJQW1CSTs7O0FQdkRIO0VPb0NEO0lBdUJJOzs7QUFNRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRSxrQlJwSkU7RVFxSkYsT1I5SkU7OztBUW1LUjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBUHJIRDtFTytHRDtJQVNJOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBLE9SeExHOztBUTJMTDtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUVBO0VBQ0UsUVI5TE07OztBUW1NWjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FQbE9EO0VPNE5IO0lBVUk7OztBQUdGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFOztBUGhPSDtFTytOQztJQUlJOzs7QUFLTjtFQUNFO0VBQ0E7OztBQWlDRjtFQUNFOztBQUlBO0VBQ0U7RUFDQTs7QVBoU0g7RU93U0c7SUFDRTs7RUFHRjtBQUFBO0lBRUU7OztBQUtOO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBUHZTRDtFT21TRDtJQU9JOzs7QVBqVEg7RU8wU0Q7SUFXSTs7O0FBS0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0VBRUU7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0EzRm5TRjtFMkZ1U0U7SUFDRTtJQUNBOzs7QTNGelNKO0UyRjZTQTtJQUdJO0lBQ0E7OztBQUtOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJRjtFQUVFOztBQUdGO0VBQ0U7RUFDQSxPUnZZRTtFUXdZRjtFQUNBLGtCcEc3WGdCO0VvRytYaEI7RUFDQSxhcEc5U087RW9HK1NQO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBM0Y3VkY7RTJGNFVBO0lBb0JJOzs7QVB2VEw7RU82VEQ7SUFFSTs7RUFFQTtJQUNFOzs7QUFLTjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7OztBQUlKO0VBQ0U7O0FBZUY7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBSUY7RUFDRTtFQUNBOztBUC9jRDtFTzZjRDtJQUtJOzs7QUFHRjtFQUNFLE9ScmVNO0VRc2VOO0VBQ0EsYVJ2YU87RVF3YVA7O0FBS0o7RUFDRSxPUnJmRztFUXNmSDtFQUNBOztBM0Z4Y0E7RTJGcWNGO0lBTUk7SUFDQTs7O0FBS0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFJSjtFQUNFLGtCcEcvZ0JrQjtFb0dnaEJsQixRcEdoaEJrQjtFb0dpaEJsQjs7QUFFQTtFQUNFLE9SaGlCRTs7QVFtaUJKO0VBQ0Usa0JwR3poQlE7RW9HMGhCUixPUnJpQkU7RVFzaUJGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFLSjtFQUNFO0VBQ0EsT1JoakJJOzs7QVFxakJOO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOzs7QUFJSjtFQUtFO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFVRjtFQUNFOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFFRSxhcEc5Z0JXO0VvRytnQlg7RUFDQSxPcEdybUJrQjtFb0dzbUJsQjtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBLGtCcEc3bUJrQjtFb0c4bUJsQjtFQUNBO0VBQ0E7OztBQWFGO0VBQ0U7RUFDQSxrQnBHaG9CVTtFb0dpb0JWO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFFRSxrQlJwcEJFO0VRcXBCRixPcEcxb0JRO0VvRzJvQlI7O0FBS0o7RUFDRTs7QUFHRjtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYVJ4bEJPO0VReWxCUCxrQnBHbHBCYTtFb0dtcEJiO0VBQ0EsT1I1cUJFO0VRNnFCRjs7O0FBb0JOO0VBQ0U7RUFDQTs7QUFFQTtFQUNFLGFScm5CUztFUXNuQlQsT1J4cUJTO0VReXFCVDtFQUNBO0VBQ0E7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0Usa0JwRzVyQmdCO0VvRzZyQmhCLGFwR25uQmE7RW9Hb25CYixPUnJ0Qk07RVFzdEJOO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFFRSxrQnBHdHRCVTtFb0d1dEJWLE9SbHVCSTs7O0FRc3VCUjtFQUNFO0VBQ0E7OztBQUlGO0VBQ0Usa0JwR2x1Qlk7RW9HbXVCWixRcEdudUJZO0VvR291Qlo7RUFDQSxPUmh2Qk07RVFpdkJOLGFwR2hwQmE7RW9HaXBCYjtFQUNBO0VBQ0E7O0FBR0E7RUFDRSxrQnBHNXVCa0I7RW9HNnVCbEIsT1J6dkJJOzs7QVErdkJKO0VBQ0U7OztBQU9OO0VBRUU7O0FBRUE7RUFFRTtFQUNBO0VBQ0EsYVIvckJROztBUWlzQlI7RUFORjtJQU9JOzs7QUFLSjtFQUNFO0VBQ0E7O0FQdndCRDtFT3F3QkQ7SUFLSTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUtOO0VBQ0U7RUFDQTtFQUNBO0VBQ0Esa0JSL3lCSTtFUWd6Qko7RUFDQTtFQUNBOztBUGh5QkQ7RU95eEJEO0lBV0k7OztBQUdGO0VBQ0U7O0FBSUE7RUFDRTs7QUFFQTtFQUNFOztBQUVBO0VBQ0UsT1IzekJMO0VRNHpCSzs7QUFFQTtFQUNFOztBQUlGO0VBQ0U7RUFDQTs7QUFPVjtFQUNFLGFSdndCTTtFUXd3Qk4sT1IvMEJFO0VRZzFCRjtFQUNBO0VBQ0E7O0FBRUE7RUFDRSxPUnIxQkE7RVFzMUJBLGFSOXdCSztFUSt3Qkw7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRSxhUjF4Qkk7RVEyeEJKO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT1IvMkJBO0VRZzNCQTs7QVA5MUJMO0VPazFCQztJQWdCSTs7OztBQU1SO0VBQ0U7RUFDQTs7O0FBSUY7RUFDRTs7QUFFQTtFQUNFO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0EzRnAxQkU7RTJGZzFCSjtJQU9JOzs7QTNGdjFCQTtFMkZnMUJKO0lBV0k7OztBQUtGO0VBQ0U7O0EzRmoyQkE7RTJGZzJCRjtJQUlJIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcclxuICBfX18gX19fICAgICAgICAgICAgICAuX18gICAgICAgICAgICAgICAgICAgICAgICAgX19fX18gICAgICAgICAgICAgICAgX18gICAgICAgICAgIF9fICAuX18gICAgICAgICAgICAgICAgXHJcbiAvICAgfCAgIFxcICBfX19fX19fX19fX3xfX3xfX19fX19fX19fXyAgIF9fX18gICAgIC8gICAgIFxcIF9fX19fIF9fX19fX198ICB8IF9fIF9fX19fLyAgfF98X198IF9fX18gICAgX19fXyAgXHJcbi8gICAgfiAgICBcXC8gIF8gXFxfICBfXyBcXCAgXFxfX18gICAvICBfIFxcIC8gICAgXFwgICAvICBcXCAvICBcXFxcX18gIFxcXFxfICBfXyBcXCAgfC8gLy8gX18gXFwgICBfX1xcICB8LyAgICBcXCAgLyBfX19cXCBcclxuXFwgICAgWSAgICAoICA8Xz4gKSAgfCBcXC8gIHwvICAgICggIDxfPiApICAgfCAgXFwgLyAgICBZICAgIFxcLyBfXyBcXHwgIHwgXFwvICAgIDxcXCAgX19fL3wgIHwgfCAgfCAgIHwgIFxcLyAvXy8gID5cclxuIFxcX19ffF8gIC8gXFxfX19fL3xfX3wgIHxfXy9fX19fXyBcXF9fX18vfF9fX3wgIC8gXFxfX19ffF9fICAoX19fXyAgL19ffCAgfF9ffF8gXFxcXF9fXyAgPl9ffCB8X198X19ffCAgL1xcX19fICAvIFxyXG4gICAgICAgXFwvICAgICAgICAgICAgICAgICAgICAgICBcXC8gICAgICAgICAgXFwvICAgICAgICAgIFxcLyAgICAgXFwvICAgICAgICAgICBcXC8gICAgXFwvICAgICAgICAgICAgIFxcLy9fX19fXy8gIFxyXG5cclxuKi9cclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyAqKiogMSBJTklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5AaW1wb3J0IFwiX19fY29sb3JfYW5kX3Zhci5zY3NzXCI7XHJcbkBpbXBvcnQgXCJfX19ib290c3RyYXAtYW5kLWN1c3RvbS5zY3NzXCI7XHJcblxyXG4vKlxyXG5fX19ib290c3RyYXAtYW5kLWN1c3RvbS5zY3NzIGFwcGVsw6kgZGFucyBsZSBmaWNoaWVyIGNpIGRlc3NvdXNcclxuKi9cclxuXHJcbkBpbXBvcnQgXCJfX19pbml0LnNjc3NcIjtcclxuQGltcG9ydCBcIl9fX21peGluLnNjc3NcIjtcclxuXHJcbi8vIEBpbXBvcnQgXCJfX19zdHlsaW5nLnNjc3NcIjtcclxuXHJcblxyXG5cclxuQGltcG9ydCBcImVsZW1lbnRzL19jay10eC5zY3NzXCI7XHJcblxyXG5cclxuLy8gQGltcG9ydCBcIi4uL2pzL2xpYnMvdWlraXQvc3JjL3Njc3MvdGhlbWUvYW5pbWF0aW9uLnNjc3NcIjtcclxuQGltcG9ydCBcIl9fdWlraXRfYW5pbWF0aW9uLnNjc3NcIjtcclxuQGltcG9ydCBcIl9fdWlraXRfYWRkLnNjc3NcIjtcclxuXHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gKioqIDEuMS5CTE9DS1MgR1VURU5CRVJHXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AaW1wb3J0IFwiX19fYmxvY2tzLWd1dGVuYmVyZ19fZnJvbnQuc2Nzc1wiO1xyXG5cclxuLy8gKioqICoqKioqKiBDT0RFIENPTU1VTiA+Pj4gZXRyZSBCTyBldCBGUk9OVFxyXG5AaW1wb3J0IFwiX19fYmxvY2tzLWd1dGVuYmVyZ19fZnJvbnRfYW5kX2JhY2suc2Nzc1wiO1xyXG4vLyAqKiogKioqKioqIEVORCA+IENPREUgQ09NTVVOID4+PiBldHJlIEJPIGV0IEZST05UXHJcblxyXG5cclxuXHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gKioqIDIuTElCU1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEBpbXBvcnQgXCJsaWJzL19zbGljay5zY3NzXCI7XHJcbi8vIEBpbXBvcnQgXCJsaWJzL19icmlja2xheWVyLnNjc3NcIjtcclxuLy8gQGltcG9ydCBcImxpYnMvX3VpLXRhYnMuc2Nzc1wiO1xyXG5cclxuLy8gKioqID09PT09PT09PT09PT09PT09IEd1ZXN0YXBwXHJcbiAgICAgICAgLy8gQGltcG9ydCBcImxpYnMvZ3Vlc3RhcHAuc2Nzc1wiO1xyXG4gICAgICAgIEBpbXBvcnQgXCJsaWJzL2d1ZXN0YXBwLW1pbmkuc2Nzc1wiO1xyXG4gICAgICAgIEBpbXBvcnQgXCJsaWJzL2d1ZXN0X3N1aXRlXzIwMjEvX2dzLnNjc3NcIjtcclxuICAgICAgICAvLyBAaW1wb3J0IFwibGlicy9ndWVzdF9zdWl0ZV8yMDIxL19ncy1zaW1wbGUuc2Nzc1wiO1xyXG4vLyAqKiogPT09PT09PT09PT09PT09PT0gRU5EID4gR3Vlc3RhcHBcclxuXHJcbiAgICAgICAgLy8gQGltcG9ydCBcImxpYnMvZnJlZXdhbGwtZGF0YS1mb3JjZS5zY3NzXCI7XHJcbiAgICAgICAgQGltcG9ydCBcImxpYnMvY29sb3Jib3guc2Nzc1wiO1xyXG5cclxuXHJcblxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vICoqKiAzLkJMT0NLU1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEBpbXBvcnQgXCJibG9ja3MvX19oZWFkLXdyYXBwZXIuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiYmxvY2tzL19oZWFkZXItbWFpbi5zY3NzXCI7XHJcbkBpbXBvcnQgXCJibG9ja3MvX21lbnUuc2Nzc1wiO1xyXG5cclxuXHJcbi8vIEBpbXBvcnQgXCJibG9ja3MvX3RpdHJlLnNjc3NcIjtcclxuXHJcblxyXG4vLyBAaW1wb3J0IFwiYmxvY2tzL190eF9pbWcuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiYmxvY2tzL19ibG9jLnNjc3NcIjtcclxuLy8gICAgIEBpbXBvcnQgXCJibG9ja3MvX2ltZ3MteDMuc2Nzc1wiO1xyXG4vLyAgICAgQGltcG9ydCBcImJsb2Nrcy9faW1ncy14Mi5zY3NzXCI7XHJcbi8vICAgICBAaW1wb3J0IFwiYmxvY2tzL190ZXh0LS1zbGlkZXJfYXJ0aWNsZS5zY3NzXCI7XHJcbi8vICAgICBAaW1wb3J0IFwiYmxvY2tzL190ZXh0ZV90cmlwbGUuc2Nzc1wiO1xyXG4vLyAgICAgICAgIEBpbXBvcnQgXCJibG9ja3MvX2dhbF9zY3JvbGxfeC5zY3NzXCI7XHJcbi8vICAgICBAaW1wb3J0IFwiYmxvY2tzL19saXN0X2FydGljbGUuc2Nzc1wiO1xyXG4vLyAgICAgQGltcG9ydCBcImJsb2Nrcy9fbGlzdF9jYXJkcy5zY3NzXCI7XHJcbiAgICBcclxuLy8gQGltcG9ydCBcImJsb2Nrcy9fdGVhc2VyX3BhZ2Uuc2Nzc1wiO1xyXG5cclxuQGltcG9ydCBcImJsb2Nrcy9fbGlzdC1wYXJ0bmVyLnNjc3NcIjtcclxuQGltcG9ydCBcImJsb2Nrcy9fbGlzdC1yZXZpZXdzLnNjc3NcIjtcclxuXHJcblxyXG5AaW1wb3J0IFwiYmxvY2tzL19mb290ZXIuc2Nzc1wiO1xyXG5cclxuXHJcbi8vIEBpbXBvcnQgXCJibG9ja3MvX19fZm9ybV9jb250YWN0LnNjc3NcIjtcclxuQGltcG9ydCBcIi4uLy4uL3RlbXBsYXRlLXBhcnRzL2Jsb2Nrcy1ndXRlbmJlcmcvZm9ybV9jb250YWN0L2Zvcm1fY29udGFjdC5zY3NzXCI7XHJcblxyXG5cclxuXHJcbiAgICAgICAgQGltcG9ydCBcImJsb2Nrcy9fd2lkZ2V0X3NlY3VyX18yMDIwLnNjc3NcIjtcclxuXHJcblxyXG4gICAgICAgIC8vID09PT09PT09PT09PT09PT09IEhhbWJ1cmdlcnNcclxuICAgICAgICAvLyBWb2lyIGZpY2hpZXIgaGVhZGVyLW1haW4uc2Nzc1xyXG5cclxuXHJcbiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT0gU3ByaXRlXHJcbiAgICAgICAgLy8gQGltcG9ydCBcInNwcml0ZVwiOyAvKiBEb24ndCB0b3VjaCAtIEF1dG8gZ8OpbsOpcsOpIC0gcXVlIGxhIGRpbWVuc2lvbiBkZXMgc3ByaXRlIGVuIGNzcyovXHJcbiAgICAgICAgLy8gQGltcG9ydCBcImVsZW1lbnRzL19zcHJpdGUtcG5nLnNjc3NcIjtcclxuXHJcblxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vICoqKiA0LkVMRU1FTlRTXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuQGltcG9ydCBcImVsZW1lbnRzL19oYW1idXJnZXJzLXNldHRpbmdzLnNjc3NcIjtcclxuQGltcG9ydCBcImVsZW1lbnRzL19sYW5nLXNpdGUuc2Nzc1wiO1xyXG5cclxuXHJcbkBpbXBvcnQgXCJlbGVtZW50cy9fZmlnY2FwdGlvbi5zY3NzXCI7XHJcbkBpbXBvcnQgXCJlbGVtZW50cy9fcGFnaW5hdGlvbi5zY3NzXCI7XHJcblxyXG5cclxuXHJcbiAgICAgICAgLy8gQGltcG9ydCBcImVsZW1lbnRzL192aWduZXR0ZS5zY3NzXCI7XHJcbi8vIEBpbXBvcnQgXCJlbGVtZW50cy9fY2FyZF9sb2Muc2Nzc1wiO1xyXG4vLyBAaW1wb3J0IFwiZWxlbWVudHMvX2NhcmQuc2Nzc1wiO1xyXG5cclxuICAgICAgICAvLyAqICAgIExpc3RlIGRlIHBldGl0IHBpY3RvIHN1cnRvdXQgdXRpbGlzw6kgc3VyIGxlcyBjYXJkcyBsb2NcclxuICAgICAgICAvLyBEw6lzYWN0aXZlciwgaWwgZmF1dCB0b3V0IGltcG9ydGVyIGxlcyBzdmcgdm9pciBub24gZW4gc3ByaXRlXHJcbiAgICAgICAgLy8gQGltcG9ydCBcImVsZW1lbnRzL19saXN0LXBpY3RvLnNjc3NcIjtcclxuXHJcblxyXG4vLyBAaW1wb3J0IFwiZWxlbWVudHMvX2NrLXR4LnNjc3NcIjtcclxuQGltcG9ydCBcImVsZW1lbnRzL19idXR0b24uc2Nzc1wiO1xyXG5AaW1wb3J0IFwiZWxlbWVudHMvX2xpc3QtYnRuLnNjc3NcIjtcclxuXHJcbi8vIC8vICogICBVdGlsaXPDqSBzdXIgY2FyZHMgbG9jYXRpb24gYXZlYyBwZXJzLCBjaGJyIGV0YyAtIGRvdWJsZSB0ZXh0ZSBjaGlmZnJlICsgYWJiclxyXG4vLyBAaW1wb3J0IFwiZWxlbWVudHMvX2xpc3QtZGJsLXR4LnNjc3NcIjtcclxuXHJcbi8vICogICAgVXRpbGlzw6kgc3VydG91dCBlbiBmb290ZXJcclxuQGltcG9ydCBcImVsZW1lbnRzL19saXN0LXJlc2VhdXguc2Nzc1wiO1xyXG5cclxuXHJcbi8vIEBpbXBvcnQgXCJlbGVtZW50cy9fcGxhbi1pbnRlcmFjdGlmLnNjc3NcIjtcclxuXHJcbi8vID09PT09PT09PT09PT09PT09IHh4eFxyXG5cclxuXHJcbi8vIEBpbXBvcnQgXCJlbGVtZW50cy9fZmlsdGVyLnNjc3NcIjtcclxuICAgICAgICAvLyBAaW1wb3J0IFwiZWxlbWVudHMvX2Zvcm0tdG9nZ2xlX2dyb3VwLnNjc3NcIjtcclxuICAgICAgICAvLyBAaW1wb3J0IFwiZWxlbWVudHMvYmxvZy5zY3NzXCI7XHJcblxyXG5cclxuXHJcblxyXG4gICAgICAgIC8vIEBpbXBvcnQgXCJlbGVtZW50cy9fbGlzdC10YXJpZi5zY3NzXCI7XHJcblxyXG4gICAgICAgIC8vIEBpbXBvcnQgXCJlbGVtZW50cy9fcGhvdG90aGVxdWUuc2Nzc1wiO1xyXG5cclxuXHJcbiAgICAgICAgLy8gQGltcG9ydCBcImVsZW1lbnRzL19yZWFkLW1vcmUuc2Nzc1wiO1xyXG5cclxuXHJcbiAgICAgICAgLy8gQGltcG9ydCBcImVsZW1lbnRzL19mb3JtLnNjc3NcIjtcclxuICAgICAgICAvLyBAaW1wb3J0IFwidG9vbHRpcHMuc2Nzc1wiO1xyXG4gICAgICAgIC8vIEBpbXBvcnQgXCJfd2lkZ2V0X3NlY3VyX18yMDIwLnNjc3Muc2Nzc1wiO1xyXG5cclxuXHJcblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBNT0RVTEVTXHJcbkBpbXBvcnQgXCJtb2R1bGUvc2VhcmNoZm9ybVwiO1xyXG5AaW1wb3J0IFwibW9kdWxlL19wbHVuZV9mYXEuc2Nzc1wiO1xyXG5AaW1wb3J0IFwibW9kdWxlL19wbHVuZV9mbGFzaF9pbmZvLnNjc3NcIjtcclxuXHJcblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSB4eHhcclxuLy8gICogICBQcml2aWzDqWdpw6kgbGUgdGFnIGxpbmsgcXVlIEBpbXBvcnRcclxuQGltcG9ydCBcIl9mb250LWZhY2Uuc2Nzc1wiO1xyXG5cclxuXHJcbkBpbXBvcnQgXCJhcHAtY3RvdXZlcnRhcGlcIjsiLCIgXHJcbiR3aWR0aF9oYW1idXJnZXI6IDY0cHg7XHJcbiRoZWlnaHRfaGFtYnVyZ2VyOiA2NHB4O1xyXG4vLyA0MlxyXG5cclxuJGhlYWRlcl9IX19tb2JpbGUgIDogMzZweDtcclxuJGhlYWRlcl9IX19kZXNrdG9wIDogNDBweDtcclxuXHJcbiRyZXNlYXVfaWNvX0hfX21vYmlsZSA6IDMwcHg7XHJcbiRyZXNlYXVfaWNvX0hfX2Rlc2t0b3AgOiAzN3B4O1xyXG5cclxuLyoqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKiA9PT0gQ09MT1JcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuJGNvbG9yX21haW4gOiAjNjA2QzM4OyAvKiBUaXRyZSAqL1xyXG4gICAgJGNvbG9yX21haW5fYmlzIDogIzg0OTM0RjsgLyogU291cyB0aXRyZSAqL1xyXG5cclxuJGNvbG9yX3NlY29uZCA6ICNCQkM1OTE7IC8qIENvdWxldXIgZGUgZm9uZCBzdXIgY2FyZCAqL1xyXG4gICAgLy8gJGNvbG9yX3NlY29uZF9iaXMgOiByZ2IoMjIxLCAyMjUsIDIwMSk7XHJcblxyXG4gICAgJGNvbG9yX3RocmVlIDogI0Y2RjdFRTsgLy8gQkcgYm9keVxyXG4gICAgLy8gJGNvbG9yX3RocmVlX2JpcyA6ICNkMTg1ZjQ7XHJcblxyXG4gICAgJGNvbG9yX2ZvdXIgOiAjZWJlYmViO1xyXG5cclxuICAgICRjb2xvcl9maXZlIDogIzZENDQxRDsgLy8gQlROIGNvdWxldXIgdGV4dGVcclxuICAgICRjb2xvcl9zaXhlIDogI0M3NDczQjsgLy8gQlROIENUQVxyXG4gICAgJGNvbG9yX3NldmVuIDogIzhCMzIyOTsgLy8gQlROIENUQSBmbGVjaGUgYXJyb3dcclxuICAgICRjb2xvcl9oZWlnaHQgOiAjRDNBOTFGOyAvLyBUZXh0ZSBmb290ZXIgb3V2ZXJ0IHRvdXRlcyBsJ2FubsOpZVxyXG5cclxuJGNvbG9yX2ZhY2Vib29rIDogIzQ2NjVhMjtcclxuJGNvbG9yX2luc3RhZ3JhbSA6ICNkODMyNzU7XHJcbiRjb2xvcl95b3V0dWJlIDogI2VlMzEyNDtcclxuJGNvbG9yX3R3aXR0ZXIgOiAjM2JiMWRiO1xyXG5cclxuJGNvbG9yX2d1ZXN0YXBwX21pbl9iZyA6ICMzYmIxZGI7XHJcblxyXG5cclxuXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyAkYm9keS1iZyA6ICNmN2Y3Zjc7XHJcbi8vICRib2R5LWJnIDogI2ZmZjtcclxuJGJvZHktYmcgOiAkY29sb3JfdGhyZWU7XHJcbi8vICRib2R5LWJnIDogI0VBRUREQTtcclxuXHJcbi8vICRib2R5LWNvbG9yIDogIzIyMjMyNjtcclxuJGJvZHktY29sb3IgOiAjMzkxQzExO1xyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4vLyAqKiogQjQgZGVmYXVsdCA6IHZhcmlhYmxlcy5zY3NzIGxnbiAyODZcclxuLy8gJGZvbnQtd2VpZ2h0LW5vcm1hbCA6IDQwMDtcclxuLy8gJGZvbnQtd2VpZ2h0LWxpZ2h0IDogMjAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgOiAzMDA7XHJcbi8vICRmb250LXdlaWdodC1ub3JtYWw6IDQwMDtcclxuLy8gJGZvbnQtd2VpZ2h0LWJvbGQ6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQ6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQtYmlzOiA3MDA7XHJcbi8vICRmb250LXdlaWdodC1ibGFjazogOTAwO1xyXG5cclxuJGxpbmstY29sb3ItaG92ZXIgOiAjYzM5NjUyO1xyXG4kbGluay1jb2xvciA6ICRjb2xvcl9zaXhlO1xyXG4vLyAkbGluay1jb2xvciA6ICRjb2xvcl9tYWluO1xyXG4vLyAkbGluay1ob3Zlci1jb2xvciA6IGRhcmtlbigkbGluay1jb2xvciwgMTUlKTtcclxuJGxpbmstaG92ZXItY29sb3IgOiAkbGluay1jb2xvci1ob3ZlcjtcclxuXHJcbiRidXR0b24tY29sb3IgOiAjYTg5MTNlO1xyXG4kYnV0dG9uLWhvdmVyLWNvbG9yIDogZGFya2VuKCRidXR0b24tY29sb3IsIDE1JSk7XHJcblxyXG5cclxuLy8gJGNvdWxldXItZm9vdGVyICAgOiAkYmxhY2stMTc7XHJcblxyXG5cclxuXHJcbi8qKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiogPT09IEZPTlRcclxuXHJcbkFtYXRpYyBTQyAtIDIgc3R5bGVzXHJcbiAgICBSZWd1bGFyIDQwMFxyXG4gICAgQm9sZCA3MDBcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8vIFZvaXIgZmljaGllciBAaW1wb3J0IFwiX2ZvbnQtZmFjZVwiOyBwb3VyIGwnaW1wb3J0IGRlKHMpIHBvbGljZShzKVxyXG5cclxuLy8gJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xyXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xyXG4vLyAkZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcclxuXHJcblxyXG5cclxuLy8gJGZvbnRfbWFpbiA6ICdBbWF0aWMgU0MnO1xyXG4vLyAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiA6ICRmb250X21haW4sIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xyXG4kZm9udF9tYWluIDogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XHJcblxyXG4vLyAkZm9udF9zZWNvbmQgOiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcclxuJGZvbnRfc2Vjb25kIDogJ0FtYXRpYyBTQycsICRmb250LWZhbWlseS1tb25vc3BhY2U7XHJcblxyXG5cclxuJGZvbnQtZmFtaWx5LWJhc2U6ICRmb250X21haW47XHJcblxyXG4vKlxyXG4gICAgKiAqKiogUVVFIFBPVVIgTEUgRklHQ0FQVElPTlxyXG4gICAgU2VtaUJvbGQgNjAwXHJcbiAgICBCb2xkICAgICA3MDBcclxuICAgICogKioqIFxyXG4qL1xyXG4vLyAkZm9udF90aHJlZSA6ICdCYXJsb3cgQ29uZGVuc2VkJywgJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTsiLCIvKiFcclxuICogQm9vdHN0cmFwIHY0LjEuMSAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tLylcclxuICogQ29weXJpZ2h0IDIwMTEtMjAxOCBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcclxuICogQ29weXJpZ2h0IDIwMTEtMjAxOCBUd2l0dGVyLCBJbmMuXHJcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXHJcbiAqL1xyXG5cclxuLyoqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8vIDHCsCA9PT0gQ1VTVE9NIEJBU0UgQ1JFQVRJT04gQk9PVFNUUkFQXHJcbi8vLyAywrAgPT09IElNUE9SVFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuXHJcbi8vIE9OTFkgRk9SIEdFVCBGT0xERVIgLS0tIE5PVCBVU0VcclxuICAgIC8vIEBpbXBvcnQgXCIuLi8uLi9saWJzL2Jvb3RzdHJhcC00LjYuMi9zY3NzL19ib290c3RyYXAuc2Nzc1wiO1xyXG5cclxuXHJcbi8qKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiogPT09IHh4eFxyXG4qIEJPT1RTVFJBUCBAaW1wb3J0IFwibGlicy9ib290c3RyYXAtNC42LjIvc2Nzcy9fdmFyaWFibGVzLnNjc3NcIjtcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbmlzTW9iaWxlIC8gaXNEZXNrdG9wXHJcblxyXG4qIHNjcm9sbG9udG9wXHJcbiogb25zY3JvbGxcclxuKlxyXG4qIGlzVG9wXHJcbiogaXNTY3JvbGxcclxuKlxyXG4qIG1lbnVfYWN0aWYgPiBPS1xyXG4qXHJcbiogbW9iaWxlU2l6ZVxyXG4qIGRlc2t0b3BTaXplXHJcbiovXHJcblxyXG5cclxuXHJcblxyXG4vKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qID09PSBDVVNUT00gQkFTRSBDUkVBVElPTiBCT09UU1RSQVBcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuXHJcbiRncmlkLWNvbHVtbnMgOiAxMjtcclxuJGdyaWQtZ3V0dGVyLXdpZHRoIDogMHB4O1xyXG5cclxuJGdyaWQtYnJlYWtwb2ludHM6IChcclxuICB4czogMCxcclxuICBzbTogNTc2cHgsXHJcbiAgbWQ6IDc2OHB4LFxyXG4gIGxnOiA5OTJweCxcclxuICB4bDogMTIwMHB4LFxyXG4gIHh4bDogMTYwMHB4XHJcbik7XHJcblxyXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcclxuICBzbTogNTQwcHgsXHJcbiAgbWQ6IDcyMHB4LFxyXG4gIGxnOiA5NjBweCxcclxuICB4bDogMTE0MHB4LFxyXG4gIHh4bDogMTU0MHB4XHJcbik7XHJcblxyXG5cclxuXHJcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XHJcbiRzcGFjZXJzOiAoXHJcblx0NjogKCRzcGFjZXIgKiA2KSxcclxuXHQ3OiAoJHNwYWNlciAqIDgpLFxyXG4pO1xyXG5cclxuXHJcblxyXG4vLyBDTEFTUyBNRVJFIDE2OjkgYXNwZWN0IHJhdGlvIDogZW1iZWQtcmVzcG9uc2l2ZSBlbWJlZC1yZXNwb25zaXZlLTE2Ynk5XHJcbi8vIFx0XHRDTEFTUyBFTkZBTlQgOiBlbWJlZC1yZXNwb25zaXZlLWl0ZW1cclxuLmVtYmVkLXJlc3BvbnNpdmUtYnk6OmJlZm9yZSB7XHJcbiAgcGFkZGluZy10b3A6IGNhbGMoIHZhcigtLWltZy1oKSAvIHZhcigtLWltZy13KSAqIDEwMCUgKTtcclxufVxyXG5cclxuLy8gMTgwMCA3MjUgOiA3MiAyOVxyXG4vLyAxODAwIDkyNSA6IDcyIDM3XHJcbi8vIGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS9kb2NzLzQuNC91dGlsaXRpZXMvZW1iZWQvXHJcbi8vICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6IChcclxuLy8gICAoMjEgOSksXHJcbi8vICAgKDE2IDkpLFxyXG4vLyAgICg0IDMpLFxyXG4vLyAgICgxIDEpXHJcbi8vICkgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gKioqICoqKioqKiBNSVMgRU4gTUFOVUVMTEUgZHUgZmFpdCBkZSBsJ2ltcG9ydCBkaXJlY3QgZGVzIGZpY2hpZXJzXHJcbi8vICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6IChcclxuLy8gXHQoMyAyKSxcclxuLy8gXHQoMSAxKSxcclxuLy8gXHQoMTUgNyksXHJcbi8vICk7XHJcblxyXG4vLyAuZW1iZWQtcmVzcG9uc2l2ZS05YnkxNiB7XHJcbi8vICAgICAmOjpiZWZvcmUge1xyXG4vLyAgICAgICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKDE2IC8gOSk7XHJcbi8vICAgICB9XHJcbi8vIH1cclxuXHJcbi8vICoqKiAqKioqKiogQUREXHJcbi5lbWJlZC1yZXNwb25zaXZlLTE1Ynk3IHtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UobWF0aC5kaXYoNywgMTUpKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLmVtYmVkLXJlc3BvbnNpdmUtMTgwMGJ5OTI1IHtcclxuLy8gICAgICY6OmJlZm9yZSB7XHJcbi8vICAgICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKDkyNSAvIDE4MDApO1xyXG4vLyAgICAgfVxyXG4vLyB9XHJcbi8vIC5lbWJlZC1yZXNwb25zaXZlLTE4MDBieTcyNSB7XHJcbi8vICAgICAmOjpiZWZvcmUge1xyXG4vLyAgICAgICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKDcyNSAvIDE4MDApO1xyXG4vLyAgICAgfVxyXG4vLyB9XHJcbi8vIC5lbWJlZC1yZXNwb25zaXZlLTE4MGJ5MTA3IHtcclxuLy8gICAgICY6OmJlZm9yZSB7XHJcbi8vICAgICAgICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoMTA3MCAvIDE4MDApO1xyXG4vLyAgICAgfVxyXG4vLyB9XHJcbi8vICoqKiAqKioqKiogRU5EID4gQUREXHJcblxyXG5cclxuLyoqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKiA9PT0gSU1QT1JUXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vLyBBTExcclxuICAgIC8vIEBpbXBvcnQgXCJsaWJzL2Jvb3RzdHJhcC00LjYuMi9zY3NzL19ib290c3RyYXAuc2Nzc1wiO1xyXG4gICAgICAgIC8vICBAaW1wb3J0IFwibGlicy9ib290c3RyYXAtNC42LjIvc2Nzcy9ib290c3RyYXAuc2Nzc1wiO1xyXG4vLyBMSVNURVxyXG5AaW1wb3J0IFwibGlicy9ib290c3RyYXAtNC42LjIvc2Nzcy9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvX3ZhcmlhYmxlcy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJsaWJzL2Jvb3RzdHJhcC00LjYuMi9zY3NzL19taXhpbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwibGlicy9ib290c3RyYXAtNC42LjIvc2Nzcy9fcm9vdC5zY3NzXCI7XHJcbkBpbXBvcnQgXCJsaWJzL2Jvb3RzdHJhcC00LjYuMi9zY3NzL19yZWJvb3Quc2Nzc1wiO1xyXG4gICAgLy8gQGltcG9ydCBcImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvX3R5cGUuc2Nzc1wiO1xyXG4gICAgLy8gQGltcG9ydCBcImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvX2ltYWdlcy5zY3NzXCI7XHJcbiAgICAvLyBAaW1wb3J0IFwibGlicy9ib290c3RyYXAtNC42LjIvc2Nzcy9fY29kZS5zY3NzXCI7XHJcbkBpbXBvcnQgXCJsaWJzL2Jvb3RzdHJhcC00LjYuMi9zY3NzL19ncmlkLnNjc3NcIjtcclxuQGltcG9ydCBcImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvX3RhYmxlcy5zY3NzXCI7XHJcbi8vIEBpbXBvcnQgXCJsaWJzL2Jvb3RzdHJhcC00LjYuMi9zY3NzL19mb3Jtcy5zY3NzXCI7XHJcbiAgICAvLyBAaW1wb3J0IFwibGlicy9ib290c3RyYXAtNC42LjIvc2Nzcy9fYnV0dG9ucy5zY3NzXCI7XHJcbiAgICAvLyBAaW1wb3J0IFwibGlicy9ib290c3RyYXAtNC42LjIvc2Nzcy9fdHJhbnNpdGlvbnMuc2Nzc1wiO1xyXG4gICAgLy8gQGltcG9ydCBcImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvX2Ryb3Bkb3duLnNjc3NcIjtcclxuICAgIC8vIEBpbXBvcnQgXCJsaWJzL2Jvb3RzdHJhcC00LjYuMi9zY3NzL19idXR0b24tZ3JvdXAuc2Nzc1wiO1xyXG4gICAgLy8gQGltcG9ydCBcImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvX2lucHV0LWdyb3VwLnNjc3NcIjtcclxuICAgIC8vIEBpbXBvcnQgXCJsaWJzL2Jvb3RzdHJhcC00LjYuMi9zY3NzL19jdXN0b20tZm9ybXMuc2Nzc1wiO1xyXG4gICAgLy8gQGltcG9ydCBcImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvX25hdi5zY3NzXCI7XHJcbiAgICAvLyBAaW1wb3J0IFwibGlicy9ib290c3RyYXAtNC42LjIvc2Nzcy9fbmF2YmFyLnNjc3NcIjtcclxuICAgIC8vIEBpbXBvcnQgXCJsaWJzL2Jvb3RzdHJhcC00LjYuMi9zY3NzL19jYXJkLnNjc3NcIjtcclxuICAgIC8vIEBpbXBvcnQgXCJsaWJzL2Jvb3RzdHJhcC00LjYuMi9zY3NzL19icmVhZGNydW1iLnNjc3NcIjtcclxuLy8gQGltcG9ydCBcImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvX3BhZ2luYXRpb24uc2Nzc1wiO1xyXG4gICAgLy8gQGltcG9ydCBcImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvX2JhZGdlLnNjc3NcIjtcclxuICAgIC8vIEBpbXBvcnQgXCJsaWJzL2Jvb3RzdHJhcC00LjYuMi9zY3NzL19qdW1ib3Ryb24uc2Nzc1wiO1xyXG4gICAgLy8gQGltcG9ydCBcImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvX2FsZXJ0LnNjc3NcIjtcclxuICAgIC8vIEBpbXBvcnQgXCJsaWJzL2Jvb3RzdHJhcC00LjYuMi9zY3NzL19wcm9ncmVzcy5zY3NzXCI7XHJcbi8vIEBpbXBvcnQgXCJsaWJzL2Jvb3RzdHJhcC00LjYuMi9zY3NzL19tZWRpYS5zY3NzXCI7XHJcbiAgICAvLyBAaW1wb3J0IFwibGlicy9ib290c3RyYXAtNC42LjIvc2Nzcy9fbGlzdC1ncm91cC5zY3NzXCI7XHJcbiAgICAvLyBAaW1wb3J0IFwibGlicy9ib290c3RyYXAtNC42LjIvc2Nzcy9fY2xvc2Uuc2Nzc1wiO1xyXG4gICAgLy8gQGltcG9ydCBcImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvX21vZGFsLnNjc3NcIjtcclxuLy8gQGltcG9ydCBcImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvX3Rvb2x0aXAuc2Nzc1wiO1xyXG4gICAgLy8gQGltcG9ydCBcImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvX3BvcG92ZXIuc2Nzc1wiO1xyXG4gICAgLy8gQGltcG9ydCBcImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvX2Nhcm91c2VsLnNjc3NcIjtcclxuQGltcG9ydCBcImxpYnMvYm9vdHN0cmFwLTQuNi4yL3Njc3MvX3V0aWxpdGllcy5zY3NzXCI7XHJcbiAgICAvLyBAaW1wb3J0IFwibGlicy9ib290c3RyYXAtNC42LjIvc2Nzcy9fcHJpbnQuc2Nzc1wiO1xyXG4iLCI6cm9vdCB7XG4gIC8vIEN1c3RvbSB2YXJpYWJsZSB2YWx1ZXMgb25seSBzdXBwb3J0IFNhc3NTY3JpcHQgaW5zaWRlIGAje31gLlxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRicCwgJHZhbHVlIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAtLWJyZWFrcG9pbnQtI3skYnB9OiAjeyR2YWx1ZX07XG4gIH1cblxuICAvLyBVc2UgYGluc3BlY3RgIGZvciBsaXN0cyBzbyB0aGF0IHF1b3RlZCBpdGVtcyBrZWVwIHRoZSBxdW90ZXMuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8yMzgzI2lzc3VlY29tbWVudC0zMzYzNDkxNzJcbiAgLS1mb250LWZhbWlseS1zYW5zLXNlcmlmOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpfTtcbiAgLS1mb250LWZhbWlseS1tb25vc3BhY2U6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktbW9ub3NwYWNlKX07XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyAxLiBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuLy8gMi4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2Vycy5cbi8vIDMuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbi8vIDQuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuLy8gNS4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbn1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAyXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAzXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNFxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJGJsYWNrLCAwKTsgLy8gNVxufVxuXG4vLyBTaGltIGZvciBcIm5ld1wiIEhUTUw1IHN0cnVjdHVyYWwgZWxlbWVudHMgdG8gZGlzcGxheSBjb3JyZWN0bHkgKElFMTAsIG9sZGVyIGJyb3dzZXJzKVxuLy8gVE9ETzogcmVtb3ZlIGluIHY1XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5hcnRpY2xlLCBhc2lkZSwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gQm9keVxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbi8vIDMuIFNldCBhbiBleHBsaWNpdCBpbml0aWFsIHRleHQtYWxpZ24gdmFsdWUgc28gdGhhdCB3ZSBjYW4gbGF0ZXIgdXNlXG4vLyAgICB0aGUgYGluaGVyaXRgIHZhbHVlIG9uIHRoaW5ncyBsaWtlIGA8dGg+YCBlbGVtZW50cy5cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyAzXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnOyAvLyAyXG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBydWxlOiBpbiBicm93c2VycyB0aGF0IHN1cHBvcnQgOmZvY3VzLXZpc2libGUsIHN1cHByZXNzIHRoZSBmb2N1cyBvdXRsaW5lXG4vLyBvbiBlbGVtZW50cyB0aGF0IHByb2dyYW1tYXRpY2FsbHkgcmVjZWl2ZSBmb2N1cyBidXQgd291bGRuJ3Qgbm9ybWFsbHkgc2hvdyBhIHZpc2libGVcbi8vIGZvY3VzIG91dGxpbmUuIEluIGdlbmVyYWwsIHRoaXMgd291bGQgbWVhbiB0aGF0IHRoZSBvdXRsaW5lIGlzIG9ubHkgYXBwbGllZCBpZiB0aGVcbi8vIGludGVyYWN0aW9uIHRoYXQgbGVkIHRvIHRoZSBlbGVtZW50IHJlY2VpdmluZyBwcm9ncmFtbWF0aWMgZm9jdXMgd2FzIGEga2V5Ym9hcmQgaW50ZXJhY3Rpb24sXG4vLyBvciB0aGUgYnJvd3NlciBoYXMgc29tZWhvdyBkZXRlcm1pbmVkIHRoYXQgdGhlIHVzZXIgaXMgcHJpbWFyaWx5IGEga2V5Ym9hcmQgdXNlciBhbmQvb3Jcbi8vIHdhbnRzIGZvY3VzIG91dGxpbmVzIHRvIGFsd2F5cyBiZSBwcmVzZW50ZWQuXG4vL1xuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy86Zm9jdXMtdmlzaWJsZVxuLy8gYW5kIGh0dHBzOi8vZGV2ZWxvcGVyLnBhY2llbGxvZ3JvdXAuY29tL2Jsb2cvMjAxOC8wMy9mb2N1cy12aXNpYmxlLWFuZC1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS9cblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gQ29udGVudCBncm91cGluZ1xuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4vLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICBoZWlnaHQ6IDA7IC8vIDFcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbn1cblxuXG4vL1xuLy8gVHlwb2dyYXBoeVxuLy9cblxuLy8gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vXG4vLyBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuLy8gbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbi8vXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4vLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBBYmJyZXZpYXRpb25zXG4vL1xuLy8gMS4gRHVwbGljYXRlIGJlaGF2aW9yIHRvIHRoZSBkYXRhLSogYXR0cmlidXRlIGZvciBvdXIgdG9vbHRpcCBwbHVnaW5cbi8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4vLyAzLiBBZGQgZXhwbGljaXQgY3Vyc29yIHRvIGluZGljYXRlIGNoYW5nZWQgYmVoYXZpb3IuXG4vLyA0LiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4vLyA1LiBQcmV2ZW50IHRoZSB0ZXh0LWRlY29yYXRpb24gdG8gYmUgc2tpcHBlZC5cblxuYWJiclt0aXRsZV0sXG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHsgLy8gMVxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgY3Vyc29yOiBoZWxwOyAvLyAzXG4gIGJvcmRlci1ib3R0b206IDA7IC8vIDRcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lOyAvLyA1XG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXI7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcbn1cblxuc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoODAlKTsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBmb250LXNpemUoNzUlKTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHsgYm90dG9tOiAtLjI1ZW07IH1cbnN1cCB7IHRvcDogLS41ZW07IH1cblxuXG4vL1xuLy8gTGlua3Ncbi8vXG5cbmEge1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG5cbmE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29kZVxuLy9cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDFlbSk7IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbn1cblxucHJlIHtcbiAgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4gIG1hcmdpbi10b3A6IDA7XG4gIC8vIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC8vIERvbid0IGFsbG93IGNvbnRlbnQgdG8gYnJlYWsgb3V0c2lkZVxuICBvdmVyZmxvdzogYXV0bztcbiAgLy8gRGlzYWJsZSBhdXRvLWhpZGluZyBzY3JvbGxiYXIgaW4gSUUgJiBsZWdhY3kgRWRnZSB0byBhdm9pZCBvdmVybGFwLFxuICAvLyBtYWtpbmcgaXQgaW1wb3NzaWJsZSB0byBpbnRlcmFjdCB3aXRoIHRoZSBjb250ZW50XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyO1xufVxuXG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG5maWd1cmUge1xuICAvLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy9cbi8vIEltYWdlcyBhbmQgY29udGVudFxuLy9cblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbn1cblxuc3ZnIHtcbiAgLy8gV29ya2Fyb3VuZCBmb3IgdGhlIFNWRyBvdmVyZmxvdyBidWcgaW4gSUUxMC8xMSBpcyBzdGlsbCByZXF1aXJlZC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjY4NzhcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuXG4vL1xuLy8gVGFibGVzXG4vL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnNcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbn1cblxuLy8gMS4gUmVtb3ZlcyBmb250LXdlaWdodCBib2xkIGJ5IGluaGVyaXRpbmdcbi8vIDIuIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgYHRleHQtYWxpZ25gLlxuLy8gMy4gRml4IGFsaWdubWVudCBmb3IgU2FmYXJpXG5cbnRoIHtcbiAgZm9udC13ZWlnaHQ6ICR0YWJsZS10aC1mb250LXdlaWdodDsgLy8gMVxuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyAyXG4gIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50OyAvLyAzXG59XG5cblxuLy9cbi8vIEZvcm1zXG4vL1xuXG5sYWJlbCB7XG4gIC8vIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogJGxhYmVsLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIFJlbW92ZSB0aGUgZGVmYXVsdCBgYm9yZGVyLXJhZGl1c2AgdGhhdCBtYWNPUyBDaHJvbWUgYWRkcy5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQwOTNcbmJ1dHRvbiB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gRXhwbGljaXRseSByZW1vdmUgZm9jdXMgb3V0bGluZSBpbiBDaHJvbWl1bSB3aGVuIGl0IHNob3VsZG4ndCBiZVxuLy8gdmlzaWJsZSAoZS5nLiBhcyByZXN1bHQgb2YgbW91c2UgY2xpY2sgb3IgdG91Y2ggdGFwKS4gSXQgYWxyZWFkeVxuLy8gc2hvdWxkIGJlIGRvaW5nIHRoaXMgYXV0b21hdGljYWxseSwgYnV0IHNlZW1zIHRvIGN1cnJlbnRseSBiZVxuLy8gY29uZnVzZWQgYW5kIGFwcGxpZXMgaXRzIHZlcnkgdmlzaWJsZSB0d28tdG9uZSBvdXRsaW5lIGFueXdheS5cblxuYnV0dG9uOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwO1xufVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZVxufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG59XG5cbi8vIFNldCB0aGUgY3Vyc29yIGZvciBub24tYDxidXR0b24+YCBidXR0b25zXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMDU2MlxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ5OTBcbnNlbGVjdCB7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgYnV0dG9uIGVsZW1lbnRzLlxuQGlmICRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnMge1xuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlbW92ZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgZnJvbSBGaXJlZm94LCBidXQgZG9uJ3QgcmVzdG9yZSB0aGUgb3V0bGluZSBsaWtlIE5vcm1hbGl6ZS5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC1cbiAgcGFkZGluZzogMDsgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLVxufVxuXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gIC8vIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpciAoaG9yaXpvbnRhbCkgY29udGFpbmVycy5cbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuZmllbGRzZXQge1xuICAvLyBCcm93c2VycyBzZXQgYSBkZWZhdWx0IGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAvLyB1bmxpa2UgZS5nLiBgPGRpdj5gcywgd2hpY2ggaGF2ZSBgbWluLXdpZHRoOiAwO2AgYnkgZGVmYXVsdC5cbiAgLy8gU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OVxuICAvLyBhbmQgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI3RoZS1maWVsZHNldC1hbmQtbGVnZW5kLWVsZW1lbnRzXG4gIG1pbi13aWR0aDogMDtcbiAgLy8gUmVzZXQgdGhlIGRlZmF1bHQgb3V0bGluZSBiZWhhdmlvciBvZiBmaWVsZHNldHMgc28gdGhleSBkb24ndCBhZmZlY3QgcGFnZSBsYXlvdXQuXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjVyZW0pO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbn1cblxuLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAvLyBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4gIC8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuICAvLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuLy9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuLy9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbn1cblxuLy9cbi8vIENvcnJlY3QgZWxlbWVudCBkaXNwbGF5c1xuLy9cblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnNcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFXG59XG5cbi8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUgKGZyb20gUHVyZUNTUykuXG4vLyBOZWVkZWQgZm9yIHByb3BlciBkaXNwbGF5IGluIElFIDEwLS5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0LCBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4gXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCByZXNwb25zaXZlIHZhbHVlcyBmb3IgZm9udCBzaXplcywgcGFkZGluZ3MsIG1hcmdpbnMgYW5kIG11Y2ggbW9yZVxuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2Jsb2IvbWFpbi9MSUNFTlNFKVxuIFxuQHVzZSBcInNhc3M6bWF0aFwiO1xuIFxuLy8gQ29uZmlndXJhdGlvblxuIFxuLy8gQmFzZSB2YWx1ZVxuJHJmcy1iYXNlLXZhbHVlOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy11bml0OiByZW0gIWRlZmF1bHQ7XG4gXG5AaWYgJHJmcy11bml0ICE9IHJlbSBhbmQgJHJmcy11bml0ICE9IHB4IHtcbiAgQGVycm9yIFwiYCN7JHJmcy11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbn1cbiBcbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgdmFsdWVzIHN0YXJ0IGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuIFxuQGlmICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHB4IGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBlbSBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcmVtIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG59XG4gXG4vLyBSZXNpemUgdmFsdWVzIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG4gXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcbiBcbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBudW1iZXIgb3IgJHJmcy1mYWN0b3IgPD0gMSB7XG4gIEBlcnJvciBcImAjeyRyZnMtZmFjdG9yfWAgaXMgbm90IGEgdmFsaWQgICRyZnMtZmFjdG9yLCBpdCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLlwiO1xufVxuIFxuLy8gTW9kZS4gUG9zc2liaWxpdGllczogXCJtaW4tbWVkaWEtcXVlcnlcIiwgXCJtYXgtbWVkaWEtcXVlcnlcIlxuJHJmcy1tb2RlOiBtaW4tbWVkaWEtcXVlcnkgIWRlZmF1bHQ7XG4gXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG4gXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG4gXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG4gXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmZzIHRvIGZhbHNlXG4kZW5hYmxlLXJmczogdHJ1ZSAhZGVmYXVsdDtcbiBcbi8vIENhY2hlICRyZnMtYmFzZS12YWx1ZSB1bml0XG4kcmZzLWJhc2UtdmFsdWUtdW5pdDogdW5pdCgkcmZzLWJhc2UtdmFsdWUpO1xuIFxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IG1hdGguYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBtYXRoLmFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG4gXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS12YWx1ZSBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1iYXNlLXZhbHVlLXVuaXQgPT0gcHgge1xuICAkcmZzLWJhc2UtdmFsdWU6IGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUsICRyZnMtYmFzZS12YWx1ZSAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYmFzZS12YWx1ZS11bml0ID09IHJlbSB7XG4gICRyZnMtYmFzZS12YWx1ZTogZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSwgZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuIFxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcbiBcbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBweCB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gcmVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgZGl2aWRlKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuIFxuLy8gQ2FsY3VsYXRlIHRoZSBtZWRpYSBxdWVyeSB2YWx1ZVxuJHJmcy1tcS12YWx1ZTogaWYoJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgsICN7JHJmcy1icmVha3BvaW50fXB4LCAje2RpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtcmVtLXZhbHVlKX0jeyRyZnMtYnJlYWtwb2ludC11bml0fSk7XG4kcmZzLW1xLXByb3BlcnR5LXdpZHRoOiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCBtYXgtd2lkdGgsIG1pbi13aWR0aCk7XG4kcmZzLW1xLXByb3BlcnR5LWhlaWdodDogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgbWF4LWhlaWdodCwgbWluLWhlaWdodCk7XG4gXG4vLyBJbnRlcm5hbCBtaXhpbiB1c2VkIHRvIGRldGVybWluZSB3aGljaCBtZWRpYSBxdWVyeSBuZWVkcyB0byBiZSB1c2VkXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeSB7XG4gIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgQGlmICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSwgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIGFuZCAoI3skcmZzLW1xLXByb3BlcnR5LWhlaWdodH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIFxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGRpc2FibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtcnVsZSB7XG4gIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgcHJvcGVydHlcbiAgICAmLFxuICAgIC5kaXNhYmxlLXJmcyAmLFxuICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAuZW5hYmxlLXJmcyAmLFxuICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4gXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZW5hYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5LXJ1bGUge1xuIFxuICBAaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiBcbiAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIC5lbmFibGUtcmZzICYsXG4gICAgICAmLmVuYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgICAgLmRpc2FibGUtcmZzICYsXG4gICAgICAmLmRpc2FibGUtcmZzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4gXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBmb3JtYXR0ZWQgbm9uLXJlc3BvbnNpdmUgdmFsdWVcbkBmdW5jdGlvbiByZnMtdmFsdWUoJHZhbHVlcykge1xuICAvLyBDb252ZXJ0IHRvIGxpc3RcbiAgJHZhbHVlczogaWYodHlwZS1vZigkdmFsdWVzKSAhPSBsaXN0LCAoJHZhbHVlcywpLCAkdmFsdWVzKTtcbiBcbiAgJHZhbDogJyc7XG4gXG4gIC8vIExvb3Agb3ZlciBlYWNoIHZhbHVlIGFuZCBjYWxjdWxhdGUgdmFsdWVcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiAkdmFsdWUgPT0gMCB7XG4gICAgICAkdmFsOiAkdmFsICsgJyAwJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FjaGUgJHZhbHVlIHVuaXRcbiAgICAgICR1bml0OiBpZih0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiwgdW5pdCgkdmFsdWUpLCBmYWxzZSk7XG4gXG4gICAgICBAaWYgJHVuaXQgPT0gcHgge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHJlbSBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArICcgJyArIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArICRyZnMtcmVtLXZhbHVlKX1yZW0sICR2YWx1ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkdW5pdCA9PSByZW0ge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHB4IGlmIG5lZWRlZFxuICAgICAgICAkdmFsOiAkdmFsICsgJyAnICsgaWYoJHJmcy11bml0ID09IHB4LCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAxKSAqICRyZnMtcmVtLXZhbHVlfXB4LCAkdmFsdWUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgICAgJHZhbDogJHZhbCArICcgJyArICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiBcbiAgLy8gUmVtb3ZlIGZpcnN0IHNwYWNlXG4gIEByZXR1cm4gdW5xdW90ZShzdHItc2xpY2UoJHZhbCwgMikpO1xufVxuIFxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgcmVzcG9uc2l2ZSB2YWx1ZSBjYWxjdWxhdGVkIGJ5IFJGU1xuQGZ1bmN0aW9uIHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuIFxuICAkdmFsOiAnJztcbiBcbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyAnIDAnO1xuICAgIH1cbiBcbiAgICBAZWxzZSB7XG4gICAgICAvLyBDYWNoZSAkdmFsdWUgdW5pdFxuICAgICAgJHVuaXQ6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCB1bml0KCR2YWx1ZSksIGZhbHNlKTtcbiBcbiAgICAgIC8vIElmICR2YWx1ZSBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkdmFsdWUgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICAgICAgQGlmIG5vdCAkdW5pdCBvciAkdW5pdCAhPSBweCBhbmQgJHVuaXQgIT0gcmVtIHtcbiAgICAgICAgJHZhbDogJHZhbCArICcgJyArICR2YWx1ZTtcbiAgICAgIH1cbiBcbiAgICAgIEBlbHNlIHtcbiAgICAgICAgLy8gUmVtb3ZlIHVuaXQgZnJvbSAkdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuICAgICAgICAkdmFsdWU6IGRpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyBpZigkdW5pdCA9PSBweCwgMSwgZGl2aWRlKDEsICRyZnMtcmVtLXZhbHVlKSkpO1xuIFxuICAgICAgICAvLyBPbmx5IGFkZCB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlIHZhbHVlIGlzIGdyZWF0ZXIgdGhhbiB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICBAaWYgbWF0aC5hYnMoJHZhbHVlKSA8PSAkcmZzLWJhc2UtdmFsdWUgb3Igbm90ICRlbmFibGUtcmZzIHtcbiAgICAgICAgICAkdmFsOiAkdmFsICsgJyAnICsgIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZSwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWV9cHgpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtbWluOiAkcmZzLWJhc2UtdmFsdWUgKyBkaXZpZGUobWF0aC5hYnMoJHZhbHVlKSAtICRyZnMtYmFzZS12YWx1ZSwgJHJmcy1mYWN0b3IpO1xuIFxuICAgICAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gJHZhbHVlIGFuZCB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICAgICR2YWx1ZS1kaWZmOiBtYXRoLmFicygkdmFsdWUpIC0gJHZhbHVlLW1pbjtcbiBcbiAgICAgICAgICAvLyBCYXNlIHZhbHVlIGZvcm1hdHRpbmdcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUtbWluLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyR2YWx1ZS1taW59cHgpO1xuIFxuICAgICAgICAgIC8vIFVzZSBuZWdhdGl2ZSB2YWx1ZSBpZiBuZWVkZWRcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkdmFsdWUgPCAwLCAtJG1pbi13aWR0aCwgJG1pbi13aWR0aCk7XG4gXG4gICAgICAgICAgLy8gVXNlIGB2bWluYCBpZiB0d28tZGltZW5zaW9uYWwgaXMgZW5hYmxlZFxuICAgICAgICAgICR2YXJpYWJsZS11bml0OiBpZigkcmZzLXR3by1kaW1lbnNpb25hbCwgdm1pbiwgdncpO1xuIFxuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICAgICAkdmFyaWFibGUtd2lkdGg6ICN7ZGl2aWRlKCR2YWx1ZS1kaWZmICogMTAwLCAkcmZzLWJyZWFrcG9pbnQpfSN7JHZhcmlhYmxlLXVuaXR9O1xuIFxuICAgICAgICAgIC8vIFJldHVybiB0aGUgY2FsY3VsYXRlZCB2YWx1ZVxuICAgICAgICAgICR2YWw6ICR2YWwgKyAnIGNhbGMoJyArICRtaW4td2lkdGggKyBpZigkdmFsdWUgPCAwLCAnIC0gJywgJyArICcpICsgJHZhcmlhYmxlLXdpZHRoICsgJyknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cbiBcbi8vIFJGUyBtaXhpblxuQG1peGluIHJmcygkdmFsdWVzLCAkcHJvcGVydHk6IGZvbnQtc2l6ZSkge1xuICBAaWYgJHZhbHVlcyAhPSBudWxsIHtcbiAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlcyk7XG4gICAgJGZsdWlkVmFsOiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcyk7XG4gXG4gICAgLy8gRG8gbm90IHByaW50IHRoZSBtZWRpYSBxdWVyeSBpZiByZXNwb25zaXZlICYgbm9uLXJlc3BvbnNpdmUgdmFsdWVzIGFyZSB0aGUgc2FtZVxuICAgIEBpZiAkdmFsID09ICRmbHVpZFZhbCB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICR2YWw7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIF9yZnMtcnVsZSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgJHZhbCwgJGZsdWlkVmFsKTtcbiBcbiAgICAgICAgLy8gSW5jbHVkZSBzYWZhcmkgaWZyYW1lIHJlc2l6ZSBmaXggaWYgbmVlZGVkXG4gICAgICAgIG1pbi13aWR0aDogaWYoJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4LCAoMCAqIDF2dyksIG51bGwpO1xuICAgICAgfVxuIFxuICAgICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeS1ydWxlIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkZmx1aWRWYWwsICR2YWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIFxuLy8gU2hvcnRoYW5kIGhlbHBlciBtaXhpbnNcbkBtaXhpbiBmb250LXNpemUoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUpO1xufVxuIFxuQG1peGluIHBhZGRpbmcoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmcpO1xufVxuIFxuQG1peGluIHBhZGRpbmctdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXRvcCk7XG59XG4gXG5AbWl4aW4gcGFkZGluZy1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1yaWdodCk7XG59XG4gXG5AbWl4aW4gcGFkZGluZy1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctYm90dG9tKTtcbn1cbiBcbkBtaXhpbiBwYWRkaW5nLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctbGVmdCk7XG59XG4gXG5AbWl4aW4gbWFyZ2luKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4pO1xufVxuIFxuQG1peGluIG1hcmdpbi10b3AoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi10b3ApO1xufVxuIFxuQG1peGluIG1hcmdpbi1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXJpZ2h0KTtcbn1cbiBcbkBtaXhpbiBtYXJnaW4tYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tYm90dG9tKTtcbn1cbiBcbkBtaXhpbiBtYXJnaW4tbGVmdCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLWxlZnQpO1xufSIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4kd2hpdGU6ICAgICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmOGY5ZmEgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZWQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM2Yzc1N2QgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0OTUwNTcgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMyMTI1MjkgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICMwMDAgIWRlZmF1bHQ7XG5cbiRncmF5czogKCkgIWRlZmF1bHQ7XG4kZ3JheXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gICAgXCIzMDBcIjogJGdyYXktMzAwLFxuICAgIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gICAgXCI2MDBcIjogJGdyYXktNjAwLFxuICAgIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gICAgXCI5MDBcIjogJGdyYXktOTAwXG4gICksXG4gICRncmF5c1xuKTtcblxuJGJsdWU6ICAgICMwMDdiZmYgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNlODNlOGMgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzI4YTc0NSAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMxN2EyYjggIWRlZmF1bHQ7XG5cbiRjb2xvcnM6ICgpICFkZWZhdWx0O1xuJGNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICAgIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICAgIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gICAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICAgIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbiAgKSxcbiAgJGNvbG9yc1xuKTtcblxuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICAgIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxuICAgIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcbiAgICBcImluZm9cIjogICAgICAgJGluZm8sXG4gICAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxuICAgIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxuICAgIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gICAgXCJkYXJrXCI6ICAgICAgICRkYXJrXG4gICksXG4gICR0aGVtZS1jb2xvcnNcbik7XG5cbi8vIFNldCBhIHNwZWNpZmljIGp1bXAgcG9pbnQgZm9yIHJlcXVlc3RpbmcgY29sb3IganVtcHNcbiR0aGVtZS1jb2xvci1pbnRlcnZhbDogICAgICA4JSAhZGVmYXVsdDtcblxuLy8gVGhlIHlpcSBsaWdodG5lc3MgdmFsdWUgdGhhdCBkZXRlcm1pbmVzIHdoZW4gdGhlIGxpZ2h0bmVzcyBvZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJkYXJrXCIgdG8gXCJsaWdodFwiLiBBY2NlcHRhYmxlIHZhbHVlcyBhcmUgYmV0d2VlbiAwIGFuZCAyNTUuXG4keWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkOiAgMTUwICFkZWZhdWx0O1xuXG4vLyBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIFlJUSBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiR5aXEtdGV4dC1kYXJrOiAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4keWlxLXRleHQtbGlnaHQ6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBDaGFyYWN0ZXJzIHdoaWNoIGFyZSBlc2NhcGVkIGJ5IHRoZSBlc2NhcGUtc3ZnIGZ1bmN0aW9uXG4kZXNjYXBlZC1jaGFyYWN0ZXJzOiAoXG4gIChcIjxcIiwgXCIlM2NcIiksXG4gIChcIj5cIiwgXCIlM2VcIiksXG4gIChcIiNcIiwgXCIlMjNcIiksXG4gIChcIihcIiwgXCIlMjhcIiksXG4gIChcIilcIiwgXCIlMjlcIiksXG4pICFkZWZhdWx0O1xuXG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeTogICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkLCBubyBsb25nZXIgYWZmZWN0cyBhbnkgY29tcGlsZWQgQ1NTXG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnM6ICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmludC1zdHlsZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6ICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuXG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6ICgpICFkZWZhdWx0O1xuJHNwYWNlcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDA6IDAsXG4gICAgMTogKCRzcGFjZXIgKiAuMjUpLFxuICAgIDI6ICgkc3BhY2VyICogLjUpLFxuICAgIDM6ICRzcGFjZXIsXG4gICAgNDogKCRzcGFjZXIgKiAxLjUpLFxuICAgIDU6ICgkc3BhY2VyICogMylcbiAgKSxcbiAgJHNwYWNlcnNcbik7XG5cbi8vIFRoaXMgdmFyaWFibGUgYWZmZWN0cyB0aGUgYC5oLSpgIGFuZCBgLnctKmAgY2xhc3Nlcy5cbiRzaXplczogKCkgIWRlZmF1bHQ7XG4kc2l6ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDI1OiAyNSUsXG4gICAgNTA6IDUwJSxcbiAgICA3NTogNzUlLFxuICAgIDEwMDogMTAwJSxcbiAgICBhdXRvOiBhdXRvXG4gICksXG4gICRzaXplc1xuKTtcblxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcbi8vIERhcmtlbiBwZXJjZW50YWdlIGZvciBsaW5rcyB3aXRoIGAudGV4dC0qYCBjbGFzcyAoZS5nLiBgLnRleHQtc3VjY2Vzc2ApXG4kZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlOiAxNSUgIWRlZmF1bHQ7XG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgX2Fzc2VydC1zdGFydHMtYXQtemVybygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcblxuJHJvdW5kZWQtcGlsbDogICAgICAgICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG5cbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtdmVydGljYWwtYWxpZ246ICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4kY2FyZXQtc3BhY2luZzogICAgICAgICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgICAgICAgaGVpZ2h0IC4zNXMgZWFzZSAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlLXdpZHRoOiAgIHdpZHRoIC4zNXMgZWFzZSAhZGVmYXVsdDtcblxuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogKCkgIWRlZmF1bHQ7XG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiBqb2luKFxuICAoXG4gICAgKDIxIDkpLFxuICAgICgxNiA5KSxcbiAgICAoNCAzKSxcbiAgICAoMSAxKSxcbiAgKSxcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvc1xuKTtcblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIGxpZ2h0ZXIgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgICAgICA1LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTMtc2l6ZTogICAgICAgICAgICAgICA0LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTQtc2l6ZTogICAgICAgICAgICAgICAzLjVyZW0gIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5Mi13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5NC13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAgICAgICAgICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgLjg3NWVtICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZTogICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjJlbSAhZGVmYXVsdDtcblxuJGR0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRrYmQtYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICNmY2Y4ZTMgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXNtOiAgICAgICAuM3JlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItY29sb3I6ICAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICAkdGFibGUtaG92ZXItYmcgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1jb2xvcjogICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kdGFibGUtdGgtZm9udC13ZWlnaHQ6ICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1iZzogICAgICAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICR0YWJsZS1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICAgICAgcmdiYSgkd2hpdGUsIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgbGlnaHRlbigkdGFibGUtZGFyay1iZywgNy41JSkgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZy1sZXZlbDogICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1sZXZlbDogICAgICAgICAgLTYgIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9ucyArIEZvcm1zXG4vL1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtZmFtaWx5OiAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgcmdiYSgkY29tcG9uZW50LWFjdGl2ZS1iZywgLjI1KSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogIDAgMCAwICRpbnB1dC1idG4tZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTogICAgJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogICAgJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCwgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnRuLXdoaXRlLXNwYWNlOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBTZXQgdG8gYG5vd3JhcGAgdG8gcHJldmVudCB0ZXh0IHdyYXBwaW5nXG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtc206ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRidG4tYmxvY2stc3BhY2luZy15OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuXG4vLyBGb3Jtc1xuXG4kbGFiZWwtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAyNSUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggKiAyICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAuNSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQtc20gKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LXNtICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodC1sZyAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjogICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk6ICAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg6ICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14OiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDogICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtY3Vyc29yOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yOiAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZzogIHJnYmEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAuNSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdzogICBudWxsICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c6ICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLWNvbG9yOiAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3c6ICAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2bDIuOTc0IDIuOTlMOCAyLjE5M3onLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU6ICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc0JyB2aWV3Qm94PScwIDAgNCA0Jz48cGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIGQ9J00wIDJoNCcvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdzogICBudWxsICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXN3aXRjaC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKiAxLjc1ICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplICogLjUgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAgICAgICAgICBzdWJ0cmFjdCgkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogNCkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgJGlucHV0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodDogICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAxcmVtICFkZWZhdWx0OyAvLyBFeHRyYSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSBiYXNlZCBpbmRpY2F0b3JcbiRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0OiAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgIDhweCAxMHB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzUnIHZpZXdCb3g9JzAgMCA0IDUnPjxwYXRoIGZpbGw9JyN7JGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ6ICAgICAgICAgIGVzY2FwZS1zdmcoJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yKSByaWdodCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyIC8gJGN1c3RvbS1zZWxlY3QtYmctc2l6ZSBuby1yZXBlYXQgIWRlZmF1bHQ7IC8vIFVzZWQgc28gd2UgY2FuIGhhdmUgbXVsdGlwbGUgYmFja2dyb3VuZCBlbGVtZW50cyAoZS5nLiwgYXJyb3cgYW5kIGZlZWRiYWNrIGljb24pXG5cbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1yaWdodDogYWRkKDFlbSAqIC43NSwgKDIgKiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgKiAuNzUpICsgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgICBjZW50ZXIgcmlnaHQgKCRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aDogICAgICAgICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc206ICAgICAgICAkaW5wdXQtcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1sZzogICAgICAgICRpbnB1dC1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtbGc6ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoOiAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1iZzogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgIGluc2V0IDAgLjI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoOiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIC4xcmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gSUUvRWRnZVxuJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLWhlaWdodDogICAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtcGFkZGluZy14OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtZmFtaWx5OiAgICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1czogICAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3gtc2hhZG93OiAgICAgICAgICAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjogICAgICAgICAgJGN1c3RvbS1maWxlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgJGlucHV0LWdyb3VwLWFkZG9uLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXRleHQ6IChcbiAgZW46IFwiQnJvd3NlXCJcbikgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbiRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A6ICAgICAgICAgICRmb3JtLXRleHQtbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTogICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICB0aGVtZS1jb2xvcihcInN1Y2Nlc3NcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICB0aGVtZS1jb2xvcihcImRhbmdlclwiKSAhZGVmYXVsdDtcblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyB2aWV3Qm94PScwIDAgMTIgMTInPjxjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLz48cGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLz48Y2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBzdHJva2U9J25vbmUnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoKSAhZGVmYXVsdDtcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInZhbGlkXCI6IChcbiAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZFxuICAgICksXG4gICAgXCJpbnZhbGlkXCI6IChcbiAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcixcbiAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWRcbiAgICApLFxuICApLFxuICAkZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuKTtcblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuXG5cbi8vIE5hdnNcblxuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAkZ3JheS0yMDAgJGdyYXktMjAwICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRncmF5LTMwMCAkZ3JheS0zMDAgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtZGl2aWRlci1jb2xvcjogICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4teTogICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4vLyBDb21wdXRlIHRoZSBuYXZiYXItYnJhbmQgcGFkZGluZy15IHNvIHRoZSBuYXZiYXItYnJhbmQgd2lsbCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyBuYXZiYXItdGV4dCBhbmQgbmF2LWxpbmtcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICAgICAgICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgKiAuNSAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtc2Nyb2xsLW1heC1oZWlnaHQ6ICAgICAgNzV2aCAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1kYXJrLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgcmdiYSgkYmxhY2ssIC43KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuOSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBzdWJ0cmFjdCgkZHJvcGRvd24tYm9yZGVyLXJhZGl1cywgJGRyb3Bkb3duLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkbmF2LWRpdmlkZXItbWFyZ2luLXkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJGdyYXktOTAwLCA1JSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAkZHJvcGRvd24tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuXG4vLyBQYWdpbmF0aW9uXG5cbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtc206ICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG5cblxuLy8gSnVtYm90cm9uXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kanVtYm90cm9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIENhcmRzXG5cbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBzdWJ0cmFjdCgkY2FyZC1ib3JkZXItcmFkaXVzLCAkY2FyZC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAqIC41ICFkZWZhdWx0O1xuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICAgICAgICAgJGNhcmQtZ3JvdXAtbWFyZ2luICFkZWZhdWx0O1xuXG4kY2FyZC1jb2x1bW5zLWNvdW50OiAgICAgICAgICAgICAgICAzICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15ICFkZWZhdWx0O1xuXG5cbi8vIFRvb2x0aXBzXG5cbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuLy8gRm9ybSB0b29sdGlwcyBtdXN0IGNvbWUgYWZ0ZXIgcmVndWxhciB0b29sdGlwc1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDogICAgICR0b29sdGlwLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplOiAgICAgJHRvb2x0aXAtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDogICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eTogICAgICAgJHRvb2x0aXAtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgc3VidHJhY3QoJHBvcG92ZXItYm9yZGVyLXJhZGl1cywgJHBvcG92ZXItYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBUb2FzdHNcblxuJHRvYXN0LW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNzVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gQmFkZ2VzXG5cbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIDc1JSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNGVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRiYWRnZS10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiAhZGVmYXVsdDtcbiRiYWRnZS1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG5cbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgICAgICAgIC42ZW0gIWRlZmF1bHQ7XG4vLyBVc2UgYSBoaWdoZXIgdGhhbiBub3JtYWwgdmFsdWUgdG8gZW5zdXJlIGNvbXBsZXRlbHkgcm91bmRlZCBlZGdlcyB3aGVuXG4vLyBjdXN0b21pemluZyBwYWRkaW5nIG9yIGZvbnQtc2l6ZSBvbiBsYWJlbHMuXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcblxuXG4vLyBNb2RhbHNcblxuLy8gUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4vLyBNYXJnaW4gYmV0d2VlbiBlbGVtZW50cyBpbiBmb290ZXIsIG11c3QgYmUgbG93ZXIgdGhhbiBvciBlcXVhbCB0byAyICogJG1vZGFsLWlubmVyLXBhZGRpbmdcbiRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW46ICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXM6IHN1YnRyYWN0KCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMsICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC14bDogICAgICAgICAgICAgICAgICAgICAgICAgIDExNDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWZhZGUtdHJhbnNmb3JtOiAgICAgICAgICAgICAgdHJhbnNsYXRlKDAsIC01MHB4KSAhZGVmYXVsdDtcbiRtb2RhbC1zaG93LXRyYW5zZm9ybTogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTogICAgICAgICAgICAgc2NhbGUoMS4wMikgIWRlZmF1bHQ7XG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRhbGVydC1iZy1sZXZlbDogICAgICAgICAgICAgICAgICAgIC0xMCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItbGV2ZWw6ICAgICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yLWxldmVsOiAgICAgICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuNzUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuXG5cbi8vIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cblxuLy8gRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICA5MCUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItZm9udC1zaXplOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBxdW90ZShcIi9cIikgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNUw0LjI1IDRsMi41LTIuNUw1LjI1IDB6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjVMMy43NSA0bC0yLjUgMi41TDIuNzUgOGw0LTQtNC00eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG5cblxuLy8gU3Bpbm5lcnNcblxuJHNwaW5uZXItd2lkdGg6ICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0OiAgICAgICAgICAkc3Bpbm5lci13aWR0aCAhZGVmYXVsdDtcbiRzcGlubmVyLXZlcnRpY2FsLWFsaWduOiAgLS4xMjVlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aDogICAgLjI1ZW0gIWRlZmF1bHQ7XG5cbiRzcGlubmVyLXdpZHRoLXNtOiAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodC1zbTogICAgICAgJHNwaW5uZXItd2lkdGgtc20gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGgtc206IC4yZW0gIWRlZmF1bHQ7XG5cblxuLy8gQ2xvc2VcblxuJGNsb3NlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAwIDFweCAwICR3aGl0ZSAhZGVmYXVsdDtcblxuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgIDg3LjUlICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJHBpbmsgIWRlZmF1bHQ7XG5cbiRrYmQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGtiZC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG5cbi8vIFV0aWxpdGllc1xuXG4kZGlzcGxheXM6IG5vbmUsIGlubGluZSwgaW5saW5lLWJsb2NrLCBibG9jaywgdGFibGUsIHRhYmxlLXJvdywgdGFibGUtY2VsbCwgZmxleCwgaW5saW5lLWZsZXggIWRlZmF1bHQ7XG4kb3ZlcmZsb3dzOiBhdXRvLCBoaWRkZW4gIWRlZmF1bHQ7XG4kcG9zaXRpb25zOiBzdGF0aWMsIHJlbGF0aXZlLCBhYnNvbHV0ZSwgZml4ZWQsIHN0aWNreSAhZGVmYXVsdDtcbiR1c2VyLXNlbGVjdHM6IGFsbCwgYXV0bywgbm9uZSAhZGVmYXVsdDtcblxuXG4vLyBQcmludGluZ1xuXG4kcHJpbnQtcGFnZS1zaXplOiAgICAgICAgICAgICAgICAgICBhMyAhZGVmYXVsdDtcbiRwcmludC1ib2R5LW1pbi13aWR0aDogICAgICAgICAgICAgIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibGdcIikgIWRlZmF1bHQ7XG4iLCIvLyBIb3ZlciBtaXhpbiBhbmQgYCRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnlgIGFyZSBkZXByZWNhdGVkLlxuLy9cbi8vIE9yaWdpbmFsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xuLy8gZGVzaWduZWQgdG8gcHJldmVudCBgOmhvdmVyYCBzdGlja2luZXNzIG9uIGlPUy1hbiBpc3N1ZSB3aGVyZSBob3ZlciBzdHlsZXNcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cbi8vXG4vLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UndmUga2VwdCB0aGVzZSBtaXhpbnMgYW5kIHVwZGF0ZWQgdGhlbSB0b1xuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzZXVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1MTk1XG5cbkBtaXhpbiBob3ZlcigpIHtcbiAgJjpob3ZlciB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cygpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHBsYWluLWhvdmVyLWZvY3VzKCkge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlKCkge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC8vIFNpbmdsZSBjb250YWluZXIgY2xhc3Mgd2l0aCBicmVha3BvaW50IG1heC13aWR0aHNcbiAgLmNvbnRhaW5lcixcbiAgLy8gMTAwJSB3aWRlIGNvbnRhaW5lciBhdCBhbGwgYnJlYWtwb2ludHNcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgY29udGFpbmVycyB0aGF0IGFyZSAxMDAlIHdpZGUgdW50aWwgYSBicmVha3BvaW50XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgIC5jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgQGV4dGVuZCAuY29udGFpbmVyLWZsdWlkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgICAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAvLyBFeHRlbmQgZWFjaCBicmVha3BvaW50IHdoaWNoIGlzIHNtYWxsZXIgb3IgZXF1YWwgdG8gdGhlIGN1cnJlbnQgYnJlYWtwb2ludFxuICAgICAgJGV4dGVuZC1icmVha3BvaW50OiB0cnVlO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHdpZHRoIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAgICAgQGlmICgkZXh0ZW5kLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRuYW1lLCAkZ3JpZC1icmVha3BvaW50cyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIE9uY2UgdGhlIGN1cnJlbnQgYnJlYWtwb2ludCBpcyByZWFjaGVkLCBzdG9wIGV4dGVuZGluZ1xuICAgICAgICAgIEBpZiAoJGJyZWFrcG9pbnQgPT0gJG5hbWUpIHtcbiAgICAgICAgICAgICRleHRlbmQtYnJlYWtwb2ludDogZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIHlvdXIgY29sdW1ucy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgbmVnYXRpdmUgbWFyZ2luIGZyb20gZGVmYXVsdCAucm93LCB0aGVuIHRoZSBob3Jpem9udGFsIHBhZGRpbmdcbiAgLy8gZnJvbSBhbGwgaW1tZWRpYXRlIGNoaWxkcmVuIGNvbHVtbnMgKHRvIHByZXZlbnQgcnVuYXdheSBzdHlsZSBpbmhlcml0YW5jZSkuXG4gIC5uby1ndXR0ZXJzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICA+IC5jb2wsXG4gICAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucygpO1xufVxuIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyICogLjU7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAqIC41O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGd1dHRlciAqIC41O1xuICBtYXJnaW4tbGVmdDogLSRndXR0ZXIgKiAuNTtcbn1cblxuLy8gRm9yIGVhY2ggYnJlYWtwb2ludCwgZGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBjb250YWluZXIgaW4gYSBtZWRpYSBxdWVyeVxuQG1peGluIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoJG1heC13aWR0aHM6ICRjb250YWluZXItbWF4LXdpZHRocywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJG1heC13aWR0aHMge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzYCBtaXhpblwiLCBcInY0LjUuMlwiLCBcInY1XCIpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgKiAuNTtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyICogLjU7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgZmxleDogMCAwIHBlcmNlbnRhZ2UoZGl2aWRlKCRzaXplLCAkY29sdW1ucykpO1xuICAvLyBBZGQgYSBgbWF4LXdpZHRoYCB0byBlbnN1cmUgY29udGVudCB3aXRoaW4gZWFjaCBjb2x1bW4gZG9lcyBub3QgYmxvdyBvdXRcbiAgLy8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUxMCsgYW5kIEZpcmVmb3guIENocm9tZSBhbmQgU2FmYXJpXG4gIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKCRzaXplLCAkY29sdW1ucykpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiBkaXZpZGUoJHNpemUsICRjb2x1bW5zKTtcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG5cbi8vIFJvdyBjb2x1bW5zXG4vL1xuLy8gU3BlY2lmeSBvbiBhIHBhcmVudCBlbGVtZW50KGUuZy4sIC5yb3cpIHRvIGZvcmNlIGltbWVkaWF0ZSBjaGlsZHJlbiBpbnRvIE5OXG4vLyBudW1iZXJvZiBjb2x1bW5zLiBTdXBwb3J0cyB3cmFwcGluZyB0byBuZXcgbGluZXMsIGJ1dCBkb2VzIG5vdCBkbyBhIE1hc29ucnlcbi8vIHN0eWxlIGdyaWQuXG5AbWl4aW4gcm93LWNvbHMoJGNvdW50KSB7XG4gID4gKiB7XG4gICAgZmxleDogMCAwIGRpdmlkZSgxMDAlLCAkY291bnQpO1xuICAgIG1heC13aWR0aDogZGl2aWRlKDEwMCUsICRjb3VudCk7XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xuICAlZ3JpZC1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyICogLjU7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyICogLjU7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgIC8vIEFsbG93IGNvbHVtbnMgdG8gc3RyZXRjaCBmdWxsIHdpZHRoIGJlbG93IHRoZWlyIGJyZWFrcG9pbnRzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sI3skaW5maXh9LFxuICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZ3JpZC1yb3ctY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLXJvdy1jb2x1bW5zIHtcbiAgICAgICAgICAucm93LWNvbHMjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcm93LWNvbHMoJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1maXJzdCB7IG9yZGVyOiAtMTsgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tbGFzdCB7IG9yZGVyOiAkY29sdW1ucyArIDE7IH1cblxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5vcmRlciN7JGluZml4fS0jeyRpfSB7IG9yZGVyOiAkaTsgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgICAub2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzaWMgQm9vdHN0cmFwIHRhYmxlXG4vL1xuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgY29sb3I6ICR0YWJsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnOyAvLyBSZXNldCBmb3IgbmVzdGluZyB3aXRoaW4gcGFyZW50cyB3aXRoIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXNtO1xuICB9XG59XG5cblxuLy8gQm9yZGVyIHZlcnNpb25zXG4vL1xuLy8gQWRkIG9yIHJlbW92ZSBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyICogJHRhYmxlLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWJvcmRlcmxlc3Mge1xuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoLFxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4udGFibGUtc3RyaXBlZCB7XG4gIHRib2R5IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWFjY2VudC1iZztcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgdGJvZHkgdHIge1xuICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgY29sb3I6ICR0YWJsZS1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1ob3Zlci1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBiYWNrZ3JvdW5kc1xuLy9cbi8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICR0YWJsZS1iZy1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJvcmRlci1sZXZlbCkpO1xufVxuXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChhY3RpdmUsICR0YWJsZS1hY3RpdmUtYmcpO1xuXG5cbi8vIERhcmsgc3R5bGVzXG4vL1xuLy8gU2FtZSB0YWJsZSBtYXJrdXAsIGJ1dCBpbnZlcnRlZCBjb2xvciBzY2hlbWU6IGRhcmsgYmFja2dyb3VuZCBhbmQgbGlnaHQgdGV4dC5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi50YWJsZSB7XG4gIC50aGVhZC1kYXJrIHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC50aGVhZC1saWdodCB7XG4gICAgdGgge1xuICAgICAgY29sb3I6ICR0YWJsZS1oZWFkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1kYXJrIHtcbiAgY29sb3I6ICR0YWJsZS1kYXJrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcblxuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoIHtcbiAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICYudGFibGUtc3RyaXBlZCB7XG4gICAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWFjY2VudC1iZztcbiAgICB9XG4gIH1cblxuICAmLnRhYmxlLWhvdmVyIHtcbiAgICB0Ym9keSB0ciB7XG4gICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgY29sb3I6ICR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgICAgICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXIgb24gaG9yaXpvbnRhbCBzY3JvbGwgZHVlIHRvIHVzZSBvZiBgZGlzcGxheTogYmxvY2s7YFxuICAgICAgICA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRib3JkZXI6IG51bGwpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgJixcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgQGlmICRib3JkZXIgIT0gbnVsbCB7XG4gICAgICB0aCxcbiAgICAgIHRkLFxuICAgICAgdGhlYWQgdGgsXG4gICAgICB0Ym9keSArIHRib2R5IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciB7XG4gICAgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuXG4gICAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uYWxpZ24tYmFzZWxpbmUgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfSAvLyBCcm93c2VyIGRlZmF1bHRcbi5hbGlnbi10b3AgICAgICAgICB7IHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxuLmFsaWduLW1pZGRsZSAgICAgIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tYm90dG9tICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LWJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC10b3AgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3AgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcblxuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9LFxuICBidXR0b24jeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBiZy12YXJpYW50YCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG5cbkBtaXhpbiBiZy1ncmFkaWVudC12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXggIWltcG9ydGFudDtcbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGJnLWdyYWRpZW50LXZhcmlhbnRgIG1peGluXCIsIFwidjQuNS4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgYmctdmFyaWFudChcIi5iZy0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbn1cblxuQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgQGluY2x1ZGUgYmctZ3JhZGllbnQtdmFyaWFudChcIi5iZy1ncmFkaWVudC0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbiAgfVxufVxuXG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmJnLXRyYW5zcGFyZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdCwgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBCb3JkZXJcbi8vXG5cbi5ib3JkZXIgICAgICAgICB7IGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wICAgICB7IGJvcmRlci10b3A6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXJpZ2h0ICAgeyBib3JkZXItcmlnaHQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWJvdHRvbSAgeyBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0ICAgIHsgYm9yZGVyLWxlZnQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG5cbi5ib3JkZXItMCAgICAgICAgeyBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci10b3AtMCAgICB7IGJvcmRlci10b3A6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodC0wICB7IGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWJvdHRvbS0wIHsgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWxlZnQtMCAgIHsgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJvcmRlci0jeyRjb2xvcn0ge1xuICAgIGJvcmRlci1jb2xvcjogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmJvcmRlci13aGl0ZSB7XG4gIGJvcmRlci1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8vXG4vLyBCb3JkZXItcmFkaXVzXG4vL1xuXG4ucm91bmRlZC1zbSB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtdG9wIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXJpZ2h0IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1ib3R0b20ge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtbGVmdCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWxnIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGcgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXBpbGwge1xuICBib3JkZXItcmFkaXVzOiAkcm91bmRlZC1waWxsICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLTAge1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG4iLCJAbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgY29tbW9uIGBkaXNwbGF5YCB2YWx1ZXNcbi8vXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgICAgLmQjeyRpbmZpeH0tI3skdmFsdWV9IHsgZGlzcGxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gVXRpbGl0aWVzIGZvciB0b2dnbGluZyBgZGlzcGxheWAgaW4gcHJpbnRcbi8vXG5cbkBtZWRpYSBwcmludCB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgIC5kLXByaW50LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG5AZWFjaCAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8gaW4gJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvcyB7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAxKTtcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXk6IG50aCgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8sIDIpO1xuXG4gIC5lbWJlZC1yZXNwb25zaXZlLSN7JGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXh9YnkjeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15fSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKGRpdmlkZSgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teSwgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXgpKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsZXgjeyRpbmZpeH0tcm93ICAgICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4gICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LW5vd3JhcCAgICAgICB7IGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZmlsbCAgICAgICAgIHsgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMCAgICAgICB7IGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0xICAgICAgIHsgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMCAgICAgeyBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTEgICAgIHsgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxvYXQjeyRpbmZpeH0tbGVmdCAgeyBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tbm9uZSAgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJHVzZXItc2VsZWN0cyB7XG4gIC51c2VyLXNlbGVjdC0jeyR2YWx1ZX0geyB1c2VyLXNlbGVjdDogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJG92ZXJmbG93cyB7XG4gIC5vdmVyZmxvdy0jeyR2YWx1ZX0geyBvdmVyZmxvdzogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb21tb24gdmFsdWVzXG5AZWFjaCAkcG9zaXRpb24gaW4gJHBvc2l0aW9ucyB7XG4gIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0geyBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gU2hvcnRoYW5kXG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5zdGlja3ktdG9wIHtcbiAgQHN1cHBvcnRzIChwb3NpdGlvbjogc3RpY2t5KSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gIH1cbn1cbiIsIi8vXG4vLyBTY3JlZW5yZWFkZXJzXG4vL1xuXG4uc3Itb25seSB7XG4gIEBpbmNsdWRlIHNyLW9ubHkoKTtcbn1cblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgQGluY2x1ZGUgc3Itb25seS1mb2N1c2FibGUoKTtcbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwczovL3d3dy5hMTF5cHJvamVjdC5jb20vcG9zdHMvMjAxMy0wMS0xMS1ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2tpdHR5Z2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5cbkBtaXhpbiBzci1vbmx5KCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7IC8vIEZpeCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTY4NlxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbkBtaXhpbiBzci1vbmx5LWZvY3VzYWJsZSgpIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi5zaGFkb3ctc20geyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1zbSAhaW1wb3J0YW50OyB9XG4uc2hhZG93IHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3cgIWltcG9ydGFudDsgfVxuLnNoYWRvdy1sZyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxnICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbm9uZSB7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFdpZHRoIGFuZCBoZWlnaHRcblxuQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKHdpZHRoOiB3LCBoZWlnaHQ6IGgpIHtcbiAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNpemVzIHtcbiAgICAuI3skYWJicmV2fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4ubXctMTAwIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbi5taC0xMDAgeyBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLy8gVmlld3BvcnQgYWRkaXRpb25hbCBoZWxwZXJzXG5cbi5taW4tdnctMTAwIHsgbWluLXdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OyB9XG4ubWluLXZoLTEwMCB7IG1pbi1oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IH1cblxuLnZ3LTEwMCB7IHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OyB9XG4udmgtMTAwIHsgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gTWFyZ2luIGFuZCBQYWRkaW5nXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICRwcm9wLCAkYWJicmV2IGluIChtYXJnaW46IG0sIHBhZGRpbmc6IHApIHtcbiAgICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgICAgLiN7JGFiYnJldn0jeyRpbmZpeH0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC4jeyRhYmJyZXZ9dCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS10b3A6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fXIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tcmlnaHQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1sI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWxlZnQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbnMgKGUuZy4sIHdoZXJlIGAubWItbjFgIGlzIG5lZ2F0aXZlIHZlcnNpb24gb2YgYC5tYi0xYClcbiAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICBAaWYgXCIjeyRzaXplfVwiICE9IFwiMFwiIHtcbiAgICAgICAgLm0jeyRpbmZpeH0tbiN7JHNpemV9IHsgbWFyZ2luOiAtJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5tdCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1yI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tYiN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1sI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb21lIHNwZWNpYWwgbWFyZ2luIHV0aWxzXG4gICAgLm0jeyRpbmZpeH0tYXV0byB7IG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLm10I3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubXIjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1iI3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWwjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFN0cmV0Y2hlZCBsaW5rXG4vL1xuXG4uc3RyZXRjaGVkLWxpbmsge1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIC8vIEp1c3QgaW4gY2FzZSBgcG9pbnRlci1ldmVudHM6IG5vbmVgIGlzIHNldCBvbiBhIHBhcmVudFxuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy8gSUUxMCBidWdmaXgsIHNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xNjk0Nzk2Ny9pZTEwLWhvdmVyLXBzZXVkby1jbGFzcy1kb2VzbnQtd29yay13aXRob3V0LWJhY2tncm91bmQtY29sb3JcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFRleHRcbi8vXG5cbi50ZXh0LW1vbm9zcGFjZSB7IGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFpbXBvcnRhbnQ7IH1cblxuLy8gQWxpZ25tZW50XG5cbi50ZXh0LWp1c3RpZnkgIHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG4udGV4dC13cmFwICAgICB7IHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDsgfVxuLnRleHQtbm93cmFwICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXRydW5jYXRlIHsgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZSgpOyB9XG5cbi8vIFJlc3BvbnNpdmUgYWxpZ25tZW50XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC50ZXh0I3skaW5maXh9LWxlZnQgICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LXJpZ2h0ICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uXG5cbi50ZXh0LWxvd2VyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXVwcGVyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LWNhcGl0YWxpemUgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi8vIFdlaWdodCBhbmQgaXRhbGljc1xuXG4uZm9udC13ZWlnaHQtbGlnaHQgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWxpZ2h0ZXIgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ZXIgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LW5vcm1hbCAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZCAgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZGVyICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LWl0YWxpYyAgICAgICAgIHsgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcblxuLnRleHQtd2hpdGUgeyBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudChcIi50ZXh0LSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xufVxuXG4udGV4dC1ib2R5IHsgY29sb3I6ICRib2R5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW11dGVkIHsgY29sb3I6ICR0ZXh0LW11dGVkICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtYmxhY2stNTAgeyBjb2xvcjogcmdiYSgkYmxhY2ssIC41KSAhaW1wb3J0YW50OyB9XG4udGV4dC13aGl0ZS01MCB7IGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjUpICFpbXBvcnRhbnQ7IH1cblxuLy8gTWlzY1xuXG4udGV4dC1oaWRlIHtcbiAgQGluY2x1ZGUgdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogdHJ1ZSk7XG59XG5cbi50ZXh0LWRlY29yYXRpb24tbm9uZSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJyZWFrIHtcbiAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50OyAvLyBEZXByZWNhdGVkLCBidXQgYXZvaWRzIGlzc3VlcyB3aXRoIGZsZXggY29udGFpbmVyc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgLy8gVXNlZCBpbnN0ZWFkIG9mIGBvdmVyZmxvdy13cmFwYCBmb3IgSUUgJiBFZGdlIExlZ2FjeVxufVxuXG4vLyBSZXNldFxuXG4udGV4dC1yZXNldCB7IGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFR5cG9ncmFwaHlcblxuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlICE9IDAge1xuICAgIGEjeyRwYXJlbnR9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHRleHQtZW1waGFzaXMtdmFyaWFudCgpYFwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiB0ZXh0LWhpZGUoJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuXG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImB0ZXh0LWhpZGUoKWBcIiwgXCJ2NC4xLjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBWaXNpYmlsaXR5IHV0aWxpdGllc1xuLy9cblxuLnZpc2libGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cbiIsIi8qIC0tLSBTaXplIFZBUiAtLS0gKi9cclxuLy8gRW4gYXR0ZW50ZSBxdWUgSUUgcHJlbm5lIGVuIGNvbXB0ZSBsYSBwc2V1ZG8gY2xhc3MgOmFueVxyXG4vLyBodHRwczovL2Nhbml1c2UuY29tLyNzZWFyY2g9JTNBYW55XHJcbi8vXHJcbi8vICRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW07IC8vIDE2MDAgeHhsIC0tLSBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcclxuLy8gJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIC45Mzc1KTsgIC8vIDk5MiBsZ1xyXG4vLyAkZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogLjg3NSk7ICAvLyAwK1xyXG5cclxuLy8gTWV0dHJlIGxlcyB0YWlsbGVzIGVuIGR1clxyXG4kYmFzZUZvbnRTaXplOiAyMHB4OyAvKiAyNCAqL1xyXG4vKiBEb24ndCB0b3VjaCAhISEgKi9cclxuJGZvbnQtc2l6ZS1iYXNlOiAkYmFzZUZvbnRTaXplOyAvLyAxNjAwIHh4bCAtLS0gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXHJcblxyXG4kZm9udC1zaXplLWxnOiAxN3B4OyAvLyA5OTIgbGcgPiAyMFxyXG4kZm9udC1zaXplLXNtOiAxNHB4OyAvLyAwK1xyXG4vKiAtLS0gRU5EID4gU2l6ZSBWQVIgLS0tICovXHJcblxyXG5cclxuaHRtbHtcclxuXHJcbn1cclxuXHJcbmJvZHkge1xyXG4gIC8vIGNvbG9yOiAkYm9keS1jb2xvcjtcclxuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcclxuXHJcbiAgLy8gZm9udC1mYW1pbHk6ICRmb250X21haW47XHJcbiAgLy8gZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcblxyXG4gIC8qIC0tLSBTaXplIC0tLSAqL1xyXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZzsgfVxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlOyB9XHJcbiAgLyogLS0tIEVORCA+IFNpemUgLS0tICovXHJcblxyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vc3JjL2ltZy9pbWdfZGVjby9ib2lzLTIucG5nJyk7XHJcblxyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcblxyXG59XHJcblxyXG5cclxuXHJcblxyXG4vKiAtLS0gRk9OVCBXRUlHSFQgRGVmYXVsdCBlbiA3MDAgLS0tICovXHJcbmIsXHJcbnN0cm9uZyB7XHJcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkXHJcbn1cclxuLyogLS0tIEVORCA+IEZPTlQgV0VJR0hUIERlZmF1bHQgZW4gNzAwIC0tLSAqL1xyXG5cclxuXHJcbi8qIC0tLSBMSU5LUyAtLS0gKi9cclxuYSB7XHJcbiAgLy8gY29sb3I6ICRsaW5rLWNvbG9yO1xyXG4gIC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGluay1jb2xvcjtcclxuICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIC8vIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcclxuICAgIC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGluay1ob3Zlci1jb2xvcjtcclxuICAgIC8vIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcbn1cclxuLyogLS0tIEVORCA+IExJTksgLS0tICovXHJcbiIsIi8qKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiogPT09IE1JWElOXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuQHVzZSBcInNhc3M6bWF0aFwiO1xyXG5cclxuJGJyb3dzZXItY29udGV4dDogJGJhc2VGb250U2l6ZTtcclxuQGZ1bmN0aW9uIGVtKCRwaXhlbHMsICRjb250ZXh0OiAkYnJvd3Nlci1jb250ZXh0KVxyXG57XHJcbiAgQGlmICh1bml0bGVzcygkcGl4ZWxzKSkgeyAkcGl4ZWxzOiAkcGl4ZWxzICogMXB4OyB9XHJcbiAgQGlmICh1bml0bGVzcygkY29udGV4dCkpIHsgJGNvbnRleHQ6ICRjb250ZXh0ICogMXB4OyB9XHJcbiAgQHJldHVybiAje21hdGguZGl2KCRwaXhlbHMsICRjb250ZXh0KX1lbTtcclxuICAvLyBAcmV0dXJuICRwaXhlbHMgLyAkY29udGV4dCAqIDFlbTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHJlbSgkcGl4ZWxzLCAkY29udGV4dDogJGJyb3dzZXItY29udGV4dClcclxue1xyXG4gIEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHsgJHBpeGVsczogJHBpeGVscyAqIDFweDsgfVxyXG4gIEBpZiAodW5pdGxlc3MoJGNvbnRleHQpKSB7ICRjb250ZXh0OiAkY29udGV4dCAqIDFweDsgfVxyXG4gIEByZXR1cm4gI3ttYXRoLmRpdigkcGl4ZWxzLCAkY29udGV4dCl9cmVtO1xyXG4gIC8vIEByZXR1cm4gJHBpeGVscyAvICRjb250ZXh0ICogMXJlbTtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFNUWUxJTkcgLS0tICovXHJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuXHJcbiVoMV9zdHlsaW5nICxcclxuJWgyX3N0eWxpbmcgLFxyXG4laDNfc3R5bGluZyAsXHJcbiVoNF9zdHlsaW5nICxcclxuJWg1X3N0eWxpbmcgLFxyXG4laDZfc3R5bGluZyB7XHJcblx0QGV4dGVuZCAlZmlyc3QtbGV0dGVyO1xyXG59XHJcblxyXG4laDFfc3R5bGluZyB7XHJcblx0Y29sb3I6ICRjb2xvcl9tYWluO1xyXG5cdC8vIGZvbnQtc2l6ZTogMmVtO1xyXG5cdGZvbnQtc2l6ZTogMy4yZW07XHJcblx0Zm9udC1mYW1pbHk6ICRmb250X3NlY29uZDtcclxuXHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQtYmlzO1xyXG59XHJcbiVoMl9zdHlsaW5nIHtcclxuXHRjb2xvcjogJGNvbG9yX21haW47XHJcblx0Ly8gZm9udC1zaXplOiAxLjVlbTtcclxuXHRmb250LXNpemU6IDIuM2VtO1xyXG5cdGZvbnQtZmFtaWx5OiAkZm9udF9zZWNvbmQ7XHJcblx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkLWJpcztcclxufVxyXG4laDNfc3R5bGluZyB7XHJcblx0Ly8gZm9udC1zaXplOiAxLjNlbTtcclxuXHRmb250LXNpemU6IDEuOWVtO1xyXG5cdGZvbnQtZmFtaWx5OiAkZm9udF9zZWNvbmQ7XHJcblx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkLWJpcztcclxufVxyXG4laDRfc3R5bGluZyB7XHJcblx0Zm9udC1zaXplOiAxLjAwZW07XHJcbn1cclxuJWg1X3N0eWxpbmcge1xyXG5cdGZvbnQtc2l6ZTogMC44M2VtO1xyXG59XHJcbiVoNl9zdHlsaW5nIHtcclxuXHRmb250LXNpemU6IDAuNjdlbTtcclxufVxyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gRU5EID4gU1RZTElORyAtLS0gKi9cclxuXHJcblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IEJPVUNMRSBFQUNIXHJcbiRoX3RhZ3MgOiBoMSxoMixoMyxoNCxoNSxoNjtcclxuXHJcbkBlYWNoICRoX3RhZyBpbiAkaF90YWdzXHJcbntcclxuICAvKiAtLS0tLSBDayB0ZXh0ZSAtLS0tLSAqL1xyXG5cdC4je250aCgkaF90YWcsIDEpfSB7XHJcblx0XHRAZXh0ZW5kICUje250aCgkaF90YWcsIDEpfV9zdHlsaW5nO1xyXG5cdH1cclxuXHJcblx0LmNrX3R4IHtcclxuXHRcdC4je250aCgkaF90YWcsIDEpfSAsXHJcblx0XHQje250aCgkaF90YWcsIDEpfSB7XHJcblx0XHRcdEBleHRlbmQgJSN7bnRoKCRoX3RhZywgMSl9X3N0eWxpbmc7XHJcblxyXG5cdFx0XHQrIHVsIHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAxLjJyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cdFx0XHJcblx0fVxyXG5cdFxyXG5cdC8vIC4je250aCgkaF90YWcsIDEpfSAsXHJcblx0I3tudGgoJGhfdGFnLCAxKX0uZ3RiX2JsayB7XHJcblx0XHRAZXh0ZW5kICUje250aCgkaF90YWcsIDEpfV9zdHlsaW5nO1xyXG5cclxuXHRcdCsgdWwge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxLjJyZW07XHJcblx0XHR9XHJcblx0fVx0XHRcclxuXHRcclxuICAvKiAtLS0tLSBFTkQgPiBDayB0ZXh0ZSAtLS0tLSAqL1xyXG5cclxufVxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IEVORCA+IEJPVUNMRSBFQUNIXHJcblxyXG5cclxuXHJcbiVzdHlsZV9ibG9ja3F1b3RlIHtcclxuXHRwYWRkaW5nLXRvcDogMC40cmVtO1xyXG5cdHBhZGRpbmctYm90dG9tOiAwLjRyZW07XHJcblxyXG5cdGJvcmRlci1jb2xvcjogJGNvbG9yX21haW47XHJcblx0cCB7XHJcblx0XHRmbGV4OiAwIDAgMTAwJTtcclxuXHRcdG1heC13aWR0aDogMTAwJTtcclxuICAgIFx0bWFyZ2luLWxlZnQ6IDAlO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMS4zcmVtO1xyXG5cdH1cclxufVxyXG5cclxuJXN0eWxlX3VsIHtcclxuXHRAZXh0ZW5kICVyZXNldF91bDtcclxuXHJcblxyXG5cdCsgLmhfdGFnIHtcclxuXHRcdG1hcmdpbi10b3A6IDFyZW07XHJcblx0fVxyXG5cclxuXHQ+IHVsIHtcclxuXHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHR9XHJcblx0XHJcblxyXG5cdC8qIC0tLSBBbGwgdWwgLS0tICovXHJcblx0dWwge1xyXG5cdFx0ZmxleDogMCAwIDEwMCU7XHJcblx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBcdG1hcmdpbi1sZWZ0OiAwJTtcclxuXHRcdFxyXG5cclxuXHRcdGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmU7XHJcblx0XHR9XHJcblx0XHJcblx0XHR1bCB7XHJcblx0XHRcdG1hcmdpbi10b3A6IC41cmVtO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQvKiAtLS0gRU5EID4gQWxsIHVsIC0tLSAqL1xyXG5cdFxyXG5cclxuXHJcblx0LyogLS0tIEFsbCBsaSAtLS0gKi9cclxuXHRsaSB7XHJcblx0XHRoeXBoZW5zOiBhdXRvO1xyXG5cdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG5cclxuXHRcdC8qIC0tLSBTaXplIC0tLSAqL1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogJGZvbnQtc2l6ZS1zbSAqIDAuMjU7XHJcblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7IG1hcmdpbi1ib3R0b206ICRmb250LXNpemUtbGcgKiAwLjI1OyB9XHJcblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkgeyBtYXJnaW4tYm90dG9tOiAkZm9udC1zaXplLWJhc2UgKiAwLjI1OyB9XHJcblx0XHQvKiAtLS0gRU5EID4gU2l6ZSAtLS0gKi9cclxuXHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdGNvbnRlbnQ6ICdcXDI1Y2YnO1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yX21haW47XHJcblx0XHRcdC8vIGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogcmVtKDEyKTtcclxuXHRcdH1cclxuXHJcblx0XHQ+IHAge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmU7XHJcblx0XHR9XHJcblx0fVxyXG5cdC8qIC0tLSBFTkQgPiBBbGwgbGkgLS0tICovXHJcblxyXG5cdC8qIC0tLSBsaSBpbnNpZGUgLS0tICovXHJcblx0bGkgbGkge1xyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRjb250ZW50OiAnXFwyNmFjJztcclxuXHRcdFx0Y29sb3I6ICRjb2xvcl9tYWluO1xyXG5cdFx0XHQvLyBmb250LXdlaWdodDogNzAwO1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHJlbSgxMik7XHJcblx0XHR9XHJcblx0fVxyXG5cdC8qIC0tLSBFTkQgPiBsaSBpbnNpZGUgLS0tICovXHJcbn1cclxuXHJcblxyXG5cclxuLmd0Yi5saXN0X3VsIHtcclxuXHRAZXh0ZW5kICVzdHlsZV91bDtcclxufVxyXG4uZ3RiLndwLWJsb2NrLXF1b3RlIHtcclxuXHRAZXh0ZW5kICVzdHlsZV9ibG9ja3F1b3RlO1xyXG59XHJcblxyXG5cclxuLyogLS0tIENLIFRYIC0tLSAqL1xyXG4vLyAuYmdfY29sb3Ige1xyXG4vLyBcdC5ja190eCB7XHJcbi8vIFx0XHRhIHtcclxuLy8gXHRcdFx0Y29sb3I6ICRib2R5LWNvbG9yICFpbXBvcnRhbnQ7XHJcbi8vIFx0XHRcdC8vIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICR3aGl0ZSA5MCUsIHRyYW5zcGFyZW50IDcwJSksIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJGxpbmstY29sb3IgMzMlLCByZ2JhKCRsaW5rLWNvbG9yLCAwLjI1KSAzMyUpO1xyXG4vLyBcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkY29sb3JfdGhyZWUgOTAlLCB0cmFuc3BhcmVudCA3MCUpLCBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRsaW5rLWNvbG9yIDMzJSwgcmdiYSgkbGluay1jb2xvciwgMC4yNSkgMzMlKTtcclxuLy8gXHRcdH1cclxuLy8gXHR9XHJcbi8vIH1cclxuLmNrX3R4IHtcclxuXHJcblxyXG5cdHRhYmxlIHtcclxuXHRcdEBleHRlbmQgLnRhYmxlO1xyXG5cdFx0Ly8gQGV4dGVuZCAudGFibGUtYm9yZGVybGVzcztcclxuXHRcdEBleHRlbmQgLnRhYmxlLWJvcmRlcmVkO1xyXG5cdFx0QGV4dGVuZCAudGFibGUtc3RyaXBlZDtcclxuXHRcdC8vIEBleHRlbmQgLnRhYmxlLWhvdmVyO1xyXG5cdFx0QGV4dGVuZCAudGFibGUtcmVzcG9uc2l2ZTtcclxuXHR9XHJcblxyXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gVUwgTElcclxuXHQvLyAmLWNvbnRlbnQge1xyXG5cclxuXHRcdHAge1xyXG5cdFx0XHQvLyB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG5cdFx0XHQvLyAtd2Via2l0LWh5cGhlbnM6IGF1dG87XHJcblx0XHRcdC8vIC1tb3otaHlwaGVuczogYXV0bztcclxuXHRcdFx0Ly8gLW1zLWh5cGhlbnM6IGF1dG87XHJcblx0XHRcdC8vIC1vLWh5cGhlbnM6IGF1dG87XHJcblx0XHRcdC8vIGh5cGhlbnM6IGF1dG87XHJcblx0XHRcdEBleHRlbmQgJWZpcnN0LWxldHRlcjtcclxuXHRcdH1cclxuXHJcblx0XHRhOm5vdCguYnRuKSB7XHJcblx0XHRcdC8vIGNvbG9yOiAkY29sb3Jfc2Vjb25kX2JpcztcclxuXHRcdFx0Y29sb3I6ICRsaW5rLWNvbG9yO1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0YSB7XHJcblxyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4yNXMgbGluZWFyO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXHJcblx0XHRcdFx0dG8gYm90dG9tLFxyXG5cdFx0XHRcdHJnYmEoI2ViMWM5YSwgMSkgMCUsXHJcblx0XHRcdFx0cmdiYSgjZmY4MzFhLCAxKSA5OCVcclxuXHRcdFx0KTtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOiAwcHggMnB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDEwMCU7XHJcblxyXG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX3NpeGU7XHJcblxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMnB4O1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0QGV4dGVuZCAlc3R5bGVfdWw7XHJcblx0XHRAZXh0ZW5kICVzdHlsZV9ibG9ja3F1b3RlO1xyXG5cclxuXHJcblx0XHQvKiAtLS0gdWwgcHJlbWllciBuaXZlYXUgLS0tICovXHJcblx0XHQ+IC53cmFwcGVySW5uZXIgPiAuaW5uZXIgPiB1bCAsXHJcblx0XHQ+IC5pbm5lciA+IHVsIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0fVxyXG5cdFx0LyogLS0tIEVORCA+IHVsIHByZW1pZXIgbml2ZWF1IC0tLSAqL1xyXG5cclxuXHJcblx0Ly8gfVxyXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gRU5EID4gVUwgTElcclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxufVxyXG4vKiAtLS0gRU5EID4gQ0sgVFggLS0tICovXHJcblxyXG5cclxuXHJcbi8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLFxyXG4vLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBPUFRJT05TXHJcblxyXG5cclxuLmxpX2ZpcnN0X3Jlc2V0IHtcclxuXHJcblx0Ly8gPiBkaXYgPiAuY2tfdHgtY29udGVudCA+IC53cmFwcGVySW5uZXIgPiAuaW5uZXIgLFxyXG5cdC8vID4gLmNrX3R4LWNvbnRlbnQgPiAuaW5uZXIge1xyXG5cclxuXHRcdC8qIC0tLSBBbGwgbGkgLS0tICovXHJcblx0XHQ+IHVsID4gbGkge1xyXG5cclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdD4gdWwge1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LyogLS0tIEVORCA+IEFsbCBsaSAtLS0gKi9cclxuXHJcblx0XHQvKiAtLS0gbGkgaW5zaWRlIC0tLSAqL1xyXG5cdFx0PiB1bCB7XHJcblxyXG5cdFx0XHRAZXh0ZW5kICVyZXNldF91bDtcclxuXHJcblx0XHRcdGxpIGxpIHtcclxuXHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRjb2xvcjogJGNvbG9yX21haW47XHJcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHJlbSgxMik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQvKiAtLS0gRU5EID4gbGkgaW5zaWRlIC0tLSAqL1xyXG5cdC8vIH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuLyogLS0tIHR4X2NvbC0yIC0tLSAqL1xyXG4udHhfY29sLTIge1xyXG5cdFxyXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuXHRcdGNvbHVtbnM6IDI7XHJcblx0XHRjb2x1bW4tZ2FwOiBwZXJjZW50YWdlKG1hdGguZGl2KDEsIDEyKSk7XHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcbi8qIC0tLSB1bF9jb2wtMiAtLS0gKi9cclxuLnVsX2NvbC0yIHtcclxuXHJcblx0LyogLS0tIHVsIHByZW1pZXIgbml2ZWF1IC0tLSAqL1xyXG5cdC8vID4gLndyYXBwZXJJbm5lciA+IC5pbm5lciA+IHVsICxcclxuXHQvLyA+IC5pbm5lciA+IHVsIHtcclxuXHQ+IHVsIHtcclxuXHJcblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcblx0XHRcdGNvbHVtbi1jb3VudDogMjtcclxuXHRcdFx0Y29sdW1uLWdhcDogcmVtKDUwKTsgLyogRXNwYWNlIGVudHJlIGNvbG9ubmUgKi9cclxuXHRcdFx0Y29sdW1uLXJ1bGU6IDFweCBzb2xpZCAjZTZlNmU2OyAvKiBUcmFpIGVudHJlIGNvbG9ubmUgKi9cclxuXHRcdH1cclxuXHJcblx0XHQvKiAtLS0gbGkgc2Vjb25kIG5pdmVhdSAtLS0gKi9cclxuXHRcdD4gbGkge1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG5cdFx0XHRcdGJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uOyAvKiBpbnRlcmRpdCBzYXV0IGRlIGNvbG9ubmUgw6AgbCdpbnTDqXJpZXVyIGR1IHRleHRlICovXHJcblx0XHRcdH1cclxuXHJcblx0XHR9XHJcblx0XHQvKiAtLS0gRU5EID4gbGkgc2Vjb25kIG5pdmVhdSAtLS0gKi9cclxuXHJcblx0fVxyXG5cdC8qIC0tLSBFTkQgPiB1bCBwcmVtaWVyIG5pdmVhdSAtLS0gKi9cclxuXHJcblxyXG59XHJcbi8qIC0tLSBFTkQgPiB1bF9jb2wtMiAtLS0gKi8iLCJcclxuXHJcbi5oMTAwIHtcclxuICAgIGhlaWdodDogMTAwdmg7XHJcbn1cclxuXHJcblxyXG5cclxuLy8gTmFtZTogICAgICAgICAgICBBbmltYXRpb25cclxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIGtleWZyYW1lIGFuaW1hdGlvbnNcclxuLy9cclxuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYW5pbWF0aW9uLSpgXHJcbi8vXHJcbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWFuaW1hdGlvbi1mYWRlYFxyXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2NhbGUtdXBgXHJcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zY2FsZS1kb3duYFxyXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2xpZGUtdG9wLSpgXHJcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20tKmBcclxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtKmBcclxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0LSpgXHJcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1rZW5idXJuc2BcclxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNoYWtlYFxyXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc3Ryb2tlYFxyXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tcmV2ZXJzZWBcclxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLWZhc3RgXHJcbi8vXHJcbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWFuaW1hdGlvbi10b2dnbGVgXHJcbi8vXHJcbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcclxuLy9cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG5cclxuLy8gVmFyaWFibGVzXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuJGFuaW1hdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNXMgIWRlZmF1bHQ7XHJcbiRhbmltYXRpb24tZmFkZS1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAwLjhzICFkZWZhdWx0O1xyXG4kYW5pbWF0aW9uLXN0cm9rZS1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgMnMgIWRlZmF1bHQ7XHJcbiRhbmltYXRpb24ta2VuYnVybnMtZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAxNXMgIWRlZmF1bHQ7XHJcbiRhbmltYXRpb24tZmFzdC1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAwLjFzICFkZWZhdWx0O1xyXG5cclxuJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGU6ICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XHJcbiRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZTogICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IEFuaW1hdGlvblxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbltjbGFzcyo9J3VrLWFuaW1hdGlvbi0nXSB7XHJcbiAgICBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZHVyYXRpb247XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbn1cclxuXHJcblxyXG4vKiBBbmltYXRpb25zXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLypcclxuICogRmFkZVxyXG4gKi9cclxuLnVrLWFuaW1hdGlvbi1mYWRlIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlO1xyXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWZhZGUtZHVyYXRpb247XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XHJcbn1cclxuXHJcbi8qXHJcbiAqIFNjYWxlXHJcbiAqL1xyXG5cclxuLnVrLWFuaW1hdGlvbi1zY2FsZS11cCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXNjYWxlLTAyOyB9XHJcbi51ay1hbmltYXRpb24tc2NhbGUtZG93biB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXNjYWxlLTE4OyB9XHJcblxyXG4vKlxyXG4gKiBTbGlkZVxyXG4gKi9cclxuXHJcbi51ay1hbmltYXRpb24tc2xpZGUtdG9wIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wOyB9XHJcbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tOyB9XHJcbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQ7IH1cclxuLnVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0OyB9XHJcblxyXG4vKlxyXG4gKiBTbGlkZSBTbWFsbFxyXG4gKi9cclxuXHJcbi51ay1hbmltYXRpb24tc2xpZGUtdG9wLXNtYWxsIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wLXNtYWxsOyB9XHJcbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tLXNtYWxsIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tLXNtYWxsOyB9XHJcbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdC1zbWFsbCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQtc21hbGw7IH1cclxuLnVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodC1zbWFsbCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0LXNtYWxsOyB9XHJcblxyXG4vKlxyXG4gKiBTbGlkZSBNZWRpdW1cclxuICovXHJcblxyXG4udWstYW5pbWF0aW9uLXNsaWRlLXRvcC1tZWRpdW0geyBhbmltYXRpb24tbmFtZTogdWstZmFkZS10b3AtbWVkaXVtOyB9XHJcbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tLW1lZGl1bSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWJvdHRvbS1tZWRpdW07IH1cclxuLnVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0LW1lZGl1bSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQtbWVkaXVtOyB9XHJcbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQtbWVkaXVtIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHQtbWVkaXVtOyB9XHJcblxyXG4vKlxyXG4gKiBLZW5idXJuc1xyXG4gKi9cclxuXHJcbi51ay1hbmltYXRpb24ta2VuYnVybnMge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLXNjYWxlLWtlbmJ1cm5zO1xyXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWtlbmJ1cm5zLWR1cmF0aW9uO1xyXG59XHJcblxyXG4vKlxyXG4gKiBTaGFrZVxyXG4gKi9cclxuXHJcbi51ay1hbmltYXRpb24tc2hha2UgeyBhbmltYXRpb24tbmFtZTogdWstc2hha2U7IH1cclxuXHJcbi8qXHJcbiAqIFNWRyBTdHJva2VcclxuICogVGhlIGAtLXVrLWFuaW1hdGlvbi1zdHJva2VgIGN1c3RvbSBwcm9wZXJ0eSBjb250YWlucyB0aGUgbG9uZ2VzdCBwYXRoIGxlbmd0aC5cclxuICogU2V0IGl0IG1hbnVhbGx5IG9yIHVzZSBgdWstc3ZnPVwic3Ryb2tlLWFuaW1hdGlvbjogdHJ1ZVwiYCB0byBzZXQgaXQgYXV0b21hdGljYWxseS5cclxuICogQWxsIHN0cm9rZXMgYXJlIGFuaW1hdGVkIGJ5IHRoZSBzYW1lIHBhY2UgYW5kIGRvZXNuJ3QgZW5kIHNpbXVsdGFuZW91c2x5LlxyXG4gKiBUbyBlbmQgc2ltdWx0YW5lb3VzbHksIGBwYXRoTGVuZ3RoPVwiMVwiYCBjb3VsZCBiZSB1c2VkLCBidXQgaXQncyBub3Qgd29ya2luZyBpbiBTYWZhcmkgeWV0LlxyXG4gKi9cclxuXHJcbi51ay1hbmltYXRpb24tc3Ryb2tlIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1zdHJva2U7XHJcbiAgICBzdHJva2UtZGFzaGFycmF5OiB2YXIoLS11ay1hbmltYXRpb24tc3Ryb2tlKTtcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1zdHJva2UtZHVyYXRpb247XHJcbn1cclxuXHJcblxyXG4vKiBEaXJlY3Rpb24gbW9kaWZpZXJcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4gLnVrLWFuaW1hdGlvbi1yZXZlcnNlIHtcclxuICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IHJldmVyc2U7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG59XHJcblxyXG5cclxuLyogRHVyYXRpb24gbW9kaWZpZXJcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4gLnVrLWFuaW1hdGlvbi1mYXN0IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWZhc3QtZHVyYXRpb247IH1cclxuXHJcblxyXG4vKiBUb2dnbGUgKEhvdmVyICsgRm9jdXMpXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKlxyXG4gKiBUaGUgdG9nZ2xlIGlzIHRyaWdnZXJlZCBvbiB0b3VjaCBkZXZpY2VzIHVzaW5nIGA6Zm9jdXNgIGFuZCB0YWJpbmRleFxyXG4gKi9cclxuXHJcbi51ay1hbmltYXRpb24tdG9nZ2xlOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpIFtjbGFzcyo9J3VrLWFuaW1hdGlvbi0nXSB7IGFuaW1hdGlvbi1uYW1lOiBub25lOyB9XHJcblxyXG4vKlxyXG4gKiAxLiBQcmV2ZW50IHRhYiBoaWdobGlnaHRpbmcgb24gaU9TLlxyXG4gKi9cclxuXHJcbi51ay1hbmltYXRpb24tdG9nZ2xlIHtcclxuICAgIC8qIDEgKi9cclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi8qXHJcbiAqIFJlbW92ZSBvdXRsaW5lIGZvciBgdGFiaW5kZXhgXHJcbiAqL1xyXG5cclxuLnVrLWFuaW1hdGlvbi10b2dnbGU6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XHJcblxyXG5cclxuLyogS2V5ZnJhbWVzIHVzZWQgYnkgYW5pbWF0aW9uIGNsYXNzZXNcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKlxyXG4gKiBGYWRlXHJcbiAqL1xyXG5cclxuQGtleWZyYW1lcyB1ay1mYWRlIHtcclxuICAgIDAlIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG5cclxuLypcclxuICogU2xpZGUgVG9wXHJcbiAqL1xyXG5cclxuQGtleWZyYW1lcyB1ay1mYWRlLXRvcCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qXHJcbiAqIFNsaWRlIEJvdHRvbVxyXG4gKi9cclxuXHJcbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20ge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qXHJcbiAqIFNsaWRlIExlZnRcclxuICovXHJcblxyXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtbGVmdCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qXHJcbiAqIFNsaWRlIFJpZ2h0XHJcbiAqL1xyXG5cclxuQGtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0IHtcclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKlxyXG4gKiBTbGlkZSBUb3AgU21hbGxcclxuICovXHJcblxyXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wLXNtYWxsIHtcclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qXHJcbiAqIFNsaWRlIEJvdHRvbSBTbWFsbFxyXG4gKi9cclxuXHJcbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20tc21hbGwge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKlxyXG4gKiBTbGlkZSBMZWZ0IFNtYWxsXHJcbiAqL1xyXG5cclxuQGtleWZyYW1lcyB1ay1mYWRlLWxlZnQtc21hbGwge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIH1cclxufVxyXG5cclxuLypcclxuICogU2xpZGUgUmlnaHQgU21hbGxcclxuICovXHJcblxyXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQtc21hbGwge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKlxyXG4gKiBTbGlkZSBUb3AgTWVkaXVtXHJcbiAqL1xyXG5cclxuQGtleWZyYW1lcyB1ay1mYWRlLXRvcC1tZWRpdW0ge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qXHJcbiAqIFNsaWRlIEJvdHRvbSBNZWRpdW1cclxuICovXHJcblxyXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tLW1lZGl1bSB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKlxyXG4gKiBTbGlkZSBMZWZ0IE1lZGl1bVxyXG4gKi9cclxuXHJcbkBrZXlmcmFtZXMgdWstZmFkZS1sZWZ0LW1lZGl1bSB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIH1cclxufVxyXG5cclxuLypcclxuICogU2xpZGUgUmlnaHQgTWVkaXVtXHJcbiAqL1xyXG5cclxuQGtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0LW1lZGl1bSB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKlxyXG4gKiBTY2FsZSBVcFxyXG4gKi9cclxuXHJcbkBrZXlmcmFtZXMgdWstZmFkZS1zY2FsZS0wMiB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMik7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qXHJcbiAqIFNjYWxlIERvd25cclxuICovXHJcblxyXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtc2NhbGUtMTgge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjgpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKlxyXG4gKiBLZW5idXJuc1xyXG4gKi9cclxuXHJcbkBrZXlmcmFtZXMgdWstc2NhbGUta2VuYnVybnMge1xyXG4gICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9XHJcbn1cclxuXHJcbi8qXHJcbiAqIFNoYWtlXHJcbiAqL1xyXG5cclxuQGtleWZyYW1lcyB1ay1zaGFrZSB7XHJcbiAgICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxyXG4gICAgMTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC05cHgpOyB9XHJcbiAgICAyMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTsgfVxyXG4gICAgMzAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03cHgpOyB9XHJcbiAgICA0MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNnB4KTsgfVxyXG4gICAgNTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpOyB9XHJcbiAgICA2MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTsgfVxyXG4gICAgNzAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpOyB9XHJcbiAgICA4MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsgfVxyXG4gICAgOTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpOyB9XHJcbn1cclxuXHJcbi8qXHJcbiAqIFN0cm9rZVxyXG4gKi9cclxuXHJcbiBAa2V5ZnJhbWVzIHVrLXN0cm9rZSB7XHJcbiAgICAwJSB7IHN0cm9rZS1kYXNob2Zmc2V0OiB2YXIoLS11ay1hbmltYXRpb24tc3Ryb2tlKTsgfVxyXG4gICAgMTAwJSB7IHN0cm9rZS1kYXNob2Zmc2V0OiAwOyB9XHJcbn1cclxuXHJcblxyXG4vLyBIb29rc1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbkBpZihtaXhpbi1leGlzdHMoaG9vay1hbmltYXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLWFuaW1hdGlvbi1taXNjKCk7fVxyXG5cclxuLy8gQG1peGluIGhvb2stYW5pbWF0aW9uLW1pc2MoKXt9XHJcbiIsIlxyXG5cclxuXHJcbi8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLFxyXG4vLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBVSUtJVFxyXG4vLyB3cC1jb250ZW50XFx0aGVtZXNcXGNhc3RvcnNcXHNyY1xcanNcXGxpYnNcXHVpa2l0XFxzcmNcXHNjc3NcXHZhcmlhYmxlcy10aGVtZS5zY3NzXHJcbiRnbG9iYWwtei1pbmRleDogMTAwMCAhZGVmYXVsdDtcclxuJGJyZWFrcG9pbnQtc21hbGw6IDY0MHB4ICFkZWZhdWx0O1xyXG4kYnJlYWtwb2ludC1tZWRpdW06IDk2MHB4ICFkZWZhdWx0O1xyXG4kYnJlYWtwb2ludC1sYXJnZTogMTIwMHB4ICFkZWZhdWx0O1xyXG4kYnJlYWtwb2ludC14bGFyZ2U6IDE2MDBweCAhZGVmYXVsdDtcclxuXHJcbiRnbG9iYWwtZ3V0dGVyOiAzMHB4ICFkZWZhdWx0O1xyXG4kZ2xvYmFsLXNtYWxsLWd1dHRlcjogMTVweCAhZGVmYXVsdDtcclxuXHJcbi8vICoqKiAvLy8gTmFtZTogICAgICAgICAgICBDb3ZlclxyXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyB0byBsZXQgZW1iZWRkZWQgY29udGVudCBjb3ZlciB0aGVpciBjb250YWluZXIgaW4gYSBjZW50ZXJlZCBwb3NpdGlvblxyXG4vL1xyXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jb3ZlcmBcclxuLy9cclxuLy8gU3ViLW9iamVjdDogICAgICBgdWstY292ZXItY29udGFpbmVyYFxyXG4vL1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBDb3ZlclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qXHJcbiAqIFdvcmtzIHdpdGggaWZyYW1lcyBhbmQgZW1iZWRkZWQgY29udGVudFxyXG4gKiAxLiBBcHBseSB0cmFuc2Zvcm0gaW5zdGFudGx5LiBOZWVkZWQgaWYgdHJhbnNmb3JtIGlzIHRyYW5zaXRpb25lZC5cclxuICogMi4gUmVzZXQgcmVzcG9uc2l2ZW5lc3MgZm9yIGVtYmVkZGVkIGNvbnRlbnRcclxuICogMy4gQ2VudGVyIG9iamVjdFxyXG4gKiBOb3RlOiBQZXJjZW50IHZhbHVlcyBvbiB0aGUgYHRvcGAgcHJvcGVydHkgb25seSB3b3JrcyBpZiB0aGlzIGVsZW1lbnRcclxuICogICAgICAgaXMgYWJzb2x1dGUgcG9zaXRpb25lZCBvciBpZiB0aGUgY29udGFpbmVyIGhhcyBhIGhlaWdodFxyXG4gKi9cclxuXHJcbi51ay1jb3ZlcixcclxuLyogMSAqL1xyXG5bdWstY292ZXJdIHtcclxuICAgIC8qIDIgKi9cclxuICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgIC8qIDMgKi9cclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgLS11ay1wb3NpdGlvbi10cmFuc2xhdGUteDogLTUwJTtcclxuICAgIC0tdWstcG9zaXRpb24tdHJhbnNsYXRlLXk6IC01MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS11ay1wb3NpdGlvbi10cmFuc2xhdGUteCksIHZhcigtLXVrLXBvc2l0aW9uLXRyYW5zbGF0ZS15KSk7XHJcbn1cclxuXHJcbmlmcmFtZS51ay1jb3ZlciB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XHJcblxyXG5cclxuLyogQ29udGFpbmVyXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLypcclxuICogMS4gUGFyZW50IGNvbnRhaW5lciB3aGljaCBjbGlwcyByZXNpemVkIG9iamVjdFxyXG4gKiAyLiBOZWVkZWQgaWYgdGhlIGNoaWxkIGlzIHBvc2l0aW9uZWQgYWJzb2x1dGUuIFNlZSBub3RlIGFib3ZlXHJcbiAqL1xyXG5cclxuLnVrLWNvdmVyLWNvbnRhaW5lciB7XHJcbiAgICAvKiAxICovXHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgLyogMiAqL1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG4vLyAqKiogLy8vIE5hbWU6ICAgICAgICAgICAgU3RpY2t5XHJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIG1ha2UgZWxlbWVudHMgc3RpY2t5IGluIHRoZSB2aWV3cG9ydFxyXG4vL1xyXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zdGlja3lgXHJcbi8vXHJcbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLXN0aWNreS1maXhlZGBcclxuLy9cclxuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxyXG4vL1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcblxyXG4vLyBWYXJpYWJsZXNcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4kc3RpY2t5LXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4IC0gMjAgIWRlZmF1bHQ7XHJcblxyXG4kc3RpY2t5LWFuaW1hdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgMC4ycyAhZGVmYXVsdDtcclxuJHN0aWNreS1yZXZlcnNlLWFuaW1hdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgIDAuMnMgIWRlZmF1bHQ7XHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogU3RpY2t5XHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLypcclxuICogMS4gRm9yY2UgbmV3IGxheWVyIHRvIHJlc29sdmUgZnJhbWUgcmF0ZSBpc3N1ZXMgb24gZGV2aWNlcyB3aXRoIGxvd2VyIGZyYW1lIHJhdGVzXHJcbiAqL1xyXG5cclxuLnVrLXN0aWNreS1maXhlZCB7XHJcbiAgICB6LWluZGV4OiAkc3RpY2t5LXotaW5kZXg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAvKiAxICovXHJcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLypcclxuICogRmFzdGVyIGFuaW1hdGlvbnNcclxuICovXHJcblxyXG4udWstc3RpY2t5W2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkc3RpY2t5LWFuaW1hdGlvbi1kdXJhdGlvbjsgfVxyXG5cclxuLnVrLXN0aWNreS51ay1hbmltYXRpb24tcmV2ZXJzZSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHN0aWNreS1yZXZlcnNlLWFuaW1hdGlvbi1kdXJhdGlvbjsgfVxyXG5cclxuXHJcblxyXG5cclxuLy8gKioqIC8vLyBOYW1lOiAgICAgICAgICAgIFBvc2l0aW9uXHJcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIHRvIHBvc2l0aW9uIGNvbnRlbnRcclxuLy9cclxuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcG9zaXRpb24tYWJzb2x1dGVgXHJcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXJlbGF0aXZlYFxyXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi16LWluZGV4YFxyXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3BgXHJcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWJvdHRvbWBcclxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tbGVmdGBcclxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tcmlnaHRgXHJcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXRvcC1sZWZ0YFxyXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3AtY2VudGVyYFxyXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3AtcmlnaHRgXHJcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWJvdHRvbS1sZWZ0YFxyXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyYFxyXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1ib3R0b20tcmlnaHRgXHJcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWNlbnRlcmBcclxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tY2VudGVyLWxlZnRgXHJcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWNlbnRlci1yaWdodGBcclxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tY292ZXJgXHJcbi8vXHJcbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXBvc2l0aW9uLXNtYWxsYFxyXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1tZWRpdW1gXHJcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWxhcmdlYFxyXG4vL1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcblxyXG4vLyBWYXJpYWJsZXNcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4kcG9zaXRpb24tc21hbGwtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xyXG4kcG9zaXRpb24tbWVkaXVtLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xyXG4kcG9zaXRpb24tbGFyZ2UtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xyXG4kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogUG9zaXRpb25cclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG46cm9vdCB7IC0tdWstcG9zaXRpb24tbWFyZ2luLW9mZnNldDogMHB4OyB9XHJcblxyXG5cclxuLyogRGlyZWN0aW9uc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qXHJcbiAqIDEuIFByZXZlbnQgY29udGVudCBvdmVyZmxvdy5cclxuICovXHJcblxyXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi10b3AnXSxcclxuW2NsYXNzKj0ndWstcG9zaXRpb24tYm90dG9tJ10sXHJcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWxlZnQnXSxcclxuW2NsYXNzKj0ndWstcG9zaXRpb24tcmlnaHQnXSxcclxuW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyJ10ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcbiAgICAvKiAxICovXHJcbiAgICBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAtICh2YXIoLS11ay1wb3NpdGlvbi1tYXJnaW4tb2Zmc2V0KSAqIDIpKScpO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuLypcclxuICogRWRnZXNcclxuICogRG9uJ3QgdXNlIGB3aWR0aDogMTAwJWAgYmVjYXVzZSBpdCdzIHdyb25nIGlmIHRoZSBwYXJlbnQgaGFzIHBhZGRpbmcuXHJcbiAqL1xyXG5cclxuLnVrLXBvc2l0aW9uLXRvcCB7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi51ay1wb3NpdGlvbi1ib3R0b20ge1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG59XHJcblxyXG4udWstcG9zaXRpb24tbGVmdCB7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG59XHJcblxyXG4udWstcG9zaXRpb24tcmlnaHQge1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi8qXHJcbiAqIENvcm5lcnNcclxuICovXHJcblxyXG4udWstcG9zaXRpb24tdG9wLWxlZnQge1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxufVxyXG5cclxuLnVrLXBvc2l0aW9uLXRvcC1yaWdodCB7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxufVxyXG5cclxuLnVrLXBvc2l0aW9uLWJvdHRvbS1sZWZ0IHtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbn1cclxuXHJcbi51ay1wb3NpdGlvbi1ib3R0b20tcmlnaHQge1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi8qXHJcbiAqIENlbnRlclxyXG4gKiAxLiBGaXggdGV4dCB3cmFwcGluZyBpZiBjb250ZW50IGlzIGxhcmdlciB0aGFuIDUwJSBvZiB0aGUgY29udGFpbmVyLlxyXG4gKiAgICBVc2luZyBgbWF4LWNvbnRlbnRgIHJlcXVpcmVzIGBtYXgtd2lkdGhgIG9mIDEwMCUgd2hpY2ggaXMgc2V0IGdlbmVyYWxseS5cclxuICovXHJcblxyXG4udWstcG9zaXRpb24tY2VudGVyIHtcclxuICAgIHRvcDogdW5xdW90ZSgnY2FsYyg1MCUgLSB2YXIoLS11ay1wb3NpdGlvbi1tYXJnaW4tb2Zmc2V0KSknKTtcclxuICAgIGxlZnQ6IHVucXVvdGUoJ2NhbGMoNTAlIC0gdmFyKC0tdWstcG9zaXRpb24tbWFyZ2luLW9mZnNldCkpJyk7XHJcbiAgICAtLXVrLXBvc2l0aW9uLXRyYW5zbGF0ZS14OiAtNTAlO1xyXG4gICAgLS11ay1wb3NpdGlvbi10cmFuc2xhdGUteTogLTUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLXVrLXBvc2l0aW9uLXRyYW5zbGF0ZS14KSwgdmFyKC0tdWstcG9zaXRpb24tdHJhbnNsYXRlLXkpKTtcclxuICAgIC8qIDEgKi9cclxuICAgIHdpZHRoOiBtYXgtY29udGVudDtcclxufVxyXG5cclxuLyogVmVydGljYWwgKi9cclxuW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcclxuW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10ge1xyXG4gICAgdG9wOiB1bnF1b3RlKCdjYWxjKDUwJSAtIHZhcigtLXVrLXBvc2l0aW9uLW1hcmdpbi1vZmZzZXQpKScpO1xyXG4gICAgLS11ay1wb3NpdGlvbi10cmFuc2xhdGUteTogLTUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIHZhcigtLXVrLXBvc2l0aW9uLXRyYW5zbGF0ZS15KSk7XHJcbn1cclxuXHJcbi51ay1wb3NpdGlvbi1jZW50ZXItbGVmdCB7IGxlZnQ6IDA7IH1cclxuLnVrLXBvc2l0aW9uLWNlbnRlci1yaWdodCB7IHJpZ2h0OiAwOyB9XHJcblxyXG4udWstcG9zaXRpb24tY2VudGVyLWxlZnQtb3V0IHtcclxuICAgIHJpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xyXG59XHJcblxyXG4udWstcG9zaXRpb24tY2VudGVyLXJpZ2h0LW91dCB7XHJcbiAgICBsZWZ0OiAxMDAlO1xyXG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xyXG59XHJcblxyXG4vKiBIb3Jpem9udGFsICovXHJcbi51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxyXG4udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7XHJcbiAgICBsZWZ0OiB1bnF1b3RlKCdjYWxjKDUwJSAtIHZhcigtLXVrLXBvc2l0aW9uLW1hcmdpbi1vZmZzZXQpKScpO1xyXG4gICAgLS11ay1wb3NpdGlvbi10cmFuc2xhdGUteDogLTUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLXVrLXBvc2l0aW9uLXRyYW5zbGF0ZS14KSwgMCk7XHJcbiAgICAvKiAxICovXHJcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi51ay1wb3NpdGlvbi10b3AtY2VudGVyIHsgdG9wOiAwOyB9XHJcbi51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHsgYm90dG9tOiAwOyB9XHJcblxyXG4vKlxyXG4gKiBDb3ZlclxyXG4gKi9cclxuXHJcbi51ay1wb3NpdGlvbi1jb3ZlciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbn1cclxuXHJcblxyXG4vKiBNYXJnaW5cclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4udWstcG9zaXRpb24tc21hbGwge1xyXG4gICAgbWFyZ2luOiAkcG9zaXRpb24tc21hbGwtbWFyZ2luO1xyXG4gICAgLS11ay1wb3NpdGlvbi1tYXJnaW4tb2Zmc2V0OiAjeyRwb3NpdGlvbi1zbWFsbC1tYXJnaW59O1xyXG59XHJcblxyXG4udWstcG9zaXRpb24tbWVkaXVtIHtcclxuICAgIG1hcmdpbjogJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW47XHJcbiAgICAtLXVrLXBvc2l0aW9uLW1hcmdpbi1vZmZzZXQ6ICN7JHBvc2l0aW9uLW1lZGl1bS1tYXJnaW59O1xyXG59XHJcblxyXG4udWstcG9zaXRpb24tbGFyZ2Uge1xyXG4gICAgbWFyZ2luOiAkcG9zaXRpb24tbGFyZ2UtbWFyZ2luO1xyXG4gICAgLS11ay1wb3NpdGlvbi1tYXJnaW4tb2Zmc2V0OiAjeyRwb3NpdGlvbi1sYXJnZS1tYXJnaW59O1xyXG59XHJcblxyXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cclxuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XHJcblxyXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlIHtcclxuICAgICAgICBtYXJnaW46ICRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbDtcclxuICAgICAgICAtLXVrLXBvc2l0aW9uLW1hcmdpbi1vZmZzZXQ6ICN7JHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sfTtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG4vKiBTY2hlbWVzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnVrLXBvc2l0aW9uLXJlbGF0aXZlIHsgcG9zaXRpb246IHJlbGF0aXZlICAhaW1wb3J0YW50OyB9XHJcbi51ay1wb3NpdGlvbi1hYnNvbHV0ZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZSAgIWltcG9ydGFudDsgfVxyXG4udWstcG9zaXRpb24tZml4ZWQgeyBwb3NpdGlvbjogZml4ZWQgICFpbXBvcnRhbnQ7IH1cclxuLnVrLXBvc2l0aW9uLXN0aWNreSB7IHBvc2l0aW9uOiBzdGlja3kgICFpbXBvcnRhbnQ7IH1cclxuXHJcblxyXG4vKiBMYXllclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi51ay1wb3NpdGlvbi16LWluZGV4IHsgei1pbmRleDogMTsgfVxyXG5cclxuLnVrLXBvc2l0aW9uLXotaW5kZXgtemVybyB7XHJcbiAgICB6LWluZGV4OiAwXHJcbn1cclxuXHJcbi51ay1wb3NpdGlvbi16LWluZGV4LW5lZ2F0aXZlIHtcclxuICAgIHotaW5kZXg6IC0xXHJcbn1cclxuXHJcbi51ay1wb3NpdGlvbi16LWluZGV4LWhpZ2gge1xyXG4gICAgei1pbmRleDogOTkwXHJcbn1cclxuXHJcbi51ay1wb3NpdGlvbi16LWluZGV4LWhpZ2hlc3Qge1xyXG4gICAgei1pbmRleDogMTA2MFxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogSGVpZ2h0XHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5bY2xhc3MqPVwidWstaGVpZ2h0XCJdIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcbi8qXHJcbiAqIE9ubHkgd29ya3MgaWYgcGFyZW50IGVsZW1lbnQgaGFzIGEgaGVpZ2h0IHNldFxyXG4gKi9cclxuLnVrLWhlaWdodC0xLTEge1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG4vKlxyXG4gKiBVc2VmdWwgdG8gY3JlYXRlIGltYWdlIHRlYXNlcnNcclxuICovXHJcbi51ay1oZWlnaHQtdmlld3BvcnQge1xyXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG59XHJcbi51ay1oZWlnaHQtdmlld3BvcnQtMiB7XHJcbiAgbWluLWhlaWdodDogMjAwdmg7XHJcbn1cclxuLnVrLWhlaWdodC12aWV3cG9ydC0zIHtcclxuICBtaW4taGVpZ2h0OiAzMDB2aDtcclxufVxyXG4udWstaGVpZ2h0LXZpZXdwb3J0LTQge1xyXG4gIG1pbi1oZWlnaHQ6IDQwMHZoO1xyXG59XHJcbi8qXHJcbiAqIFBpeGVsXHJcbiAqIFVzZWZ1bCBmb3IgYG92ZXJmbG93OiBhdXRvYFxyXG4gKi9cclxuLnVrLWhlaWdodC1zbWFsbCB7XHJcbiAgaGVpZ2h0OiAxNTBweDtcclxufVxyXG4udWstaGVpZ2h0LW1lZGl1bSB7XHJcbiAgaGVpZ2h0OiAzMDBweDtcclxufVxyXG4udWstaGVpZ2h0LWxhcmdlIHtcclxuICBoZWlnaHQ6IDQ1MHB4O1xyXG59XHJcbi51ay1oZWlnaHQtbWF4LXNtYWxsIHtcclxuICBtYXgtaGVpZ2h0OiAxNTBweDtcclxufVxyXG4udWstaGVpZ2h0LW1heC1tZWRpdW0ge1xyXG4gIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG59XHJcbi51ay1oZWlnaHQtbWF4LWxhcmdlIHtcclxuICBtYXgtaGVpZ2h0OiA0NTBweDtcclxufVxyXG5cclxuXHJcblxyXG5cclxuLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogVUlLSVRcclxuLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiosIiwiLypcclxuZ3V0ZW5iZXJnLWNvbnRlbnQgXHJcblxyXG4gICAgZ3RiX2N1c3QgICAgTm91dmVhdSBibG9jayBjcsOpw6lcclxuICAgIGd0Yl9kZWYgICAgIEJsb2NrIHBhciBkZWZhdWx0XHJcbiAgICBndGJfcGF0ICAgICBCbG9jayBwYXR0ZXJuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgICBcclxuZGF0YS1hbGlnbj1cImNlbnRlclwiICAgICAgICAgICBhbGlnbmNlbnRlciBcclxuXHJcbmRhdGEtYWxpZ249XCJ3aWRlXCIgICAgICAgICAgICAgYWxpZ253aWRlXHJcbmRhdGEtYWxpZ249XCJmdWxsXCIgICAgICAgICAgICAgYWxpZ25mdWxsXHJcblxyXG5kYXRhLWFsaWduPVwibGVmdFwiICAgICAgICAgICAgIGFsaWdubGVmdFxyXG5kYXRhLWFsaWduPVwicmlnaHRcIiAgICAgICAgICAgIGFsaWducmlnaHRcclxuXHJcbiovXHJcblxyXG5AdXNlIFwic2FzczptYXRoXCI7XHJcblxyXG5cclxuXHJcbiViZ3RfbWIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA2cmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gKioqICoqKioqKiBDaWJsZXIgbGUgcHJlbWllciBuaXZlYXVcclxuLmd1dGVuYmVyZy1jb250ZW50IHtcclxuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG5cclxuICAgIC8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLFxyXG4gICAgLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogU2VjdGlvbiBjb250ZW5ldXJcclxuICAgID4gLmd0Yl9jdXN0LnBiLTQge1xyXG4gICAgICAgICsgLnNlY3Rpb24tY29udGVuZXVyIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAubXQtbjQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgPiAuZ3RiX2N1c3QucGItbGctNiB7XHJcbiAgICAgICAgKyAuc2VjdGlvbi1jb250ZW5ldXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBAZXh0ZW5kIC5tdC1uNjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC02cmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLFxyXG4gICAgLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogVGFpbGxlIHBhciBkZWZhdWx0XHJcbiAgIFxyXG4gICAgPiAud3AtYmxvY2stbWVkaWEtdGV4dCxcclxuICAgID4gLmFsaWduY2VudGVyLFxyXG4gICAgPiAuZ3RiX2RlZiB7XHJcbiAgICAgICAgZmxleDogMCAwIHBlcmNlbnRhZ2UobWF0aC5kaXYoMTAsIDEyKSk7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKG1hdGguZGl2KDEwLCAxMikpO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKG1hdGguZGl2KDEsIDEyKSk7XHJcbiAgICBcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCBwZXJjZW50YWdlKG1hdGguZGl2KDYsIDEyKSk7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogcGVyY2VudGFnZShtYXRoLmRpdig2LCAxMikpO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZShtYXRoLmRpdigzLCAxMikpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiosXHJcbiAgICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBPcHRpb24gY2xhc3MgdG9vbGJhclxyXG5cclxuICAgIC5hbGlnbndpZGUge1xyXG4gICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6IGJsdWU7XHJcbiAgICAgICAgZmxleDogMCAwIDgwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IDgwJTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTAlO1xyXG4gICAgfVxyXG4gICAgLmFsaWduZnVsbCB7XHJcbiAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogeWVsbG93O1xyXG4gICAgICAgIGZsZXg6IDAgMCBwZXJjZW50YWdlKG1hdGguZGl2KDEyLCAxMikpO1xyXG4gICAgICAgIG1heC13aWR0aDogcGVyY2VudGFnZShtYXRoLmRpdigxMiwgMTIpKTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZShtYXRoLmRpdigwLCAxMikpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIC5hbGlnbmxlZnQge1xyXG4gICAgLy8gICAgIG1heC13aWR0aDogY2FsYygxMDI0cHggLyAyKTtcclxuICAgIC8vICAgICBtYXJnaW4tbGVmdDogY2FsYygoMTAwJSAtIDEwMjRweCkgLyAyKTtcclxuICAgIC8vIH1cclxuXHJcbiAgICAvLyAuYWxpZ25yaWdodCB7XHJcbiAgICAvLyAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMjRweCAvIDIpO1xyXG4gICAgLy8gICAgIG1hcmdpbi1yaWdodDogY2FsYygoMTAwJSAtIDEwMjRweCkgLyAyKTtcclxuICAgIC8vIH1cclxuXHJcblxyXG4gICAgLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiosXHJcbiAgICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBURVhUIElNRyBwYXR0ZXJuXHJcbiAgICA+IC53cC1ibG9jay1tZWRpYS10ZXh0IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA0cmVtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XHJcbiAgICB9XHJcbiAgICA+IC53cC1ibG9jay1tZWRpYS10ZXh0IH4gLndwLWJsb2NrLW1lZGlhLXRleHQge1xyXG4gICAgICAgIC8vIEBleHRlbmQgJWJndF9tYjtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwcmVtO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgPiAud3AtYmxvY2stbWVkaWEtdGV4dCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCBwZXJjZW50YWdlKG1hdGguZGl2KDEyLCAxMikpO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMTIsIDEyKSk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKG1hdGguZGl2KDAsIDEyKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKixcclxuICAgIC8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIERPVUJMRSBXQVZFXHJcblxyXG4gICAgPiAud2F2ZV9kb3VibGUge1xyXG4gICAgICAgIGZsZXg6IDAgMCBwZXJjZW50YWdlKG1hdGguZGl2KDEyLCAxMikpO1xyXG4gICAgICAgIG1heC13aWR0aDogcGVyY2VudGFnZShtYXRoLmRpdigxMiwgMTIpKTtcclxuICAgICAgICAvLyBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgxIC8gMTIpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKixcclxuICAgIC8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIERPVUJMRSBUSVRSRVxyXG4gICAgPiAudGl0cmVfZG91YmxlX2Mge1xyXG5cclxuICAgICAgICAudGl0cmVfZG91YmxlIHtcclxuXHJcbiAgICAgICAgICAgIC8qIHdwLWNvbnRlbnRcXHRoZW1lc1xccGx1bmVcXHRlbXBsYXRlLXBhcnRzXFxibG9ja3MtZ3V0ZW5iZXJnXFx0aXRyZS1kb3VibGVcXGJsb2NrLnNjc3MgKi9cclxuXHJcbiAgICAgICAgICAgIC8qICBjb2wtMTAgY29sLXhsLTggb2Zmc2V0LTEgb2Zmc2V0LXhsLTIgbWItNCAqL1xyXG5cclxuICAgICAgICAgICAgZmxleDogMCAwIHBlcmNlbnRhZ2UobWF0aC5kaXYoMTAsIDEyKSk7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogcGVyY2VudGFnZShtYXRoLmRpdigxMCwgMTIpKTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMSwgMTIpKTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC8vIG1hcmdpbi10b3A6IDJyZW07XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBwZXJjZW50YWdlKG1hdGguZGl2KDYsIDEyKSk7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UobWF0aC5kaXYoNiwgMTIpKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKG1hdGguZGl2KDMsIDEyKSk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2cmVtO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKixcclxuICAgIC8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEdBTEVSSUVcclxuICAgIFxyXG4gICAgPiAud3AtYmxvY2stZ2FsbGVyeS5hbGlnbnJpZ2h0ICxcclxuICAgID4gLndwLWJsb2NrLWdhbGxlcnkuYWxpZ25sZWZ0IHtcclxuICAgICAgICBmbGV4OiAwIDAgcGVyY2VudGFnZShtYXRoLmRpdigxMCwgMTIpKTtcclxuICAgICAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMTAsIDEyKSk7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMSwgMTIpKTtcclxuXHJcbiAgICAgICAgQGV4dGVuZCAlYmd0X21iO1xyXG4gICAgfVxyXG4gICAgPiAud3AtYmxvY2stZ2FsbGVyeS5hbGlnbmxlZnQge1xyXG4gICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHllbGxvdztcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICBmbGV4OiAwIDAgcGVyY2VudGFnZShtYXRoLmRpdig5LjUsIDI0KSk7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogcGVyY2VudGFnZShtYXRoLmRpdig5LjUsIDI0KSk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKG1hdGguZGl2KDIsIDI0KSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgPiAud3AtYmxvY2stZ2FsbGVyeS5hbGlnbnJpZ2h0IHtcclxuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlO1xyXG4gICAgICAgICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCBwZXJjZW50YWdlKG1hdGguZGl2KDkuNSwgMjQpKTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKG1hdGguZGl2KDkuNSwgMjQpKTtcclxuICAgICAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiBwZXJjZW50YWdlKDIgLyAyNCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKG1hdGguZGl2KDEsIDI0KSk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiosXHJcbiAgICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBHUkFOREUgSU1BR0VcclxuXHJcbiAgICA+IC53cC1ibG9jay1jb2x1bW5zLFxyXG4gICAgPiAud3AtYmxvY2stY292ZXIge1xyXG4gICAgICAgIGZsZXg6IDAgMCBwZXJjZW50YWdlKG1hdGguZGl2KDEwLCAxMikpO1xyXG4gICAgICAgIG1heC13aWR0aDogcGVyY2VudGFnZShtYXRoLmRpdigxMCwgMTIpKTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZShtYXRoLmRpdigxLCAxMikpO1xyXG5cclxuICAgICAgICBAZXh0ZW5kICViZ3RfbWI7XHJcbiAgICB9XHJcblxyXG5cclxufVxyXG4vLyAqKiogKioqKioqIEVORCA+IENpYmxlciBsZSBwcmVtaWVyIG5pdmVhdVxyXG5cclxuXHJcblxyXG5cclxuLy8gKioqIGJsb2NrcXVvdGVcclxuLndwLWJsb2NrLXF1b3RlIHtcclxuXHJcbiAgICBwYWRkaW5nLXRvcDogMC40cmVtO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDAuNnJlbTtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX21haW47XHJcblxyXG4gICAgLnRleHQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vICoqKiBCdXR0b25zXHJcbi53cC1ibG9jay1idXR0b25zIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgID4gLndwLWJsb2NrLWJ1dHRvbiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xyXG5cclxuJHBhcmVudFJhdGlvOiBtYXRoLmRpdigxNSwgNyk7XHJcbiR2aWRlb1JhdGlvOiBtYXRoLmRpdigxNiwgOSk7XHJcbiR2aWRlb1dpZHRoOiA1NjA7XHJcblxyXG5cclxuLml0ZW1fdmlkZW8ge1xyXG5cclxuICBpZnJhbWUuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtIHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgfVxyXG4gIFxyXG59XHJcblxyXG4uaXRlbV92aWRlby5lbWJlZC1yZXNwb25zaXZlLTE1Ynk3W2RhdGEtZm9ybWF0LXZpZGVvID0gXCIxNl85XCJdIHtcclxuXHJcbiAgaWZyYW1lLmVtYmVkLXJlc3BvbnNpdmUtaXRlbSB7XHJcbiAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZShjYWxjKDEwMCAvICN7JHZpZGVvV2lkdGh9ICogI3skcGFyZW50UmF0aW99ICogI3skdmlkZW9SYXRpb30pKTtcclxuXHJcbiAgICAvLyBjb250ZW5ldXIgMTUvN1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjU0KTtcclxuICB9XHJcbiAgXHJcbn1cclxuLml0ZW1fdmlkZW8uZW1iZWQtcmVzcG9uc2l2ZS0yMWJ5OVtkYXRhLWZvcm1hdC12aWRlbyA9IFwiMTZfOVwiXSB7XHJcbiAgXHJcbiAgaWZyYW1lLmVtYmVkLXJlc3BvbnNpdmUtaXRlbSB7XHJcbiAgICBcclxuICAgIC8vIGNvbnRlbmV1ciAyMS85XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMzUxODUpO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG4ubWVudS1pdGVtIHtcclxuICBhW2hyZWY9XCIjXCJdIHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuOjpzZWxlY3Rpb24ge1xyXG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvcl9tYWluLCAuNik7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4uaDcwdmgtbGcge1xyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgIGhlaWdodDogNzB2aDtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLmgxMDB2aC1sZyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLmh0ZXN0dmgge1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIH1cclxuICBcclxufVxyXG4uaDEwMHZoIHtcclxuICAgIGhlaWdodDogMTAwdmg7XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICB9XHJcbiAgXHJcbn1cclxuLmVtYmVkLXJlc3BvbnNpdmUge1xyXG4gIC8vIGJhY2tncm91bmQtY29sb3I6ICM4ZWE3NmI7XHJcbiAgLy8gYmFja2dyb3VuZC1jb2xvcjogI2M1ZDdhYztcclxuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyMzI2O1xyXG4gIC8vIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMzMzMzMzMsICM4ZWE3NmIpO1xyXG5cclxuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbWFpbjtcclxuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1jb2xvcjtcclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjYzVkN2FjLCAkY29sb3JfbWFpbik7XHJcbn1cclxuXHJcblxyXG5cclxuLy8gKioqICoqKioqKiBQTFVHSU4gcG9wdXAgcGx1bmUgLSBGYW5jeWJveFxyXG4uZmFuY3lib3hfX2NvbnRlbnQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcbi8vICoqKiAqKioqKiogRU5EID4gUExVR0lOIHBvcHVwIHBsdW5lIC0gRmFuY3lib3hcclxuXHJcblxyXG5cclxuXHJcbi51ay1zZWN0aW9uIHtcclxuICAudWstY292ZXItY29udGFpbmVyIHtcclxuICAgIGltZyB7XHJcbiAgICAgIC8vIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIC8vIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuICAuaXRlbV91ayB7XHJcbiAgICBoMSB7XHJcbiAgICAgIC8vIGZvbnQtc2l6ZTogNXJlbTtcclxuICAgICAgLy8gcGFkZGluZzogNXZoIDA7XHJcbiAgICB9XHJcblxyXG4gICAgJi0zIHtcclxuICAgICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgICAgcGFkZGluZzogMjAwcHggMDtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAudGl0cmVfZG91YmxlX2Mge1xyXG4gICAgLnNvdXN0aXRyZSAsXHJcbiAgICAudGl0cmUge1xyXG4gICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gbWFyZ2luLWJvdHRvbTogNTB2aDtcclxuICAvLyBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbmkuaS1sZXphcmQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogMTIwcHg7XHJcbiAgaGVpZ2h0OiA2MXB4O1xyXG4gIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2ltZ19kZWNvL2ktbGV6YXJkLnN2ZycpIG5vLXJlcGVhdDtcclxuXHJcbiAgZmlsdGVyOiBpbnZlcnQoOTAlKSBzZXBpYSgyJSkgc2F0dXJhdGUoMTkyNCUpIGh1ZS1yb3RhdGUoMTg4ZGVnKSBicmlnaHRuZXNzKDk5JSkgY29udHJhc3QoOTElKTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xyXG4gICAgd2lkdGg6IDE2MHB4O1xyXG4gICAgaGVpZ2h0OiA4MXB4O1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEwJSk7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC01cmVtO1xyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICB3aWR0aDogMzAwcHg7XHJcbiAgICBoZWlnaHQ6IDE1MnB4O1xyXG4gICAgZmlsdGVyOiBub25lO1xyXG4gICAgICBcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xMCUpO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtMTFyZW07XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gKioqICoqKioqKiBERUNPIHRyYWkgdmVydGljYWxcclxuXHJcbi8vIC50eF9pbWcgLnR4X2ltZy10eCAuY2tfdHggPiBoMjpudGgtY2hpbGQoMSkgeyAgXHJcblxyXG4vLyAgIGZvbnQtc2l6ZTogcmVtKDMwKTtcclxuLy8gICBmb250LWZhbWlseTogJGZvbnRfc2Vjb25kO1xyXG4gICAgXHJcbi8vICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4vLyAgICAgZm9udC1zaXplOiByZW0oNTApO1xyXG4vLyAgIH1cclxuXHJcbi8vICAgJjphZnRlciB7XHJcbi8vICAgICBjb250ZW50OiAnXFwwMDIwJztcclxuLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIFxyXG4vLyAgICAgd2lkdGg6IDFweDtcclxuLy8gICAgIGhlaWdodDogNjBweDtcclxuICAgIFxyXG4vLyAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbi8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWNvbG9yLCAuNSk7XHJcblxyXG4vLyAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTspO1xyXG4gICBcclxuLy8gICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuLy8gICAgICAgaGVpZ2h0OiAxMDBweDtcclxuLy8gICAgIH1cclxuLy8gICB9XHJcblxyXG4vLyB9XHJcblxyXG4vLyAuc3RsX2NhcmQgLmNrX3R4IHtcclxuLy8gICAmOmFmdGVyIHtcclxuLy8gICAgIGNvbnRlbnQ6ICdcXDAwMjAnO1xyXG4vLyAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgXHJcbi8vICAgICB3aWR0aDogMXB4O1xyXG4vLyAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgXHJcbi8vICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktY29sb3IsIC41KTtcclxuXHJcbi8vICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cclxuLy8gICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxLjVyZW0pO1xyXG4gICBcclxuLy8gICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuLy8gICAgICAgaGVpZ2h0OiAxMDBweDtcclxuLy8gICAgIH1cclxuLy8gICB9XHJcbi8vIH1cclxuLy8gLnN0cm9rZVlfZGVjbyB7XHJcblxyXG4vLyAgIC50aXRyZV9kb3VibGUge1xyXG4vLyAgICAgJjphZnRlciB7XHJcbi8vICAgICAgIGNvbnRlbnQ6ICdcXDAwMjAnO1xyXG4vLyAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgXHJcbi8vICAgICAgIHdpZHRoOiAxcHg7XHJcbi8vICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgXHJcbi8vICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4vLyAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWNvbG9yLCAuNSk7XHJcblxyXG4vLyAgICAgICBtYXJnaW46IDAgYXV0byAycmVtO1xyXG4vLyAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnJlbSk7XHJcbiAgICAgXHJcbi8vICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuLy8gICAgICAgICBoZWlnaHQ6IDEwMHB4O1xyXG4vLyAgICAgICB9XHJcbi8vICAgICB9XHJcbi8vICAgfVxyXG5cclxuXHJcbi8vIH1cclxuXHJcbi8vIC5zdGxfY2FyZCB7XHJcbi8vICAgLnN0cm9rZVlfZGVjbyB7XHJcbi8vICAgICAmOmFmdGVyIHtcclxuLy8gICAgICAgbWFyZ2luLXRvcDogMXJlbTtcclxuLy8gICAgIH1cclxuLy8gICB9XHJcbi8vIH1cclxuXHJcblxyXG4vLyAqKiogKioqKioqIEVORCA+IERFQ08gdHJhaSB2ZXJ0aWNhbFxyXG5cclxuXHJcblxyXG5cclxuLmRlY29fc2NvdGNoX3RhcGUge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAvLyB3aWR0aDogMTI5cHg7XHJcbiAgLy8gaGVpZ2h0OiA3N3B4O1xyXG5cclxuICBwYWRkaW5nOiAwO1xyXG4gIHdpZHRoOiA0NCU7XHJcblxyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3RpdHJlLXBvc3QtaXQtc2NvdGNoLXRhcGUucG5nJyk7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cclxuICAmOmJlZm9yZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGNvbnRlbnQ6IFwiXFwwMDIwXCI7XHJcbiAgICBwYWRkaW5nLXRvcDogY2FsYyg3NyAvIDEyOSAqIDEwMCUpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4udHhfaW1nIHtcclxuXHJcblxyXG5cclxuXHJcblxyXG4gIC50eF9pbWctdHgge1xyXG5cclxuXHJcblxyXG4gICAgLmRlY29fcG5nIHtcclxuICAgICAgLy8gd2lkdGg6IDE2MHB4ICsgMzBweDtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgcGFkZGluZzogMnJlbTtcclxuICAgICAgXHJcblxyXG4gICAgICAvLyB3aWR0aDogNDAlO1xyXG4gICAgICBcclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgIC8vIG1hcmdpbjogcGVyY2VudGFnZShtYXRoLmRpdigwLCAxMikpO1xyXG4gICAgICAgIC8vIHdpZHRoOiAzMzBweCArIDMwcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTRyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgLy8gei1pbmRleDogLTE7XHJcbiAgICAgIC8vIHRvcDogMDtcclxuICAgICAgLy8gcmlnaHQ6IDAlO1xyXG5cclxuICAgICAgLy8gJi5mbGV1cnNfdmlvbGV0dGUgc3ZnIHtcdFxyXG4gICAgICAvLyBcdGFuaW1hdGlvbi1kZWxheTogMXM7XHJcbiAgICAgIC8vIH1cclxuICAgICAgLy8gJi5mbGV1cnNfZ3Jpc19mb25jZSBzdmcge1xyXG4gICAgICAvLyBcdGFuaW1hdGlvbi1kZWxheTogNC41cztcclxuICAgICAgLy8gXHQvLyBhbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlO1xyXG4gICAgICAvLyB9XHJcblxyXG4gICAgICArIC5pbm5lciB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4vLyAqKiogLy8vIEJsb2MgdGV4dGUgZXQgaW1hZ2VcclxuLnR4X2ltZy50eF9pbWcteDEtMiB7XHJcbiAgLnRpdHJlX2RvdWJsZV9jIC5kZWNvX3BuZyB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAgIC8qIFJlc2V0IHBvdXIgY2UgYmxvYyAqL1xyXG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAvLyB6LWluZGV4OiAwO1xyXG4gICAgICB0b3A6IGF1dG87XHJcbiAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gIFxyXG4gICAgICAvLyBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4vLyAqKiogKioqKioqIEFOSU1FXHJcbi8vIC5kZWNvLWZsZXVyIHtcclxuLy8gICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XHJcbi8vICAgc3ZnIHtcclxuLy8gICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlKDM0JSwgMCk7XHJcbi8vICAgICBhbmltYXRpb246IGFuaW1hdGVkQmFja2dyb3VuZE9saXYgM3MgZWFzZS1pbi1vdXQgMHMgaW5maW5pdGUgYWx0ZXJuYXRlO1xyXG4vLyAgIH1cclxuLy8gfVxyXG4vLyAuZGVjby1oYW1hY19hbmRfZmxldXJzX3gzLmxlZnQge1xyXG4vLyAgIHN2ZyB7XHJcbi8vICAgICBhbmltYXRpb246IGFuaW1hdGVkaGFtYWMgM3MgZWFzZS1pbi1vdXQgMHMgaW5maW5pdGUgYWx0ZXJuYXRlO1xyXG4vLyAgIH1cclxuLy8gfVxyXG4vLyAuZGVjby1oYW1hY19hbmRfZmxldXJzX3gzLnJpZ2h0IHtcclxuLy8gICBzdmcge1xyXG4vLyAgICAgYW5pbWF0aW9uOiBhbmltYXRlZGZsb3dlcngzIDNzIGVhc2UtaW4tb3V0IDBzIGluZmluaXRlIGFsdGVybmF0ZTtcclxuLy8gICB9XHJcbi8vIH1cclxuLy8gLmRlY28tcGlucy1wb21tZV9hbmRfZGVjby1jb2V1cnNfeDMubGVmdCB7XHJcbi8vICAgc3ZnIHtcclxuLy8gICAgIGFuaW1hdGlvbjogYW5pbWF0ZWRwb21tZSAzcyBlYXNlLWluLW91dCAwcyBpbmZpbml0ZSBhbHRlcm5hdGU7XHJcbi8vICAgfVxyXG4vLyB9XHJcbi8vICoqKiAqKioqKiogRU5EID4gQU5JTUVcclxuXHJcblxyXG5cclxuLnRpdHJlX2RvdWJsZV9jIC5kZWNvX3BuZyB7XHJcbiAgd2lkdGg6IDE2MHB4ICsgMzBweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBhZGRpbmc6IDJyZW07XHJcblxyXG4gIG1hcmdpbjogMCBhdXRvIC0wLjZyZW07XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gICAgei1pbmRleDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwJTtcclxuXHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuICBcclxuICBcclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICB3aWR0aDogMzMwcHggKyAzMHB4O1xyXG4gIH1cclxuXHJcblxyXG4gICYubGVmdCB7XHJcbiAgICByaWdodDogYXV0bztcclxuICAgIGxlZnQ6IDAlO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vICoqKiAvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgJi5kZWNvLWZsZXVyIHtcclxuICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHJlZDtcclxuXHJcbiAgfVxyXG4gIC8vICoqKiAvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgJi5kZWNvLXNtaWxlX21haW4ge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMzQlLCAxMCUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gKioqIC8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAmLmRlY28taGFtYWNfYW5kX2ZsZXVyc194My5sZWZ0IHtcclxuICAgIC8qIEZsZXVyICovXHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyMCUsIDAlKTtcclxuICAgIG1hcmdpbi1ib3R0b206IC00cmVtO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzMCUsIC0yMCUpO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLmRlY28taGFtYWNfYW5kX2ZsZXVyc194My5yaWdodCB7XHJcbiAgICAvKiBIYW1hYyAqL1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwJSwgMCUpO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjQlLCAwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyAqKiogLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICYuZGVjby1waW5zLXBvbW1lX2FuZF9kZWNvLWNvZXVyc194My5yaWdodCB7XHJcbiAgICAvKiAzIGNvZXVycyAqL1xyXG4gICAgd2lkdGg6IDEyMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLTZyZW07XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNDAlLCAwJSk7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICB3aWR0aDogMTUwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcclxuICAgICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTkwJSwgLTQwJSk7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuZGVjby1waW5zLXBvbW1lX2FuZF9kZWNvLWNvZXVyc194My5sZWZ0IHtcclxuICAgIC8qIFBvbW1tZSBkZSBwaW5zICovXHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyMCUsIDAlKTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUlLCAwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUlLCA3JSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyAqKiogLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICYuZGVjby1jYWN0dXMge1xyXG4gICAgcmlnaHQ6IGF1dG87XHJcbiAgICBsZWZ0OiAwJTtcclxuICB9XHJcbiAgJi5kZWNvLS1jYWN0dXNfbGV6YXJkIHtcclxuICAgIHdpZHRoOiAxODBweDtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgICAgd2lkdGg6IDI3MHB4O1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMCUsIC0yMCUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5kZWNvLWJhbGxvbiB7XHJcbiAgICB3aWR0aDogMTYwcHg7XHJcbiAgICBcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjAlLCAwJSk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICB3aWR0aDogMjQwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG59XHJcbi8vICoqKiAqKioqKiogRU5EID4gUG91ciBsZXMgZmxldXJzIGVuIHBuZ1xyXG5cclxuXHJcblxyXG5cclxuXHJcbi8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLFxyXG4vLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBUSEVNRSBEQVJLIFNFQ1RJT05cclxuLnR4X2ltZyB7XHJcblxyXG5cdC50aXRyZV9kb3VibGUge1xyXG5cdFx0bWF4LXdpZHRoOiBub25lO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLy8gLnRoZW1lX3NlY3Rpb25fZGFyayB7XHJcblxyXG4vLyAgICYudHhfaW1nLmRlY29fbyxcclxuLy8gICAmLnRlYXNlcl9wYWdlX19fY2Fyb3VzZWwge1xyXG4vLyAgICAgLy8gcGFkZGluZy10b3A6IDZyZW07XHJcbi8vICAgfVxyXG5cclxuLy8gICAmLmNsYXNzaWMge1xyXG4vLyAgICAgcGFkZGluZy10b3A6IDJyZW07XHJcbi8vICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxuLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWNvbG9yO1xyXG4gICAgXHJcbi8vICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbi8vICAgICAgIHBhZGRpbmctdG9wOiA0cmVtO1xyXG4vLyAgICAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcclxuLy8gICAgIH1cclxuICAgIFxyXG4vLyAgICAgLnR4X2ltZy10eCB7XHJcbi8vICAgICAgIHBhZGRpbmctdG9wOiAzcmVtOyBcclxuLy8gICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4vLyAgICAgICAgIHBhZGRpbmctdG9wOiA2cmVtO1xyXG4vLyAgICAgICB9XHJcbi8vICAgICB9XHJcblxyXG4vLyAgIH1cclxuLy8gICAmLnRlYXNlcl9wYWdlX19fY2Fyb3VzZWwge1xyXG4vLyAgICAgcGFkZGluZy10b3A6IDNyZW07XHJcbi8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1jb2xvcjtcclxuICAgIFxyXG4vLyAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4vLyAgICAgICBwYWRkaW5nLXRvcDogNnJlbTtcclxuLy8gICAgIH1cclxuLy8gICB9XHJcblxyXG4vLyBcdC50aXRyZV9kb3VibGUge1xyXG4vLyBcdFx0LnRpdHJlIHtcclxuLy8gXHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuLy8gXHRcdH1cclxuXHJcbi8vIFx0fVxyXG4vLyAgICYuaW1hZ2VfZnVsbF9fbGlzdGluZ192YWxvcmlzYXRpb24ge1xyXG4vLyAgICAgLnRpdHJlX2RvdWJsZSB7XHJcbi8vICAgICAgIGZvbnQtc2l6ZTogcmVtKDUuNSk7XHJcbi8vICAgICAgIC8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHsgZm9udC1zaXplOiByZW0oOSk7IH1cclxuLy8gICAgICAgLy8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkgeyBmb250LXNpemU6IHJlbSgxMCk7IH1cclxuLy8gICAgICAgLy8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHsgZm9udC1zaXplOiByZW0oNS41KTsgfVxyXG5cclxuLy8gICAgICAgLnNvdXN0aXRyZSB7XHJcbi8vICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuLy8gICAgICAgfVxyXG5cclxuLy8gICAgIH1cclxuLy8gICB9XHJcblxyXG4vLyAgIC5idG5fc3RkIHtcclxuLy8gICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xyXG4vLyAgIH1cclxuXHJcblxyXG4vLyBcdC5ja190eDpub3QoLmJpcykge1xyXG5cdFx0XHJcbi8vIFx0XHRoMjphZnRlciB7XHJcbi8vIFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4vLyBcdFx0fVxyXG4vLyBcdFx0dWwsXHJcbi8vIFx0XHRwIHtcclxuLy8gXHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuLy8gXHRcdH1cclxuLy8gXHRcdGgzLCBoNCwgaDUsIGg2IHtcclxuLy8gXHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuLy8gXHRcdH1cclxuLy8gXHR9XHJcblxyXG4vLyB9XHJcblx0XHJcblxyXG5cclxuXHJcblxyXG5cclxuLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiosXHJcbi8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEJvdXRvbiBDVEEgc3VyIGltYWdlXHJcbi5lbWJlZC1yZXNwb25zaXZlIHtcclxuICAuYnRuIHtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcclxuICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XHJcbiAgICB9XHJcblxyXG4gICAgY29sb3I6ICRib2R5LWJnO1xyXG4gICAgdGV4dC1zaGFkb3c6IDBweCAwcHggOHB4IHJnYmEoJGNvbG9yOiAkYm9keS1jb2xvciwgJGFscGhhOiAxLjApLCAwcHggMHB4IDRweCByZ2JhKCRjb2xvcjogJGJvZHktY29sb3IsICRhbHBoYTogMS4wKTtcclxuXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAxMDA7XHJcbiAgICBcclxuICAgIC8vIHRvcDogNTAlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtNTAlO1xyXG4gICAgXHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSk7XHJcblxyXG4gICAgaSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvZHktYmc7XHJcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggOHB4IHJnYmEoJGNvbG9yOiAkYm9keS1jb2xvciwgJGFscGhhOiAwLjMpLCAwcHggMHB4IDRweCByZ2JhKCRjb2xvcjogJGJvZHktY29sb3IsICRhbHBoYTogMC4zKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3I6ICRib2R5LWNvbG9yLCAkYWxwaGE6IDAuMik7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XHJcbiAgICAgIFxyXG4gICAgICAmOmFmdGVyLCAmOmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7XHJcbiAgICAgICAgLy8gYm94LXNoYWRvdzogMHB4IDBweCA4cHggcmdiYSgkY29sb3I6ICRib2R5LWNvbG9yLCAkYWxwaGE6IDEuMCksIDBweCAwcHggNHB4IHJnYmEoJGNvbG9yOiAkYm9keS1jb2xvciwgJGFscGhhOiAxLjApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgLmJ0biB7XHJcbiAgICAgIGkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yOiAkYm9keS1jb2xvciwgJGFscGhhOiAwLjgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogRU5EID4gQm91dG9uIENUQSBzdXIgaW1hZ2VcclxuLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiosXHJcblxyXG5cclxuXHJcblxyXG4vLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKixcclxuLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogQXBwYXJhdGlvbiBiYW5kZSBlbiBoYXV0IGF1IHNjcm9sbFxyXG4vKipcclxuLmhlYWRlcl9ub3ZpcyB7fVxyXG4uaGVhZGVyX2lzdmlzIHt9XHJcbiovXHJcblxyXG4vLyAqKiogKioqKioqIExvZ28gbWluXHJcbi5oZWFkZXJfbm92aXMge1xyXG4gIC5sb2dvX21pbiB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwcHgpO1xyXG4gIH1cclxufVxyXG4uaGVhZGVyX2lzdmlzIHtcclxuICAubG9nb19taW4ge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICB0b3A6IDE2cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5sb2dvX21pbiB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHotaW5kZXg6IDEyMTtcclxuICB0b3A6IDEwcHg7XHJcbiAgbGVmdDogMjZweDtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMTAwcHgpO1xyXG4gIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcblxyXG4gIHdpZHRoOiAyMDBweDtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XHJcbiAgICB0b3A6IDE1cHg7XHJcbiAgICBsZWZ0OiAxMHB4O1xyXG4gICAgc3ZnICxcclxuICAgIGltZyB7XHJcbiAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgdG9wOiAzMHB4O1xyXG4gIH1cclxuXHJcbn1cclxuLy8gKioqICoqKioqKiBFTkQgPiBMb2dvIG1pblxyXG5cclxuXHJcbi8vICoqKiAqKioqKiogQmFycmUgZGUgY291bGV1clxyXG5ib2R5IHtcclxuICAmOmFmdGVyIHtcclxuICAgIC8vIGNvbnRlbnQ6ICdcXDAwMjAnO1xyXG4gICAgLy8gZGlzcGxheTogYmxvY2s7XHJcbiAgXHJcbiAgICAvLyBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAvLyB6LWluZGV4OiAxMjA7XHJcbiAgICAvLyB0b3A6IDA7XHJcbiAgICAvLyBsZWZ0OiAwO1xyXG4gICAgLy8gcmlnaHQ6IDA7XHJcbiAgXHJcbiAgICAvLyBoZWlnaHQ6IDBweDtcclxuXHJcbiAgICAvLyB0cmFuc2l0aW9uOiBhbGwgLjRzO1xyXG4gIFxyXG4gICAgLy8gcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvcl9tYWluLCAxKTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgIC8vIHRvcDogMjBweDtcclxuICAgICAgLy8gcmlnaHQ6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG5ib2R5LmhlYWRlcl9ub3ZpcyB7XHJcbiAgJjphZnRlciB7XHJcbiAgICBcclxuICAgIC8vIGhlaWdodDogNTBweDtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgLy8gaGVpZ2h0OiA2NHB4O1xyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuLy8gKioqICoqKioqKiBFTkQgPiBCYXJyZSBkZSBjb3VsZXVyXHJcblxyXG5cclxuXHJcbi8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEVORCA+IEFwcGFyYXRpb24gYmFuZGUgZW4gaGF1dCBhdSBzY3JvbGxcclxuLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiosXHJcblxyXG5cclxuXHJcblxyXG4vLyAqKiogKioqKioqIEltYWdlcyBnYWxcclxuLnRleHRfY19fciB7XHJcbiAgb3JkZXI6IDE7XHJcbiAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMSwgMTIpKTtcclxuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5O1xyXG4gIFxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKG1hdGguZGl2KDAuOCwgMTIpKTtcclxuICAgIG9yZGVyOiAyO1xyXG4gIH1cclxuXHJcbiAgPiAuaW5uZXIge1xyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgfVxyXG5cclxuICAuaXRlbSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICB9XHJcblxyXG4gIC8vIFBvcnRyYWl0XHJcbiAgLmltZ18xIHtcclxuXHJcbiAgICB3aWR0aDogcGVyY2VudGFnZShtYXRoLmRpdig2LCAxMikpO1xyXG4gICAgbWFyZ2luLXRvcDogM3JlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICBcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UobWF0aC5kaXYoNSwgMTIpKTtcclxuICAgICAgbWFyZ2luLXRvcDogNXJlbTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMS4yLCAxMikpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC8vIFBheXNhZ2VcclxuICAuaW1nXzIge1xyXG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UobWF0aC5kaXYoNSwgMTIpKTtcclxuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKG1hdGguZGl2KDEsIDEyKSk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xyXG4gICAgICB3aWR0aDogcGVyY2VudGFnZShtYXRoLmRpdig1LjUsIDEyKSk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgLy8gQ2FycsOpXHJcbiAgLmltZ18zIHtcclxuICAgIHdpZHRoOiBwZXJjZW50YWdlKG1hdGguZGl2KDQuNSwgMTIpKTtcclxuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICB9XHJcblxyXG5cclxuXHJcblxyXG59XHJcblxyXG4uc2xpZGVyLWltZ19mdWxsX2luZm8ge1xyXG4gIC50ZXh0X2NfX3Ige1xyXG5cclxuICAgIHNwYW4uYnRuX3N0ZCB7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgICYubGVmdCB7XHJcbiAgICAgIC5pbWdfMSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDglO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5yaWdodCB7XHJcbiAgICAgIC5pbWdfMSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDIlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG59XHJcbi8vICoqKiAqKioqKiogRU5EID4gSW1hZ2VzIGdhbFxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuLmJnX2NvbG9yIHtcclxuXHJcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDZyZW07XHJcbiAgfVxyXG4gIC8vICsgLmltZ19mdWxsX3R4IHtcclxuICArIC5iZ19jb2xvciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuXHJcbiAgJjphZnRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfdGhyZWUgdXJsKCcuLi9pbWcvdGV4dHVyZS1mb25kLmpwZycpIGNlbnRlciBib3R0b20gcmVwZWF0LXggIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuJXRpdHJlX2RlY29fZG90IHtcclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICdcXDAwMjAnO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IDJweDtcclxuICAgIFxyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2Fzc2V0cy9pbWcvZG90LnBuZyk7XHJcbiAgICBtYXJnaW46IDFyZW0gMCAycmVtIDByZW07XHJcblxyXG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMTMsIDEyKSk7XHJcbiAgICBcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgd2lkdGg6IDIwMCU7XHJcbiAgICAgIG1hcmdpbjogM3JlbSAwIDRyZW0gLTRyZW07XHJcbiAgICB9XHJcblxyXG5cclxuICB9XHJcbn1cclxuXHJcblxyXG5Aa2V5ZnJhbWVzIGFuaW1hdGVkQmFja2dyb3VuZCB7XHJcbiAgMCUge1xyXG4gICAgICBmaWx0ZXI6IGJsdXIoMHB4KTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHNrZXdZKDBkZWcpIHNrZXdYKDBkZWcpIHRyYW5zbGF0ZVooMCkgdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKDApO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgICAgZmlsdGVyOiBibHVyKDVweCk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMmRlZykgc2tld1koLTNkZWcpIHNrZXdYKC0yZGVnKSB0cmFuc2xhdGVaKDBweCkgdHJhbnNsYXRlWCgxM3B4KSB0cmFuc2xhdGVZKC05cHgpO1xyXG4gIC8vICAgdHJhbnNmb3JtOiByb3RhdGUoLTFkZWcpIHNrZXdZKC0yZGVnKSBza2V3WCgtMWRlZykgdHJhbnNsYXRlWigwcHgpIHRyYW5zbGF0ZVgoOXB4KSB0cmFuc2xhdGVZKC01cHgpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qIGZsZXVyIG9yYW5nZSAqL1xyXG5Aa2V5ZnJhbWVzIGFuaW1hdGVkQmFja2dyb3VuZE9saXYge1xyXG4gIDAlIHtcclxuICAgICAgLy8gZmlsdGVyOiBibHVyKDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSBza2V3WSgwZGVnKSBza2V3WCgwZGVnKSB0cmFuc2xhdGVaKDApIHRyYW5zbGF0ZVgoNCUpIHRyYW5zbGF0ZVkoMCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgICAvLyBmaWx0ZXI6IGJsdXIoNXB4KTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC00ZGVnKSBza2V3WSgtMWRlZykgc2tld1goLTVkZWcpIHRyYW5zbGF0ZVooMHB4KSB0cmFuc2xhdGVYKDAlKSB0cmFuc2xhdGVZKDElKTtcclxuICB9XHJcbn1cclxuLyogSGFtYWMgKi9cclxuQGtleWZyYW1lcyBhbmltYXRlZGhhbWFjIHtcclxuICAwJSB7XHJcbiAgICAgIC8vIGZpbHRlcjogYmx1cigwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTRkZWcpIHNrZXdZKDBkZWcpIHNrZXdYKDNkZWcpIHRyYW5zbGF0ZVooMCkgdHJhbnNsYXRlWCgwJSkgdHJhbnNsYXRlWSgwKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAgIC8vIGZpbHRlcjogYmx1cig1cHgpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoN2RlZykgc2tld1koLTlkZWcpIHNrZXdYKDdkZWcpIHRyYW5zbGF0ZVooMHB4KSB0cmFuc2xhdGVYKDAlKSB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcbn1cclxuLyogMyBmbGV1cnMgKi9cclxuQGtleWZyYW1lcyBhbmltYXRlZGZsb3dlcngzIHtcclxuICAwJSB7XHJcbiAgICAgIC8vIGZpbHRlcjogYmx1cigwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTRkZWcpIHNrZXdZKDBkZWcpIHNrZXdYKDNkZWcpIHRyYW5zbGF0ZVooMCkgdHJhbnNsYXRlWCgwJSkgdHJhbnNsYXRlWSgwKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAgIC8vIGZpbHRlcjogYmx1cig1cHgpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTFkZWcpIHNrZXdZKC05ZGVnKSBza2V3WCg3ZGVnKSB0cmFuc2xhdGVaKDBweCkgdHJhbnNsYXRlWCgwJSkgdHJhbnNsYXRlWSgwJSk7XHJcbiAgfVxyXG59XHJcbi8qIDMgZmxldXJzICovXHJcbkBrZXlmcmFtZXMgYW5pbWF0ZWRwb21tZSB7XHJcbiAgMCUge1xyXG4gICAgICAvLyBmaWx0ZXI6IGJsdXIoMHB4KTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC0yZGVnKSBza2V3WSgwZGVnKSBza2V3WCgwZGVnKSB0cmFuc2xhdGVaKDApIHRyYW5zbGF0ZVgoMCUpIHRyYW5zbGF0ZVkoMCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgICAvLyBmaWx0ZXI6IGJsdXIoNXB4KTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDJkZWcpIHNrZXdZKDBkZWcpIHNrZXdYKDFkZWcpIHRyYW5zbGF0ZVooMCkgdHJhbnNsYXRlWCgwJSkgdHJhbnNsYXRlWSgyJSk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbi5hbmltYXRlLXB1bHNlIHtcclxuICAvLyAtd2Via2l0LWFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKC40LDAsLjYsMSkgaW5maW5pdGU7XHJcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoLjQsMCwuNiwxKSBpbmZpbml0ZTtcclxufVxyXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcclxuICA1MCUge1xyXG4gICAgb3BhY2l0eTogLjU7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vICoqKiAqKioqKiogVG91am91cnMgcHLDqXNlbnRcclxuLmhlcm9fY29udGVudCB7XHJcblxyXG4gIC50aXRyZV9kb3VibGUge1xyXG4gICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgLy8gLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEwMCUpIHRyYW5zbGF0ZSgwLCAtNnJlbSk7XHJcbiAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMTAwJSkgdHJhbnNsYXRlKDAsIC00MHB4KTtcclxuXHJcbiAgICAvLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcbiAgICAvLyAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xMDAlKSB0cmFuc2xhdGUoMCwgLTEwcHgpO1xyXG4gICAgLy8gfVxyXG5cclxuICAgIC8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgIC8vICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEwMCUpIHRyYW5zbGF0ZSgwLCAtMzBweCk7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgLy8gICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMTAwJSkgdHJhbnNsYXRlKDAsIC04MHB4KTtcclxuXHJcbiAgICAvLyAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLy8gIHRyYW5zZm9ybTogbm9uZTtcclxuXHJcbiAgICAvLyAgbWFyZ2luLXRvcDogLTUwdmg7XHJcbiAgICAgIFxyXG4gICAgICBcclxuICAgIC8vICAgLy8gbWFyZ2luLXJpZ2h0OiAtNTAlO1xyXG4gICAgICBcclxuICAgIC8vIH1cclxuXHJcblxyXG5cclxuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7IGZvbnQtc2l6ZTogcmVtKDE2KTsgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkgeyBmb250LXNpemU6IHJlbSgzMCArIDEwKTsgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykgeyBmb250LXNpemU6IHJlbSgzNCArIDEwKTsgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkgeyBmb250LXNpemU6IHJlbSg0NCArIDEwKTsgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHsgZm9udC1zaXplOiByZW0oNTUgKyAxMCk7IH1cclxuXHJcbiAgfVxyXG4gIGltZyB7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyAqKiogKioqKioqIFNpIHNsaWNrIGFjdGlmXHJcbi8qIGNvbnRpZW4gbGVzIGJvdXRvbiBwcmV2IG5leHQgZXQgbGUgY29udGVudCBzbGlkZSAqL1xyXG4uaGVyb19zbGlkZXIge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uaGVyb19pdGVtIHtcclxuXHJcbn1cclxuLy8gKioqICoqKioqKiBFTkQgPiBTaSBzbGljayBhY3RpZlxyXG5cclxuXHJcblxyXG4vLyAqKiogKioqKioqIFBPUFVQXHJcbmEuaW1nX3BvcHVwIHtcclxuICBpbWcge1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycztcclxuICB9XHJcbiAgJjpob3ZlciB7XHJcbiAgICBpbWcge1xyXG4gICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaWNvX3pvb20ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogMTEwO1xyXG4gICAgdG9wOiAwLjVyZW07XHJcbiAgICByaWdodDogMC41cmVtO1xyXG5cclxuICAgIHdpZHRoOiAxLjRyZW07XHJcbiAgICBoZWlnaHQ6IDEuNHJlbTtcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICBpbWcge1xyXG5cclxuICAgICAgZmlsdGVyOiBpbnZlcnQoMTAwJSkgc2VwaWEoMTAwJSkgc2F0dXJhdGUoMCUpIGh1ZS1yb3RhdGUoMGRlZykgYnJpZ2h0bmVzcygxMDAlKSBjb250cmFzdCgxMDAlKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcbi8vICoqKiAqKioqKiogRU5EID4gUE9QVVBcclxuXHJcblxyXG4vLyAtLS0gLy8vIENhcnRlIGdvb2dsZSBtYXBcclxuXHJcbi5wbV9fbGlldSB7XHJcbiAgJi5zZWxlY3RlZCB7XHJcbiAgICAucG1fX2xpZXVfX3RpdGxlIHtcclxuICAgICAgY29sb3I6ICRib2R5LWNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnBtX19maWx0ZXJzX19idXR0b24sIC5wbV9fZmlsdGVyc19fYWxsIGJ1dHRvbiB7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4ucG1fX2xpZXVfX3RpdGxlIHtcclxuICBjb2xvcjogJGNvbG9yX21haW47XHJcbiAgZm9udC1zaXplOiByZW0oMjQpO1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIC8vIGZvbnQtZmFtaWx5OiAkZm9udF9zZWNvbmQ7XHJcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbiAgLy8gdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG4ucG1fX2xpZXVfX2NhdHMge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfbWFpbjtcclxufVxyXG4ucG1fX2xpZXVfX2NhdCB7XHJcbiAgY29sb3I6ICRib2R5LWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgLy8gdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBmb250LXNpemU6IHJlbSgxNCk7XHJcbiAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib2R5LWNvbG9yO1xyXG59XHJcbi5wbV9fbGlldV9fZXhjZXJwdCB7XHJcbiAgZm9udC1zaXplOiByZW0oMTQpO1xyXG4gIG1hcmdpbi10b3A6IDEzcHg7XHJcbn1cclxuLnBtX19saWV1X19saW5rIHtcclxuICAvLyBAZXh0ZW5kIC5idG5fMjtcclxuICBmb250LXNpemU6IHJlbSgxNCkgIWltcG9ydGFudDtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcclxuICAvLyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhaW1wb3J0YW50O1xyXG59XHJcbi5wbV9fbGVmdCAsXHJcbi5wbV9fcmlnaHQge1xyXG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuLnBtX19oZWFkZXIge1xyXG4gIG1pbi1oZWlnaHQ6IGluaXRpYWw7XHJcbn1cclxuLnBtIHtcclxuICBoZWlnaHQ6IDEwMHZoO1xyXG4gIC8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAvLyAgIGhlaWdodDogYXV0bztcclxuICAvLyAgIG92ZXJmbG93LXg6IHVuc2V0O1xyXG4gIC8vIH1cclxufVxyXG4ucG1fX2xlZnQge1xyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgIGhlaWdodDogMTAwdmg7XHJcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgdG9wOiAwO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vICN1aS1kYXRlcGlja2VyLWRpdiB7XHJcbi8vICAgei1pbmRleDogMzAwICFpbXBvcnRhbnQ7XHJcbi8vIH1cclxuXHJcblxyXG4vLyAqKiogU3VyIGltYWdlIGVuIGhhdXRcclxuLnN2Z193YXZlX2ltZyB7XHJcbiAgZmlsbDogJGJvZHktYmc7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJvdHRvbTogMDtcclxufVxyXG5cclxuXHJcblxyXG5cclxuLnhkZWJ1Zy12YXItZHVtcCxcclxuLnZhcl9kdW1wIHtcclxuXHJcbiAgY29sb3I6ICR3aGl0ZTtcclxuICBmb250LXNpemU6IC44cmVtO1xyXG5cclxuICBkaXNwbGF5OiBibG9jaztcclxuICAvLyBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgLy8gcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICAvLyBoZWlnaHQ6IDEwMHZoO1xyXG4gIHotaW5kZXg6IDIwMjI7XHJcblxyXG4gIHBhZGRpbmc6IC40cmVtIDFyZW07XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcclxuXHJcbiAgLy8gQmxldSBhdSBibGFuY1xyXG4gIHNwYW5bc3R5bGU9XCJjb2xvcjogIzAwMDBCQlwiXSB7XHJcbiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAvLyBSb3VnZSBhdSBibGV1XHJcbiAgc3BhbltzdHlsZT1cImNvbG9yOiAjREQwMDAwXCJdIHtcclxuICAgIGNvbG9yOiAjMWNhM2QwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIC8vIFZlcnQgYXUgYmxldVxyXG4gIHNwYW5bc3R5bGU9XCJjb2xvcjogIzAwNzcwMFwiXSB7XHJcbiAgICBjb2xvcjogI2MxYTI0MyAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgPiBjb2RlIHtcclxuICAgIC8vIGhlaWdodDogMTAwJTtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbn1cclxuXHJcbi8qIFBhZ2UgbGlldSA+IGZpY2hlICovXHJcbi5idXR0b24tY29udGFpbmVyLS1jZW50ZXIge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjsgIFxyXG59XHJcbi8qIEVORCA+IFBhZ2UgbGlldSA+IGZpY2hlICovXHJcblxyXG4uYnJlYWRjcnVtYiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgcGFkZGluZy1sZWZ0OiBwZXJjZW50YWdlKG1hdGguZGl2KDEsIDEyKSk7XHJcbiAgcGFkZGluZy1yaWdodDogcGVyY2VudGFnZShtYXRoLmRpdigxLCAxMikpO1xyXG5cclxuICBhIHtcclxuICAgIC8vIGNvbG9yOiAkY29sb3JfbWFpbjtcclxuICAgIGNvbG9yOiAkY29sb3JfbWFpbl9iaXM7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgR3JhZGllbnQge1xyXG5cdDAlIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSA1MCV9XHJcblx0NTAlIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJX1cclxuXHQxMDAlIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSA1MCV9XHJcbn1cclxuXHJcbkAtbW96LWtleWZyYW1lcyBHcmFkaWVudCB7XHJcblx0MCUge2JhY2tncm91bmQtcG9zaXRpb246IDAlIDUwJX1cclxuXHQ1MCUge2JhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlfVxyXG5cdDEwMCUge2JhY2tncm91bmQtcG9zaXRpb246IDAlIDUwJX1cclxufVxyXG5cclxuQGtleWZyYW1lcyBHcmFkaWVudCB7XHJcblx0MCUge2JhY2tncm91bmQtcG9zaXRpb246IDAlIDUwJX1cclxuXHQ1MCUge2JhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlfVxyXG5cdDEwMCUge2JhY2tncm91bmQtcG9zaXRpb246IDAlIDUwJX1cclxufVxyXG5cclxuXHJcblxyXG4ud2FybiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHotaW5kZXg6IDEwMDA7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgXHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIG1hcmdpbi1yaWdodDogLTUwJTtcclxuICBcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAvLyBib3JkZXI6IDJweCBkYXNoZWQgcmVkO1xyXG5cclxuICBjb2xvcjogJHdoaXRlO1xyXG4gIGZvbnQtc2l6ZTogLjhyZW07XHJcblxyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBhZGRpbmc6IC40cmVtIC44cmVtIC42cmVtO1xyXG5cclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAjRUU3NzUyLCAjRTczQzdFLCAjMjNBNkQ1LCAjMjNENUFCKTtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDQwMCUgNDAwJTtcclxuICBhbmltYXRpb246IEdyYWRpZW50IDdzIGVhc2UgaW5maW5pdGU7XHJcbn1cclxuXHJcblxyXG4ud2FybiB7XHJcbiAgLy8gYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC00NWRlZywgI0VFNzc1MiwgI0U3M0M3RSwgIzIzQTZENSwgIzIzRDVBQik7XHJcbiAgLy8gYmFja2dyb3VuZC1zaXplOiA0MDAlIDQwMCU7XHJcbiAgLy8gYW5pbWF0aW9uOiBHcmFkaWVudCA3cyBlYXNlIGluZmluaXRlO1xyXG59XHJcblxyXG4ud2Fybi1sICxcclxuLndhcm4tciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAvLyAmOmFmdGVyIHtcclxuICBpIHtcclxuICAgIGNvbnRlbnQ6ICdcXDAwMjAnO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgd2lkdGg6IDEzcHg7XHJcbiAgICBoZWlnaHQ6IDEzcHg7XHJcblxyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG5cclxuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAjRUU3NzUyLCAjRTczQzdFLCAjMjNBNkQ1LCAjMjNENUFCKTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogNDAwJSA0MDAlO1xyXG4gICAgYW5pbWF0aW9uOiBHcmFkaWVudCA3cyBlYXNlIGluZmluaXRlO1xyXG4gIH1cclxufVxyXG4ud2Fybi1yIHtcclxuICBpIHtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgfVxyXG59XHJcbi53YXJuLWwge1xyXG4gIGkge1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vICoqKiBXaWRnZXQgdHJpcGFkdmlzb3JcclxuI1RBX2Nkc3JhdGluZ3Nvbmx5bmFycm93NzUzIHtcclxuICB3aWR0aDogMTM2cHg7XHJcbiAgaGVpZ2h0OiAxMDhweDtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG5cclxuLmluZm9fdG9wIHtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XHJcbiAgICA+IGN0di1vZmZlcnMge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAxNDA7XHJcbiAgICBsZWZ0OiAyJTtcclxuICAgIGJvdHRvbTogMCU7XHJcbiAgfVxyXG4gIFxyXG59XHJcblxyXG5cclxuLmltZ19mdWxsX3R4IHtcclxuICBcclxuICAuaW1hZ2VzX2MgKyAudGl0cmVfZG91YmxlIHtcclxuICAgIFxyXG4gICAgLy8gbWFyZ2luLXRvcDogMHJlbTtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xyXG4gICAgICAvLyBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAvLyBtYXJnaW4tdG9wOiAtNnJlbTtcclxuICAgIH1cclxuICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHJnYmEocmVkLCAuMik7XHJcbiAgfVxyXG4gIFxyXG59XHJcblxyXG5cclxuXHJcbmEubGlua19jb3ZlciB7XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnXFwwMDIwJztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgei1pbmRleDogMTAyMDtcclxuICAgIGluc2V0OiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogcmdiYShyZWQsIC4yKTtcclxuICB9XHJcbiAgJjpob3ZlciB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8vICoqKi0tLSBIRUFERVIgQk9VVE9OIFRFTFxyXG4vLyAubGlua190ZWwuYnRuX3N0ZCB7XHJcblxyXG4vLyAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbi8vICAgdG9wOiA2MHB4O1xyXG4vLyAgIHJpZ2h0OiAxMHB4O1xyXG4gIFxyXG4vLyAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcclxuLy8gICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbi8vICAgfVxyXG4gIFxyXG4vLyAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuLy8gICAgIHRvcDogNzBweDtcclxuLy8gICAgIHJpZ2h0OiAzNnB4O1xyXG4vLyAgIH1cclxuLy8gICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcbi8vICAgICB0b3A6IDEwcHg7XHJcbi8vICAgICByaWdodDogMzk3cHg7XHJcbiAgXHJcbi8vICAgfVxyXG4vLyAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7fVxyXG4vLyB9XHJcbi8vICoqKi0tLSBFTkQgPiBIRUFERVIgQk9VVE9OIFRFTFxyXG5cclxuXHJcblxyXG4vKiAtLS0gTGluayB2ZXJzIGxhIGJhcnJlIGRlIHLDqXNlcnZhdGlvbiAtLS0gKi9cclxuI21haW5fZm9vdGVyIHtcclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcclxuICAgIGJvcmRlci1ib3R0b206IDcwcHggc29saWQgJGNvbG9yX21haW47XHJcbiAgfVxyXG59XHJcbmEubGlua19yZXNhIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgei1pbmRleDogMTAzMDtcclxuICBcclxuICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG4gIC8vIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTE2MCUpIHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuXHJcbiAgLy8gYm9yZGVyOiAycHggc29saWQgJGJvZHktYmc7XHJcbiAgYm90dG9tOiA2cHg7XHJcblxyXG4gIC8vIHJpZ2h0OiA4NnB4O1xyXG5cclxuICBsZWZ0OiA1MCU7XHJcbiAgbWFyZ2luLXJpZ2h0OiAtNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xyXG5cclxuXHJcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIFxyXG5cclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xyXG4gICAgdG9wOiAxMHB4O1xyXG4gICAgcmlnaHQ6IDUwcHg7XHJcblxyXG4gICAgLyogUmVzZXQgKi9cclxuICAgIGJvdHRvbTogYXV0bztcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICB0b3A6IDMwcHg7XHJcbiAgfVxyXG4gIFxyXG5cclxuXHJcbiAgLy8gKioqIFN0eWxlXHJcbiAgLyogLS0tIEF0IHJvb3QgLS0tICovXHJcbiAgLy8gKioqIE1hbnF1ZSBnw6luw6lyYXRpb24gZHUgLXdlYmtpdC1cclxuICAmW3RhcmdldD1cIl9ibGFua1wiXSB7XHJcblxyXG5cclxuICB9XHJcbiAgLyogLS0tIEVORCA+IEF0IHJvb3QgLS0tICovXHJcbiAgLy8gKioqIEVORCA+IFN0eWxlXHJcblxyXG5cclxufVxyXG4vLyAuaGVhZGVyX25vdmlzIHtcclxuICAuaXNTY3JvbGwge1xyXG4gIGEubGlua19yZXNhIHtcclxuICAgIC8vIHRvcDogMTBweDtcclxuICAgIFxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAvLyB0b3A6IDMwcHg7XHJcbiAgICAgIHRvcDogMTBweDtcclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcbi8qIC0tLSBFTkQgPiBMaW5rIHZlcnMgbGEgYmFycmUgZGUgcsOpc2VydmF0aW9uIC0tLSAqL1xyXG5cclxuXHJcblxyXG5cclxuLy8gLm1haW5fc2xpZGVyIC5pdGVtLFxyXG4vLyAudHhfaW1nLWltZyB7XHJcblxyXG4vLyAgIC8qIC0tLSBJbWFnZSAtLS0gKi9cclxuXHJcbi8vICAgICBbY2xhc3MgKj0gJ2J0bl9leHRyYV9ib2xkJ10ge1xyXG4vLyAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4vLyAgICAgICBAZXh0ZW5kICVzdmdfc2hhZG93O1xyXG5cclxuLy8gICAgICAgLyogLS0tIEFycm93IC0tLSAqL1xyXG4vLyAgICAgICAmOmFmdGVyIHtcclxuLy8gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7XHJcbi8vICAgICAgIH1cclxuXHJcbi8vICAgICAgICYuYnRuX2FjdGlmICxcclxuLy8gICAgICAgJjpob3ZlciB7XHJcbi8vICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuLy8gICAgICAgICAmOmFmdGVyIHtcclxuLy8gICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHllbGxvdztcclxuLy8gICAgICAgICB9XHJcbi8vICAgICAgIH1cclxuLy8gICAgICAgLyogLS0tIEVORCA+IEFycm93IC0tLSAqL1xyXG5cclxuLy8gICAgIH1cclxuXHJcbi8vIH1cclxuXHJcblxyXG5cclxuLy8gLmJpZ190aXRyZSB7XHJcbi8vICAgY29sb3I6ICRjb2xvcl9tYWluO1xyXG4vLyAgIGZvbnQtc2l6ZTogcmVtKDYwKTtcclxuLy8gICBsaW5lLWhlaWdodDogMS4yO1xyXG4vLyAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuLy8gICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuLy8gICBvdmVyZmxvdzogaGlkZGVuO1xyXG4vLyAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcclxuLy8gICAgIGZvbnQtc2l6ZTogcmVtKDYwKTtcclxuLy8gICB9XHJcbi8vICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4vLyAgICAgZm9udC1zaXplOiByZW0oODApO1xyXG4vLyAgIH1cclxuLy8gICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbi8vICAgICBmb250LXNpemU6IHJlbSgxMDApO1xyXG4vLyAgIH1cclxuLy8gICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcbi8vICAgICBmb250LXNpemU6IHJlbSgxMjApO1xyXG4vLyAgIH1cclxuLy8gICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xyXG4vLyAgICAgZm9udC1zaXplOiByZW0oMTQwKTtcclxuLy8gICB9XHJcblxyXG4vLyAgIC5zb3VzdGl0cmUge1xyXG4vLyAgICAgY29sb3I6ICR3aGl0ZTtcclxuLy8gICAgIGZvbnQtc2l6ZTogZW0oMTgpO1xyXG4vLyAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBcclxuLy8gICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4vLyAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbi8vICAgICBmb250LWZhbWlseTogJGZvbnRfc2Vjb25kO1xyXG4vLyAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTIwcHgpO1xyXG5cclxuLy8gICAgIG1hcmdpbi1sZWZ0OiAxMCU7XHJcbiAgICBcclxuLy8gICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuLy8gICAgICAgdGV4dC1pbmRlbnQ6IDEwJTtcclxuLy8gICAgICAgZm9udC1zaXplOiBlbSgxMik7XHJcbi8vICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yMHB4KTtcclxuXHJcbi8vICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG5cclxuLy8gICAgICAgLy8gd2lkdGg6IDUwJTtcclxuLy8gICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogZ3JheTtcclxuXHJcbi8vICAgICB9XHJcbi8vICAgfVxyXG5cclxuLy8gfVxyXG5cclxuXHJcbi8vIEltYWdlIEhlcm9cclxuLmhlYWQtd3JhcHBlciArIC5jb250ZW50X2ltZyB7XHJcblxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIGFuZCAobWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSkge1xyXG4gICAgLyogU3R5bGUgw6AgYXBwbGlxdWVyIGxvcnNxdWUgbGUgcMOpcmlwaMOpcmlxdWUgZXN0IGVuIG1vZGUgcG9ydHJhaXQgKi9cclxuICB9XHJcblxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSBhbmQgKG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkpIHtcclxuICAgICAgLyogU3R5bGUgw6AgYXBwbGlxdWVyIGxvcnNxdWUgbGUgcMOpcmlwaMOpcmlxdWUgZXN0IGVuIG1vZGUgcGF5c2FnZSAqL1xyXG4gIH1cclxufVxyXG4uaGVhZC13cmFwcGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi8vIEltYWdlIGRhbnMgbGUgY29udGVudVxyXG4ubWFpbi1jb250YWluZXIgLmNvbnRlbnRfaW1nIHt9XHJcblxyXG5cclxuLy8gLm1haW4tY29udGFpbmVyID4gLnJvdyB7XHJcbi8vICAgPiAuY29udGVudF9pbWcge1xyXG5cclxuLy8gICAgIC8vICoqKiAqKioqKiogUE91ciBwYXNzZXIgYXUgZGVzc3VzIGR1IGJsb2MgZ3JhbmQgaW1hZ2VcclxuLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuLy8gICAgIHotaW5kZXg6IDEwMDtcclxuLy8gICAgIC8vICoqKiAqKioqKiogRU5EID4gUE91ciBwYXNzZXIgYXUgZGVzc3VzIGR1IGJsb2MgZ3JhbmQgaW1hZ2VcclxuICAgIFxyXG4vLyAgICAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCAkd2hpdGU7XHJcbi8vICAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICR3aGl0ZTtcclxuLy8gICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuLy8gICAgICAgYm9yZGVyLXRvcDogMjBweCBzb2xpZCAkd2hpdGU7XHJcbi8vICAgICAgIGJvcmRlci1ib3R0b206IDIwcHggc29saWQgJHdoaXRlO1xyXG4vLyAgICAgfVxyXG5cclxuLy8gICB9XHJcbi8vIH1cclxuXHJcblxyXG5cclxuLmVsZW1TaG93SGlkZSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuXHJcbi8vIC5oaWRlX3NlcGFyYXRlX3RpdGxlX2JvdHRvbSAuc2VwYXJhdGVfNDAuc3VwICxcclxuLy8gLmhpZGVfc2VwYXJhdGVfdGl0bGVfdG9wIC5zZXBhcmF0ZV82MC5zdXAgLFxyXG4vLyAuaGlkZV9zZXBhcmF0ZSBbY2xhc3MgKj0gJ3NlcGFyYXRlJ10ge1xyXG4vLyAgIGRpc3BsYXk6IG5vbmU7XHJcbi8vIH1cclxuLmhpZGVfbGFiZWwgW2NsYXNzICo9ICdsYWJlbCddIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG4uc3RpY2t5IHtcclxuICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gIGZsZXg6MTtcclxuICB0b3A6IDJyZW07XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcblxyXG4vKiAtLS0gUmVzZXQgdWwgLS0tICovXHJcbi5sYXp5LWJnaSB7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbn1cclxuLyogLS0tIEVORCA+IFJlc2V0IHVsIC0tLSAqL1xyXG5cclxuXHJcblxyXG4vKiAtLS0gSWNvIFpvb20gLS0tICovXHJcbi5pY28tem9vbSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAxMzA7XHJcbiAgdG9wOiAxMHB4OyByaWdodDogMTBweDtcclxuXHJcbiAgd2lkdGg6IDMwcHg7IGhlaWdodDogMzBweDtcclxuXHJcbiAgZmlsbDogJHdoaXRlO1xyXG4gIEBleHRlbmQgJXN2Z19zaGFkb3c7XHJcbn1cclxuLyogLS0tIEVORCA+IEljbyBab29tIC0tLSAqL1xyXG5cclxuXHJcblxyXG4vKiAtLS0gUmVzZXQgdWwgLS0tICovXHJcbiVyZXNldF91bCB7XHJcbiAgLy8gcGFkZGluZy1sZWZ0OiAwO1xyXG4gIC8vIG1hcmdpbi1ib3R0b206IDA7XHJcblxyXG4gIGxpIHtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICB9XHJcbn1cclxuLyogLS0tIEVORCA+IFJlc2V0IHVsIC0tLSAqL1xyXG5cclxuXHJcblxyXG4vKiAtLS0gRmlyc3QgTGV0dGVyIC0tLSAqL1xyXG4lZmlyc3QtbGV0dGVyIHtcclxuXHQmOmZpcnN0LWxldHRlciB7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdH1cclxufVxyXG4vKiAtLS0gRU5EID4gRmlyc3QgTGV0dGVyIC0tLSAqL1xyXG5cclxuXHJcblxyXG4vKiAtLS0gU3Ryb2tlIC0tLSAqL1xyXG4lc3Ryb2tlX2JvdHRvbSB7XHJcblx0JjphZnRlciB7XHJcblx0XHRjb250ZW50OiAnXFwwMDIwJztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX21haW47XHJcbiAgICB3aWR0aDogNzAlO1xyXG4gICAgaGVpZ2h0OiAxcHg7XHJcbiAgICBtYXJnaW46IDIwcHggYXV0bztcclxuXHR9XHJcbn1cclxuJXN0cm9rZV90b3Age1xyXG5cdCY6YmVmb3JlIHtcclxuXHRcdGNvbnRlbnQ6ICdcXDAwMjAnO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbWFpbjtcclxuICAgIHdpZHRoOiA3MCU7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIG1hcmdpbjogMjBweCBhdXRvO1xyXG5cdH1cclxufVxyXG4vKiAtLS0gRU5EID4gU3Ryb2tlIC0tLSAqL1xyXG5cclxuXHJcblxyXG4vKiAtLS0gT3BhY2l0eSAmIGdyYWRpZW50IFVOREVSIC0tLSAqL1xyXG4lb3AtIHtcclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICdcXDAwMjAnO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDEyMDtcclxuICAgIHRvcDogMDsgbGVmdDogMDsgcmlnaHQ6IDA7IGJvdHRvbTogMDtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycztcclxuICB9XHJcbn1cclxuLm9wLTA6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywgMCk7IEBleHRlbmQgJW9wLTt9XHJcbi5vcC0xMDphZnRlciB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAwLjEpOyBAZXh0ZW5kICVvcC07fVxyXG4ub3AtMjA6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywgMC4yKTsgQGV4dGVuZCAlb3AtO31cclxuLm9wLTMwOmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMyk7IEBleHRlbmQgJW9wLTt9XHJcbi5vcC00MDphZnRlciB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAwLjQpOyBAZXh0ZW5kICVvcC07fVxyXG4ub3AtNTA6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywgMC41KTsgQGV4dGVuZCAlb3AtO31cclxuLm9wLTYwOmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIDAuNik7IEBleHRlbmQgJW9wLTt9XHJcbi5vcC03MDphZnRlciB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAwLjcpOyBAZXh0ZW5kICVvcC07fVxyXG4ub3AtODA6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywgMC44KTsgQGV4dGVuZCAlb3AtO31cclxuLm9wLTkwOmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIDAuOSk7IEBleHRlbmQgJW9wLTt9XHJcbi5vcC0xMDA6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywgMSk7IEBleHRlbmQgJW9wLTt9XHJcblxyXG5cclxuLy8gJWdyYWQtYiB7XHJcbi8vICAgJjphZnRlciB7XHJcbi8vICAgICBjb250ZW50OiAnXFwwMDIwJztcclxuLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4vLyAgICAgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAxMjA7XHJcbi8vICAgICBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwO1xyXG5cclxuLy8gICAgIGhlaWdodDogNDAlO1xyXG4vLyAgIH1cclxuLy8gfVxyXG5cclxuLy8gLmdyYWQtYi0xMDphZnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKCRibGFjaywgMCksIHJnYmEoJGJsYWNrLCAuMSkpOyBAZXh0ZW5kICVncmFkLWI7fVxyXG4vLyAuZ3JhZC1iLTIwOmFmdGVyIHsgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYmEoJGJsYWNrLCAwKSwgcmdiYSgkYmxhY2ssIC4yKSk7IEBleHRlbmQgJWdyYWQtYjt9XHJcbi8vIC5ncmFkLWItMzA6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgkYmxhY2ssIDApLCByZ2JhKCRibGFjaywgLjMpKTsgQGV4dGVuZCAlZ3JhZC1iO31cclxuLy8gLmdyYWQtYi00MDphZnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKCRibGFjaywgMCksIHJnYmEoJGJsYWNrLCAuNCkpOyBAZXh0ZW5kICVncmFkLWI7fVxyXG4vLyAuZ3JhZC1iLTUwOmFmdGVyIHsgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYmEoJGJsYWNrLCAwKSwgcmdiYSgkYmxhY2ssIC41KSk7IEBleHRlbmQgJWdyYWQtYjt9XHJcbi8vIC5ncmFkLWItNjA6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgkYmxhY2ssIDApLCByZ2JhKCRibGFjaywgLjYpKTsgQGV4dGVuZCAlZ3JhZC1iO31cclxuLy8gLmdyYWQtYi03MDphZnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKCRibGFjaywgMCksIHJnYmEoJGJsYWNrLCAuNykpOyBAZXh0ZW5kICVncmFkLWI7fVxyXG4vLyAuZ3JhZC1iLTgwOmFmdGVyIHsgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYmEoJGJsYWNrLCAwKSwgcmdiYSgkYmxhY2ssIC44KSk7IEBleHRlbmQgJWdyYWQtYjt9XHJcbi8vIC5ncmFkLWItOTA6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgkYmxhY2ssIDApLCByZ2JhKCRibGFjaywgLjkpKTsgQGV4dGVuZCAlZ3JhZC1iO31cclxuLy8gLmdyYWQtYi0xMDA6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgkYmxhY2ssIDApLCByZ2JhKCRibGFjaywgMSkpOyBAZXh0ZW5kICVncmFkLWI7fVxyXG5cclxuXHJcbi8vICVncmFkLXQge1xyXG4vLyAgICY6YWZ0ZXIge1xyXG4vLyAgICAgY29udGVudDogJ1xcMDAyMCc7XHJcbi8vICAgICBkaXNwbGF5OiBibG9jaztcclxuLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMTIwO1xyXG4vLyAgICAgbGVmdDogMDsgcmlnaHQ6IDA7IHRvcDogMDtcclxuXHJcbi8vICAgICBoZWlnaHQ6IDQwJTtcclxuLy8gICB9XHJcbi8vIH1cclxuXHJcbi8vIC5ncmFkLXQtMTA6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgkYmxhY2ssIC4xKSwgcmdiYSgkYmxhY2ssIDApKTsgQGV4dGVuZCAlZ3JhZC10O31cclxuLy8gLmdyYWQtdC0yMDphZnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKCRibGFjaywgLjIpLCByZ2JhKCRibGFjaywgMCkpOyBAZXh0ZW5kICVncmFkLXQ7fVxyXG4vLyAuZ3JhZC10LTMwOmFmdGVyIHsgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYmEoJGJsYWNrLCAuMyksIHJnYmEoJGJsYWNrLCAwKSk7IEBleHRlbmQgJWdyYWQtdDt9XHJcbi8vIC5ncmFkLXQtNDA6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgkYmxhY2ssIC40KSwgcmdiYSgkYmxhY2ssIDApKTsgQGV4dGVuZCAlZ3JhZC10O31cclxuLy8gLmdyYWQtdC01MDphZnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKCRibGFjaywgLjUpLCByZ2JhKCRibGFjaywgMCkpOyBAZXh0ZW5kICVncmFkLXQ7fVxyXG4vLyAuZ3JhZC10LTYwOmFmdGVyIHsgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYmEoJGJsYWNrLCAuNiksIHJnYmEoJGJsYWNrLCAwKSk7IEBleHRlbmQgJWdyYWQtdDt9XHJcbi8vIC5ncmFkLXQtNzA6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgkYmxhY2ssIC43KSwgcmdiYSgkYmxhY2ssIDApKTsgQGV4dGVuZCAlZ3JhZC10O31cclxuLy8gLmdyYWQtdC04MDphZnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKCRibGFjaywgLjgpLCByZ2JhKCRibGFjaywgMCkpOyBAZXh0ZW5kICVncmFkLXQ7fVxyXG4vLyAuZ3JhZC10LTkwOmFmdGVyIHsgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYmEoJGJsYWNrLCAuOSksIHJnYmEoJGJsYWNrLCAwKSk7IEBleHRlbmQgJWdyYWQtdDt9XHJcbi8vIC5ncmFkLXQtMTAwOmFmdGVyIHsgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYmEoJGJsYWNrLCAxKSwgcmdiYSgkYmxhY2ssIDApKTsgQGV4dGVuZCAlZ3JhZC10O31cclxuXHJcblxyXG4vLyAlZ3JhZC1sIHtcclxuLy8gICAmOmFmdGVyIHtcclxuLy8gICAgIGNvbnRlbnQ6ICdcXDAwMjAnO1xyXG4vLyAgICAgZGlzcGxheTogYmxvY2s7XHJcbi8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDEyMDtcclxuLy8gICAgIGxlZnQ6IDA7IHJpZ2h0OiAwOyB0b3A6IDA7IGJvdHRvbTogMDtcclxuLy8gICB9XHJcbi8vIH1cclxuXHJcbi8vIC5ncmFkLWwtMTA6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoJGJsYWNrLCAuMSkgMzAlLCByZ2JhKCRibGFjaywgMCkpOyBAZXh0ZW5kICVncmFkLWw7fVxyXG4vLyAuZ3JhZC1sLTIwOmFmdGVyIHsgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKCRibGFjaywgLjIpIDMwJSwgcmdiYSgkYmxhY2ssIDApKTsgQGV4dGVuZCAlZ3JhZC1sO31cclxuLy8gLmdyYWQtbC0zMDphZnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgkYmxhY2ssIC4zKSAzMCUsIHJnYmEoJGJsYWNrLCAwKSk7IEBleHRlbmQgJWdyYWQtbDt9XHJcbi8vIC5ncmFkLWwtNDA6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoJGJsYWNrLCAuNCkgMzAlLCByZ2JhKCRibGFjaywgMCkpOyBAZXh0ZW5kICVncmFkLWw7fVxyXG4vLyAuZ3JhZC1sLTUwOmFmdGVyIHsgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKCRibGFjaywgLjUpIDMwJSwgcmdiYSgkYmxhY2ssIDApKTsgQGV4dGVuZCAlZ3JhZC1sO31cclxuLy8gLmdyYWQtbC02MDphZnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgkYmxhY2ssIC42KSAzMCUsIHJnYmEoJGJsYWNrLCAwKSk7IEBleHRlbmQgJWdyYWQtbDt9XHJcbi8vIC5ncmFkLWwtNzA6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoJGJsYWNrLCAuNykgMzAlLCByZ2JhKCRibGFjaywgMCkpOyBAZXh0ZW5kICVncmFkLWw7fVxyXG4vLyAuZ3JhZC1sLTgwOmFmdGVyIHsgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKCRibGFjaywgLjgpIDMwJSwgcmdiYSgkYmxhY2ssIDApKTsgQGV4dGVuZCAlZ3JhZC1sO31cclxuLy8gLmdyYWQtbC05MDphZnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgkYmxhY2ssIC45KSAzMCUsIHJnYmEoJGJsYWNrLCAwKSk7IEBleHRlbmQgJWdyYWQtbDt9XHJcbi8vIC5ncmFkLWwtMTAwOmFmdGVyIHsgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKCRibGFjaywgMSkgMzAlLCByZ2JhKCRibGFjaywgMCkpOyBAZXh0ZW5kICVncmFkLWw7fVxyXG5cclxuXHJcbi8vICVncmFkLXIge1xyXG4vLyAgICY6YWZ0ZXIge1xyXG4vLyAgICAgY29udGVudDogJ1xcMDAyMCc7XHJcbi8vICAgICBkaXNwbGF5OiBibG9jaztcclxuLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMTIwO1xyXG4vLyAgICAgbGVmdDogMDsgcmlnaHQ6IDA7IHRvcDogMDsgYm90dG9tOiAwO1xyXG4vLyAgIH1cclxuLy8gfVxyXG5cclxuLy8gLmdyYWQtci0xMDphZnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKCRibGFjaywgLjEpIDMwJSwgcmdiYSgkYmxhY2ssIDApKTsgQGV4dGVuZCAlZ3JhZC1yO31cclxuLy8gLmdyYWQtci0yMDphZnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKCRibGFjaywgLjIpIDMwJSwgcmdiYSgkYmxhY2ssIDApKTsgQGV4dGVuZCAlZ3JhZC1yO31cclxuLy8gLmdyYWQtci0zMDphZnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKCRibGFjaywgLjMpIDMwJSwgcmdiYSgkYmxhY2ssIDApKTsgQGV4dGVuZCAlZ3JhZC1yO31cclxuLy8gLmdyYWQtci00MDphZnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKCRibGFjaywgLjQpIDMwJSwgcmdiYSgkYmxhY2ssIDApKTsgQGV4dGVuZCAlZ3JhZC1yO31cclxuLy8gLmdyYWQtci01MDphZnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKCRibGFjaywgLjUpIDMwJSwgcmdiYSgkYmxhY2ssIDApKTsgQGV4dGVuZCAlZ3JhZC1yO31cclxuLy8gLmdyYWQtci02MDphZnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKCRibGFjaywgLjYpIDMwJSwgcmdiYSgkYmxhY2ssIDApKTsgQGV4dGVuZCAlZ3JhZC1yO31cclxuLy8gLmdyYWQtci03MDphZnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKCRibGFjaywgLjcpIDMwJSwgcmdiYSgkYmxhY2ssIDApKTsgQGV4dGVuZCAlZ3JhZC1yO31cclxuLy8gLmdyYWQtci04MDphZnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKCRibGFjaywgLjgpIDMwJSwgcmdiYSgkYmxhY2ssIDApKTsgQGV4dGVuZCAlZ3JhZC1yO31cclxuLy8gLmdyYWQtci05MDphZnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKCRibGFjaywgLjkpIDMwJSwgcmdiYSgkYmxhY2ssIDApKTsgQGV4dGVuZCAlZ3JhZC1yO31cclxuLy8gLmdyYWQtci0xMDA6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgkYmxhY2ssIDEpIDMwJSwgcmdiYSgkYmxhY2ssIDApKTsgQGV4dGVuZCAlZ3JhZC1yO31cclxuXHJcblxyXG5cclxuLyogLS0tIEVORCA+IE9wYWNpdHkgJiBncmFkaWVudCBVTkRFUiAtLS0gKi9cclxuXHJcblxyXG5cclxuLyogLS0tIFRleHQgc2hhZG93IC0tLSAqL1xyXG4ldGV4dF9zaGFkb3cge1xyXG4gIHRleHQtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAuNyk7XHJcbn1cclxuLyogLS0tIEVORCA+IFRleHQgc2hhZG93IC0tLSAqL1xyXG4vKiAtLS0gU1ZHIHNoYWRvdyAtLS0gKi9cclxuJXN2Z19zaGFkb3cge1xyXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMHB4IDJweCAzcHggcmdiYSgwLDAsMCwwLjYpKTtcclxufVxyXG4vKiAtLS0gRU5EID4gU1ZHIHNoYWRvdyAtLS0gKi9cclxuXHJcblxyXG4vKiAtLS0gSW1hZ2UgcGFkZGluZyByYXRpbyAtLS0gKi9cclxuLy8gLmltZ19wYWRkaW5nX3JhdGlvICxcclxuLy8gJWltZ19wYWRkaW5nX3JhdGlvIHtcclxuLy8gICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbi8vICAgaGVpZ2h0OiAwO1xyXG4vLyAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4vLyAgIC5pdGVtX3JhdGlvIHtcclxuLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4vLyAgICAgei1pbmRleDogMTAwO1xyXG4vLyAgICAgd2lkdGg6IDEwMCU7XHJcbi8vICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4vLyAgICAgdG9wOiAwO1xyXG4vLyAgICAgbGVmdDogMDtcclxuLy8gICAgIHJpZ2h0OiAwO1xyXG4vLyAgICAgYm90dG9tOiAwO1xyXG4vLyAgIH1cclxuXHJcbi8vICAgPiBpbWcge1xyXG4vLyAgICAgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAxMDA7XHJcbi8vICAgICB3aWR0aDogMTAwJTtcclxuLy8gICAgIGhlaWdodDogMTAwJTtcclxuXHJcbi8vICAgICB0b3A6IDA7IGxlZnQ6IDA7XHJcbi8vICAgfVxyXG5cclxuXHJcbi8vIFx0PiAueW91dHViZV9wbGF5ZXIgaWZyYW1lICwgLyogVEFDICovXHJcbi8vIFx0PiAuZ29vZ2xlbWFwc2VtYmVkIGlmcmFtZSB7XHJcbi8vICAgICB3aWR0aDogMTAwJTtcclxuLy8gICAgIGhlaWdodDogMTAwJTtcclxuLy8gICB9XHJcblxyXG5cclxuLy8gXHQ+IC55b3V0dWJlX3BsYXllciAsLyogVEFDICovXHJcbi8vIFx0PiAuZ29vZ2xlbWFwc2VtYmVkICxcclxuLy8gXHQ+ICNyZWdpb24tbWFwICxcclxuLy8gXHQ+IGlmcmFtZVtzcmMgXj0gXCJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZW1iZWQ/XCJdICxcclxuLy8gXHQ+IGlmcmFtZVtzcmMgXj0gXCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9cIl0gLFxyXG4vLyBcdD4gaWZyYW1lW2lkIF49IFwiWVRQbGF5ZXItSUQtXCJdIHtcclxuLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMTAwO1xyXG4vLyAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuLy8gICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xyXG5cclxuLy8gICAgIHRvcDogMCAhaW1wb3J0YW50OyBsZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbi8vICAgfVxyXG5cclxuLy8gfVxyXG5cclxuLy8gLnJhdGlvLTN4MiB7IHBhZGRpbmctdG9wICAgOiAyIC8gMyAqIDEwMCU7IH1cclxuLy8gLnJhdGlvLTE2eDEwIHsgcGFkZGluZy10b3AgOiAxMCAvIDE2ICogMTAwJTsgfVxyXG5cclxuLy8gLnNpemUtNDAweDMwMCB7IHBhZGRpbmctdG9wOiAzMDAgLyA0MDAgKiAxMDAlOyB9XHJcbi8vIC5zaXplLTYwMHg0NTAgeyBwYWRkaW5nLXRvcDogNDUwIC8gNjAwICogMTAwJTsgfVxyXG4vLyAuc2l6ZS04MDB4NjAwIHsgcGFkZGluZy10b3A6IDYwMCAvIDgwMCAqIDEwMCU7IH1cclxuXHJcbi8vIC5zaXplLTE4MDB4MTA3MCB7IHBhZGRpbmctdG9wOiAxMDcwIC8gMTgwMCAqIDEwMCU7IH1cclxuLy8gLnNpemUtMTgwMHg5MjUgeyBwYWRkaW5nLXRvcDogOTI1IC8gMTgwMCAqIDEwMCU7IH1cclxuLy8gLnNpemUtMTgwMHg3MjUgeyBwYWRkaW5nLXRvcDogNzI1IC8gMTgwMCAqIDEwMCU7IH1cclxuXHJcbi8vIC5zaXplLTkwMHg5MjUgeyBwYWRkaW5nLXRvcDogOTI1IC8gOTAwICogMTAwJTsgfVxyXG4vLyAuc2l6ZS05MDB4NzI1IHsgcGFkZGluZy10b3A6IDcyNSAvIDkwMCAqIDEwMCU7IH1cclxuXHJcbi8vIC5zaXplLTYwMHg5MjUgeyBwYWRkaW5nLXRvcDogOTI1IC8gNjAwICogMTAwJTsgfVxyXG4vLyAuc2l6ZS02MDB4NzI1IHsgcGFkZGluZy10b3A6IDcyNSAvIDYwMCAqIDEwMCU7IH1cclxuXHJcbi8vIC5zaXplLTQ1MHg5MjUgeyBwYWRkaW5nLXRvcDogOTI1IC8gNDUwICogMTAwJTsgfVxyXG4vLyAuc2l6ZS00NTB4NzI1IHsgcGFkZGluZy10b3A6IDcyNSAvIDQ1MCAqIDEwMCU7IH1cclxuLyogLS0tIEVORCA+IEltYWdlIHBhZGRpbmcgcmF0aW8gLS0tICovXHJcblxyXG5cclxuXHJcbi8qIC0tLSBMb2FkZXIgLS0tICovXHJcbiRsaW5lLXdpZHRoIDogNTtcclxuJGR1cmF0aW9uIDogMnM7XHJcbiRlYXNpbmcgOiBlYXNlLWluLW91dDtcclxuJGFycmF5IDogNDMwO1xyXG5cclxuLmxvYWRlciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMzAwO1xyXG4gIHRvcDogNTAlOyBsZWZ0OiA1MCU7XHJcbiAgbWFyZ2luLXJpZ2h0OiAtNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG5cclxuICBzdmcge1xyXG4gICAgd2lkdGg6IDEzMHB4OyBoZWlnaHQ6IDEzMHB4O1xyXG4gIFx0YW5pbWF0aW9uOiBzcGluICRkdXJhdGlvbioxLjUgbGluZWFyIGluZmluaXRlO1xyXG4gIFx0Ly8gb3V0bGluZTogdGhpbiBzb2xpZCBtYWdlbnRhO1xyXG4gIH1cclxuXHJcbiAgQGtleWZyYW1lcyBzcGluIHtcclxuICBcdGZyb20geyB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7IH1cclxuICB9XHJcblxyXG4gIHBhdGgge1xyXG4gICAgZmlsbDogbm9uZTtcclxuICAgIHN0cm9rZTogZG9kZ2VyYmx1ZTtcclxuICAgIHN0cm9rZS13aWR0aDogJGxpbmUtd2lkdGg7XHJcbiAgICBzdHJva2UtZGFzaGFycmF5OiAkYXJyYXk7XHJcbiAgICBzdHJva2UtZGFzaG9mZnNldDogJGFycmF5KjI7XHJcbiAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7XHJcbiAgICBzdHJva2UtbGluZWpvaW46IHJvdW5kO1xyXG4gICAgc3Ryb2tlLWFsaWdubWVudDogY2VudGVyO1xyXG4gICAgYW5pbWF0aW9uOiBsb2FkICRkdXJhdGlvbiAkZWFzaW5nIGluZmluaXRlO1xyXG4gIH1cclxuXHJcbiAgQGtleWZyYW1lcyBsb2FkIHtcclxuICAgIHRvIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7IH1cclxuICB9XHJcblxyXG59XHJcbi8qIC0tLSBFTkQgPiBMb2FkZXIgLS0tICovXHJcblxyXG5cclxuXHJcblxyXG4vKiAtLS0gSW1hZ2UgZGUgZm9uZCAtLS0gKi9cclxuLmJnX2kge1xyXG5cclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1pbWctLXhzKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgLy8gZmlsdGVyOiBibHVyKDVweCk7XHJcblxyXG5cclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tYmctaW1nLS1tZCk7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1iZy1pbWctLXhsKTtcclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1iZy1pbWctLXh4bCk7XHJcbiAgfVxyXG59XHJcbi8qIC0tLSBFTkQgPiBJbWFnZSBkZSBmb25kIC0tLSAqL1xyXG5cclxuXHJcbi8qIC0tLSBJbWFnZSBjb3ZlciAtLS0gKi9cclxuLmltZ19jb3ZlciB7XHJcbiAgICAvKiAtLS0gKi9cclxuICAgICYuZml0LW5vayB7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcblxyXG4gICAgICBpbWcgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogLS0tICovXHJcbiAgICBpbWcge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7ICBcclxuICAgIH1cclxuICAgIC8qIC0tLSAqL1xyXG59XHJcbi8qIC0tLSBFTkQgPiBJbWFnZSBjb3ZlciAtLS0gKi9cclxuXHJcblxyXG5cclxuLyogLS0tIFPDqXBhcmF0ZXVyIC0tLSAqL1xyXG4lc2VwYXJhdGVfc3R5bGluZyB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgQGV4dGVuZCAuY2xlYXJmaXg7XHJcbn1cclxuXHJcbiRzcGFjZS1iYXNlOiA1cHg7XHJcblxyXG4vKm11bHRpcGxpZXJzKi9cclxuQGZvciAkc3BhY2UtYmFzZSBmcm9tIDEgdGhyb3VnaCAyMCB7XHJcblxyXG4gIC5zZXBhcmF0ZV8jeyRzcGFjZS1iYXNlICogNX1cclxuICB7XHJcbiAgICBAZXh0ZW5kICVzZXBhcmF0ZV9zdHlsaW5nO1xyXG5cclxuICAgIGhlaWdodDogICgkc3BhY2UtYmFzZSAqIDVweCkgKiAwLjU7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgIGhlaWdodDogICRzcGFjZS1iYXNlICogNXB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuLyogLS0tIEVORCA+IFPDqXBhcmF0ZXVyIC0tLSAqL1xyXG5cclxuXHJcbi8qKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiogPT09IFNwcml0ZSBQTkdcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuLy8gQG1peGluIHNwcml0ZXMtcG5nKCRzcHJpdGVzKSB7XHJcbi8vICAgQGVhY2ggJHNwcml0ZSBpbiAkc3ByaXRlcyB7XHJcbi8vICAgICAkc3ByaXRlLW5hbWU6IG50aCgkc3ByaXRlLCAxMCk7XHJcbi8vICAgICAuaWNvbnMtI3skc3ByaXRlLW5hbWV9IHtcclxuLy8gICAgICAgQGluY2x1ZGUgc3ByaXRlKCRzcHJpdGUpO1xyXG4vLyAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbi8vICAgICB9XHJcbi8vICAgfVxyXG4vLyB9XHJcbi8vIEBpbmNsdWRlIHNwcml0ZXMtcG5nKCRzcHJpdGVzaGVldC1zcHJpdGVzKTtcclxuXHJcblxyXG5cclxuXHJcbi5zZ3BiLW1haW4taHRtbC1jb250ZW50LXdyYXBwZXIge1xyXG5cclxuICA+IFtjbGFzcyo9J3B4LSddIHtcclxuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICA+IFtjbGFzcyo9J3B5LSddIHtcclxuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICA+IFtjbGFzcyo9J3B0LSddIHtcclxuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gID4gW2NsYXNzKj0ncGItJ10ge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICB9XHJcbiAgPiBbY2xhc3MqPSdwci0nXSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gID4gW2NsYXNzKj0ncGwtJ10ge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICA+IFtjbGFzcyo9J214LSddIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcclxuICB9XHJcbiAgPiBbY2xhc3MqPSdteS0nXSB7XHJcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gID4gW2NsYXNzKj0nbXQtJ10ge1xyXG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICA+IFtjbGFzcyo9J21iLSddIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICB9XHJcbiAgPiBbY2xhc3MqPSdtci0nXSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcclxuICB9XHJcbiAgPiBbY2xhc3MqPSdtbC0nXSB7XHJcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbn0iLCJcclxuXHJcblxyXG4jaWZyYW1lLXBvcnRyYWl0X2NvbnRlbnQgKyAjaWZyYW1lLWxhbmRzY2FwZV9jb250ZW50IHtcclxuICAvLyBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLypcclxuICBZb3V0dWJlIHBsYXllciBQT1JUUkFJVCBPTlxyXG4qL1xyXG4ueXRfcF9pIHtcclxuICAjaWZyYW1lLWxhbmRzY2FwZV9jb250ZW50IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcclxuICAgICNpZnJhbWUtcG9ydHJhaXRfY29udGVudCB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAjaWZyYW1lLWxhbmRzY2FwZV9jb250ZW50IHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKlxyXG4gIFlvdXR1YmUgcGxheWVyIFBPUlRSQUlUIE9GRlxyXG4qL1xyXG4ueXRfcF9vIHtcclxuXHJcbn1cclxuXHJcbiIsIlxyXG4ud3AtYmxvY2stYWNmLXNlY3Rpb24tY29udGVuZXVyIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuXHJcblxyXG4uYmctYm9pcyB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9zcmMvaW1nL2ltZ19kZWNvL2JvaXMtMi5wbmcnKTtcclxuXHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDEwcmVtO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG59XHJcblxyXG5cclxuLnNlY3Rpb24tY29udGVuZXVyIHtcclxuICBcclxuICAmLmJnLWJvaXMge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6ICdcXDAwMjAnO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAtMTtcclxuICAgICAgbGVmdDogMDsgcmlnaHQ6IDA7IHRvcDogMDtcclxuXHJcbiAgICAgIGhlaWdodDogOHJlbTtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYmEoI2VhZWRkYiwgMSkgNjAlLCByZ2JhKCNlYWVkZGIsIDApKTtcclxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgIFxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxOHJlbTtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcbiAgJi5mb3JtZS1jYXN0b3JfaCB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgIH1cclxuICAgICAgLy8gY29udGVudDogJ1xcMDAyMCc7XHJcbiAgICAgIC8vIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IC0xO1xyXG4gICAgICAvLyBsZWZ0OiAwOyByaWdodDogMDsgdG9wOiAwO1xyXG5cclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9zcmMvaW1nL2ltZ19kZWNvL2Zvcm1lLWNhc3Rvcl9oLnBuZycpO1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xyXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XHJcblxyXG4gICAgICAvLyBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcbiAgfVxyXG5cclxuICAmLmNpZ29nbmVfYW5kX3BldGl0IHtcclxuICAgIFxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDExcmVtO1xyXG4gICAgfVxyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogJ1xcMDAyMCc7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDU7XHJcbiAgICAgIGxlZnQ6IDA7IHJpZ2h0OiAwOyB0b3A6IDA7IGJvdHRvbTogMDtcclxuXHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vc3JjL2ltZy9pbWdfZGVjby9jaWdvZ25lX2FuZF9wZXRpdC5wbmcnKTtcclxuXHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0zcmVtIGJvdHRvbTtcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiA0MCU7XHJcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG87XHJcbiAgICAgIH1cclxuXHJcblxyXG4gICAgfVxyXG4gIH1cclxuICAmLmNpZ29nbmUge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiAnXFwwMDIwJztcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgei1pbmRleDogNTtcclxuICAgICAgbGVmdDogMDsgcmlnaHQ6IDA7IHRvcDogMDsgYm90dG9tOiAwO1xyXG5cclxuXHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vc3JjL2ltZy9pbWdfZGVjby9jaWdvZ25lLnBuZycpO1xyXG5cclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTRyZW0gYm90dG9tIDJyZW07XHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDAlO1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XHJcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG87XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG4gICYuYnJldHplbCB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICdcXDAwMjAnO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB6LWluZGV4OiAwO1xyXG4gICAgICBsZWZ0OiAwOyByaWdodDogMDsgdG9wOiAwOyBib3R0b206IDA7XHJcblxyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL3NyYy9pbWcvaW1nX2RlY28vYnJldHplbC5wbmcnKTtcclxuXHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgYm90dG9tO1xyXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQwJTtcclxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bztcclxuICAgICAgICB6LWluZGV4OiAwO1xyXG4gICAgICB9XHJcblxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuXHJcbiAgPi5pbm5lciB7XHJcblxyXG5cclxuICB9XHJcblxyXG5cclxuICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKixcclxuICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAvLyBJTiBBRE1JTlxyXG4gICYuaXMtYWRtaW4ge1xyXG4gICAgICBcclxuICB9XHJcblxyXG5cclxufVxyXG4iLCJcclxuXHJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuXHJcbmJvZHkucGFnZS1pZC02NjgsIC8qIExpc3RpbmcgZGVzIGxvY2F0aW9uICovXHJcbmJvZHkuc2luZ2xlLWhlYmVyZ2VtZW50LFxyXG5ib2R5LmhvbWUge1xyXG5cclxufVxyXG5cclxuaDEudGl0cmVfZG91YmxlIHtcclxuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7IGZvbnQtc2l6ZTogcmVtKDE2KTsgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkgeyBmb250LXNpemU6IHJlbSgzMCk7IH1cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHsgZm9udC1zaXplOiByZW0oMzQpOyB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7IGZvbnQtc2l6ZTogcmVtKDQ0KTsgfVxyXG4gICAgLy8gLy8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkgeyBmb250LXNpemU6IHJlbSgxMSk7IH1cclxuICAgIC8vIC8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7IGZvbnQtc2l6ZTogcmVtKDE0KTsgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHsgZm9udC1zaXplOiByZW0oNTUpOyB9XHJcbn1cclxuaDIudGl0cmVfZG91YmxlIHtcclxuICAgIGZvbnQtc2l6ZTogcmVtKDEwKTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7IGZvbnQtc2l6ZTogcmVtKDE0KTsgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkgeyBmb250LXNpemU6IHJlbSgxNik7IH1cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHsgZm9udC1zaXplOiByZW0oMjQpOyB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7IGZvbnQtc2l6ZTogcmVtKDI3KTsgfVxyXG4gICAgLy8gLy8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkgeyBmb250LXNpemU6IHJlbSgxMSk7IH1cclxuICAgIC8vIC8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7IGZvbnQtc2l6ZTogcmVtKDE0KTsgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHsgZm9udC1zaXplOiByZW0oMzApOyB9XHJcbn1cclxuXHJcbi5oZXJvX2NvbnRlbnQge1xyXG5cdC50aXRyZV9kb3VibGVfYyB7XHJcblx0XHQ+IC5pbm5lciB7XHJcblxyXG5cdFxyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcblx0XHRcdFx0ZmxleDogMCAwIHBlcmNlbnRhZ2UobWF0aC5kaXYoMTAsIDEyKSk7XHJcblx0XHRcdFx0bWF4LXdpZHRoOiBwZXJjZW50YWdlKG1hdGguZGl2KDEwLCAxMikpO1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKG1hdGguZGl2KDEsIDEyKSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLnRpdHJlX2RvdWJsZV9jIHtcclxuXHQvLyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdD4gLmlubmVyIHtcclxuXHRcdC8qIHdwLWNvbnRlbnRcXHRoZW1lc1xccGx1bmVcXHNyY1xcc2Nzc1xcX19fYmxvY2tzLWd1dGVuYmVyZ19fZnJvbnQuc2NzcyAqL1xyXG5cdFx0ZmxleDogMCAwIHBlcmNlbnRhZ2UobWF0aC5kaXYoMTAsIDEyKSk7XHJcblx0XHRtYXgtd2lkdGg6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMTAsIDEyKSk7XHJcblx0XHRtYXJnaW4tbGVmdDogcGVyY2VudGFnZShtYXRoLmRpdigxLCAxMikpO1xyXG5cclxuXHRcdC8vIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yOiAjMDAwMDAwLCAkYWxwaGE6IDAuNCk7XHJcblx0fVxyXG59XHJcblxyXG5cclxuXHRcclxuXHRcclxuXHQvLyAqKiogKioqKioqIExpc3RpbmcgZCdhcnRpY2xlIGFjdHUgc3VyIHBhZ2UgYWNjdWVpbFxyXG5cdC5saXN0aW5nX2FydGljbGUtc2xpZGVyX2NvbnRlbnQge1xyXG5cdFx0LmRlY29fcG5nIHtcclxuXHRcdFx0dG9wOiBhdXRvO1xyXG5cdFx0XHRib3R0b206IDA7XHJcblxyXG5cdFx0XHQvLyB0b3A6IC0xMzAlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQvLyAqKiogKioqKioqIEVORCA+IExpc3RpbmcgZCdhcnRpY2xlIGFjdHUgc3VyIHBhZ2UgYWNjdWVpbFxyXG5cclxuXHJcblxyXG4vLyAuaGVyb19jb250ZW50ICxcclxuLmltZ19mdWxsX3R4IHtcclxuXHQudGl0cmVfZG91YmxlIHtcclxuXHJcblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcblx0XHRcdC8vIHRleHQtc2hhZG93OiAwcHggMnB4IDVweCByZ2JhKCRib2R5LWNvbG9yLCAuOCksIDBweCA5cHggNXB4IHJnYmEoJGJvZHktY29sb3IsIC44KTtcclxuXHRcdFx0Ly8gdGV4dC1zaGFkb3c6IDBweCAycHggOHB4IHJnYmEoMzQsIDM1LCAzOCwgMC44KSwgMHB4IDJweCA0cHggcmdiYSgzNCwgMzUsIDM4LCAwLjgpLCAwcHggM3B4IDVweCByZ2JhKDM0LCAzNSwgMzgsIDEpO1xyXG5cdFx0XHQuc291c3RpdHJlLFxyXG5cdFx0XHQudGl0cmUge1xyXG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdFxyXG5cdH1cclxufVxyXG4uaGVyb19pIHtcclxuXHQuaGVyb19jb250ZW50IHtcclxuXHJcblx0XHQudGl0cmVfZG91YmxlIHtcclxuXHRcdFxyXG5cdFx0XHQvLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcblx0XHRcdFx0Ly8gdGV4dC1zaGFkb3c6IDBweCAycHggNXB4IHJnYmEoJGJvZHktY29sb3IsIC44KSwgMHB4IDlweCA1cHggcmdiYSgkYm9keS1jb2xvciwgLjgpO1xyXG5cdFx0XHRcdC8vIHRleHQtc2hhZG93OiAwcHggMnB4IDhweCByZ2JhKDM0LCAzNSwgMzgsIDAuOCksIDBweCAycHggNHB4IHJnYmEoMzQsIDM1LCAzOCwgMC44KSwgMHB4IDNweCA1cHggcmdiYSgzNCwgMzUsIDM4LCAxKTtcclxuXHRcdFx0XHQuc291c3RpdHJlLFxyXG5cdFx0XHRcdC50aXRyZSB7XHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdC8vIH1cclxuXHRcdFx0XHJcblx0XHR9XHJcblxyXG5cdFx0LnVrLXN0aWNreS51ay1zdGlja3ktYmVsb3cge1xyXG5cclxuXHRcdFx0XHJcblx0XHRcdC50aXRyZV9kb3VibGUge1xyXG5cdFx0XHJcblx0XHRcdFx0Ly8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG5cdFx0XHRcdFx0Ly8gdGV4dC1zaGFkb3c6IDBweCAycHggNXB4IHJnYmEoJGJvZHktY29sb3IsIC44KSwgMHB4IDlweCA1cHggcmdiYSgkYm9keS1jb2xvciwgLjgpO1xyXG5cdFx0XHRcdFx0dGV4dC1zaGFkb3c6IDBweCAycHggOHB4IHJnYmEoMzQsIDM1LCAzOCwgMC44KSwgMHB4IDJweCA0cHggcmdiYSgzNCwgMzUsIDM4LCAwLjgpLCAwcHggM3B4IDVweCByZ2JhKDM0LCAzNSwgMzgsIDEpO1xyXG5cdFx0XHRcdFx0LnNvdXN0aXRyZSxcclxuXHRcdFx0XHRcdC50aXRyZSB7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcbi8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLFxyXG4vLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBcclxuXHJcblxyXG4udGl0cmVfZG91YmxlIHtcclxuICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHllbGxvdztcclxuXHJcbiAgICAvLyBmb250LXNpemU6IHJlbSgxMik7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHR3aWR0aDogMTAwJTtcclxuXHJcblxyXG5cdC8vICoqKiAqKioqKiogUG91ciBsYSBmbGV1clxyXG5cdHotaW5kZXg6IDU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0Ly8gKioqICoqKioqKiBFTkQgPiBQb3VyIGxhIGZsZXVyXHJcblxyXG5cclxuICAgIC8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHsgZm9udC1zaXplOiByZW0oMTEpOyB9XHJcbiAgICAvLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7IGZvbnQtc2l6ZTogcmVtKDE0KTsgfVxyXG4gICAgLy8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkgeyBmb250LXNpemU6IHJlbSgxMSk7IH1cclxuICAgIC8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7IGZvbnQtc2l6ZTogcmVtKDE0KTsgfVxyXG4gICAgLy8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHsgZm9udC1zaXplOiByZW0oMjApOyB9XHJcblxyXG4gICAgXHJcblx0LnRpdHJlIHtcclxuXHRcdGNvbG9yOiAkY29sb3JfbWFpbjtcclxuXHRcdGZvbnQtZmFtaWx5OiAkZm9udF9zZWNvbmQ7XHJcblx0XHRmb250LXNpemU6IGVtKDgwKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjE7XHJcblx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQtYmlzO1xyXG5cdFx0Ly8gaHlwaGVuczogYXV0bztcclxuXHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHJcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtMC4xZGVnKTtcclxuXHJcblx0XHQvLyB0ZXh0LXNoYWRvdzogMnB4IDFweCAzcHggJGJvZHktYmcsIC0ycHggLTFweCAzcHggJGJvZHktYmcsIDRweCAycHggMnB4ICRib2R5LWJnLCAtMnB4IDFweCAycHggJGJvZHktYmc7XHJcblxyXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xyXG5cdFx0XHRmb250LXNpemU6IGVtKDc2KTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuXHRcdFx0Zm9udC1zaXplOiBlbSg0MCk7XHJcblx0XHR9XHJcblxyXG5cclxuXHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oMjApO1xyXG5cdFx0XHJcblx0XHQvLyBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5O1xyXG5cclxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDEwKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDE0KTtcclxuXHRcdH1cclxuXHJcblxyXG5cdFx0Ly8gYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCRjb2xvcl9zZWNvbmQsMSkgMCUsIHJnYmEoJGNvbG9yX21haW4sMSkgMTAwJSk7XHJcblx0XHQvLyAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcclxuXHRcdC8vIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHR9XHJcblxyXG5cdC8vIC5kZWNvIHtcclxuXHRcdFxyXG5cdC8vIFx0JjpiZWZvcmUge1xyXG5cdC8vIFx0XHRjb250ZW50OiAnXFwwMDIwJztcclxuXHQvLyBcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHJcblx0Ly8gXHRcdC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHQvLyBcdFx0Ly8gei1pbmRleDogMDtcclxuXHQvLyBcdFx0Ly8gdG9wOiAwO1xyXG5cdC8vIFx0XHQvLyBsZWZ0OiAwO1xyXG5cdC8vIFx0XHQvLyByaWdodDogMDtcclxuXHQvLyBcdFx0Ly8gYm90dG9tOiAwO1xyXG5cdFx0XHJcblx0Ly8gXHRcdGFzcGVjdC1yYXRpbzogNTQ2IC8gMTE1O1xyXG5cdC8vIFx0XHR3aWR0aDogcGVyY2VudGFnZSgxMiAvIDEyKTtcclxuXHQvLyBcdFx0Ly8gaGVpZ2h0OiAxMDAlO1xyXG5cdC8vIFx0XHRtYXJnaW4tcmlnaHQ6IDFyZW07XHJcblx0Ly8gXHRcdG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKC0xIC8gMTIpO1xyXG5cdFx0XHJcblx0Ly8gXHRcdC8vIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuXHRcdFx0XHJcblx0Ly8gXHRcdC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHQvLyBcdFx0bWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHQvLyBcdFx0LXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoJy4uL2ltZy9pbWdfZGVjby93YXZlX3RpdHJlLnN2ZycpO1xyXG5cdC8vIFx0XHRtYXNrLWltYWdlOiB1cmwoJy4uL2ltZy9pbWdfZGVjby93YXZlX3RpdHJlLnN2ZycpO1xyXG5cdFx0XHRcclxuXHQvLyBcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCRjb2xvcl9tYWluLCAxKSAwJSwgcmdiYSgkY29sb3Jfc2Vjb25kX2JpcywxKSAxMDAlKTtcclxuXHQvLyBcdFx0Ly8gYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC00NWRlZywgI0VFNzc1MiwgI0U3M0M3RSwgIzIzQTZENSwgIzIzRDVBQik7XHJcblx0Ly8gXHRcdGJhY2tncm91bmQtc2l6ZTogNDAwJSA0MDAlO1xyXG5cdC8vIFx0XHRhbmltYXRpb246IEdyYWRpZW50IDNzIGVhc2UgaW5maW5pdGU7XHJcblxyXG5cdC8vIFx0XHRtYXgtd2lkdGg6IDEzMHB4O1xyXG5cdC8vIFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcblx0Ly8gXHRcdFx0d2lkdGg6IHBlcmNlbnRhZ2UoNSAvIDEyKTtcclxuXHQvLyBcdFx0XHRtYXgtd2lkdGg6IDI2MHB4O1xyXG5cdC8vIFx0XHR9XHJcblxyXG5cdC8vIFx0fVxyXG5cdC8vIH1cclxuXHRcclxuXHQuc291c3RpdHJlIHtcclxuXHRcdGNvbG9yOiAkY29sb3JfbWFpbl9iaXM7XHJcblx0XHRmb250LXNpemU6IHJlbSgxNik7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcclxuXHRcdGxldHRlci1zcGFjaW5nOiAwLjFyZW07XHJcblx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcblxyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdC8vIGRpc3BsYXk6IGZsZXg7XHJcblxyXG5cdFx0Ly8gbWFyZ2luLXRvcDogcmVtKDIwKTtcclxuXHRcdFxyXG5cdFx0Ly8gLy8gYmFja2dyb3VuZC1jb2xvcjogZ3JheTtcclxuXHJcblx0XHQvLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcblx0XHQvLyBcdG1hcmdpbi10b3A6IHJlbSgxMCk7XHJcblx0XHQvLyB9XHJcblx0XHQvLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcblx0XHQvLyBcdG1hcmdpbi10b3A6IHJlbSgyMCk7XHJcblx0XHQvLyB9XHJcblxyXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG5cdFx0XHQvLyBmb250LXNpemU6IGVtKDM2KTtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0oMjQpO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiByZW0oMTYpO1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG5cclxuXHQvLyAqKiogUG91ciBmaWNoZSBsb2NcclxuXHQucGljdG8tcG1yIHtcclxuXHRcdG1hcmdpbi1yaWdodDogMXJlbTtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDAuMnJlbSk7XHJcblx0XHRcclxuXHRcdHdpZHRoOiAyNHB4O1xyXG5cdFx0aGVpZ2h0OiAyNHB4O1xyXG5cdFx0XHJcblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcblx0XHRcdHdpZHRoOiAzMHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDMwcHg7XHJcblx0XHRcdHRyYW5zZm9ybTogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmNhcmFjIHtcclxuXHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHJcblx0XHQvLyBkaXNwbGF5OiBmbGV4O1xyXG5cdFx0Ly8gZmxleC13cmFwOiB3cmFwO1xyXG5cdFx0Ly8gYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG5cclxuXHRcdC8vIGJhY2tncm91bmQtY29sb3I6IGdyYXk7XHJcblxyXG5cdFx0LnBpY3RvLXBtciB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0bWFyZ2luLXRvcDogLTEycHg7XHJcblx0XHR9XHJcblxyXG5cdFx0LnR4IHtcclxuXHRcdFx0Zm9udC1zaXplOiBlbSg1MCk7XHJcblx0XHRcdC8vIG1hcmdpbi1yaWdodDogMnJlbTtcclxuXHRcdFx0XHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuXHRcdFx0XHRmb250LXNpemU6IGVtKDQ2KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQueWVhciB7XHJcblx0XHRcdGZvbnQtc2l6ZTogZW0oMzYpO1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRcclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAxcmVtO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogZW0oMzYpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuICBcclxuXHJcbiAgICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKixcclxuICAgIC8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIC8vIElOIEFETUlOXHJcbiAgICAmLmlzLWFkbWluIHtcclxuICAgICAgICBcclxuICAgIH1cclxuXHJcblxyXG59XHJcblxyXG5cclxuXHJcbiIsIlxyXG5cclxuXHJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuXHJcbi50ZWFzZXJfcGFnZSB7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmltZyB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG4gICAgaW1nIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMXM7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gKioqICoqKioqKiBUSVRSRSBET1VCTEVcclxuICAgIC8qIFJlc2V0ICovXHJcbiAgICAudGl0cmVfZG91YmxlX2MgPiAuaW5uZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIH1cclxuICAgIC8qIEVORCA+IFJlc2V0ICovXHJcblxyXG4gICAgLnRpdHJlX2RvdWJsZSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLyogUmVzZXQgKi9cclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAvKiBFTkQgPiBSZXNldCAqL1xyXG5cclxuICAgICAgICBjb2xvcjogJGJvZHktY29sb3I7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcclxuXHJcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIC8vIGZvbnQtc2l6ZTogcmVtKDIpO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHsgZm9udC1zaXplOiByZW0oMjQpOyB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkgeyBmb250LXNpemU6IHJlbSgxNCk7IH1cclxuICAgICAgICBcclxuICAgICAgICAudGl0cmUge1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oNzApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oODApO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnNvdXN0aXRyZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSgxMCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgzMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jYXJhYyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAqKiogKioqKioqIEVORCA+IFRJVFJFIERPVUJMRVxyXG5cclxuXHJcblxyXG5cdC8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLFxyXG4gICAgLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogLy8gSU4gQURNSU5cclxuXHJcbiAgICAmLmlzLWFkbWluIHtcclxuICAgICAgICAvLyBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xyXG5cclxuXHRcdGZsZXg6IDAgMCBwZXJjZW50YWdlKG1hdGguZGl2KDEyLCAxMikpO1xyXG4gICAgXHRtYXgtd2lkdGg6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMTIsIDEyKSk7XHJcblxyXG5cdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblxyXG5cdFx0Lml0ZW0ge1xyXG5cdFx0XHRtYXJnaW46IDAgMXJlbSAycmVtICFpbXBvcnRhbnQ7XHJcblx0XHR9XHJcbiAgICB9XHJcblxyXG5cclxufVxyXG5cclxuLndwLWJsb2NrLndwLWJsb2NrLWFjZi10ZWFzZXItcGFnZSB7XHJcblx0cGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcclxufSIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuXHJcbi53cC1ibG9jay1hY2YtbGlzdGluZy1jYXJkIHtcclxuICBtYXgtd2lkdGg6IDEwMCVcclxufVxyXG5cclxuXHJcblxyXG4ubGlzdGluZy1jYXJkLWF2aXMge1xyXG5cclxuICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLy8gei1pbmRleDogMDtcclxuXHJcblxyXG4gIC8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogeHh4XHJcblxyXG4gIC5pbWFnZXNfY19pbWcge1xyXG4gICAgLy8gQGV4dGVuZCAuaDEwMHZoLWxnO1xyXG4gICAgLy8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgLy8gICBoZWlnaHQ6IDkwdmg7XHJcbiAgXHJcbiAgICAvLyAgIGltZyB7XHJcbiAgICAvLyAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gICAgLy8gKioqICoqKioqKiBJTUFHRVxyXG4gICAgLy8gLmltYWdlc19jX2ltZyB7XHJcblxyXG4gICAgLy8gICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAvLyAgICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgIC8vICAgICB0b3A6IDA7XHJcbiAgICAvLyAgIH1cclxuXHJcbiAgICAvLyB9XHJcblxyXG5cclxuXHJcbiAgICAgIC8vIHdpZHRoOiBwZXJjZW50YWdlKG1hdGguZGl2KDEwLCAxMikpO1xyXG4gICAgICAvLyBtYXJnaW4tbGVmdDogcGVyY2VudGFnZShtYXRoLmRpdigxLCAxMikpO1xyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgLy8gLmxpc3RfY2FyZHMge1xyXG4gIC8vICAgLml0ZW0ge1xyXG4gIC8vICAgICBtYXJnaW46IDAgMjVweDtcclxuICAvLyAgICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xyXG4gIC8vICAgICAuaW5uZXIge1xyXG4gIC8vICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgLy8gICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIC8vICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQ7XHJcbiAgLy8gICAgICAgcGFkZGluZzogMTBweCAyNXB4IDJweDtcclxuXHJcbiAgLy8gICAgICAgZW0ge1xyXG4gIC8vICAgICAgICAgZm9udC1zaXplOiByZW0oNDApO1xyXG4gIC8vICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250X3NlY29uZDtcclxuICAvLyAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oNzApO1xyXG4gIC8vICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gIC8vICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3I6IHllbGxvdywgJGFscGhhOiAwLjEpO1xyXG4gIC8vICAgICAgIH1cclxuXHJcbiAgLy8gICAgIH1cclxuICAvLyAgIH1cclxuICAvLyAgIC5zbGlja19idXR0b24gW3R5cGU9YnV0dG9uXSBzdmcge1xyXG4gIC8vICAgICBmaWxsOiAkd2hpdGU7XHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG5cclxuXHJcblxyXG5cclxuICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKixcclxuICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAvLyBJTiBBRE1JTlxyXG4gICYuaXMtYWRtaW4ge1xyXG4gICAgICBAZXh0ZW5kICVpbWFnZXNfY19fZnJvbnRfYmFjaztcclxuXHJcbiAgICAgIC5pdGVtLmNhcmRfYXZpcyB7XHJcbiAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgICBmbGV4OiAwIDAgMjUlO1xyXG4gICAgICAgIG1heC13aWR0aDogMjUlO1xyXG5cclxuICAgICAgICAuaW1nIHtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2xpY2suc2xpY2stc2xpZGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnNsaWNrX2J1dHRvbiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICB9XHJcblxyXG5cclxufVxyXG4iLCJAdXNlIFwic2FzczptYXRoXCI7XHJcblxyXG4ud3AtYmxvY2stYWNmLWxpc3RpbmctYXJ0aWNsZSB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlXHJcbn1cclxuXHJcbi5saXN0aW5nX2FydGljbGUtc2xpZGVyIHtcclxuXHJcblxyXG5cclxuXHJcblxyXG4gIC8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLFxyXG4gIC8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIC8vIElOIEFETUlOXHJcbiAgJi5pcy1hZG1pbiB7XHJcbiAgICAvLyAgIEBleHRlbmQgJWltYWdlc19jX19mcm9udF9iYWNrO1xyXG5cclxuICAgIC8vICAgLml0ZW0ge1xyXG4gICAgICAuaXRlbS5jYXJkX2xvYyB7XHJcbiAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgICBmbGV4OiAwIDAgMjUlO1xyXG4gICAgICAgIG1heC13aWR0aDogMjUlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAubWFpbl9zbGlkZXIudHlwZV9oZWJlcmcgLnNsaWNrIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnNsaWNrX2J1dHRvbiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICB9XHJcblxyXG5cclxufVxyXG4iLCIud3AtYmxvY2stYWNmLWZvcm0tY29udGFjdCB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcblxyXG4udHhfaW1nLmRvdWJsZV9jb2wge1xyXG5cclxuICAgIC5lbWJlZC1yZXNwb25zaXZlIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbi8vIC5mb3JtX2NvbnRhY3Qge1xyXG5cclxuXHJcbi8vICAgICAjZm9ybS1jb250YWN0IGlucHV0W3R5cGU9ZW1haWxdLCAjZm9ybS1jb250YWN0IGlucHV0W3R5cGU9cGFzc3dvcmRdLCAjZm9ybS1jb250YWN0IGlucHV0W3R5cGU9dGVsXSwgI2Zvcm0tY29udGFjdCBpbnB1dFt0eXBlPXRleHRdLCAjZm9ybS1jb250YWN0IHRleHRhcmVhIHtcclxuLy8gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xyXG4vLyAgICAgfVxyXG5cclxuLy8gICAgIC5idXR0b24ge1xyXG4vLyAgICAgICAgIEBleHRlbmQgLmJ0bl9zdGQ7XHJcbi8vICAgICB9XHJcblxyXG5cclxuLy8gfVxyXG5cclxuXHJcblxyXG5cclxuLy8gLy8gKioqIC8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vICNmb3JtLWNvbnRhY3Qge1xyXG4vLyAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuLy8gfVxyXG5cclxuLy8gI2Zvcm0tY29udGFjdCBpbnB1dFt0eXBlPWVtYWlsXSwjZm9ybS1jb250YWN0IGlucHV0W3R5cGU9cGFzc3dvcmRdLCNmb3JtLWNvbnRhY3QgaW5wdXRbdHlwZT10ZWxdLCNmb3JtLWNvbnRhY3QgaW5wdXRbdHlwZT10ZXh0XSwjZm9ybS1jb250YWN0IHRleHRhcmVhIHtcclxuLy8gICAgIHdpZHRoOiAxMDAlO1xyXG4vLyAgICAgLy8gbWFyZ2luLWJvdHRvbTogMzBweDtcclxuLy8gICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbi8vICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XHJcbi8vICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuXHJcbi8vICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJvZHktYmc7XHJcbi8vICAgICBib3JkZXItYm90dG9tOiAwcHggc29saWQgJGJvZHktYmc7XHJcbi8vICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICRib2R5LWJnO1xyXG4vLyAgICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgJGJvZHktYmc7XHJcblxyXG4vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjgsMTI4LDEyOCwuMSk7XHJcbi8vICAgICAvLyBib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgxMjgsMTI4LDEyOCwuMSk7XHJcbi8vICAgICB0cmFuc2l0aW9uOiBhbGwgLjI1cyBlYXNlO1xyXG4vLyAgICAgYm9yZGVyLXJhZGl1czogM3B4XHJcbi8vIH1cclxuXHJcbi8vICNmb3JtLWNvbnRhY3QgaW5wdXRbdHlwZT1lbWFpbF0sI2Zvcm0tY29udGFjdCBpbnB1dFt0eXBlPXBhc3N3b3JkXSwjZm9ybS1jb250YWN0IGlucHV0W3R5cGU9dGVsXSwjZm9ybS1jb250YWN0IGlucHV0W3R5cGU9dGV4dF0ge1xyXG4vLyAgICAgLy8gd2lkdGg6IDk2JTtcclxuLy8gfVxyXG4vLyAjZm9ybS1jb250YWN0IHRleHRhcmVhIHtcclxuLy8gICAgIC8vIHdpZHRoOiAxMDAlO1xyXG4vLyB9XHJcblxyXG4vLyAjZm9ybS1jb250YWN0IGlucHV0W3R5cGU9ZW1haWxdOmZvY3VzLFxyXG4vLyAjZm9ybS1jb250YWN0IGlucHV0W3R5cGU9ZW1haWxdOmZvY3VzLXZpc2libGUsXHJcbi8vICNmb3JtLWNvbnRhY3QgaW5wdXRbdHlwZT1lbWFpbF06aG92ZXIsXHJcbi8vICNmb3JtLWNvbnRhY3QgaW5wdXRbdHlwZT1wYXNzd29yZF06Zm9jdXMsXHJcbi8vICNmb3JtLWNvbnRhY3QgaW5wdXRbdHlwZT1wYXNzd29yZF06Zm9jdXMtdmlzaWJsZSxcclxuLy8gI2Zvcm0tY29udGFjdCBpbnB1dFt0eXBlPXBhc3N3b3JkXTpob3ZlcixcclxuLy8gI2Zvcm0tY29udGFjdCBpbnB1dFt0eXBlPXRlbF06Zm9jdXMsXHJcbi8vICNmb3JtLWNvbnRhY3QgaW5wdXRbdHlwZT10ZWxdOmZvY3VzLXZpc2libGUsXHJcbi8vICNmb3JtLWNvbnRhY3QgaW5wdXRbdHlwZT10ZWxdOmhvdmVyLFxyXG4vLyAjZm9ybS1jb250YWN0IGlucHV0W3R5cGU9dGV4dF06Zm9jdXMsXHJcbi8vICNmb3JtLWNvbnRhY3QgaW5wdXRbdHlwZT10ZXh0XTpmb2N1cy12aXNpYmxlLFxyXG4vLyAjZm9ybS1jb250YWN0IGlucHV0W3R5cGU9dGV4dF06aG92ZXIsXHJcbi8vICNmb3JtLWNvbnRhY3QgdGV4dGFyZWE6Zm9jdXMsXHJcbi8vICNmb3JtLWNvbnRhY3QgdGV4dGFyZWE6Zm9jdXMtdmlzaWJsZSxcclxuLy8gI2Zvcm0tY29udGFjdCB0ZXh0YXJlYTpob3ZlciB7XHJcbi8vICAgICAvLyBib3JkZXI6IDFweCBzb2xpZCBncmV5O1xyXG4vLyAgICAgb3V0bGluZTogMDtcclxuLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkIGxpZ2h0ZW4oJGNvbG9yOiAkYm9keS1jb2xvciwgJGFtb3VudDogNjApO1xyXG4vLyAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTI4LDEyOCwxMjgsLjAzKVxyXG4vLyB9XHJcblxyXG4vLyAjZm9ybS1jb250YWN0IGlucHV0W3R5cGU9ZW1haWxdLmludmFsaWQsI2Zvcm0tY29udGFjdCBpbnB1dFt0eXBlPXBhc3N3b3JkXS5pbnZhbGlkLCNmb3JtLWNvbnRhY3QgaW5wdXRbdHlwZT10ZWxdLmludmFsaWQsI2Zvcm0tY29udGFjdCBpbnB1dFt0eXBlPXRleHRdLmludmFsaWQsI2Zvcm0tY29udGFjdCB0ZXh0YXJlYS5pbnZhbGlkIHtcclxuLy8gICAgIGJvcmRlci1jb2xvcjogcmVkIWltcG9ydGFudFxyXG4vLyB9XHJcblxyXG4vLyAjZm9ybS1jb250YWN0IHRleHRhcmVhIHtcclxuLy8gICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0XHJcbi8vIH1cclxuXHJcbi8vICNmb3JtLWNvbnRhY3QgLmN1c3RvbS1jaGVja2JveCB7XHJcbi8vICAgICBkaXNwbGF5OiBub25lXHJcbi8vIH1cclxuXHJcbi8vICNmb3JtLWNvbnRhY3QgLmdyZWNhcHRjaGEtYmFkZ2Uge1xyXG4vLyAgICAgdmlzaWJpbGl0eTogaGlkZGVuXHJcbi8vIH1cclxuXHJcbi8vICNmb3JtLWNvbnRhY3QgYnV0dG9uI3N1Ym1pdF9jb250YWN0OmRpc2FibGVkIHtcclxuLy8gICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbi8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4xKTtcclxuLy8gICAgIGNvbG9yOiByZ2JhKDAsMCwwLC4yNSk7XHJcbi8vICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4vLyAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xyXG4vLyAgICAgYm94LXNoYWRvdzogbm9uZVxyXG4vLyB9XHJcblxyXG4vLyAjZm9ybS1jb250YWN0IC5jb2wtaW5wdXQge1xyXG4vLyAgICAgcG9zaXRpb246IHJlbGF0aXZlXHJcbi8vIH1cclxuXHJcbi8vICNmb3JtLWNvbnRhY3QgLmNvbC1pbnB1dC0tbmlja25hbWUge1xyXG4vLyAgICAgb3BhY2l0eTogMDtcclxuLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8gICAgIHRvcDogMDtcclxuLy8gICAgIGxlZnQ6IDA7XHJcbi8vICAgICBoZWlnaHQ6IDA7XHJcbi8vICAgICB3aWR0aDogMDtcclxuLy8gICAgIHotaW5kZXg6IC0xXHJcbi8vIH1cclxuXHJcbi8vICNmb3JtLWNvbnRhY3QgLmNvbC1pbnB1dCAuZXJyb3Itbm90aWNlIHtcclxuLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8gICAgIGJvdHRvbTogMTJweDtcclxuLy8gICAgIGxlZnQ6IDE1cHg7XHJcbi8vICAgICB3aWR0aDogMTAwJTtcclxuLy8gICAgIGNvbG9yOiByZWQ7XHJcbi8vICAgICBmb250LXNpemU6IDExcHg7XHJcbi8vICAgICBvcGFjaXR5OiAwO1xyXG4vLyAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC4xcyBlYXNlO1xyXG4vLyAgICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAuMXMgZWFzZTtcclxuLy8gICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjFzIGVhc2VcclxuLy8gfVxyXG5cclxuLy8gI2Zvcm0tY29udGFjdCAuY29sLWlucHV0IC5pbnZhbGlkKy5lcnJvci1ub3RpY2Uge1xyXG4vLyAgICAgb3BhY2l0eTogMVxyXG4vLyB9XHJcblxyXG4uYWxlcnQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogLjc1cmVtIDEuMjVyZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW1cclxufVxyXG5cclxuLmFsZXJ0LXN1Y2Nlc3Mge1xyXG4gICAgY29sb3I6ICMxNTU3MjQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRlZGRhO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjYzNlNmNiXHJcbn1cclxuXHJcbi5hbGVydC1kYW5nZXIge1xyXG4gICAgY29sb3I6ICM3MjFjMjQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhkN2RhO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjZjVjNmNiXHJcbn1cclxuXHJcbi5mb3JtLWNvbnRhY3QtaW1nIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gICAgLW8tb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlclxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcclxuICAgIC5mb3JtLWNvbnRhY3QtaW1nIHtcclxuICAgICAgICBkaXNwbGF5Om5vbmVcclxuICAgIH1cclxufVxyXG4iLCJcclxuQHVzZSBcInNhc3M6bWF0aFwiO1xyXG5cclxuLndwLWJsb2NrLWFjZi10ZXh0ZS1pbWFnZSB7XHJcblx0bWF4LXdpZHRoOiAxMDAlXHJcbn1cclxuXHJcbi5waG90b19tb3ZlX2NsaWNrICxcclxuLmN0YV9tdWxpdHBsZSB7XHJcblx0Ly8gQ2FjaGVyIGRlY28gXHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnR4X2ltZyB7XHJcblxyXG5cdC50aXRyZV9kb3VibGUge1xyXG5cdFx0LyogUmV0aXLDqSBpbXBhY3QgdG91dCBsZXMgdGl0cmVzICovXHJcblx0XHRtYXgtd2lkdGg6IG5vbmU7XHJcblx0XHRtYXJnaW4tbGVmdDogMDtcclxuXHJcblx0XHRmb250LXNpemU6IHJlbSgxMCk7XHJcblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7IGZvbnQtc2l6ZTogcmVtKDE0KTsgfVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkgeyBmb250LXNpemU6IHJlbSgyOCk7IH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHsgZm9udC1zaXplOiByZW0oMjQpOyB9XHJcblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7IGZvbnQtc2l6ZTogcmVtKDI3KTsgfVxyXG5cdFx0Ly8gLy8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkgeyBmb250LXNpemU6IHJlbSgxMSk7IH1cclxuXHRcdC8vIC8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7IGZvbnQtc2l6ZTogcmVtKDE0KTsgfVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHsgZm9udC1zaXplOiByZW0oMzApOyB9XHJcblxyXG5cdH1cclxuXHJcblx0XHJcbiAgICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKixcclxuICAgIC8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIC8vIElOIEFETUlOXHJcbiAgICAmLmlzLWFkbWluIHtcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHRcdFxyXG4gICAgLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiosXHJcbiAgICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAvLyBJbWFnZSBzdXBcclxuXHQmLmltZ19zdXBfaSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcblx0XHRcdC50eF9pbWctaW1nIHtcclxuXHRcdFx0XHRmbGV4OiAwIDAgcGVyY2VudGFnZShtYXRoLmRpdig0LCAxMikpO1xyXG5cdFx0XHRcdG1heC13aWR0aDogcGVyY2VudGFnZShtYXRoLmRpdig0LCAxMikpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5pbWdfc3VwIHtcclxuXHJcblx0XHRtYXJnaW46IC01cmVtIDAgMCAzcmVtO1xyXG5cclxuXHRcdGZsZXg6IDAgMCBwZXJjZW50YWdlKG1hdGguZGl2KDUsIDEyKSk7XHJcblx0XHRtYXgtd2lkdGg6IHBlcmNlbnRhZ2UobWF0aC5kaXYoNSwgMTIpKTtcclxuXHJcblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcblxyXG5cdFx0XHRtYXJnaW46IDA7XHJcblxyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHotaW5kZXg6IDU7XHJcblx0XHRcdHJpZ2h0OiBwZXJjZW50YWdlKG1hdGguZGl2KC0xLCAyNCkpO1xyXG5cdFx0XHQvLyB0b3A6IHBlcmNlbnRhZ2UobWF0aC5kaXYoLTMuNiwgMTIpKTtcclxuXHRcdFx0dG9wOiAtOXZ3O1xyXG5cclxuXHJcblx0XHRcdGZsZXg6IDAgMCBwZXJjZW50YWdlKG1hdGguZGl2KDIuOCwgMTIpKTtcclxuXHRcdFx0bWF4LXdpZHRoOiBwZXJjZW50YWdlKG1hdGguZGl2KDIuOCwgMTIpKTtcclxuXHJcblx0XHRcdHdpZHRoOiBwZXJjZW50YWdlKG1hdGguZGl2KDIuOCwgMTIpKVxyXG5cdFx0fVxyXG5cclxuXHJcblx0XHRcclxuXHRcdC5lbWJlZC1yZXNwb25zaXZlIHtcclxuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHRcdFx0XHJcbiAgICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAvLyBFTkQgPiBJbWFnZSBzdXBcclxuICAgIC8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLFxyXG5cdFxyXG5cclxuICBcclxuXHQmICsgLnR4X2ltZyB7XHJcblx0ICAvLyBtYXJnaW4tdG9wOiAtM3JlbTtcclxuXHQgIFxyXG5cdCAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xyXG5cdFx0Ly8gbWFyZ2luLXRvcDogMHJlbTtcclxuXHQgIH1cclxuICBcclxuXHR9XHJcbiAgXHJcblx0LyogLS0tIFRleHQgLS0tICovXHJcblx0Ji10eCB7XHJcbiAgXHJcblx0ICA+IC5pbm5lciB7XHJcblx0XHQgIHBhZGRpbmc6IDAgcGVyY2VudGFnZShtYXRoLmRpdigxLCAxMikpO1xyXG4gIFxyXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xyXG5cdFx0ICBwYWRkaW5nOiAwIHBlcmNlbnRhZ2UobWF0aC5kaXYoMiwgMTIpKTtcclxuXHRcdC8vICAgcGFkZGluZzogMCBwZXJjZW50YWdlKG1hdGguZGl2KDUsIDI0KSk7XHJcblx0XHR9XHJcbiAgXHJcblx0ICB9XHJcblxyXG5cdCAgLmNrX3R4IHtcclxuXHJcblx0ICB9XHJcbiAgXHJcblx0ICAvLyAuZmlndXJlIHtcclxuXHQgIC8vICAgQGV4dGVuZCAlaW1nX3BhZGRpbmdfcmF0aW87XHJcblx0ICAvLyAgIGltZyB7fVxyXG4gIFxyXG5cdCAgLy8gICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdCAgLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJvZHktYmcsIDcpO1xyXG5cdCAgLy8gfVxyXG4gIFxyXG5cdH1cclxuXHQvKiAtLS0gRU5EID4gVGV4dCAtLS0gKi9cclxuICBcclxuICBcclxuICBcclxuXHQvKiAtLS0gSW1hZ2UgLS0tICovXHJcblx0Ji1pbWcge1xyXG5cdCBcclxuXHQgIGltZyB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRib2R5LWJnLCA3KTtcclxuICBcclxuXHRcdHRyYW5zaXRpb246IGFsbCAuMnM7XHJcblx0fVxyXG5cdFxyXG5cdFxyXG5cdC8qIC0tLSBJdGVtIC0tLSAqL1xyXG5cdC5lbWJlZC1yZXNwb25zaXZlIHtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcblx0fVxyXG5cdFx0PiAuaXRlbSB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdH1cclxuICBcclxuICBcclxuXHQgIC8vIC5saXN0aW5nX2FydGljbGUge1xyXG5cdCAgLy8gICAuc2xpY2tfYnV0dG9uIHtkaXNwbGF5OiBub25lO31cclxuXHQgIC8vICAgLy8gb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG5cdCAgLy8gICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcblx0ICAvLyAgICAgLyogUG91ciBsZXMgZmxlY2hlIGR1IHNsaWRlciAqL1xyXG5cdCAgLy8gICAgIC8vIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcblx0ICAvLyAgICAgLnNsaWNrX2J1dHRvbiB7ZGlzcGxheTogYmxvY2s7O31cclxuXHQgIC8vICAgfVxyXG5cdCAgLy8gfVxyXG4gIFxyXG4gIFxyXG5cdCAgLyogLS0tIFRleHRlIGNvdMOpIGltYWdlIC0tLSAqL1xyXG5cdCAgLy8gJi10eCB7XHJcblx0ICAvLyAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHQgIC8vIH1cclxuXHQgIC8qIC0tLSBFTkQgPiBUZXh0ZSBjb3TDqSBpbWFnZSAtLS0gKi9cclxuICBcclxuICBcclxuICBcclxuXHQgIC8vID4gLnJvdyA+IC50eF9pbWctaW1nLXIgPiAuaXRlbSAsXHJcblx0ICAvLyA+IC5yb3cgPiAudHhfaW1nLWltZy1sID4gLml0ZW0gLFxyXG5cdCAgLy8gPiAucm93ID4gLml0ZW0ge1xyXG4gIFxyXG5cdCAgLy8gKioqIFRvdWNoZSB1biBibG9jIHBob3RvXHJcblx0ICAuaXRlbSB7XHJcblx0XHQvLyBib3JkZXI6IDVweCBzb2xpZCByZWQ7XHJcbiAgXHJcblx0XHRpbWcgKyAuYnRuX2V4dHJhX2JvbGQtciB7XHJcblx0XHQgIHBhZGRpbmctcmlnaHQ6IDE0cHg7XHJcbiAgXHJcblx0XHQgICY6YWZ0ZXIge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0ICB9XHJcblx0XHR9XHJcblx0ICB9XHJcbiAgXHJcbiAgXHJcbiAgXHJcblx0ICAvLyAqKiogTGllbiBzdXIgaW1hZ2UgcG91ciByZWNvdXZyaXIgdG91dGVzIGxhIHN1cmZhY2UgZGUgbCdpbWFnZVxyXG5cdCAgLmxpbmsge1xyXG5cdFx0LyogLS0tIFJham91dCAtLS0gKi9cclxuXHRcdHRleHQtaW5kZW50OiAtOTk5OXB4O1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG4gIFxyXG5cdFx0cG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAxNDA7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0XHRib3R0b206IDA7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdC8qIC0tLSBFTkQgPiBSYWpvdXQgLS0tICovXHJcbiAgXHJcblx0XHRAZXh0ZW5kIC5vcC0wO1xyXG4gIFxyXG4gIFxyXG5cdFx0KyAuYnRuIHtcclxuXHRcdCAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgXHJcblx0XHQgICY6YWZ0ZXIge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG5cdFx0ICB9XHJcblx0XHR9XHJcbiAgXHJcbiAgXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdCAgQGV4dGVuZCAub3AtMzA7XHJcbiAgXHJcblx0XHQgICsgLmJ0bl9leHRyYV9ib2xkLXIge1xyXG5cdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0ICByaWdodDogLTZweDtcclxuXHRcdFx0fVxyXG5cdFx0ICB9XHJcbiAgXHJcbiAgXHJcblx0XHR9XHJcblx0ICB9XHJcbiAgXHJcbiAgXHJcbiAgXHJcblx0ICAvLyAqKiogVGV4dGUgc3VyIGltYWdlXHJcblx0ICAubGlua19zcGFuIHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcblx0XHQtd2Via2l0LWh5cGhlbnM6IGF1dG87XHJcblx0XHQtbW96LWh5cGhlbnM6IGF1dG87XHJcblx0XHQtbXMtaHlwaGVuczogYXV0bztcclxuXHRcdC1vLWh5cGhlbnM6IGF1dG87XHJcblx0XHRoeXBoZW5zOiBhdXRvO1xyXG4gIFxyXG5cdFx0Ly8gd2lkdGg6IDkwJTtcclxuXHRcdGZvbnQtc2l6ZTogZW0oMTgpO1xyXG5cdFx0Ly8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkgeyBmb250LXNpemU6IGVtKDIyKTsgfVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkgeyBmb250LXNpemU6IGVtKDI2KTsgfVxyXG5cdFx0Ly8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykgeyBmb250LXNpemU6IGVtKDMwKTsgfVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkgeyBmb250LXNpemU6IGVtKDM0KTsgfVxyXG5cdFx0Ly8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHsgZm9udC1zaXplOiBlbSgzOCk7IH1cclxuICBcclxuICBcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMTYwO1xyXG5cdFx0dG9wOiA1MCU7XHJcblx0XHRsZWZ0OiA1MCU7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IC01MCU7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICBcclxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcclxuXHRcdCAgdG9wOiBhdXRvO1xyXG5cdFx0ICBib3R0b206IDIwcHg7XHJcblx0XHQgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xyXG5cdFx0fVxyXG4gIFxyXG5cdCAgfVxyXG4gIFxyXG4gIFxyXG4gIFxyXG5cdCAgLyogLS0tIExpc3RlIHBpY3RvIC0tLSAqL1xyXG5cdCAgLy8gLmxpc3RfcGljdG8ge1xyXG4gIFxyXG5cdCAgLy8gICAmLWxpIHtcclxuXHQgIC8vICAgICBtYXJnaW46IDAgMTNweCAxMHB4O1xyXG5cdCAgLy8gICB9XHJcblx0ICAvLyB9XHJcblx0ICAvKiAtLS0gRU5EID4gTGlzdGUgcGljdG8gLS0tICovXHJcbiAgXHJcblx0fVxyXG5cdC8qIC0tLSBFTkQgPiBJbWFnZSAtLS0gKi9cclxuICBcclxuICBcclxuICBcclxuICBcclxuXHQvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKixcclxuXHQvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBPUFRJT05TXHJcbiAgXHJcblx0Ly8gKioqIExpc3RlIGRlcyBib3V0b25zIG1vdmUgcGhvdG9cclxuXHQmLmV2ZW4gLmJ0bl9waG90b3Mge1xyXG5cdCAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoLTUsIDEyKSk7XHJcblx0XHQvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XHJcblx0ICB9XHJcblx0fVxyXG5cdCYub2RkIC5idG5fcGhvdG9zIHtcclxuXHQgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcclxuXHRcdG1hcmdpbi1yaWdodDogcGVyY2VudGFnZShtYXRoLmRpdigtNSwgMTIpKTtcclxuICBcclxuXHRcdC5pdGVtIHtcclxuXHRcdCAgbWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0ICBtYXJnaW4tbGVmdDogYXV0bztcclxuXHRcdH1cclxuXHRcdC5idG5fYWN0aWYge1xyXG5cdFx0ICAvLyBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdFx0ICAmOmFmdGVyIHtcclxuXHRcdFx0bGVmdDogYXV0bztcclxuXHRcdFx0cmlnaHQ6IDAlO1xyXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSg2MCUsIC01MCUpIHNjYWxlKC0xKTtcclxuXHRcdCAgfVxyXG5cdFx0fVxyXG5cdCAgfVxyXG5cdH1cclxuXHQmLnBob3RvX21vdmVfY2xpY2sge1xyXG5cdCAgLmJ0bl9waG90b3Mge1xyXG5cdCAgfVxyXG5cdH1cclxuICBcclxuICBcclxuICBcclxuXHQvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKixcclxuXHQvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBERUNPXHJcbiAgXHJcblx0Ly8gKioqIFRlbnRlXHJcblx0Ly8gJi5ldmVuIC5pbWdfZGVjby5kX3RlbnRlIHtcclxuXHQvLyAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcclxuXHQvLyBcdG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKG1hdGguZGl2KDksIDEyKSk7XHJcblx0Ly8gICB9XHJcblx0Ly8gfVxyXG5cdC8vICYub2RkIC5pbWdfZGVjby5kX3RlbnRlIHtcclxuXHQvLyAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcclxuXHQvLyBcdG1hcmdpbi1yaWdodDogcGVyY2VudGFnZShtYXRoLmRpdig5LCAxMikpO1xyXG5cdC8vICAgfVxyXG5cdC8vIH1cclxuICBcclxuXHQvLyAuaW1nX2RlY28uZF90ZW50ZSB7XHJcbiAgXHJcblx0Ly8gICB3aWR0aDogMTAwJTtcclxuICBcclxuICBcclxuXHQvLyAgIC8vIG1hcmdpbi1ib3R0b206IC03NiU7XHJcblx0Ly8gICBtYXJnaW4tYm90dG9tOiAtMjAlO1xyXG4gIFxyXG5cdC8vICAgLy8gKioqXHJcbiAgXHJcblx0Ly8gICAvLyBmbGV4OiAwIDAgcGVyY2VudGFnZSgxNC8xMik7XHJcblx0Ly8gICBmbGV4OiAwIDAgcGVyY2VudGFnZShtYXRoLmRpdig4LCAxMikpO1xyXG5cdC8vICAgLy8gbWF4LXdpZHRoOiBwZXJjZW50YWdlKDE0LzEyKTtcclxuXHQvLyAgIG1heC13aWR0aDogcGVyY2VudGFnZShtYXRoLmRpdig4LCAxMikpO1xyXG4gIFxyXG5cdC8vICAgb3BhY2l0eTogLjU7XHJcbiAgXHJcbiAgXHJcblx0Ly8gICAvLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcblx0Ly8gICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcblx0Ly8gXHRvcGFjaXR5OiAxO1xyXG5cdC8vIFx0Ly8gbWFyZ2luLWJvdHRvbTogLTMwJTsgLy8gUGlldXZyZVxyXG5cdC8vIFx0Ly8gbWFyZ2luLWJvdHRvbTogLTQzJTtcclxuXHQvLyBcdG1hcmdpbi1ib3R0b206IC0xMCU7XHJcblx0ICBcclxuXHQvLyBcdGZsZXg6IDAgMCBwZXJjZW50YWdlKG1hdGguZGl2KDIuNSwgMTIpKTtcclxuXHQvLyBcdG1heC13aWR0aDogcGVyY2VudGFnZShtYXRoLmRpdigyLjUsIDEyKSk7XHJcbiAgXHJcblx0Ly8gICB9XHJcblx0Ly8gfVxyXG4gIFxyXG4gIFxyXG5cclxuICBcclxuXHQvLyAqKioqKioqKiogU3R5bGluZyBpbWFnZVxyXG5cdC50eF9pbWctaW1nIHtcclxuXHQvLyAgIHBhZGRpbmc6IDIlIDAlIDMlO1xyXG5cdCAgXHJcblx0ICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdCAgfVxyXG5cclxuXHR9XHJcblx0Ji5vZGQuaW1nX2kge1xyXG4gIFxyXG5cdCAgLnR4X2ltZy1pbWcgLml0ZW0ge1xyXG5cdFx0Ly8gdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XHJcblx0ICB9XHJcblxyXG5cdCAgXHQudGl0cmVfZG91YmxlIHtcclxuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdH1cclxuXHQgIFx0LmNrX3R4LFxyXG5cdCAgXHQudGl0cmVfZG91YmxlIHtcclxuXHRcdFx0ICBcclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcbiAgXHJcblx0fVxyXG5cdCYuZXZlbi5pbWdfaSB7XHJcbiAgXHJcblx0XHQudHhfaW1nLWltZyAuaXRlbSB7XHJcblx0XHQgIC8vIHRyYW5zZm9ybTogcm90YXRlKC0zZGVnKTtcclxuXHRcdH1cclxuXHJcblxyXG5cdCAgXHQudGl0cmVfZG91YmxlIHtcclxuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdH1cclxuICBcclxuXHR9XHJcblx0Ly8gKioqKioqKioqIEVORCA+IFN0eWxpbmcgaW1hZ2VcclxuICBcclxuICBcclxuICBcclxuICBcclxuICBcclxuXHQ+IC5qdXN0aWZ5LWNvbnRlbnQteGwtc3RhcnQge1xyXG5cdCAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xyXG5cdFx0LmJsb2Nfc3BsIHtcclxuXHRcdCAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMSwgMTIpKTtcclxuXHRcdH1cclxuXHQgIH1cclxuXHR9XHJcbiAgXHJcblx0Ly8gKioqICoqKioqKiBESVNQT1NJVElPTiBCTE9DIElNQUdFXHJcblx0Ly8gKioqIEltYWdlIHRhaWxsZSBuYXR1cmVsIGVuIHN0aWNreVxyXG5cdCYudHhfdW5kZXJfaSxcclxuXHQmLmltZ19jb3Zlcl9vIHtcclxuXHQgIC8vIC50eF9pbWctaW1nID4gLnJvdyB7XHJcblx0ICAudHhfaW1nLWltZyB7XHJcbiAgXHJcblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcblx0XHQgIHBvc2l0aW9uOiBzdGlja3k7XHJcblx0XHQgIHRvcDogM3JlbTtcclxuXHRcdH1cclxuXHQgIH1cclxuXHR9XHJcbiAgXHJcblx0Ly8gKioqIEltYWdlIG1lbWUgaGF1dGV1ciBxdWUgdGV4dGVcclxuXHQmLmltZ19jb3Zlcl9pIHtcclxuICBcclxuXHQgIC50eF9pbWctaW1nIHtcclxuXHRcdD4gLnJvdyB7XHJcblx0XHQgIGhlaWdodDogMTAwJTtcclxuXHRcdH1cclxuXHRcdC5pdGVtIHtcclxuXHRcdCAgQGV4dGVuZCAuaW1nX2NvdmVyO1xyXG5cdFx0fVxyXG5cdCAgfVxyXG4gIFxyXG5cdH1cclxuICBcclxuICBcclxuICBcclxuICBcclxuXHQvLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKVxyXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpe1xyXG4gIFxyXG5cdCAgJi5qdXN0aWZ5LWNvbnRlbnQteGwtc3RhcnQge1xyXG5cdFx0LmJsb2Nfc3BsIHtcclxuXHRcdCAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMSwgMTIpKTtcclxuXHRcdH1cclxuXHQgIH1cclxuXHRcclxuICBcclxuXHQgIC8vICoqKioqKioqKiBJbnRlcnZlcnRpciB0ZXh0ZSBldCBpbWFnZVxyXG5cdCAgJi5ldmVuIHtcclxuXHJcblx0XHRcdC5saXN0X2J0biAsXHJcblx0XHRcdC5ja190eCAsXHJcblx0XHRcdC50aXRyZV9kb3VibGUge1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdH1cclxuXHJcblxyXG5cdFx0ICAvLyBib3JkZXI6IDEwcHggc29saWQgcmVkO1xyXG5cdFx0ICAudHhfaW1nLWltZyArIC50eF9pbWctdHgge1xyXG5cdFx0XHQgIG9yZGVyOiAxO1xyXG5cdFx0ICB9XHJcbiAgXHJcblx0XHQgIC5saXN0aW5nX2FydGljbGUtc2xpZGVyIHtcclxuXHRcdFx0b3JkZXI6IDU7XHJcblx0XHQgIH1cclxuXHRcdCAgXHJcblx0XHQgIC5ibG9jX3NwbCB7XHJcblx0XHRcdG9yZGVyOiA2O1xyXG5cdFx0ICB9XHJcbiAgXHJcblx0XHQgIC50eF9pbWctaW1nIHsgICAgXHJcblx0XHRcdC8vIHBhZGRpbmc6IDIlIDMlIDMlIDA7XHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcclxuXHRcdFx0ICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZShtYXRoLmRpdigxLCAxMikpO1xyXG5cdFx0XHR9XHJcblx0XHQgIH1cclxuICBcclxuXHQgIH1cclxuXHQgICYub2RkIHtcclxuXHJcblxyXG5cclxuXHRcdCYuaW1nX2kge1xyXG5cdFx0XHQubGlzdF9idG4gLFxyXG5cdFx0XHQuY2tfdHggLFxyXG5cdFx0XHQudGl0cmVfZG91YmxlIHtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHJcblx0XHRcclxuXHRcdC50eF9pbWctaW1nIHtcclxuXHRcdFx0b3JkZXI6IDI7XHJcblx0XHR9XHJcblx0XHQudHhfaW1nLWltZyArIC50eF9pbWctdHgge1xyXG5cdFx0XHRvcmRlcjogMTtcclxuXHRcdH1cclxuXHJcblx0XHQubGlzdGluZ19hcnRpY2xlLXNsaWRlciB7XHJcblx0XHRvcmRlcjogNTtcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0LmJsb2Nfc3BsIHtcclxuXHRcdG9yZGVyOiA2O1xyXG5cdFx0fVxyXG5cclxuXHRcdC50eF9pbWctaW1nIHsgICAgXHJcblx0XHQvLyBwYWRkaW5nOiAyJSAwJSAzJSAzJTtcclxuXHRcdH1cclxuXHQgIH1cclxuXHQgIC8vICoqKioqKioqKiBFTkQgPiBJbnRlcnZlcnRpciB0ZXh0ZSBldCBpbWFnZVxyXG4gIFxyXG4gIFxyXG5cdCAgLy8gKioqICoqKioqKiBUZXh0ZSBzdXIgYmxvYyBpbWFnZVxyXG5cdCAgJi50eF91bmRlcl9pIHtcclxuICBcclxuXHRcdC50eF9pbWctaW1nIHtcclxuXHRcdCAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0ICB6LWluZGV4OiAxO1xyXG5cdFx0ICB0b3A6IDA7XHJcblx0XHQgIGJvdHRvbTogMDtcclxuXHRcdCAgZmxleDogMCAwIHBlcmNlbnRhZ2UobWF0aC5kaXYoNiwgMTIpKTtcclxuXHRcdCAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKG1hdGguZGl2KDYsIDEyKSk7XHJcblx0XHR9XHJcbiAgXHJcblx0XHQudHhfaW1nLXR4IHtcclxuXHRcdCAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0ICB6LWluZGV4OiAyO1xyXG4gIFxyXG5cdFx0ICA+IC5pbm5lciB7XHJcblxyXG5cdFx0XHRwYWRkaW5nLXRvcDogNHJlbSAhaW1wb3J0YW50O1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogNHJlbSAhaW1wb3J0YW50O1xyXG5cclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMjBweDtcclxuXHRcdFx0bWFyZ2luLXRvcDogNHJlbTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogNHJlbTtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1iZywgJGFscGhhOiAwLjgpO1xyXG5cdFx0ICB9XHJcbiAgXHJcblx0XHQgIGZsZXg6IDAgMCBwZXJjZW50YWdlKG1hdGguZGl2KDgsIDEyKSk7XHJcblx0XHQgIG1heC13aWR0aDogcGVyY2VudGFnZShtYXRoLmRpdig4LCAxMikpO1xyXG5cdFx0fVxyXG4gIFxyXG5cdFx0Ly8gQmxvYyBpbWFnZSBlbiBhYnNvbHV0ZSBvbnQgY2FsZSBsZSBibG9jIHRleHRlXHJcblx0XHQmLm9kZCB7XHRcdFx0XHJcblx0XHRcdC50eF9pbWctaW1nIHt9XHJcblx0XHRcdC50eF9pbWctdHgge1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKG1hdGguZGl2KDUsIDEyKSk7XHJcblx0XHRcdFx0PiAuaW5uZXIge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDAgMCAwIHBlcmNlbnRhZ2UobWF0aC5kaXYoMSwgMTIpKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCYuZXZlbiB7XHJcblx0XHQgIC50eF9pbWctaW1nIHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoNSwgMTIpKTtcclxuXHRcdCAgfVxyXG5cdFx0ICAudHhfaW1nLXR4IHtcclxuXHRcdFx0PiAuaW5uZXIge1xyXG5cdFx0XHQgIHBhZGRpbmc6IDAgcGVyY2VudGFnZShtYXRoLmRpdigxLCAxMikpIDAgMDtcclxuXHRcdFx0fVxyXG5cdFx0XHQvLyBib3JkZXI6IDEwcHggc29saWQgcmVkO1xyXG5cdFx0ICB9XHJcblx0XHR9XHJcblx0XHQvLyAqKiogKioqKioqIEVORCA+IFRleHRlIHN1ciBibG9jIGltYWdlXHJcbiAgXHJcbiAgXHJcbiAgXHJcblx0ICB9XHJcblx0fVxyXG5cdC8vICoqKiAqKioqKiogRU5EID4gTUVESUFcclxuICBcclxuICBcclxuICBcclxuXHQvLyAqKiogREVCVUcgbWFjID9cclxuXHQvLyAqKiogTWlzIGVuIG9mZiBzdXIgbGUgaHRtbCBwb3VyIGxlIG1vbWVudFxyXG5cdC5pbWdfY292ZXIge1xyXG5cdCAgaW1nIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcclxuXHRcdCAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0fVxyXG5cdCAgfVxyXG5cdH1cclxuICBcclxuICBcclxuXHQmLXgxLTIge1xyXG5cdCAgLyogLS0tIEltYWdlIGNvdmVyIC0tLSAqL1xyXG4gIFxyXG4gIFxyXG5cdCAgLyogLS0tIEVORCA+IEltYWdlIGNvdmVyIC0tLSAqL1xyXG5cdH1cclxuICBcclxuXHQmLXgzLTQge1xyXG4gIFxyXG5cdCAgLnR4X2ltZy1pbWcgPiAucm93IHtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHQgIH1cclxuICBcclxuXHQgIC8qIC0tLSBJbWFnZSBjb3ZlciAtLS0gKi9cclxuXHQgIC50eF9pbWctaW1nLXIgLFxyXG5cdCAgLnR4X2ltZy1pbWctbCB7XHJcblx0XHQvLyBoZWlnaHQ6IDQ1MHB4O1xyXG5cdCAgfVxyXG4gIFxyXG5cdCAgLyogLS0tIEVORCA+IEltYWdlIGNvdmVyIC0tLSAqL1xyXG5cdH1cclxuICBcclxuICBcclxuICBcclxuICBcclxuICBcclxuXHQmLmxpZ25lX2hvcml6b250YWwge1xyXG4gIFxyXG5cdH1cclxuICBcclxuICBcclxuICBcclxuICBcclxuICBcclxuICBcclxuXHQvKiAtLS0gSW1hZ2UgZGUgZm9uZCAtLS0gKi9cclxuXHQ+IC5iZ19pICxcclxuXHQ+IC5iZ19pIC50aXRyZV9zdHlsZS0xIHtcclxuXHQgIGNvbG9yOiAkd2hpdGU7XHJcblx0fVxyXG4gIFxyXG5cdC8vID4gLmxhenktYmdpICxcclxuXHQvLyA+IC5sYXp5LWJnaSAudGl0cmVfc3R5bGUtMSB7XHJcblx0Ly8gICBjb2xvcjogJHdoaXRlO1xyXG5cdC8vIH1cclxuICBcclxuXHQvLyA+IC5sYXp5LWJnaSB7XHJcblx0LmJnX2kge1xyXG5cdCAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIFxyXG5cdCAgPiAqIHtcclxuXHRcdHotaW5kZXg6IDE7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ICB9XHJcbiAgXHJcblx0ICAmOmFmdGVyIHtcclxuXHRcdC8vIHotaW5kZXg6IDAgIWltcG9ydGFudDtcclxuXHQgIH1cclxuICBcclxuXHQgIC8qIC0tLSBPdmVybGF5IC0tLSAqL1xyXG5cdCAgJjphZnRlciB7XHJcblx0XHRjb250ZW50OiAnXFwwMDIwJztcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAwO1xyXG5cdFx0dG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwO1xyXG4gIFxyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIC43KTtcclxuXHQgIH1cclxuICBcclxuXHQgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0ICBjb250ZW50OiAnXFwwMDIwJztcclxuXHRcdCAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHQgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgkYmxhY2ssIC44KSAzMCUsIHJnYmEoJGJsYWNrLCAwKSk7XHJcblx0XHR9XHJcblx0ICB9XHJcblx0ICAvKiAtLS0gRU5EID4gT3ZlcmxheSAtLS0gKi9cclxuICBcclxuICBcclxuICBcclxuXHQgIC5ja190eC1jb250ZW50IHtcclxuXHRcdEBleHRlbmQgJXN0cm9rZV90b3A7XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHQgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHQgIH1cclxuICBcclxuICBcclxuXHR9XHJcblx0LyogLS0tIEVORCA+IEltYWdlIGRlIGZvbmQgLS0tICovXHJcblxyXG4gIFxyXG4gIFxyXG4gIH1cclxuICBcclxuICBcclxuICBcclxuICBcclxuICBcclxuICBcclxuICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKixcclxuICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBQSE9UTyBNT1ZFIENMSUNLXHJcbiAgXHJcbiAgXHJcbiAgLnBob3RvX21vdmVfY2xpY2sge1xyXG4gIFxyXG5cdFtjbGFzcyAqPSBcInBob3RvX1wiXSB7XHJcblx0ICBkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHQucGhvdG9fMSB7XHJcblx0ICBkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcbiAgXHJcbiAgXHJcblx0Lml0ZW1faSB7XHJcblx0ICAvLyBib3JkZXItbGVmdDogMTBweCBzb2xpZCByZWQ7XHJcblx0fVxyXG4gIFxyXG5cdC8vICoqKiAqKioqKiogSU1BR0VcclxuXHQudHhfaW1nLWltZyB7XHJcbiAgXHJcblx0ICA+IC5yb3cge1xyXG5cdFx0Ly8gcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdCAgfVxyXG4gIFxyXG5cdCAgLmVsZW1TaG93SGlkZSB7XHJcblx0XHQvLyBoZWlnaHQ6IDA7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdCAgfVxyXG5cdCAgLmVsZW1TaG93SGlkZS5pdGVtX2kge1xyXG5cdFx0Ly8gaGVpZ2h0OiAxMDAlO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0ICB9XHJcbiAgXHJcblx0fVxyXG5cdC8vICoqKiAqKioqKiogRU5EID4gSU1BR0VcclxuICBcclxuICBcclxuXHQvLyAqKiogKioqKioqIFRFWFRFXHJcblx0LnR4X2ltZy10eCB7XHJcblx0ICAuZWxlbVNob3dIaWRlIHtcclxuXHRcdC8vIGhlaWdodDogMDtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0ICB9XHJcblx0ICAuZWxlbVNob3dIaWRlLml0ZW1faSB7XHJcblx0XHQvLyBoZWlnaHQ6IDEwMCU7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHQgIH1cclxuXHR9XHJcblx0Ly8gKioqICoqKioqKiBFTkQgPiBURVhURVxyXG4gIFxyXG4gIFxyXG5cdCAgXHJcblx0Ly8gKioqICoqKioqKioqKioqKioqIE9QVElPTlNcclxuICBcclxuICBcclxuICB9XHJcbiAgXHJcbiAgXHJcbiAgXHJcbiAgLmJ0bl9waG90b3Mge1xyXG4gIFxyXG5cdG1hcmdpbi1ib3R0b206IDEuNHJlbTtcclxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcblx0ICBtYXJnaW4tYm90dG9tOiAyLjJyZW07XHJcblx0fVxyXG4gIFxyXG5cdCAgLml0ZW0ge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMC40cmVtO1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG5cdFx0ICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XHJcblx0XHR9XHJcblx0XHQgIFxyXG5cdFx0JjpsYXN0LWNoaWxkIHtcclxuXHRcdCAgLy8gYm9yZGVyOiAxMHB4IHNvbGlkIHJlZDtcclxuXHRcdCAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdH1cclxuXHQgIH1cclxuICBcclxuICB9XHJcbiAgXHJcbiAgXHJcbiAgXHJcbiAgXHJcbiAgLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiosXHJcbiAgLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogUEhPVE8gTU9WRSBDTElDS1xyXG4gIFxyXG4gIC5jdGFfbXVsaXRwbGUudHhfaW1nIHtcclxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcblx0ICAmLmV2ZW4ge1xyXG5cdFx0LnR4X2ltZy10eCB7fVxyXG5cdFx0LnR4X2ltZy1pbWcge31cclxuXHRcdC5lbWJlZC1yZXNwb25zaXZlLmNvbC0xMiB7XHJcblx0XHQgIGZsZXg6IDAgMCBwZXJjZW50YWdlKG1hdGguZGl2KDEwLjgsIDEyKSk7XHJcblx0XHQgIG1heC13aWR0aDogcGVyY2VudGFnZShtYXRoLmRpdigxMC44LCAxMikpO1xyXG5cdFx0ICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZShtYXRoLmRpdigxLjIsIDEyKSk7XHJcblx0XHR9XHJcblx0XHQuYnRuc19jdGEge1xyXG5cdFx0ICBsZWZ0OiAwO1xyXG5cdFx0fVxyXG5cdCAgfVxyXG5cdCAgJi5vZGQge1xyXG5cdFx0LnR4X2ltZy10eCB7fVxyXG5cdFx0LnR4X2ltZy1pbWcge1xyXG5cdFx0ICA+IC5yb3cge1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcclxuXHRcdCAgfVxyXG5cdFx0fVxyXG4gIFxyXG5cdFx0LmVtYmVkLXJlc3BvbnNpdmUuY29sLTEyIHtcclxuXHRcdCAgZmxleDogMCAwIHBlcmNlbnRhZ2UobWF0aC5kaXYoMTAuOCwgMTIpKTtcclxuXHRcdCAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKG1hdGguZGl2KDEwLjgsIDEyKSk7XHJcblx0XHQgIG1hcmdpbi1yaWdodDogcGVyY2VudGFnZShtYXRoLmRpdigxLjIsIDEyKSk7XHJcblx0XHR9XHJcblx0XHQuYnRuc19jdGEge1xyXG5cdFx0ICAvLyByaWdodDogMDtcclxuICBcclxuXHRcdCAgPiAuaW5uZXIge1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcclxuXHRcdCAgfVxyXG5cdFx0fVxyXG5cdCAgfVxyXG5cdH1cclxuICB9XHJcblx0XHJcbiAgLmN0YV9tdWxpdHBsZSB7XHJcbiAgXHJcblx0Ly8gKioqIC8vLyBQb3VyIGxlIHN0aWNreVxyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xyXG5cdCAgb3ZlcmZsb3c6IHVuc2V0O1xyXG5cdH1cclxuXHRcclxuICBcclxuXHQudHhfaW1nLXR4IHtcclxuICBcclxuXHQgIC5ja190eCB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcblx0XHQgIHBhZGRpbmc6IDAgcGVyY2VudGFnZShtYXRoLmRpdigxLjIsIDEyKSk7XHJcblx0XHR9XHJcblx0ICB9XHJcbiAgXHJcbiAgXHJcblx0ICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcblx0XHRwb3NpdGlvbjogc3RpY2t5O1xyXG5cdFx0YWxpZ24tc2VsZjogZmxleC1zdGFydDtcclxuXHRcdHotaW5kZXg6IDA7XHJcblx0XHR0b3A6IDNyZW07XHJcblx0ICB9XHJcbiAgXHJcblx0fVxyXG4gIFxyXG5cdCYuaW1nX2NvdmVyX2kgLnR4X2ltZy1pbWcgLml0ZW0uZW1iZWQtcmVzcG9uc2l2ZSB7XHJcblx0ICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR6LWluZGV4OiAwO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdCAgfVxyXG5cdH1cclxuICBcclxuICB9XHJcbiAgXHJcbiAgXHJcbiAgXHJcbiAgLmJ0bnNfY3RhIHtcclxuICBcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogNTtcclxuICBcclxuICBcclxuXHQvLyB3aWR0aDogcGVyY2VudGFnZSg4IC8gMTIpO1xyXG4gIFxyXG4vLyAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcclxuXHJcblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHh4bCkge1xyXG5cdCAgbWFyZ2luLXRvcDogMnJlbTtcclxuXHR9XHJcblx0XHJcblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xyXG5cdFx0d2lkdGg6IHBlcmNlbnRhZ2UobWF0aC5kaXYoOCwgMTIpKTtcclxuXHR9XHJcbiAgXHJcblx0PiAuaW5uZXIge1xyXG5cdCAgZGlzcGxheTogZmxleDtcclxuXHQgIGZsZXgtd3JhcDogd3JhcDtcclxuXHQgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICBcclxuXHQgIC8vIGJhY2tncm91bmQtY29sb3I6IHJnYmEoYmx1ZSwgLjMpO1xyXG5cdH1cclxuICBcclxuXHQuYnRuX2N0YSB7XHJcblx0ICB3aWR0aDogMTAwJTtcclxuXHQgIC8vIGZsZXg6IDAgMCBwZXJjZW50YWdlKDEyIC8gMTIpO1xyXG5cdFx0ICAvLyBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoMTIgLyAxMik7XHJcblx0fVxyXG4gIFxyXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcclxuXHQgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHQgIC8vIHotaW5kZXg6IDEwMDtcclxuXHQgIC8vIHRvcDogMDtcclxuXHQgIC8vIGJvdHRvbTogMDtcclxuICBcclxuXHQgID4gLmlubmVyIHtcclxuXHRcdC8vIGhlaWdodDogMTAwJTtcclxuXHRcdC8vIG92ZXJmbG93OiBhdXRvO1xyXG5cdCAgfVxyXG5cdH1cclxuICBcclxuXHQgIC5pdGVtIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDAuNHJlbTtcclxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuXHRcdCAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xyXG5cdFx0fVxyXG5cdFx0ICBcclxuXHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHQgIC8vIGJvcmRlcjogMTBweCBzb2xpZCByZWQ7XHJcblx0XHQgIG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHR9XHJcblx0ICB9XHJcbiAgXHJcbiAgfSIsIlxyXG5cclxuQHVzZSBcInNhc3M6bWF0aFwiO1xyXG5cclxuLndwLWJsb2NrLWFjZi10ZXh0ZS1pbWFnZS1mdWxsIHtcclxuICBtYXgtd2lkdGg6IDEwMCVcclxufVxyXG5cclxuJWltYWdlc19jX19mcm9udF9iYWNrIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG5cclxuLmhlcm9faSB7XHJcbiAgLmd1dGVuYmVyZy1jb250ZW50IHtcclxuICAgID4gLmltZ19mdWxsX3R4Om50aC1jaGlsZCgxKSB7XHJcbiAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6cmVkO1xyXG4gICAgICBtYXJnaW4tdG9wOiAtM3JlbTtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC02cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5pbWdfZnVsbF90eCB7XHJcbiAgKyAudGhlbWVfc2VjdGlvbl9kYXJrIHtcclxuICAgIG1hcmdpbi10b3A6IC0zcmVtO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICBtYXJnaW4tdG9wOiAtNnJlbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuLm92ZXJsYXlfY2FzdG9yIHtcclxuICAvLyBkaXNwbGF5OiBub25lO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiA0MDtcclxuICBcclxuICBpbnNldDogMDtcclxuXHJcbiAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoJy4uLy4uL3NyYy9pbWcvY2FzdG9yX21hc2suc3ZnJyk7XHJcbiAgbWFzay1pbWFnZTogdXJsKCcuLi8uLi9zcmMvaW1nL2Nhc3Rvcl9tYXNrLnN2ZycpO1xyXG5cclxuICAvLyBtYXNrLXNpemU6IGNvbnRhaW47IC8vIG91IHVuZSBhdXRyZSB2YWxldXIgc2Vsb24gdm9zIGJlc29pbnNcclxuICBtYXNrLXNpemU6IGNvdmVyOyAvLyBvdSB1bmUgYXV0cmUgdmFsZXVyIHNlbG9uIHZvcyBiZXNvaW5zXHJcbiAgbWFzay1wb3NpdGlvbjogY2VudGVyOyAvLyBvdSB1bmUgYXV0cmUgdmFsZXVyIHNlbG9uIHZvcyBiZXNvaW5zXHJcbiAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsgLy8gcG91ciDDqXZpdGVyIGxhIHLDqXDDqXRpdGlvblxyXG5cclxuICAtd2Via2l0LW1hc2stY29tcG9zaXRlOiBzb3VyY2Utb3V0OyAvLyBQb3VyIGludmVyc2VyIGxlIG1hc3F1ZSAoc2kgc3VwcG9ydMOpKVxyXG4gIG1hc2stY29tcG9zaXRlOiBleGNsdWRlOyAvLyBQb3VyIGludmVyc2VyIGxlIG1hc3F1ZSAoc2kgc3VwcG9ydMOpKVxyXG5cclxuICAvLyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoJGNvbG9yX21haW4sIDEpIDAlLCByZ2JhKCRjb2xvcl9zZWNvbmRfYmlzLDEpIDEwMCUpO1xyXG4gIC8vIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsICNFRTc3NTIsICNFNzNDN0UsICMyM0E2RDUsICMyM0Q1QUIpO1xyXG4gIC8vIGJhY2tncm91bmQtc2l6ZTogNDAwJSA0MDAlO1xyXG5cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvcjogIzAwMDAwMCwgJGFscGhhOiAwLjUpO1xyXG5cclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbn1cclxuXHJcblxyXG4uaW1nX2Z1bGxfdHgge1xyXG5cclxuICBcclxuICA+IC5yb3cge1xyXG4gICAgXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAwO1xyXG4gIH1cclxuICAudGl0cmVfZG91YmxlX2Mge1xyXG4gICAgei1pbmRleDogNTA7XHJcbiAgfVxyXG5cclxuXHJcbiAgLmVtYmVkLXJlc3BvbnNpdmUge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICB9XHJcblxyXG5cclxuICAudGl0cmVfZG91YmxlIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHsgZm9udC1zaXplOiByZW0oMTYpOyB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7IGZvbnQtc2l6ZTogcmVtKDMwKTsgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykgeyBmb250LXNpemU6IHJlbSgzNCk7IH1cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHsgZm9udC1zaXplOiByZW0oNDQpOyB9XHJcbiAgICAvLyAvLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7IGZvbnQtc2l6ZTogcmVtKDExKTsgfVxyXG4gICAgLy8gLy8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHsgZm9udC1zaXplOiByZW0oMTQpOyB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkgeyBmb250LXNpemU6IHJlbSg1NSk7IH1cclxuICB9XHJcblxyXG5cclxuICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKixcclxuICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBBdWN1biB0ZXh0ZSBzdXIgZ3JhbmRlIGltYWdlXHJcbiAgLy8gJi50eF9vbl9pbWdfbyB7XHJcblxyXG4gIC8vICAgLnRpdHJlX2RvdWJsZSAuc291c3RpdHJlIHtcclxuICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7XHJcbiAgLy8gICB9XHJcbiAgICAgICAgXHJcbiAgLy8gfVxyXG5cclxuICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBFTkQgPiBBdWN1biB0ZXh0ZSBzdXIgZ3JhbmRlIGltYWdlXHJcbiAgLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiosXHJcblxyXG5cclxuICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKixcclxuICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBUZXh0ZSBzdXIgZ3JhbmRlIGltYWdlXHJcbiAgLy8gJi50eF9vbl9pbWdfaSB7XHJcbiAgICBcclxuXHJcbiAgLy8gfVxyXG4gIC8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEVORCA+IFRleHRlIHN1ciBncmFuZGUgaW1hZ2VcclxuICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKixcclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuICAvLyAqKiogKioqKioqIFp6dG9wXHJcbiAgLy8gKioqICoqKioqKiBFTkQgPiBaenRvcFxyXG5cclxuXHJcblxyXG4gIFxyXG4gIC8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLFxyXG4gIC8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIENVU1RPTSBkZWZhdWx0XHJcbiBcclxuICAudGl0cmVfZG91YmxlX2Mge1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xyXG4gICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNDAlKTtcclxuICAgICAgcGFkZGluZy10b3A6IDAuNnJlbTtcclxuICAgICAgLy8gbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMyU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudGl0cmVfZG91YmxlIHtcclxuICAgIC8vIHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG4gICAgLy8gZmxleDogMCAwIDAgIWltcG9ydGFudDtcclxuICAgIC8vIG1heC13aWR0aDogbm9uZTtcclxuICAgIC8vIG1hcmdpbi1sZWZ0OiAwO1xyXG5cclxuICAgIC8vIC5zb3VzdGl0cmUge1xyXG4gICAgLy8gICBwYWRkaW5nOiAuMXJlbSAuNnJlbSAuM3JlbTtcclxuICAgIC8vICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX21haW47XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBFTkQgPiBDVVNUT00gZGVmYXVsdFxyXG4gIC8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLFxyXG5cclxuICAmLm1lZCB7XHJcbiAgICAuaW1hZ2VzX2NfaW1nIHtcclxuICAgICAgQGV4dGVuZCAuaDcwdmgtbGc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaW1hZ2VzX2NfaW1nIHtcclxuICAgIEBleHRlbmQgLmgxMDB2aC1sZztcclxuICB9XHJcblxyXG4gIFxyXG4gICAgLy8gJi50eF9vbl9pbWdfaSB7XHJcbiAgICAvLyAgIC5pbWFnZXNfY19pbWcge1xyXG4gICAgLy8gICAgIC8vIEBleHRlbmQgLmgxMDB2aC1sZztcclxuICAgIC8vICAgfVxyXG4gICAgLy8gICAuaW1hZ2VzX2NfdGV4dCB7XHJcblxyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9XHJcbiAgICAvLyAqKiogKioqKioqIElNQUdFXHJcbiAgICAuaW1hZ2VzX2NfaW1nIHtcclxuICAgICAgLy8gaGVpZ2h0OiAxMDB2aDtcclxuICAgICAgXHJcblxyXG4gICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIC8vIHotaW5kZXg6IDE7XHJcbiAgICAgIC8vIHRvcDogMDtcclxuICAgICAgLy8gYm90dG9tOiAwO1xyXG4gICAgICAvLyBsZWZ0OiAwO1xyXG4gICAgICAvLyByaWdodDogMDtcclxuXHJcbiAgICAgIC8vIHdpZHRoOiAxMDAlO1xyXG4gICAgICAvLyBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIC8vIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLy8gKioqICoqKioqKiBURVhURVxyXG4gICAgLmltYWdlc19jX3RleHQge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgIG1hcmdpbi10b3A6IC0ycmVtO1xyXG5cclxuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMTAsIDEyKSk7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKG1hdGguZGl2KDEsIDEyKSk7XHJcblxyXG5cclxuICAgICAgXHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcblxyXG4gICAgICAgIG1hcmdpbi10b3A6IC0xMDB2aDtcclxuXHJcbiAgICAgICAgLy8gLyogcmVzZXQgKi9cclxuICAgICAgICAvLyBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgIC8vIC8qIEVORCA+IHJlc2V0ICovXHJcblxyXG5cclxuICAgICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgLy8gei1pbmRleDogMTA7XHJcbiAgICAgICAgLy8gdG9wOiBwZXJjZW50YWdlKDMgLyAyNCk7XHJcbiAgICAgICAgLy8gYm90dG9tOiBwZXJjZW50YWdlKDMgLyAyNCk7XHJcbiAgICAgICAgLy8gbGVmdDogcGVyY2VudGFnZSgxIC8gMjQpO1xyXG4gIFxyXG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKG1hdGguZGl2KDQsIDEyKSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMywgMjQpKTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZShtYXRoLmRpdigzLCAyNCkpO1xyXG5cclxuICAgICAgICBwYWRkaW5nLXRvcDogMTAwdmg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMHZoO1xyXG5cclxuICAgICAgfVxyXG5cclxuICAgICAgICAuY2tfdHgge1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIFxyXG4gICAgICAgICAgICBwYWRkaW5nOiBwZXJjZW50YWdlKG1hdGguZGl2KDIuNSwgMjQpKSBwZXJjZW50YWdlKG1hdGguZGl2KDQsIDI0KSk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcblxyXG5cclxuICAgICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcclxuICAgICAgICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udF9zZWNvbmQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogZW0oNDApO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuICAgICAgICAgIC8vIGh5cGhlbnM6IGF1dG87XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiBwZXJjZW50YWdlKG1hdGguZGl2KDEsIDEyKSk7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBlbSg2MCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgQGV4dGVuZCAldGl0cmVfZGVjb19kb3Q7XHJcbiAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuXHJcblxyXG5cclxuICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKixcclxuICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAvLyBJTiBBRE1JTlxyXG4gICYuaXMtYWRtaW4ge1xyXG4gICAgICBAZXh0ZW5kICVpbWFnZXNfY19fZnJvbnRfYmFjaztcclxuICB9XHJcblxyXG5cclxufVxyXG4iLCJAdXNlIFwic2FzczptYXRoXCI7XHJcblxyXG4ud3AtYmxvY2stYWNmLWltYWdlLWZ1bGwtLWxpc3RpbmctdmFsb3Jpc2F0aW9uIHtcclxuICBtYXgtd2lkdGg6IDEwMCVcclxufVxyXG5cclxuXHJcblxyXG4uaW1hZ2VfZnVsbF9fbGlzdGluZ192YWxvcmlzYXRpb24ge1xyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgei1pbmRleDogMDtcclxuXHJcblxyXG4gIC8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogQ2FydGUgZGUgcsOpZ2lvblxyXG4gIC5jYXJ0ZS1yZWdpb24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogMTAwO1xyXG4gICAgXHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcblxyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICB3aWR0aDogMjAwJTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTI1JSwgLTExJSk7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcblxyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICB3aWR0aDogMTUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAlLCAwJSk7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAwJSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIC5zdDB7ZmlsbDojZThlMmQ0fVxyXG4gICAgLnN0MXtmaWxsOiNkNWQ2ZDZ9XHJcbiAgICAuc3Qye2ZpbGw6I2ZmZmNmNX1cclxuICAgIC5zdDN7ZmlsbDojZmJlYmQ4fVxyXG4gICAgLnN0NHtmaWxsOiNlZmVhZTR9XHJcbiAgICAuc3Q1LC5zdDd7ZmlsbDpub25lO3N0cm9rZTojOTM3ZjcwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1taXRlcmxpbWl0OjEwfVxyXG4gICAgLnN0N3tzdHJva2UtZGFzaGFycmF5OjMuOTk2LDMuOTk2LDMuOTk2LDMuOTk2LDMuOTk2LDMuOTk2fVxyXG4gICAgLnN0OHtmaWxsOiM4Nzk0NDh9XHJcbiAgICAuc3QxMHtmaWxsOiMwMGI1Y2V9XHJcbiAgICAuc3QxNXtmaWxsOiNmZWVjZTN9XHJcbiAgICAuc3QxNntmaWxsOiMxZjFmMjN9XHJcbiAgICAvLyAuc3QxN3tmb250LWZhbWlseTomcXVvdDtGYWxsaW5kLVJlZ3VsYXImcXVvdDt9XHJcbiAgICAuc3QxN3tcclxuICAgICAgZm9udC1mYW1pbHk6JGZvbnRfc2Vjb25kO1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuICAgIC5zdDE4e2ZvbnQtc2l6ZToxOHB4fVxyXG4gICAgLnN0MjF7ZmlsbDojMDIwMjAzfVxyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG4gIC8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogeHh4XHJcblxyXG4gIC5pbWFnZXNfY19pbWcge1xyXG4gICAgLy8gQGV4dGVuZCAuaDEwMHZoLWxnO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gIFxyXG4gICAgICBpbWcge1xyXG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAgIC8vICoqKiAqKioqKiogSU1BR0VcclxuICAgIC5pbWFnZXNfY19pbWcge1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC8vICoqKiAqKioqKiogVEVYVEVcclxuICAgIC5pbWFnZXNfY190ZXh0IHtcclxuXHJcbiAgICAgIC8vIHdpZHRoOiBwZXJjZW50YWdlKG1hdGguZGl2KDEwLCAxMikpO1xyXG4gICAgICAvLyBtYXJnaW4tbGVmdDogcGVyY2VudGFnZShtYXRoLmRpdigxLCAxMikpO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktY29sb3IsIDEpO1xyXG5cclxuXHJcbiAgICAgIHotaW5kZXg6IDEwMDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICB3aWR0aDogcGVyY2VudGFnZShtYXRoLmRpdigxMSwgMjQpKTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZShtYXRoLmRpdigzLjI1LCAxMikpO1xyXG5cclxuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAyMHB4O1xyXG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAyMHB4O1xyXG5cclxuICAgICAgICBtYXJnaW4tdG9wOiAtMTMlO1xyXG5cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcblxyXG4gICAgLnRpdHJlX2RvdWJsZV9jIHtcclxuICAgICAgPiAuaW5uZXIge1xyXG4gICAgICAgIGZsZXg6IDAgMCBwZXJjZW50YWdlKG1hdGguZGl2KDExLCAxMikpO1xyXG4gICAgICAgIG1heC13aWR0aDogcGVyY2VudGFnZShtYXRoLmRpdigxMSwgMTIpKTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZShtYXRoLmRpdigwLjUsIDEyKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG5cclxuICAubGlzdF9jYXJkcyB7XHJcbiAgICAuaXRlbSB7XHJcbiAgICAgIG1hcmdpbjogMCAyNXB4O1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XHJcbiAgICAgIC5pbm5lciB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodDtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDI1cHggMnB4O1xyXG5cclxuICAgICAgICBzdHJvbmcgLFxyXG4gICAgICAgIGVtIHtcclxuICAgICAgICAgIC8vIGZvbnQtc2l6ZTogcmVtKDQwKTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI4KTtcclxuICAgICAgICAgIC8vIGxpbmUtaGVpZ2h0OiByZW0oNzApO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRfc2Vjb25kO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3I6IHllbGxvdywgJGFscGhhOiAwLjEpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbGlja19idXR0b24gW3R5cGU9YnV0dG9uXSBzdmcge1xyXG4gICAgICBmaWxsOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKixcclxuICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAvLyBJTiBBRE1JTlxyXG4gICYuaXMtYWRtaW4ge1xyXG4gICAgICBAZXh0ZW5kICVpbWFnZXNfY19fZnJvbnRfYmFjaztcclxuICB9XHJcblxyXG5cclxufVxyXG4iLCJcclxuLy8gLmd0Yl9kZWYgXHRsYXJnZXVyIERlZmF1bHRcclxuLy8gLmFsaWdud2lkZSBcdDgwJTtcclxuLy8gLmFsaWduZnVsbCBcdDEwMCVcclxuXHJcblxyXG4gIFxyXG5cclxuLy8gKioqICoqKioqKiBUQUlMTEVcclxuLy8gVm9pciBmaWNoaWVyID4+PiBzY3NzL19fX2Jvb3RzdHJhcC1hbmQtY3VzdG9tLnNjc3NcclxuLypcclxuXHRCNCA6IGRlZmF1bHRcclxuXHQoMjEgOSksXHJcblx0KDE2IDkpLFxyXG5cdCg0IDMpLFxyXG5cdCgxIDEpXHJcblxyXG5cdEFqb3V0XHJcblx0MTVieTdcclxuXHJcbiovXHJcbi8vICoqKiAqKioqKiogRU5EID4gVEFJTExFXHJcblxyXG4uaWZyYW1lX2Mge1xyXG5cclxuXHJcblx0LmVtYmVkLXJlc3BvbnNpdmUge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcclxuXHR9XHJcblxyXG5cclxuXHQvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKixcclxuICAgIC8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIC8vIElOIEFETUlOXHJcblxyXG4gICAgJi5pcy1hZG1pbiB7XHJcbiAgICAgICAgLmVtYmVkLXJlc3BvbnNpdmUge1xyXG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHRcdH1cclxuICAgIH1cclxuXHJcblxyXG59IiwiXHJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuXHJcbi53cC1ibG9jay1hY2YtZ2FsZXJpZS1waG90b3MtLS1icmlja2xheWVyLWJpcyB7XHJcblx0bWF4LXdpZHRoOiAxMDAlXHJcbn1cclxuXHJcbi5nYWxlcmllX3Bob3RvcyB7XHJcblxyXG5cclxuICAgIC8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLFxyXG4gICAgLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogLy8gSU4gQURNSU5cclxuICAgICYuaXMtYWRtaW4ge1xyXG5cclxuICAgICAgICAuYnJpY2tsYXllciAge1xyXG4gICAgICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMjUlO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNSU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiosXHJcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hZGVtaWx0ZXIvYnJpY2tsYXllci9ibG9iL21hc3Rlci9zcmMvYnJpY2tsYXllci5zY3NzXHJcbi8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIElOSVQgQUxMXHJcbi8vIEB1c2UgXCJzYXNzOm1hdGhcIjtcclxuXHJcbiRjb2x1bW4tZ3V0dGVyOiAyMHB4O1xyXG5cclxuLmJyaWNrbGF5ZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG5cclxuICAmLWNvbHVtbi1zaXplciB7XHJcbiAgICAvLyB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgLy8gQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcclxuICAgIC8vICAgd2lkdGg6IDUwJTtcclxuICAgIC8vIH1cclxuXHJcbiAgICAvLyBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5ODBweCkge1xyXG4gICAgLy8gICB3aWR0aDogMzMuMzMzJTtcclxuICAgIC8vIH1cclxuXHJcbiAgICAvLyBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcclxuICAgIC8vICAgd2lkdGg6IDI1JTtcclxuICAgIC8vIH1cclxuXHJcbiAgfVxyXG5cclxuICAmLWNvbHVtbiB7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkY29sdW1uLWd1dHRlciAqIDAuNTtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRjb2x1bW4tZ3V0dGVyICogMC41O1xyXG4gIH1cclxuXHJcblxyXG4gIC5pdGVtIHtcclxuICAgIG1hcmdpbi1ib3R0b206ICRjb2x1bW4tZ3V0dGVyO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5nYWxlcmllX3Bob3Rvcy5ndGJfZGVmIHtcclxuICAgIGZsZXg6IDAgMCBwZXJjZW50YWdlKG1hdGguZGl2KDEwLCAxMikpO1xyXG4gICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKG1hdGguZGl2KDEwLCAxMikpO1xyXG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMSwgMTIpKTtcclxufVxyXG5cclxuXHJcblxyXG4vLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKixcclxuLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogQ1VTVE9NXHJcblxyXG5cclxuLmJyaWNrbGF5ZXIge1xyXG5cclxuICAgIC5pY29fem9vbSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLml0ZW0ge1xyXG4gICAgICAgIC8vIHRyYW5zZm9ybTogcm90YXRlKDJkZWcpO1xyXG4gICAgICAgIC8vIHRyYW5zZm9ybTogcm90YXRlKHZhcigtLXJvdGF0ZS1kZWcpKTtcclxuICAgICAgICAvLyBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgICAgIGJvcmRlcjogNHB4IHNvbGlkICR3aGl0ZTtcclxuICAgICAgICAvLyBib3gtc2hhZG93OiAwcHggMnB4IDhweCByZ2JhKDM0LCAzNSwgMzgsIDAuOCksIDBweCAycHggNHB4IHJnYmEoMzQsIDM1LCAzOCwgMC44KSwgMHB4IDNweCA1cHggcmdiKDM0LCAzNSwgMzgpO1xyXG4gICAgICAgIC8vIGJveC1zaGFkb3c6IDJweCA4cHggNnB4IHJnYmEoMzQsIDM1LCAzOCwgMC4yKTtcclxuICAgIH1cclxuXHJcbiAgICAuZGVjb19tIHtcclxuXHJcbiAgICAgICAgJi5lbWJlZC1yZXNwb25zaXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZGVjb19wbmcge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxLjZyZW07XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbi8vICoqKiAqKioqKiogSU4gQ09MXHJcbi5icmlja2xheWVyLmluY19jb2wge1xyXG5cclxuICAgIC5icmlja2xheWVyLWNvbHVtbi1zaXplciB7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgLy8gd2lkdGg6IDI1JTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcclxuICAgICAgICAgICAgLy8gd2lkdGg6IDE2LjY2NjY2JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbi8vICoqKiAqKioqKiogRlVMTCBQQUdFXHJcbi5icmlja2xheWVyLnNtYWxsIHtcclxuXHJcbiAgICAuYnJpY2tsYXllci1jb2x1bW4tc2l6ZXIge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICB3aWR0aDogMjUlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTYuNjY2NjYlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uYnJpY2tsYXllci5zdGFuZGFyZCB7XHJcblxyXG4gICAgLmJyaWNrbGF5ZXItY29sdW1uLXNpemVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuLmJyaWNrbGF5ZXIubWVkaXVtIHtcclxuXHJcbiAgICAuYnJpY2tsYXllci1jb2x1bW4tc2l6ZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcblxyXG4uYnJpY2tsYXllci5sYXJnZSB7XHJcblxyXG4gICAgLmJyaWNrbGF5ZXItY29sdW1uLXNpemVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgLy8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xyXG4gICAgICAgIC8vICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XHJcbiAgICAgICAgLy8gICAgIHdpZHRoOiAzMy4zMzMzMyU7XHJcbiAgICAgICAgLy8gfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbiIsIlxyXG5AdXNlIFwic2FzczptYXRoXCI7XHJcblxyXG4ud3AtYmxvY2stYWNmLXRleHRlLWltYWdlLWFuZC0yLWJsb2Nrcy1zbGlkZSB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlXHJcbn1cclxuXHJcbi50eF9pbWdfMmltZ19zbGlkZSB7XHJcbiAgICBcclxuICAgID4gZGl2IHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xyXG4gICAgICAgIHBhZGRpbmc6IDVyZW0gMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfc2Vjb25kO1xyXG4gICAgfVxyXG5cclxuICAgIC5ibG9ja19jLFxyXG4gICAgLmltZ19jIHtcclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvLyAqKiogKioqKioqIElNQUdFIFBBUiBERVNTVVNcclxuICAgIC5pbWdfZGVzc3VzIHtcclxuICAgICAgICB3aWR0aDogMzAwcHg7XHJcbiAgICAgICAgLy8gaGVpZ2h0OiAxNTBweDtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcblxyXG4gICAgICAgIG1heC13aWR0aDogODAlO1xyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgfVxyXG4gICAgLy8gKioqICoqKioqKiBFTkQgPiBJTUFHRSBQQVIgREVTU1VTXHJcbiAgICBcclxuXHJcbiAgICAvLyAqKiogKioqKioqIExFIEZPTkRcclxuICAgIC5pbWdfYyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9zZWNvbmQ7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3RocmVlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Jfc2Vjb25kIHVybCgnLi4vLi4vc3JjL2ltZy9pbWdfZGVjby9ib2lzLTEucG5nJykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250ZW50X2JnIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZS1pbi1vdXQ7XHJcbiAgICB9XHJcbiAgICAvLyAqKiogKioqKioqIEVORCA+IExFIEZPTkRcclxuXHJcblxyXG4gICAgLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiosXHJcbiAgICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBMRVMgREVVWCBCTE9DU1xyXG4gICAgLmJsb2NrX2Mge1xyXG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6NTA7XHJcbiAgICAgICAgLy8gbWFyZ2luLXRvcDogLTIwMHB4O1xyXG4gICAgICAgIFxyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTAwdmg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaW1nX2Rlc3N1cyB7XHJcbiAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgIHotaW5kZXg6IDEwMDtcclxuICAgICAgICAgICBcclxuICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNTAlO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIC8vICoqKiAqKioqKiogTElTVCBCT1VUT05TXHJcbiAgICAgICAgLmxpc3RfYnRuIHtcclxuICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5saXN0X2J0biB7XHJcbiAgICAgICAgICAgIC5idG4ge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcclxuICAgICAgICAgICAgICAgIGluc2V0OiAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gKioqICoqKioqKiBFTkQgPiBMSVNUIEJPVVRPTlNcclxuXHJcblxyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgLmltZ19mb25kIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcblxyXG4gICAgLmxlZnQsXHJcbiAgICAucmlnaHQge1xyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZShtYXRoLmRpdig5LCAxMikpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMTQsIDI0KSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmxlZnQge1xyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5pbWdfZGVzc3VzIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZSgtMTElLDApO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC0yLjRyZW0sMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxpc3RfYnRuIC5idG4gLFxyXG4gICAgICAgICAgICAuaW1nX2ZvbmQge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTExJSwwKTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0yLjRyZW0sMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmlnaHQge1xyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDAgMDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5pbWdfZGVzc3VzIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZSgxMSUsMCk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoMi40cmVtLDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5saXN0X2J0biAuYnRuICxcclxuICAgICAgICAgICAgLmltZ19mb25kIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDExJSwwKTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDIuNHJlbSwwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEVORCA+IExFUyBERVVYIEJMT0NTXHJcbiAgICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKixcclxuXHJcblxyXG4gICAgLy8gKioqICoqKioqKiBUaXRyZVxyXG4gICAgLnRpdHJlX2RvdWJsZSAuc291c3RpdHJlIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG4gICAgLy8gKioqICoqKioqKiBFTkQgPiBUaXRyZVxyXG5cclxuXHJcblxyXG4gICAgLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiosXHJcbiAgICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBVaWtpdFxyXG4gICAgLnVrLXN0aWNreSB7XHJcbiAgICAgICAgLmJsb2NrX2Mge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi51ay1hY3RpdmUge1xyXG4gICAgICAgICAgICAuYmxvY2tfYyB7XHJcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudF9iZyB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucG9zaXRpb24tc3RpY2t5IHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYudWstaGVpZ2h0LXZpZXdwb3J0LTIgLFxyXG4gICAgJi51ay1oZWlnaHQtdmlld3BvcnQtMyAsXHJcbiAgICAmLnVrLWhlaWdodC12aWV3cG9ydC00IHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgXHJcbiAgICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKixcclxuICAgIC8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIC8vIElOIEFETUlOXHJcbiAgICAmLmlzLWFkbWluIHtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG5cclxuICAgICAgICAucG9zaXRpb24tc3RpY2t5IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJsb2NrX2Mge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0cmVtIDA7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmltZ19jIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0cmVtIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbn0iLCJcclxuXHJcblxyXG4ubW9kdWxlLXBsdW5lLW1hcCB7XHJcblxyXG5cclxuICAgIC5idXR0b24tY29udGFpbmVyLS1tYXAge1xyXG4gICAgICAgIGJvdHRvbTogNTVweDtcclxuICAgIH1cclxuXHJcblxyXG5cdC8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLFxyXG4gICAgLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogLy8gSU4gQURNSU5cclxuXHJcbiAgICAmLmlzLWFkbWluIHtcclxuICAgICAgICBcclxuICAgIH1cclxuXHJcblxyXG59IiwiLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiosXHJcbi8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFxyXG4vKiBEZWJ1ZyBzaSBmbGV4ICovXHJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuXHJcbioge1xyXG5cdG1pbi1oZWlnaHQ6IDA7XHJcblx0bWluLXdpZHRoOiAwO1xyXG59XHJcblxyXG4uc2xpY2stbGF6eWxvYWQtZXJyb3Ige1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuLml0ZW0tdmlkZW8ge1xyXG5cdC8vIEBleHRlbmQgJWltZ19wYWRkaW5nX3JhdGlvO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICMzMzM7XHJcblxyXG5cdC5maWd1cmUge1xyXG5cdFx0Ly8gQGV4dGVuZCAlaW1nX3BhZGRpbmdfcmF0aW87XHJcblx0fVxyXG59XHJcblxyXG5cclxuLy8gc2xpY2stc2xpZGVcclxuLy8gc2xpY2stY3VycmVudFxyXG4vLyBzbGljay1hY3RpdmVcclxuXHJcbi5zbGljay1zbGlkZSB7XHJcblx0LnRpdHJlLCAuc291c3RpdHJlIHtcclxuXHRcdHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuLyogSGF1dGV1ciBldCBsYXJnZXVyIGR1IGJvdXRvbiAqL1xyXG4vLyAkc2xpY2tfYnV0dG9uX1dIX21vYmlsZSA6IDIwcHg7XHJcbiRzbGlja19idXR0b25fV19tb2JpbGUgOiA3MHB4IC8gMjtcclxuJHNsaWNrX2J1dHRvbl9IX21vYmlsZSA6IDUwcHggLyAyO1xyXG5cclxuJHNsaWNrX2J1dHRvbl9XIDogNzBweDtcclxuJHNsaWNrX2J1dHRvbl9IIDogNTBweDtcclxuXHJcblxyXG5cclxuLy8gLm1haW5fc2xpZGVyLnNsaWRlcl9maXJzdCB7XHJcbi8vIFx0LnR4X2ltZy1pbWdfbGluayB7XHJcbi8vIFx0XHRib3R0b206IDIwJTtcclxuLy8gXHR9XHJcbi8vIH1cclxuLy8gLm1haW5fc2xpZGVyIHtcclxuLy8gXHQudHhfaW1nLWltZ19saW5rIHtcclxuLy8gXHRcdGJvdHRvbTogMjAlO1xyXG4vLyBcdH1cclxuLy8gfVxyXG5cclxuXHJcbi8vICoqKiAqKioqKiogUmFqb3V0ZSBlZmZlY3Qgb3BhY2l0eSBzdXIgcHJldiAmIG5leHRcclxuLm1haW5fc2xpZGVyIHtcclxuXHJcblx0LnNsaWNrLXNsaWRlIHtcclxuXHRcdC8vIG9wYWNpdHk6IC4zO1xyXG5cdFx0Ly8gdHJhbnNpdGlvbjogb3BhY2l0eSAuMnM7XHJcblx0fVxyXG5cdC5zbGljay1zbGlkZS5zbGljay1hY3RpdmUge1xyXG5cdFx0Ly8gb3BhY2l0eTogMTtcclxuXHR9XHJcblxyXG59XHJcblxyXG5cclxuLy8gKioqICoqKioqKiBDYWNoZSBib3V0dG9uIHNpIGTDqXNhY3RpdmVcclxuLm1haW5fc2xpZGVyW2RhdGEtc2xpY2stYXJyb3dzID0gJ2ZhbHNlJ10ge1xyXG5cdC5zbGlja19idXR0b24ge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiosXHJcbi8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIElOSVQgQUxMXHJcblxyXG4ubWFpbl9zbGlkZXIge1xyXG5cclxuXHJcblxyXG5cdGZpZ3VyZSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdH1cclxuXHJcblxyXG5cdC8qIC0tLSBJdGVtIC0tLSAqL1xyXG5cdC5pdGVtIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdC8vIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcblxyXG5cdFx0LmZpZ3VyZSB7XHJcblx0XHRcdC8vIEBleHRlbmQgJWltZ19wYWRkaW5nX3JhdGlvO1xyXG5cclxuXHRcdFx0PiBpbWcge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdGhlaWdodDogYXV0bztcclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHJcblx0fVxyXG5cdC8qIC0tLSBFTkQgPiBJdGVtIC0tLSAqL1xyXG5cclxuXHJcblxyXG5cdC8qIC0tLSBCdXR0b24gUHJldiAmIE5leHQgLS0tICovXHJcblx0LnNsaWNrX2J1dHRvbiB7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG5cdFx0W3R5cGUgPSBcImJ1dHRvblwiXSB7XHJcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0Ym9yZGVyOiAwOyBvdXRsaW5lOiAwO1xyXG5cdFx0XHQvLyBwYWRkaW5nOiAwO1xyXG5cdFx0XHQvLyBwYWRkaW5nOiAxcmVtO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdFx0dHJhbnNpdGlvbjogYWxsIC4ycztcclxuXHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcblx0XHRcdC8vIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9tYWluO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcblxyXG5cdFx0XHRzdmd7XHJcblx0XHRcdFx0Ly8gd2lkdGg6ICRzbGlja19idXR0b25fV19tb2JpbGU7XHJcblx0XHRcdFx0Ly8gaGVpZ2h0OiAkc2xpY2tfYnV0dG9uX0hfbW9iaWxlO1xyXG5cdFx0XHRcdHdpZHRoOiAkc2xpY2tfYnV0dG9uX1c7XHJcblx0XHRcdFx0aGVpZ2h0OiAkc2xpY2tfYnV0dG9uX0g7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogZmlsbCAuMnMgZWFzZTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG5cdFx0XHRcdFx0Ly8gd2lkdGg6ICRzbGlja19idXR0b25fVztcclxuXHRcdFx0XHRcdC8vIGhlaWdodDogJHNsaWNrX2J1dHRvbl9IO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdFx0c3Zne1xyXG5cdFx0XHRcdGZpbGw6ICRib2R5LWNvbG9yO1xyXG5cclxuXHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdC8vIGZpbGw6ICR3aGl0ZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRcdFx0Ly8gYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX21haW47XHJcblxyXG5cdFx0XHRcdHN2Z3tcclxuXHRcdFx0XHRcdGZpbGw6ICR3aGl0ZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcclxuXHJcblx0XHR9XHJcblx0XHQuc2xpY2tfYnV0dG9uLW5leHQge1xyXG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpXHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHQvKiAtLS0gRU5EID4gQnV0dG9uIFByZXYgJiBOZXh0IC0tLSAqL1xyXG5cclxuXHJcblxyXG5cdC8qIC0tLSBET1RTIC0tLSAqL1xyXG5cdC5zbGljay1kb3RzIHtcclxuXHRcdEBleHRlbmQgJXJlc2V0X3VsO1xyXG5cclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcblxyXG5cdFx0bGkge1xyXG5cdFx0XHRtYXJnaW46IDAgNXB4O1xyXG5cclxuXHRcdFx0YnV0dG9uIHtcclxuXHRcdFx0XHR0ZXh0LWluZGVudDogLTk5OTlweDtcclxuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHR3aWR0aDogMTJweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDEycHg7XHJcblxyXG5cdFx0XHRcdGJvcmRlcjogMDsgb3V0bGluZTogMDtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMDAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHQvKiAtLS0gRU5EID4gRE9UUyAtLS0gKi9cclxuXHJcblxyXG5cclxuXHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLFxyXG4vLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBDVVNUT01cclxuXHJcblxyXG5cclxuLy8gKioqICoqKioqKiBHcmFuZCBibG9jIGZ1bGxcclxuLmNvbnRlbnRfaW1nIHtcclxuXHJcblxyXG5cdC8vID4gLmlubmVyIHtcclxuXHQvLyBcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHQvLyBcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0Ly8gfVxyXG5cclxuXHJcblx0LyogLS0tIEl0ZW0gLS0tICovXHJcblx0Lml0ZW1fc2xpY2sge1xyXG5cdFx0Ly8gYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX21haW47XHJcblx0fVxyXG5cdC8qIC0tLSBFTkQgPiBJdGVtIC0tLSAqL1xyXG5cclxuXHJcblxyXG5cclxuXHQvKiAtLS0gQnV0dG9uIFByZXYgJiBOZXh0IC0tLSAqL1xyXG5cdC5zbGlja19idXR0b24ge1xyXG5cclxuXHRcdFt0eXBlID0gXCJidXR0b25cIl0ge1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHotaW5kZXg6IDEwMDtcclxuXHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdG1hcmdpbi10b3A6IG1hdGguZGl2KCRzbGlja19idXR0b25fSCwgLTIpO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYtcHJldiB7XHJcblx0XHRcdGxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMSwgMjQpKTtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IG1hdGguZGl2KCRzbGlja19idXR0b25fVywgLTIpO1xyXG5cclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiBtYXRoLmRpdigkc2xpY2tfYnV0dG9uX1csIC0xLjgpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmLW5leHQge1xyXG5cdFx0XHRyaWdodDogcGVyY2VudGFnZShtYXRoLmRpdigxLCAyNCkpO1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IG1hdGguZGl2KCRzbGlja19idXR0b25fVywgLTIpO1xyXG5cclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogbWF0aC5kaXYoJHNsaWNrX2J1dHRvbl9XLCAtMS44KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHR9XHJcblx0LyogLS0tIEVORCA+IEJ1dHRvbiBQcmV2ICYgTmV4dCAtLS0gKi9cclxuXHJcblxyXG5cclxuXHJcblx0LyogLS0tIERPVFMgLS0tICovXHJcblx0LnNsaWNrLWRvdHMge1xyXG5cclxuXHRcdC8qICovXHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDEwMDtcclxuXHRcdGJvdHRvbTogMyU7IGxlZnQ6IDA7IHJpZ2h0OiAwO1xyXG5cdFx0LyogKi9cclxuXHJcblx0XHRsaSB7XHJcblxyXG5cdFx0XHRidXR0b24ge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkd2hpdGUsIDMwJSk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYuc2xpY2stYWN0aXZlIHtcclxuXHRcdFx0XHRidXR0b24ge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX21haW47XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHQvKiAtLS0gRU5EID4gRE9UUyAtLS0gKi9cclxuXHJcblxyXG5cclxuXHJcbn1cclxuXHJcblxyXG5cclxuLy8gKioqICoqKioqKiBQZXRpdCBsaXN0aW5nIGQnYXJ0aWNsZSBzdXIgaG9tZVxyXG4vLyAubGlzdF9hcnRpY2xlIHtcclxuXHJcbi8vIFx0Ly8gKioqIENhY2jDqSBkw6lwYXNzZW1lbnQgZGVzIGJ0biBkdSBzbGlja1xyXG4vLyBcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuLy8gXHRvdmVyZmxvdzogaGlkZGVuO1xyXG4vLyBcdC8vICoqKiBFTkQgPiBDYWNow6kgZMOpcGFzc2VtZW50IGRlcyBidG4gZHUgc2xpY2tcclxuXHJcbi8vIFx0Lml0ZW1fc2xpY2sge1xyXG4vLyBcdFx0bWFyZ2luOiAycmVtIDJyZW0gMDtcclxuLy8gXHR9XHJcblxyXG5cclxuLy8gXHQvKiAtLS0gQnV0dG9uIFByZXYgJiBOZXh0IC0tLSAqL1xyXG4vLyBcdC5zbGlja19idXR0b24ge1xyXG5cclxuLy8gXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8gXHRcdHotaW5kZXg6IDExMDtcclxuLy8gXHRcdHJpZ2h0OiBwZXJjZW50YWdlKG1hdGguZGl2KDEsIDEyKSk7XHJcbi8vIFx0XHR0b3A6IDI2JTtcclxuXHRcdFxyXG4vLyBcdFx0QG1lZGlhIChtaW4td2lkdGg6IDQwMHB4KSB7XHJcbi8vIFx0XHRcdHRvcDogMzglO1xyXG4vLyBcdFx0fVxyXG4vLyBcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xyXG4vLyBcdFx0XHR0b3A6IDU3JTtcclxuLy8gXHRcdH1cclxuLy8gXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuLy8gXHRcdFx0dG9wOiA2MiU7XHJcbi8vIFx0XHR9XHJcblx0XHRcclxuLy8gXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuLy8gXHRcdFx0cmlnaHQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMSwgMjQpKTtcclxuLy8gXHRcdFx0dG9wOiAzMyU7XHJcbi8vIFx0XHR9XHJcbi8vIFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcbi8vIFx0XHRcdHRvcDogNDElO1xyXG4vLyBcdFx0fVxyXG4vLyBcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcclxuLy8gXHRcdFx0dG9wOiA1NyU7XHJcbi8vIFx0XHR9XHJcblxyXG5cclxuLy8gXHRcdCYtcHJldiB7XHJcbi8vIFx0XHRcdG1hcmdpbi1yaWdodDogMC40cmVtO1xyXG4vLyBcdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbi8vIFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG4vLyBcdFx0XHR9XHJcbi8vIFx0XHR9XHJcbi8vIFx0XHQmLW5leHQge1xyXG4vLyBcdFx0fVxyXG5cclxuLy8gXHR9XHJcbi8vIFx0LyogLS0tIEVORCA+IEJ1dHRvbiBQcmV2ICYgTmV4dCAtLS0gKi9cclxuXHJcblx0XHJcbi8vIH1cclxuXHJcblxyXG4vKlxyXG5cclxuJGxpc3RpbmdfdHlwZSA9PSAnc2xpZGVyXHJcblx0Lmxpc3RfY2FyZHNcclxuXHJcbiRsaXN0aW5nX3R5cGUgPT0gJ2JyaWNrbGF5ZXInIFxyXG5cdGJyaWNrbGF5ZXIgc3RhbmRhcmQgXHJcblxyXG4kbGlzdGluZ190eXBlID09ICdkaXYnXHJcblx0dWlraXRfZmlsdGVyXHJcblxyXG4kbGlzdGluZ190eXBlID09ICdhY2NvcmRlb24nIHx8ICRsaXN0aW5nX3R5cGUgPT0gJ2FjY29yZGVvbl9taW4nXHJcblx0YWNjb3JkZW9uX2l0XHJcblxyXG4qL1xyXG5cclxuXHJcblxyXG4vLyAqKiogKioqKioqIExpc3RpbmcgZGVzIGNhcmRzIGF1dHJlIHF1ZSBsZSBoZXJvXHJcblxyXG4ubm9fdHlwZV9oZWJlcmcge1xyXG5cdC5zbGljay1saXN0IHtcclxuXHRcdHBhZGRpbmctbGVmdDogcGVyY2VudGFnZShtYXRoLmRpdigxLCAyNCkpO1xyXG5cdFx0cGFkZGluZy1yaWdodDogcGVyY2VudGFnZShtYXRoLmRpdigxLCAyNCkpO1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoNSwgMjQpKTtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogcGVyY2VudGFnZShtYXRoLmRpdig1LCAyNCkpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnNsaWNrLWRvdHMge1xyXG5cdFx0ZmxleDogMCAwIDEwMCU7XHJcblx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHQvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XHJcblx0fVxyXG59XHJcblxyXG4udHlwZV9oZWJlcmcge1xyXG5cdC5zbGljay1saXN0IHtcclxuXHRcdHBhZGRpbmctbGVmdDogcGVyY2VudGFnZShtYXRoLmRpdigxLCAyNCkpO1xyXG5cdFx0cGFkZGluZy1yaWdodDogcGVyY2VudGFnZShtYXRoLmRpdigxLCAyNCkpO1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoNS4yLCAyNCkpO1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiBwZXJjZW50YWdlKG1hdGguZGl2KDUuMiwgMjQpKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qIHNsaWNrLWN1cnJlbnQgc2xpY2stYWN0aXZlICovXHJcblx0LmNhcmRfbG9jIHtcclxuXHRcdC8vIHRyYW5zaXRpb246IG1hcmdpbi10b3AgLjVzO1xyXG5cdFx0XHJcblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcblx0XHRcdC8vIG1hcmdpbi10b3A6IDRyZW07XHJcblx0XHR9XHJcblx0fVxyXG5cdC5zbGljay1jdXJyZW50IHtcclxuXHRcdC8vIG1hcmdpbi10b3A6IDA7XHJcblx0XHQvLyBiYWNrZ3JvdW5kLWNvbG9yOiBwdXJwbGU7XHJcblx0fVxyXG59XHJcbi5saXN0aW5nLWNhcmQge1xyXG5cdC5zbGljay1saXN0IHtcclxuXHRcdHBhZGRpbmctbGVmdDogcGVyY2VudGFnZShtYXRoLmRpdigxLCAyNCkpO1xyXG5cdFx0cGFkZGluZy1yaWdodDogcGVyY2VudGFnZShtYXRoLmRpdigxLCAyNCkpO1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoNiwgMjQpKTtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogcGVyY2VudGFnZShtYXRoLmRpdigwLCAyNCkpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4ubGlzdGluZy1jYXJkLWF2aXMge1xyXG5cdC5zbGljay1saXN0IHtcclxuXHRcdHBhZGRpbmctbGVmdDogcGVyY2VudGFnZShtYXRoLmRpdigxLCAyNCkpO1xyXG5cdFx0cGFkZGluZy1yaWdodDogcGVyY2VudGFnZShtYXRoLmRpdigxLCAyNCkpO1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG5cdFx0XHQvLyBwYWRkaW5nLWxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoNC44LCAyNCkpO1xyXG5cdFx0XHQvLyBwYWRkaW5nLXJpZ2h0OiBwZXJjZW50YWdlKG1hdGguZGl2KDQuOCwgMjQpKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiBwZXJjZW50YWdlKG1hdGguZGl2KDQuNSwgMjQpKTtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogcGVyY2VudGFnZShtYXRoLmRpdig0LjUsIDI0KSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoNC40LCAyNCkpO1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiBwZXJjZW50YWdlKG1hdGguZGl2KDQuNCwgMjQpKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LnNsaWNrLXNsaWRlOm5vdCguc2xpY2stYWN0aXZlKXtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0fVxyXG5cdC5zbGljay1zbGlkZS5zbGljay1hY3RpdmV7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdH1cclxuXHQuc2xpY2stc2xpZGV7XHJcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDFzO1xyXG5cdH1cclxuXHQuc2xpY2stY3VycmVudHtcclxuXHRcdC8vIGJvcmRlcjogMTBweCBzb2xpZCBwdXJwbGU7XHJcblx0fVxyXG5cclxuXHJcblxyXG5cdC8qIC0tLSBCdXR0b24gUHJldiAmIE5leHQgLS0tICovXHJcblx0LnNsaWNrX2J1dHRvbiB7XHJcblxyXG5cdFx0W3R5cGUgPSBcImJ1dHRvblwiXSB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0ei1pbmRleDogMTAwO1xyXG5cdFx0XHR0b3A6IDUwJTtcclxuXHRcdFx0bWFyZ2luLXRvcDogbWF0aC5kaXYoJHNsaWNrX2J1dHRvbl9ILCAtMik7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji1wcmV2IHtcclxuXHRcdFx0bGVmdDogcGVyY2VudGFnZShtYXRoLmRpdigyLCAyNCkpO1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogbWF0aC5kaXYoJHNsaWNrX2J1dHRvbl9XLCAtMik7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcblx0XHRcdFx0bGVmdDogcGVyY2VudGFnZShtYXRoLmRpdigzLCAyNCkpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IG1hdGguZGl2KCRzbGlja19idXR0b25fVywgLTEuNik7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCYtbmV4dCB7XHJcblx0XHRcdHJpZ2h0OiBwZXJjZW50YWdlKG1hdGguZGl2KDIsIDI0KSk7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogbWF0aC5kaXYoJHNsaWNrX2J1dHRvbl9XLCAtMik7XHJcblx0XHRcdFxyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcblx0XHRcdFx0cmlnaHQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMywgMjQpKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogbWF0aC5kaXYoJHNsaWNrX2J1dHRvbl9XLCAtMS42KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHR9XHJcblx0LyogLS0tIEVORCA+IEJ1dHRvbiBQcmV2ICYgTmV4dCAtLS0gKi9cclxuXHJcblxyXG59XHJcblxyXG5cclxuXHJcbi5saXN0X2NhcmRzIHsgXHJcblxyXG5cdFxyXG5cdC8qIC0tLSBCdXR0b24gUHJldiAmIE5leHQgLS0tICovXHJcblx0LnNsaWNrX2J1dHRvbiB7XHJcblxyXG5cdFx0Ly8gW3R5cGUgPSBcImJ1dHRvblwiXSB7XHJcblx0XHQvLyBcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdC8vIFx0ei1pbmRleDogMTAwO1xyXG5cdFx0Ly8gXHR0b3A6IDUwJTtcclxuXHRcdC8vIFx0bWFyZ2luLXRvcDogbWF0aC5kaXYoJHNsaWNrX2J1dHRvbl9XSCwgLTIpO1xyXG5cdFx0Ly8gfVxyXG5cclxuXHRcdC8vICYtcHJldiB7XHJcblx0XHQvLyBcdGxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMSwgMjQpKTtcclxuXHRcdC8vIFx0bWFyZ2luLWxlZnQ6IG1hdGguZGl2KCRzbGlja19idXR0b25fV0gsIC0yKTtcclxuXHJcblx0XHQvLyBcdCY6aG92ZXIge1xyXG5cdFx0Ly8gXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdC8vIFx0XHRtYXJnaW4tbGVmdDogbWF0aC5kaXYoJHNsaWNrX2J1dHRvbl9XSCwgLTEuOCk7XHJcblx0XHQvLyBcdH1cclxuXHRcdC8vIH1cclxuXHRcdC8vICYtbmV4dCB7XHJcblx0XHQvLyBcdHJpZ2h0OiBwZXJjZW50YWdlKG1hdGguZGl2KDEsIDI0KSk7XHJcblx0XHQvLyBcdG1hcmdpbi1yaWdodDogbWF0aC5kaXYoJHNsaWNrX2J1dHRvbl9XSCwgLTIpO1xyXG5cclxuXHRcdC8vIFx0Jjpob3ZlciB7XHJcblx0XHQvLyBcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0Ly8gXHRcdG1hcmdpbi1yaWdodDogbWF0aC5kaXYoJHNsaWNrX2J1dHRvbl9XSCwgLTEuOCk7XHJcblx0XHQvLyBcdH1cclxuXHRcdC8vIH1cclxuXHJcblx0fVxyXG5cdC8qIC0tLSBFTkQgPiBCdXR0b24gUHJldiAmIE5leHQgLS0tICovXHJcblxyXG5cclxuXHQuc2xpY2stbGlzdCB7XHJcblx0XHQvLyBtYXJnaW46IDAgcGVyY2VudGFnZSgtOCAvIDEyKSAwIDA7XHJcblx0XHQvLyBwYWRkaW5nLWxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMSwgMjQpKTtcclxuXHRcdC8vIHBhZGRpbmctcmlnaHQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMSwgMjQpKTtcclxuXHJcblx0XHQvLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcblx0XHQvLyBcdC8vIG1hcmdpbjogMCBwZXJjZW50YWdlKC01IC8gMjQpIDAgMDtcclxuXHRcdC8vIFx0Ly8gcGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0Ly8gfVxyXG5cclxuXHRcdC8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuXHRcdC8vIFx0cGFkZGluZy1sZWZ0OiBwZXJjZW50YWdlKG1hdGguZGl2KDUsIDI0KSk7XHJcblx0XHQvLyBcdHBhZGRpbmctcmlnaHQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoNSwgMjQpKTtcclxuXHRcdC8vIH1cclxuXHJcblx0XHQvLyAuY2FyZF9sb2Mge1xyXG5cdFx0Ly8gXHR3aWR0aDogMjYwcHg7XHJcblxyXG5cdFx0Ly8gXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcblx0XHQvLyBcdFx0d2lkdGg6IDMzMHB4O1xyXG5cdFx0Ly8gXHR9XHJcblx0XHQvLyBcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuXHRcdC8vIFx0XHR3aWR0aDogMzUwcHg7XHJcblx0XHQvLyBcdH1cclxuXHRcdC8vIFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG5cdFx0Ly8gXHRcdHdpZHRoOiA0MDBweDtcclxuXHRcdC8vIFx0fVxyXG5cdFx0Ly8gXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcblx0XHQvLyBcdFx0d2lkdGg6IDQwMHB4O1xyXG5cdFx0Ly8gXHR9XHJcblx0XHQvLyBcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XHJcblx0XHQvLyBcdFx0d2lkdGg6IDUwMHB4O1xyXG5cdFx0Ly8gXHR9XHJcblx0XHQvLyB9XHJcblx0fVxyXG5cdFxyXG5cclxuXHQvKiAtLS0gQnV0dG9uIFByZXYgJiBOZXh0IC0tLSAqL1xyXG5cdC5zbGlja19idXR0b24ge1xyXG5cclxuXHJcblx0XHRbdHlwZSA9IFwiYnV0dG9uXCJdIHtcclxuXHJcblx0XHRcdFxyXG5cdFx0fVxyXG5cclxuXHRcdCYtcHJldiB7XHJcblx0XHRcdFxyXG5cclxuXHRcdH1cclxuXHRcdCYtbmV4dCB7XHJcblxyXG5cdFx0fVxyXG5cclxuXHR9XHJcblx0LyogLS0tIEVORCA+IEJ1dHRvbiBQcmV2ICYgTmV4dCAtLS0gKi9cclxuXHJcblxyXG5cdC8qIC0tLSBET1RTIC0tLSAqL1xyXG5cdC5zbGljay1kb3RzIHtcclxuXHJcblx0XHQvKiAqL1xyXG5cdFx0Ly8gcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAxMDA7XHJcblx0XHQvLyBib3R0b206IDMlOyBsZWZ0OiAwOyByaWdodDogMDtcclxuXHRcdC8qICovXHJcblxyXG5cdFx0bWFyZ2luLXRvcDogMS41cmVtO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0bGkge1xyXG5cclxuXHRcdFx0YnV0dG9uIHtcclxuXHRcdFx0XHQvLyBib3JkZXI6IDJweCBzb2xpZCAkYm9keS1iZztcclxuXHRcdFx0XHRib3JkZXI6IDA7XHJcblx0XHRcdFx0Ly8gYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG5cclxuXHRcdFx0XHQvKiBGb25kIGNsYWlyICovXHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYm9keS1jb2xvciwgNDAlKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdFx0Ji5zbGljay1hY3RpdmUge1xyXG5cdFx0XHRcdGJ1dHRvbiB7XHJcblx0XHRcdFx0XHQvLyBib3JkZXItY29sb3I6ICRjb2xvcl9tYWluO1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX21haW47XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHQvKiAtLS0gRU5EID4gRE9UUyAtLS0gKi9cclxuXHJcblxyXG5cdFxyXG5cdC8vICoqKiBTVFlMSU5HXHJcblx0XHJcblx0Ly8gKioqIFNUWUxJTkdcclxuXHJcblxyXG5cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8qXHJcbkpTIGRhdGEtYnJlYWtwb2ludHNcclxud3AtY29udGVudFxcdGhlbWVzXFxwbHVuZVxcc3JjXFxqc1xcYXBwLmpzXHJcbiovXHJcbmRpdltkYXRhLWJyZWFrcG9pbnRzID0gYnJlYWtfMV90b18xXSB7XHJcblx0Ly8gLmhlcm9faXRlbSB7XHJcblx0LnNsaWNrIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdFx0Ly8gZmxleC13cmFwOiBub3dyYXA7XHJcblxyXG5cdFx0LyogUG91ciBsZXMgZG90cyAqL1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdH1cclxuXHJcblx0XHQuaGVyb19pdGVtIHtcclxuXHRcdFx0ZmxleDogMCAwIDEwMCU7XHJcblx0XHRcdG1heC13aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHJcbn1cclxuXHJcbi8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFNFVFRJTkdTXHJcbi5zbGljayB7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgLy8gZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAvLyBmbGV4LXdyYXA6IG5vd3JhcDtcclxuXHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAuc2xpY2stdHJhY2sgLFxyXG4gICAgLnNsaWNrLWxpc3Qge1xyXG4gICAgXHRtaW4td2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0PiAuaXRlbSB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHRcdGZsZXg6IDAgMCAxMDAlO1xyXG5cdFx0fVxyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuXHJcbi5zbGlja19idXR0b24ge1xyXG5cdC5zbGljay1kaXNhYmxlZCB7XHJcblx0XHQvLyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4uc2xpY2stZG90cyB7XHJcblx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0cGFkZGluZy1sZWZ0OiAwO1xyXG59XHJcblxyXG4uc2xpY2stc2xpZGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcclxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcclxuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcbi5zbGljay1saXN0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmLmRyYWdnaW5nIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xyXG4gICAgfVxyXG59XHJcbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxyXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbn1cclxuXHJcbi5zbGljay10cmFjayB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAvLyBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cclxuICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAvLyAmOmJlZm9yZSxcclxuICAgIC8vICY6YWZ0ZXIge1xyXG4gICAgLy8gICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAvLyAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gJjphZnRlciB7XHJcbiAgICAvLyAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgfVxyXG59XHJcbi5zbGljay1zbGlkZSB7XHJcbiAgICAvLyBmbG9hdDogbGVmdDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDFweDtcclxuICAgIFtkaXI9XCJydGxcIl0gJiB7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgfVxyXG4gICAgaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAmLmRyYWdnaW5nIGltZyB7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xyXG4gICAgICAgIC8vIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbn1cclxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbiIsIi8vIFZhcmlhYmxlc1xyXG4kZGVza3RvcC1jb250YWluZXI6IDYwLjAwMGVtICFkZWZhdWx0O1xyXG4kdGFibGV0LWNvbnRhaW5lcjogNDguMDAwZW0gIWRlZmF1bHQ7XHJcbi50YWJzLXdyYXBwZXIge1xyXG4gICAgbWFyZ2luOiAzcmVtIDA7XHJcblxyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHJcblxyXG4gICAgLmZyZWVfZGF0ZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIC8vIHJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbWFpbiAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudGFicy1uYXYge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG5cclxuXHJcbiAgICAgICAgQGV4dGVuZCAlcmVzZXRfdWw7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG5cclxuICAgICAgICAgICAgLy8gYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICAvLyBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLy8gYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAyNSU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAxLjVyZW07XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC42O1xyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR0YWJsZXQtY29udGFpbmVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA5MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4zcmVtIC41cmVtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRlc2t0b3AtY29udGFpbmVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gcGFkZGluZzogMC43MHJlbSAyLjVyZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5jdXJyZW50IHtcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi50b3AtbGVmdCwgJi5ib3R0b20tbGVmdCB7XHJcbiAgICAgICAgLnRhYnMtbmF2IHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi50b3AtcmlnaHQsICYuYm90dG9tLXJpZ2h0IHtcclxuICAgICAgICAudGFicy1uYXYge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5ib3R0b20tcmlnaHQsICYuYm90dG9tLWxlZnQge1xyXG4gICAgICAgIC50YWJzLW5hdiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcclxuICAgIH1cclxuXHJcbiAgICAudGFicyB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTFweDtcclxuICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAudGFiIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xyXG4gICAgICAgIC8vIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAxLjVyZW07XHJcblxyXG5cclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkdGFibGV0LWNvbnRhaW5lcikge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDkwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogMC41cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm50aC1jaGlsZCg0KSAsXHJcbiAgICAgICAgJjpudGgtY2hpbGQoMykgLFxyXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICAgICAgLy8gZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgLyogU2kgYWN0aXZhdGlvbiBidWcgd2lkZ2V0IFNlY3VyaG9saWRheSA+IGRpc3BsYXkgbm9uZSBlbiBKUyBhdmVjIHNldHRpbWVvdXQgKi9cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gZGl2IHtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gRGVmYXVsdCBUaGVtZVxyXG4gICAgJi51aS10aGVtZS1kZWZhdWx0IHtcclxuICAgICAgICAkbWFpbi1iZzogI2ZmZmZmZjtcclxuICAgICAgICAkYm9yZGVyLWNvbG9yOiAjZTllOWU5O1xyXG4gICAgICAgIC50YWJzLW5hdiB7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX21haW47XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29sb3I6IGJsdWV2aW9sZXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRtYWluLWJnLCA4JSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYm9keS1iZywgMjAlKTtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJG1haW4tYmcsIDQlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmN1cnJlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbi1iZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX21haW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWFpbi1iZztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYm90dG9tLXJpZ2h0LCAmLmJvdHRvbS1sZWZ0IHtcclxuICAgICAgICAgICAgLnRhYnMtbmF2IHtcclxuICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAmLmN1cnJlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbWFpbi1iZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50YWIge1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbi1iZztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBCYWRnZXMgVGhlbWVcclxuICAgICYudWktdGhlbWUtYmFkZ2VzIHtcclxuICAgICAgICAkbWFpbi1iZzogI2Y5ZjlmOTtcclxuICAgICAgICAkYm9yZGVyLWNvbG9yOiBkYXJrZW4oJG1haW4tYmcsIDMlKTtcclxuICAgICAgICAkYmFkZ2UtZGVmYXVsdDogZGFya2VuKCRtYWluLWJnLDUlKTtcclxuICAgICAgICAkYmFkZ2UtYWN0aXZlOiAjNjY2O1xyXG4gICAgICAgICRiYWRnZS10ZXh0OiAjZmZmO1xyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kOiAkbWFpbi1iZztcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHJcbiAgICAgICAgLnRhYnMtbmF2IHtcclxuXHJcbiAgICAgICAgICAgIG1hcmdpbjogMC41cmVtO1xyXG5cclxuICAgICAgICAgICAgLnRhYnMge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC41cmVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBsaSB7XHJcblxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRhcmtlbigkbWFpbi1iZyw1MCUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRiYWRnZS1kZWZhdWx0O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMXJlbSAxcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkYmFkZ2UtZGVmYXVsdCwgOCUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuY3VycmVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmFkZ2UtdGV4dDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYm90dG9tLWxlZnQsICYuYm90dG9tLXJpZ2h0IHtcclxuICAgICAgICAgICAgLnRhYnMtbmF2IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwLjVyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIExpdGUgVGhlbWVcclxuICAgICYudWktdGhlbWUtbGl0ZSB7XHJcbiAgICAgICAgJG1haW4tYmc6ICNmZmZmZmY7XHJcbiAgICAgICAgJGJvcmRlci1jb2xvcjogI2U5ZTllOTtcclxuICAgICAgICAudGFicy1uYXYge1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAmLmN1cnJlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtlbigkYm9yZGVyLWNvbG9yLCAzNSUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkbWFpbi1iZywgNCUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5ib3R0b20tcmlnaHQsICYuYm90dG9tLWxlZnQge1xyXG4gICAgICAgICAgICAudGFicy1uYXYge1xyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICYuY3VycmVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZW4oJGJvcmRlci1jb2xvciwgMzUlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnRhYiB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50YWIge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW4tYmc7XHJcblxyXG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMDtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHRhYmxldC1jb250YWluZXIpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IGRpdiB7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIlxyXG5AdXNlIFwic2FzczptYXRoXCI7XHJcblxyXG4ud3AtYmxvY2stYWNmLWxpc3RpbmctYXJ0aWNsZSAsXHJcbi53cC1ibG9jay1hY2YtdGVhc2VyLXBhZ2Uge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG5cclxuICAgIGEubGlua19jb3ZlcjphZnRlciB7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4ubGlzdF9jYXJkcyB7XHJcblxyXG59XHJcblxyXG5cclxuLy8gKioqICoqKioqKiBDb250ZW5ldXIgZ8OpbsOpcmFsXHJcbi5saXN0X2FydGljbGVzIHtcclxuXHJcbiAgICAvLyBQb3VyIGxlcyBidXR0b25zXHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICZbZGF0YS1uYnItbG9jXSB7XHJcbiAgICAgICAgLy8gZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG4gICAgJltkYXRhLW5ici1sb2M9XCIwXCJdIHtcclxuICAgICAgICAvLyBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAudG9wIHtcclxuICAgICAgICAgICAgLy8gZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gKioqICoqKioqKiBQb3VyIGRlY28gZW4gZGVzc291cyBkZSB4c1xyXG4gICAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIC8vIEF0dGVudGlubyBzaSBhY3RpZiBjYWNoZSBsZXMgYm91dG9uc1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xyXG4gICAgICAgIC8vIHBhZGRpbmc6IDcwcHggMCA1MHB4O1xyXG5cclxuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG4gICAgLy8gKioqICoqKioqKiBFTkQgPiBQb3VyIGRlY28gZW4gZGVzc291cyBkZSB4c1xyXG5cclxuXHJcbiAgICAudG9wIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0zMHB4O1xyXG4gICAgICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTcwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMSwgMTIpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMiwgMTIpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAgICAgJi5zc3RpdHJlX2kge1xyXG4gICAgICAgICAgICAvLyAuYmlnX3RpdHJlIHtcclxuICAgICAgICAgICAgLy8gICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgLy8gICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyAuaW1nX2RlY28ge1xyXG4gICAgICAgIC8vICAgICBzdmcge1xyXG4gICAgICAgIC8vICAgICAgICAgZmlsbDogJGNvbG9yX21haW47XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XHJcbiAgICAgICAgLy8gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgLy8gICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgLy8gICAgICAgICBsZWZ0OiAtNTAlO1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG5cclxuICAgIC5saXN0X2NhcmRzIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgIC8vIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCAxIC8gMTIpO1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogcGVyY2VudGFnZSggMTEgLyAxMik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufSIsIlxyXG5cclxuQHVzZSBcInNhc3M6bWF0aFwiO1xyXG5cclxuI2xpc3RpbmctaGViZXJnZW1lbnQge1xyXG4gIFxyXG4gIC8vIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gIC8vIC5saXN0aW5nX2FydGljbGUge1xyXG4gIC8vICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XHJcbiAgLy8gICAgIG9yZGVyOiAyO1xyXG4gIC8vICAgfVxyXG4gIC8vIH1cclxuXHJcbn1cclxuXHJcbi8vIC5idG5maWx0ZXJfc2hvd2hpZGUge1xyXG5cclxuLy8gICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgXHJcbi8vICAgd2lkdGg6IDQwcHg7XHJcbi8vICAgaGVpZ2h0OiA0MHB4O1xyXG4vLyAgIHBhZGRpbmc6IDVweCAhaW1wb3J0YW50O1xyXG5cclxuLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbi8vICAgei1pbmRleDogMTA7XHJcbi8vICAgdG9wOiAwO1xyXG4vLyAgIGxlZnQ6IDA7XHJcblxyXG4vLyAgIGZpbGw6ICR3aGl0ZTtcclxuLy8gICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XHJcbi8vICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4O1xyXG4gIFxyXG4vLyAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAwKTtcclxuLy8gICBAZXh0ZW5kICVidG5fc3R5bGluZztcclxuLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yOiAkY29sb3JfbWFpbiwgJGFtb3VudDogMTApICFpbXBvcnRhbnQ7XHJcbi8vIH1cclxuXHJcblxyXG4uY29udGVudF9pbyB7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xyXG4gICAgLy8gd2lkdGg6IDQwcHg7XHJcbiAgICAvLyBoZWlnaHQ6IDcwcHg7XHJcbiAgICAvLyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgLy8gbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcclxuXHJcbiAgICAuZmlsdGVyX3R5cGUtaW8ge1xyXG4gICAgICAvLyB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5maWx0ZXJfdHlwZS1pbyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIHdpZHRoOiAxMDBweDtcclxuXHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4uc2VjdGlvbl9maWx0ZXIge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBcclxuICBcclxuICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG4gIFxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgIC8vIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICAvLyB0b3A6IDEwMHB4O1xyXG4gICAgLy8gei1pbmRleDogNTYwO1xyXG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICB9XHJcblxyXG4gICYuaXMtYWN0aXZlIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xyXG4gICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgMHB4KTsgICAgICBcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xyXG4gICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgMHB4KTtcclxuICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIC8vIHotaW5kZXg6IDIwMDtcclxuICAgIC8vIHRvcDogMDtcclxuICAgIC8vIHJpZ2h0OiAwO1xyXG4gICAgLy8gb3JkZXI6IDE7XHJcbiAgfVxyXG5cclxuXHJcbiAgICAuZmlsdGVyIHtcclxuICAgICAgLy8gb3ZlcmZsb3cteTogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICBcclxuICAuYnRuX2ZpbHRlciB7XHJcbiAgICBcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLmljbzpiZWZvcmUge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gID4gLmZpbHRlciB7XHJcbiAgICAvLyBwYWRkaW5nLXRvcDogMnJlbTtcclxuICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9tYWluO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgLy8gcGFkZGluZy10b3A6IDA7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIC5mb3JtLXJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gIH1cclxuICAvLyAuZmlsdGVyLWdyb3VwIHtcclxuICAuZm9ybS1jaGVjayB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nLXRvcDogMC40cmVtO1xyXG4gIFxyXG5cclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAmLmNvbnRlbnRfaW8ge1xyXG4gICAgICAvLyB3aWR0aDogMTAwJTtcclxuICAgICAgLy8gd2lkdGg6IDEwMHB4O1xyXG5cclxuICAgICAgLy8gZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgLy8gcGFkZGluZy10b3A6IDEuNnJlbTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAvLyB3aWR0aDogMTAwJTtcclxuICAgICAgLy8gd2lkdGg6IDEwMHB4O1xyXG5cclxuICAgICAgLy8gZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgLy8gcGFkZGluZy10b3A6IDEuNnJlbTtcclxuICAgIH1cclxuXHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAvLyBwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICAgLmZpbHRlci1pdGVtcyB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAyLjZyZW07XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAwIHBlcmNlbnRhZ2UobWF0aC5kaXYoMSwgMTIpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgLy8gZmxvYXQ6IHJpZ2h0O1xyXG5cclxuICAubGFiZWwge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgLyogLS0tIGJ0biAtLS0gKi9cclxuICAudXNlcl9jaG9pY2Uge1xyXG4gICAgLy8gZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgLy8gdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgbWFyZ2luOiAwIDAuM3JlbSAwLjRyZW07XHJcbiAgICBcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgbWFyZ2luOiAwIGF1dG8gMC40cmVtO1xyXG4gICAgfVxyXG5cclxuICAgICYuYnRuX2FsbCB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xyXG4gICAgICAgIC8vIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgLy8gZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIC8vIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgIC8vIC50eCB7XHJcbiAgICAgICAgLy8gICBtYXJnaW4tbGVmdDogMC40cmVtO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgLyogLS0tIEVORCA+IGJ0biAtLS0gKi9cclxuXHJcblxyXG59XHJcblxyXG5cclxuLmxpc3RpbmdfYXJ0aWNsZS1zbGlkZXIge1xyXG5cclxuXHJcbiAgLmFsbF9saXN0aW5nIHtcclxuICAgIG9yZGVyOiAyO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICBvcmRlcjogMTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIC5zZWN0aW9uX2ZpbHRlciB7XHJcbiAgLy8gICBvcmRlcjogMTtcclxuICAvLyAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAvLyAgICAgb3JkZXI6IDI7XHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG5cclxuXHJcbiAgLyogLS0tIFNBTlMgSU1HIERFIEZPTkQgLS0tICovXHJcbiAgPiAucm93Om5vdCgubGF6eS1iZ2kpIHtcclxuXHJcbiAgfVxyXG4gIC8qIC0tLSBFTkQgPiBTQU5TIElNRyBERSBGT05EIC0tLSAqL1xyXG5cclxuXHJcbiAgLyogLS0tIEFWRUMgSU1HIERFIEZPTkQgLS0tICovXHJcbiAgPiAubGF6eS1iZ2kge1xyXG5cclxuICAgIC8qIC0tLSBGb3JtIC0tLSAqL1xyXG4gICAgLnNlY3Rpb25fZmlsdGVyIHtcclxuXHJcbiAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZpbHRlciB7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgICAvKiAtLS0gRU5EID4gRm9ybSAtLS0gKi9cclxuXHJcbiAgfVxyXG4gIC8qIC0tLSBFTkQgPiBBVkVDIElNRyBERSBGT05EIC0tLSAqL1xyXG5cclxuXHJcbn1cclxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xyXG5cclxuLy8gLmJyaWNrbGF5ZXIge1xyXG4gIFxyXG4vLyAgIC5jYXJkX2xvYyB7XHJcbi8vICAgICAuY29udGVudCB7XHJcbi8vICAgICAgIG1hcmdpbi10b3A6IC0zNnB4O1xyXG4vLyAgICAgfVxyXG4vLyAgIH1cclxuXHJcbi8vIH1cclxuXHJcbi8qXHJcbmNhdMOpZ29yaWUgOlxyXG4gICAgcHJlc2VudGF0aW9uLWdhbW1lXHJcbiovXHJcblxyXG4uY2FyZF9sb2Mge1xyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIG1hcmdpbi10b3A6IDFyZW07IC8qIHBvdXIgbGUgc2NvdGNoICovXHJcblxyXG4gIC5lbWJlZC1yZXNwb25zaXZlLmltZ19wb3B1cCAge1xyXG4gICAgLy8gYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDIwcHg7XHJcbiAgICAvLyBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuXHJcbiAgICBAZXh0ZW5kIC5vcC00MDtcclxuICAgIFxyXG4gIH1cclxuXHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgIC5lbWJlZC1yZXNwb25zaXZlIGltZyB7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgIH1cclxuICAgIC5lbWJlZC1yZXNwb25zaXZlLmltZ19wb3B1cCAge1xyXG4gICAgXHJcbiAgICAgIEBleHRlbmQgLm9wLTMwO1xyXG4gICAgICBcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIC5lbWJlZC1yZXNwb25zaXZlIGltZyB7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAxcztcclxuICB9XHJcblxyXG5cclxuICA+IC5pbm5lciB7XHJcblxyXG4gICAgbWFyZ2luOiAxNHB4IDI1cHggMHB4O1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICBtYXJnaW46IDIwcHggMjVweCAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICAgIC8vICoqKiAqKioqKiogUGljdG8gZm9udGF3ZXNvbSAvIGxhYmVsXHJcbiAgICAucGljdG9fX2xhYmVsIHtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgZm9udC1zaXplOiByZW0oMjApO1xyXG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuICAgICAgQGV4dGVuZCAldGV4dF9zaGFkb3c7XHJcbiAgICAgIFxyXG4gICAgICBpIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbSgyNik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNHJlbTtcclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbSg0NCk7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvLyAqKiogKioqKioqIFRvdWNoZSBsYSBnYW1tZSBldCBsZSB0aXRyZSBkZSBsYSBsb2NhdGlvblxyXG4gICAgLnRpdHJlIHtcclxuICAgICAgZm9udC1zaXplOiByZW0oMzYpO1xyXG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICBmb250LWZhbWlseTogJGZvbnRfc2Vjb25kO1xyXG4gICAgICAvLyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkLWJpcztcclxuICAgICAgXHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNnJlbTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIFxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0oNTYpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjYpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBleHRlbmQgJXRleHRfc2hhZG93O1xyXG4gICAgfVxyXG4gICAgLnNvdXN0aXRyZSB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3Jfc2Vjb25kO1xyXG4gICAgICBmb250LXNpemU6IHJlbSgxOCk7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgIC8vIGZvbnQtZmFtaWx5OiAkZm9udF9zZWNvbmQ7XHJcbiAgICAgIC8vIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIFxyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjZyZW07XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBcclxuICAgICAgQGV4dGVuZCAldGV4dF9zaGFkb3c7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjIpO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgLy8gKioqICoqKioqKiBFTkQgPiBUb3VjaGUgbGEgZ2FtbWUgZXQgbGUgdGl0cmUgZGUgbGEgbG9jYXRpb25cclxuXHJcblxyXG4gICAgLmNvbnRlbnQge1xyXG4gICAgICBjb2xvcjogJGJvZHktY29sb3I7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcblxyXG5cclxuICAgICAgLy8gKioqICoqKioqKiBUSVRSRVxyXG4gICAgICBhLnRpdHJlIHtcclxuICAgICAgICAvLyBjb2xvcjogJHdoaXRlO1xyXG4gICAgICB9XHJcblxyXG5cclxuICAgICAgLy8gKioqICoqKioqKiBDT05URU5FVVIgRFUgVElUUkUgPj4+PiBHQU1NRVxyXG4gICAgICAudGl0cmVfYyB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3RpdHJlLXBvc3QtaXQtYmcuc3ZnJyk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge31cclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgei1pbmRleDogMTAwO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHRvcDogLTQlO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IC01MCU7XHJcbiAgICAgICAgXHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHNjYWxlKDAuOCk7XHJcblxyXG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xyXG4gICAgICAgIFxyXG4gICAgICBcclxuXHJcbiAgICAgICAgLmxhYmVsICxcclxuICAgICAgICAudGl0cmUge1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgei1pbmRleDogMTA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9tYWluO1xyXG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudGl0cmUge1xyXG4gICAgICAgICAgY29sb3I6ICRib2R5LWNvbG9yOyAgXHJcbiAgICAgICAgfVxyXG4gICAgICBcclxuXHJcbiAgICAgIH1cclxuICAgICAgLy8gKioqICoqKioqKiBFTkQgPiBDT05URU5FVVIgRFUgVElUUkUgPj4+PiBHQU1NRVxyXG5cclxuICAgICAgICAuZGVjb19zY290Y2hfdGFwZSB7XHJcblxyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgei1pbmRleDogMDtcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgdG9wOiAtMjUlO1xyXG4gICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNTAlO1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSk7XHJcblxyXG4gICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogcmdiYShyZWQsIC4yKTtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG5cclxuICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgIH1cclxuICBcclxuXHJcblxyXG4gICAgICAmLmltZ19pIHtcclxuICAgICAgICAuaW5mb3Mge1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgei1pbmRleDogMTMwO1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICBsZWZ0OiAwO1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbihzbSwgbWQpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxMzA7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICB9ICAgICAgXHJcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgei1pbmRleDogMTMwO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvLyAqKiogKioqKioqIEluZm9zIGVuIGJhcyBhIGdhdWNoZSBzdXIgZm9uZCBub2lyXHJcbiAgICAgIC5pbmZvcyB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICAgICAgICBcclxuICAgICAgICAvLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcclxuICAgICAgICAvLyAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWNvbG9yO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAvLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LW9ubHkobGcpIHtcclxuICAgICAgICAvLyAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWNvbG9yO1xyXG4gICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgXHJcblxyXG5cclxuICAgICAgICA+IC5pbm5lciB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAxcmVtIDJyZW0gMXJlbTtcclxuICAgICAgICAgIEBleHRlbmQgLmNsZWFyZml4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRpdHJlIHtcclxuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICAgLnBpY3RvLXBtciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDIwcHg7XHJcbiAgICAgICAgLy8gYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMjBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge31cclxuICAgICAgIFxyXG5cclxuICAgICAgfVxyXG4gICAgICAvLyAqKiogKioqKioqIEVORCA+IEluZm9zIGVuIGJhcyBhIGdhdWNoZSBzdXIgZm9uZCBub2lyXHJcblxyXG5cclxuXHJcblxyXG4gICAgICAubGlzdF9kYmxfdHhfYmlzLmluZm9fb25faW1nIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgei1pbmRleDogMzAwO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG5cclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTIwcHgpO1xyXG5cclxuICAgICAgICAvKiBSZXNldCAqL1xyXG4gICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICBzdmcgLFxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICB6LWluZGV4OiA1O1xyXG5cclxuICAgICAgICAgIC8vIGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZTtcclxuXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbWFpbjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICBwYXRoIHtcclxuICAgICAgICAgICAgZmlsbDogJHdoaXRlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmlubmVyIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIHotaW5kZXg6IDM7XHJcblxyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjRyZW07XHJcblxyXG4gICAgICAgICAgcGFkZGluZzogMC4zcmVtIDAuN3JlbSAwLjVyZW0gMXJlbTtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yOiAjMDAwMDAwLCAkYWxwaGE6IDAuOCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBbY2xhc3MqPVwidHgtXCJdIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogLjhyZW07XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuXHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcblxyXG4gICAgICAuaW5mb3NfbCB7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgd2lkdGg6IDYwJTtcclxuXHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIC8vICoqKiAqKioqKiogTGlnbmUgZGVzYyBwZXJzIGNoYnIgZXRjXHJcbiAgICAgIC5saXN0X2RibF90eF9iaXMge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDByZW07XHJcblxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLy8gKioqICoqKioqKiBFTkQgPiBMaWduZSBkZXNjIHBlcnMgY2hiciBldGNcclxuXHJcblxyXG4gICAgICAvLyAqKiogKioqKioqIFBSSUNFXHJcbiAgICAgICYtcHJpY2Uge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcblxyXG4gICAgICAgIC8vIG1hcmdpbi10b3A6IDAuN3JlbTtcclxuICAgICAgICBwYWRkaW5nOiAwcmVtIDAgMCAxLjJyZW07XHJcblxyXG4gICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG5cclxuICAgICAgICBAZXh0ZW5kICV0ZXh0X3NoYWRvdztcclxuXHJcblxyXG4gICAgICAgIC8vICoqKiBQb3VyIGxlIHByaXhcclxuICAgICAgICAuZnJvbSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxNSk7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50byB7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxOSk7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIC8vIG1hcmdpbi10b3A6IC0wLjZyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50byAsXHJcbiAgICAgICAgLmZyb20ge1xyXG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9zZWNvbmQ7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG5cclxuXHJcbiAgICAgICAgLm5iciB7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5uYnIgLFxyXG4gICAgICAgIC5zaWdsZSB7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDU2KTtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRfc2Vjb25kO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkLWJpcztcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSg4MCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuXHJcblxyXG4gICAgICB9XHJcbiAgICAgIC8vICoqKiAqKioqKiogRU5EID4gUFJJQ0VcclxuXHJcbiAgICAvLyBib3JkZXI6IDEwcHggc29saWQgcmVkO1xyXG5cclxufVxyXG5cclxuXHJcbi8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLFxyXG4vLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiB4eHhcclxuLypcclxuXHJcbiRsaXN0aW5nX3R5cGUgPT0gJ3NsaWRlcidcclxuICAubGlzdF9jYXJkcyBtYWluX3NsaWRlclxyXG5cclxuJGxpc3RpbmdfdHlwZSA9PSAnZGl2J1xyXG4gICAgLnVpa2l0X2ZpbHRlciBweC1sZy01XHJcbiovXHJcbi5saXN0X2NhcmRzLm1haW5fc2xpZGVyIHtcclxuICAuY2FyZF9sb2Mge1xyXG5cclxuXHJcbiAgICAuZW1iZWQtcmVzcG9uc2l2ZSArIC5jb250ZW50IHtcclxuICAgICAgXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgei1pbmRleDogMTAwO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHJnYmEocHVycGxlLCAuMik7XHJcbiAgICB9XHJcblxyXG4gICAgLmluZm9zIHtcclxuXHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcblxyXG4gICAgICAgIC8vIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAyMHB4O1xyXG4gICAgICAgIFxyXG4gICAgICAgIC8qIHJlc2V0ICovXHJcbiAgICAgICAgLy8gd2lkdGg6IGF1dG87XHJcbiAgICAgICAgLy8gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcclxuICAgICAgICAvLyBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcHg7XHJcblxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmVtYmVkLXJlc3BvbnNpdmUuaW1nX3BvcHVwICB7XHJcbiAgICAgIFxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgLy8gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDIwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAqKiogKioqKioqIENPTlRFTkVVUiBEVSBUSVRSRSA+Pj4+IEdBTU1FXHJcbiAgICAudGl0cmVfYyB7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHNjYWxlKDEpO1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UobWF0aC5kaXYoNSwgMTIpKTtcclxuICAgICAgICBtYXJnaW46IDFyZW0gMCAxcmVtIDFyZW07XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDNyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAqKiogKioqKioqIFRvdWNoZSBsYSBnYW1tZSBldCBsZSB0aXRyZSBkZSBsYSBsb2NhdGlvblxyXG4gICAgLnRpdHJlIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDU0KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICB9XHJcbn0iLCJAdXNlIFwic2FzczptYXRoXCI7XHJcblxyXG5cclxuLy8gUG91ciB0b3VjaGVyIGxpc3RpbmcgdG91cmlzbWVcclxuLmxpc3RfYXJ0aWNsZXMge1xyXG4gICAgLnN0bF9jYXJkIHtcclxuICAgICAgICAudGl0cmVfc3R5bGUtMSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLyAqKiogTGlzdGluZyBkJ2FydGljbGVcclxuLnN0bF9jYXJkIHtcclxuICAgIFxyXG4gICAgLnRpdHJlX2RvdWJsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0oOCk7XHJcblxyXG4gICAgICAgIC5zb3VzdGl0cmUge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuLmJyaWNrbGF5ZXIge1xyXG4gICAgLnN0bF9jYXJkIHtcclxuICAgIFxyXG4gICAgICAgIC8vICoqKiAqKioqKiogVE9VQ0hFIExFIEJMT0dcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xyXG4gICAgXHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuICAgIFxyXG4gICAgICAgICAgICBjb2xvcjogJGJvZHktY29sb3I7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRib2R5LWNvbG9yO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNrX3R4LFxyXG4gICAgICAgIC5zdHJva2VZX2RlY28gLnRpdHJlX2RvdWJsZSB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNjAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gKioqICoqKioqKiBFTkQgPiBUT1VDSEUgTEUgQkxPR1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4ubm9fdHlwZV9oZWJlcmcge1xyXG5cclxuICAgIC5zdGxfY2FyZCB7XHJcblxyXG5cclxuICAgICAgICAvLyAqKiogKioqKioqIExBQkVMXHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFNpIGltYWdlXHJcbiAgICAgICAgLmltZ19jb3ZlciArIC5jb250ZW50IHtcclxuICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMnJlbTtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAwKTtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gKioqICoqKioqKiBFTkQgPiBMQUJFTFxyXG5cclxuICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTsgLyogUG91ciBsZSBzaGFkb3cgKi9cclxuXHJcblxyXG4gICAgICAgID4gLmlubmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMSwgMTIpKTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBwZXJjZW50YWdlKG1hdGguZGl2KDEsIDEyKSk7XHJcblxyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IHJnYmEoJGJvZHktY29sb3IsIC41KTtcclxuXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogUG91ciBsZSBhIDEwMCUgKi9cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7IC8qIFBvdXIgbGUgYSAxMDAlICovXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMnJlbSAycmVtIDJyZW07XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cmVtIDNyZW0gMnJlbSA0cmVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gKioqICoqKioqKiBUb3VjaGVyIGxlIGxpZW4gdmVycyBsYSBwYWdlXHJcbiAgICAgICAgLmxpbmtfcGFnZSB7XHJcblxyXG4gICAgICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcclxuXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvcjogIzAwMDAwMCwgJGFscGhhOiAwLjUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyAqKiogKioqKioqIEVORCA+IFRvdWNoZXIgbGUgbGllbiB2ZXJzIGxhIHBhZ2VcclxuXHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuXHJcbi5jYXJkIHt9IiwiQHVzZSBcInNhc3M6bWF0aFwiO1xyXG5cclxuLy8vICoqKiBMaXN0aW5nIGQnYXJ0aWNsZVxyXG5cclxuLmNhcmRfYXZpcyB7XHJcblxyXG5cclxuICAgIC5lbWJlZC1yZXNwb25zaXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgICAgLmJ0biB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiBpbml0aWFsO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcclxuICAgICAgICAgICAgei1pbmRleDogaW5pdGlhbDtcclxuICAgICAgICAgICAgYm90dG9tOiBpbml0aWFsO1xyXG4gICAgICAgICAgICBsZWZ0OiBpbml0aWFsO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGluaXRpYWw7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogaW5pdGlhbDtcclxuXHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAwO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpbmstY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5idG5faS5pbWdfaSB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAmLmJ0bl9pIHtcclxuICAgICAgICAuZGVzYyB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcclxuICAgICAgICAgICAgYWxpZ24tY29udGVudDogZW5kO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaW1nX2kuZGVzY19pIHtcclxuICAgICAgICAuaW1nIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAub3AtMzA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50aXRyZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50eCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Jfc2Vjb25kO1xyXG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCA2cHggcmdiYSgwLCAwLCAwLCAwLjgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmRlc2NfaSB7XHJcblxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKixcclxuXHJcblxyXG4gICAgLy8gcGFkZGluZy10b3A6IDFyZW07IC8qIFBvdXIgbGUgc2hhZG93ICovXHJcbiAgICAvLyBwYWRkaW5nLWJvdHRvbTogMnJlbTsgLyogUG91ciBsZSBzaGFkb3cgKi9cclxuXHJcbiAgICAvLyB0cmFuc2Zvcm06IHJvdGF0ZSgtMmRlZyk7XHJcblxyXG5cclxuICAgIC5pbWcsIC5kZXNjIHtcclxuICAgICAgICAvLyBtYXJnaW4tbGVmdDogcGVyY2VudGFnZShtYXRoLmRpdigxLCAxMikpO1xyXG4gICAgICAgIC8vIG1hcmdpbi1yaWdodDogcGVyY2VudGFnZShtYXRoLmRpdigxLCAxMikpO1xyXG5cclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgaW5zZXQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMSwgMTIpKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcblxyXG4gICAgPiAuaW5uZXIge1xyXG4gICAgICAgIC8vIHBhZGRpbmc6IDJyZW0gMS40cmVtIDFyZW07XHJcbiAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMSwgMTIpKTtcclxuICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMSwgMTIpKTtcclxuXHJcbiAgICAgICAgLy8gYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgICAgICAvLyBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICAvLyBib3gtc2hhZG93OiA2cHggNnB4IDEwcHggcmdiYSgkYm9keS1jb2xvciwgLjUpO1xyXG5cclxuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfc2Vjb25kO1xyXG5cclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIFBvdXIgbGUgYSAxMDAlICovXHJcbiAgICB9XHJcblxyXG4gICAgLmltZyB7XHJcbiAgICAgICAgei1pbmRleDogNTtcclxuXHJcbiAgICAgICAgLml0ZW0ge1xyXG5cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC01MCU7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICArIC5kZXNjIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5kZXNjIHtcclxuICAgICAgICBcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgXHJcbiAgICAgICAgei1pbmRleDogMTA7XHJcbiAgICAgICAgcGFkZGluZzogMS40cmVtIDEuNHJlbSAxLjZyZW07XHJcblxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3NlY29uZDtcclxuXHJcbiAgICAgICAgQGV4dGVuZCAuY2xlYXJmaXg7XHJcblxyXG4gICAgICAgIGVtLCBzdHJvbmcge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX21haW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAgLmxhYnBpYyB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBcclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XHJcbiAgICAgICAgfVxyXG4gICAgIH1cclxuXHJcblxyXG4gICAgLnRpdHJlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yX21haW47XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250X3NlY29uZDtcclxuICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkLWJpcztcclxuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZTtcclxuICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiAgICAgICAgLy8gcGFkZGluZy1ib3R0b206IDAuNXJlbTtcclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDNyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcclxuICAgICAgICAudGl0cmUge1xyXG4gICAgICAgICAgICAvLyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkd2hpdGU7XHJcbiAgICAgICAgICAgIC8vIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIC8vIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiAwO1xyXG5cclxuICAgICAgICAgICAgLy8gd2lkdGg6IDE5JTtcclxuICAgICAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiA1JTtcclxuICAgICAgICAgICAgLy8gZmxvYXQ6IGxlZnQ7XHJcblxyXG4gICAgICAgICAgICArIC5yaWdodCB7XHJcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogNzUlO1xyXG4gICAgICAgICAgICAgICAgLy8gZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50eCB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl9tYWluX2JpcztcclxuICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkLWJpcztcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxufVxyXG5cclxuIiwiXHJcblxyXG5cclxuXHJcblxyXG5AdXNlIFwic2FzczptYXRoXCI7XHJcblxyXG4uZnJvbV9wcmljZSB7XHJcblxyXG4gICAgLmZyb20ge1xyXG4gICAgfVxyXG4gICAgLnByaWNlIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbSgyMyk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDMwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSg0MCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oNTApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDYwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubmlnaHRfd2VlayB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLjRyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi5jYXJkX3NsaWRlci1pbWdfdHhfaW5mbyB7XHJcblxyXG4gICAgLmNvbnRlbnQge1xyXG5cclxuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRib2R5LWJnO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRib2R5LWJnO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9keS1iZztcclxuXHJcbiAgICAgICAgXHJcbiAgICAgICAgLy8gKioqICoqKioqKiBQb3VyIGxlcyBkb3RzIGR1IHRpdHJlXHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDM1cHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAudGl0cmVfZG91YmxlX2Mge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICV0aXRyZV9kZWNvX2RvdDtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAycmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vICoqKiAqKioqKiogRU5EID4gUG91ciBsZXMgZG90cyBkdSB0aXRyZVxyXG4gICAgICAgIFxyXG5cclxuICAgICAgICA+IC5pbm5lciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yX21haW4sIDEpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwLjNyZW0gMS44cmVtIDFyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgei1pbmRleDogMTA7XHJcbiAgICAgICAgICAgIHRvcDogcGVyY2VudGFnZShtYXRoLmRpdiguOCwgMTIpKTtcclxuICAgICAgICAgICAgcmlnaHQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoLjMsIDEyKSk7XHJcbiAgICBcclxuICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UobWF0aC5kaXYoNC41LCAxMikpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKG1hdGguZGl2KDQsIDEyKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKG1hdGguZGl2KDMuNSwgMTIpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC5ja190eCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBSZXNldCAqL1xyXG4gICAgLmxpc3RfYnRuIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwcmVtO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMC41cmVtO1xyXG4gICAgICAgICAgICByaWdodDogMC41cmVtO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTUwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIC5idG5fc3RkIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDhweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvcl9tYWluLCAwLjYpO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTRweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3JfbWFpbiwgMSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJ1xcMDAyMCc7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBcclxuICAgICAgICAgICAgLy8gcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHJnYmEod2hpdGUsIC41KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKiBFTkQgPiBSZXNldCAqL1xyXG5cclxuXHJcblxyXG4gICAgLnRpdHJlX2RvdWJsZSB7XHJcbiAgICAgICAgY29sb3I6ICRib2R5LWNvbG9yO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG5cclxuICAgICAgICAvKiBSZXNldCAqL1xyXG4gICAgICAgIC5zb3VzdGl0cmUge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAlO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgZm9udC1zaXplOiByZW0oNS42KTtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7IGZvbnQtc2l6ZTogcmVtKDcpOyB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkgeyBmb250LXNpemU6IHJlbSg5KTsgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7IGZvbnQtc2l6ZTogcmVtKDEwKTsgfVxyXG4gICAgICAgIC8qIEVORCA+IFJlc2V0ICovXHJcblxyXG4gICAgfVxyXG5cclxuXHJcblxyXG5cclxuICAgIFxyXG5cclxufSIsIlxyXG5cclxuXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBWSUdORVRURSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4vLyAudmlnbmV0dGUge1xyXG5cclxuLy8gICA+IC5pbm5lciB7XHJcbi8vICAgICBtYXJnaW46IDAgMjVweDtcclxuLy8gICB9XHJcblxyXG4vLyAgIC5sYWJlbCB7XHJcbi8vICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuLy8gICAgIG1hcmdpbi1ib3R0b206IC40cmVtO1xyXG4vLyAgIH1cclxuXHJcbi8vICAgLmZpZ3VyZSB7XHJcbi8vICAgICBAZXh0ZW5kICVpbWdfcGFkZGluZ19yYXRpbztcclxuLy8gICAgIGltZyB7fVxyXG5cclxuLy8gICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbi8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJvZHktYmcsIDcpO1xyXG4vLyAgIH1cclxuXHJcbi8vICAgLmRhdGUge1xyXG4vLyAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4vLyAgICAgZGlzcGxheTogYmxvY2s7XHJcbi8vICAgICBtYXJnaW46IDAgYXV0bztcclxuLy8gICB9XHJcblxyXG4vLyAgIC50aXRyZSxcclxuLy8gICAuZGVzY19zaG9ydCB7XHJcbi8vICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbi8vICAgfVxyXG4vLyAgIC5kZXNjIHtcclxuLy8gICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcbi8vICAgfVxyXG5cclxuXHJcbi8vICAgLnRpdHJlX3N0eWxlLTEge1xyXG4vLyAgICAgY29sb3I6ICRib2R5LWNvbG9yO1xyXG5cclxuLy8gICAgIGZvbnQtc2l6ZTogZW0oOCk7XHJcbi8vICAgICAvLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7IGZvbnQtc2l6ZTogZW0oMTEpOyB9XHJcbi8vICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7IGZvbnQtc2l6ZTogZW0oOC41KTsgfVxyXG4vLyAgICAgLy8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykgeyBmb250LXNpemU6IGVtKDEzKTsgfVxyXG4vLyAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkgeyBmb250LXNpemU6IGVtKDkpOyB9XHJcbi8vICAgICAvLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkgeyBmb250LXNpemU6IGVtKDE1KTsgfVxyXG5cclxuLy8gICAgIC5zb3VzdGl0cmUge1xyXG4vLyAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4vLyAgICAgfVxyXG5cclxuLy8gICAgIC50aXRyZSArIC5zb3VzdGl0cmUge1xyXG4vLyAgIFx0XHRwYWRkaW5nLXRvcDogZW0oMTIpO1xyXG4vLyAgIFx0fVxyXG5cclxuLy8gICB9XHJcblxyXG4vLyAgIC5lbGVtU2hvd0hpZGV7XHJcbi8vICAgICBAZXh0ZW5kICVzdHJva2VfdG9wO1xyXG4vLyAgICAgJjpiZWZvcmUge1xyXG4vLyAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbi8vICAgICB9XHJcbi8vICAgfVxyXG5cclxuLy8gfVxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBFTkQgPiBWSUdORVRURSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBWSUdORVRURSBIT1JJWk9OVEFMID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5jYXJ0ZV90b3VyaXNtZS1hcnRpY2xlIHtcclxuICAvLyAudmlnbmV0dGUtaG9yaXpvbnRhbCB7XHJcbiAgICAudGl0cmVfc3R5bGUtMSB7XHJcblxyXG4gICAgICBmb250LXNpemU6IHJlbSg3KTtcclxuICAgICAgLy8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkgeyBmb250LXNpemU6IGVtKDExKTsgfVxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7IGZvbnQtc2l6ZTogcmVtKDgpOyB9XHJcbiAgICAgIC8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHsgZm9udC1zaXplOiBlbSgxMyk7IH1cclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkgeyBmb250LXNpemU6IHJlbSg5KTsgfVxyXG4gICAgICAvLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkgeyBmb250LXNpemU6IGVtKDE1KTsgfVxyXG4gICAgfVxyXG4gIC8vIH1cclxufVxyXG4udmlnbmV0dGUtaG9yaXpvbnRhbCB7XHJcblxyXG4gICYuY2FyZF9taW4ge1xyXG4gICAgLnRpdHJlX2RvdWJsZSB7XHJcblxyXG4gICAgICAudGl0cmUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogZW0oNjUpO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHsgZm9udC1zaXplOiBlbSg2Nik7IH1cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7IGZvbnQtc2l6ZTogZW0oNjcpOyB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiAtLS0gQXJ0aWNsZSBhY3RpZiAtLS0gKi9cclxuICAmLmFydGljbGVfYWN0aWYge31cclxuICAvKiAtLS0gRU5EID4gQXJ0aWNsZSBhY3RpZiAtLS0gKi9cclxuXHJcbiAgLmxhYmVsIHtcclxuICAgIHBhZGRpbmc6IDAgNDBweCA0MHB4O1xyXG4gIH1cclxuXHJcbiAgLmZpZ3VyZSB7XHJcbiAgICAvLyBAZXh0ZW5kICVpbWdfcGFkZGluZ19yYXRpbztcclxuICAgIGltZyB7fVxyXG5cclxuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJvZHktYmcsIDcpO1xyXG4gIH1cclxuXHJcbiAgLnRpdHJlX2RvdWJsZSB7XHJcblxyXG4gICAgLy8gZm9udC1zaXplOiByZW0oNSk7XHJcbiAgICAvLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7IGZvbnQtc2l6ZTogcmVtKDExKTsgfVxyXG4gICAgLy8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkgeyBmb250LXNpemU6IHJlbSg2KTsgfVxyXG4gICAgLy8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykgeyBmb250LXNpemU6IHJlbSgxMyk7IH1cclxuICAgIC8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHsgZm9udC1zaXplOiByZW0oNyk7IH1cclxuICAgIC8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7IGZvbnQtc2l6ZTogcmVtKDE1KTsgfVxyXG5cclxuICAgIC5zb3VzdGl0cmUge1xyXG4gICAgICAvLyBmb250LXNpemU6IGVtKDQ1KTtcclxuICAgICAgLy8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkgeyBmb250LXNpemU6IGVtKDQ2KTsgfVxyXG4gICAgICAvLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7IGZvbnQtc2l6ZTogZW0oNDcpOyB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZGVzY3tcclxuICAgIEBleHRlbmQgJXN0cm9rZV90b3A7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kZXNjIHtcclxuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcbiAgfVxyXG5cclxuXHJcblx0LyogLS0tIFNBTlMgSU1HIERFIEZPTkQgLS0tICovXHJcblx0Jjpub3QoLmxhenktYmdpKSB7XHJcblxyXG5cdH1cclxuXHQvKiAtLS0gRU5EID4gU0FOUyBJTUcgREUgRk9ORCAtLS0gKi9cclxuXHJcblxyXG5cclxuXHQvLyAqKioqKioqKiogQVZFQyBJTUcgREUgRk9ORFxyXG5cdD4gLmxhenktYmdpICxcclxuXHQ+IC5sYXp5LWJnaSAudGl0cmVfc3R5bGUtMSB7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gIH1cclxuXHJcblxyXG5cdD4gLmxhenktYmdpIHtcclxuXHJcbiAgICAubGFiZWwge1xyXG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAubGFiZWwsXHJcbiAgICAuY29udGVudCB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgei1pbmRleDogMTYwO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxNjA7XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6ICdcXDAwMjAnO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAxMjA7XHJcbiAgICAgIHRvcDogMDsgbGVmdDogMDsgcmlnaHQ6IDA7IGJvdHRvbTogMDtcclxuXHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAwLjYpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuXHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICdcXDAwMjAnO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgkYmxhY2ssIC44KSAzMCUsIHJnYmEoJGJsYWNrLCAwKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG5cdH1cclxuXHQvLyAqKioqKioqKiogRU5EID4gQVZFQyBJTUcgREUgRk9ORFxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbn1cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gRU5EID4gVklHTkVUVEUgSE9SSVpPTlRBTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4iLCJcclxuXHJcblxyXG4vLyAuY2FyZF9sb2Mge1xyXG4vLyAgIC5saXN0X3BpY3RvIHtcclxuLy8gICAgIHBhZGRpbmc6IDAgcGVyY2VudGFnZSgxIC8gMjQpO1xyXG4vLyAgIH1cclxuLy8gfVxyXG5cclxuLmxpc3RfcGljdG8ge1xyXG5cclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgQGV4dGVuZCAlcmVzZXRfdWw7XHJcblxyXG4gICYtbGkge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuXHJcbiAgICBtYXJnaW46IDAgNXB4IDEwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDMzLjMzJTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcbiAgICAgIG1heC13aWR0aDogMjUlO1xyXG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICBtYXgtd2lkdGg6IDMzLjMzJTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgIG1heC13aWR0aDogMjUlO1xyXG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xyXG4gICAgICBtYXgtd2lkdGg6IDMzLjMzJTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xyXG4gICAgICBtYXgtd2lkdGg6IDI1JTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pbm5lcl9saSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG5cclxuICAucGljdG9fY2xpbSB7XHJcblxyXG4gICAgLmljbyB7XHJcbiAgICAgIHBhZGRpbmc6IDZweCA4cHggMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdmcge1xyXG4gICAgLy8gZmlsbDogJGxpbmstY29sb3I7XHJcblxyXG4gICAgLy8gZGlzcGxheTogYmxvY2s7XHJcbiAgICAvLyB3aWR0aDogNDJweDtcclxuICAgIC8vIGhlaWdodDogNDJweDtcclxuICAgIC8vIG1hcmdpbjogMCBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLnR4LTEge1xyXG4gICAgLy8gZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgLy8gZm9udC1zaXplOiBlbSgyMik7XHJcblxyXG4gICAgLy8gZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiXHJcblxyXG4vLyAqKiogKioqKioqIFxyXG4vLyAqICAgVXRpbGlzw6kgc3VyIGNhcmRzIGxvY2F0aW9uIGF2ZWMgcGVycywgY2hiciBldGNcclxuLy8gKiAgIENoaWZmcmUgYXUgZGVzc3VzIGF2ZWMgYWJiciBlbiBkZXNzb3VzXHJcbi8vICoqKiAqKioqKipcclxuXHJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuXHJcbi5jYXJkX2xvYyB7XHJcbiAgLmxpc3RfZGJsX3R4IHtcclxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5saXN0X2RibF90eCB7XHJcblxyXG4gIGNvbG9yOiAkd2hpdGU7XHJcblxyXG4gIHBhZGRpbmc6IDAgcGVyY2VudGFnZShtYXRoLmRpdigxLCAyNCkpICFpbXBvcnRhbnQ7XHJcbiAgQGV4dGVuZCAlcmVzZXRfdWw7XHJcblxyXG4gIGxpIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgbGlnaHRlbigkYm9keS1jb2xvciwgNDApO1xyXG4gICAgLy8gbWFyZ2luOiAwIDEycHg7XHJcblxyXG5cclxuICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBib3JkZXItbGVmdDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICAgLmlubmVyIHtcclxuICAgICAgLy8gcGFkZGluZzogMCAwLjZyZW07XHJcbiAgICAgIHBhZGRpbmc6IDAgMXJlbTtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgICBbY2xhc3MgKj1cInR4LVwiXSB7XHJcbiAgICAgICAgLy8gZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcbiAgICAgIC50eC0xIHtcclxuICAgICAgICAvLyBmb250LXNpemU6IGVtKDIyKTtcclxuICAgICAgICAvLyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgICAgLy8gbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgfVxyXG4gICAgICAudHgtMiB7XHJcbiAgICAgICAgLy8gZm9udC1zaXplOiBlbSgxNCk7XHJcbiAgICAgICAgLy8gdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAvLyBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICB9XHJcblxyXG4gIGltZyAsXHJcbiAgc3ZnIHtcclxuICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAvLyBmaWx0ZXI6IGludmVydCg5MyUpIHNlcGlhKDEzJSkgc2F0dXJhdGUoMjY1JSkgaHVlLXJvdGF0ZSgzMGRlZykgYnJpZ2h0bmVzcyg5OSUpIGNvbnRyYXN0KDgzJSk7XHJcbiAgICBmaWx0ZXI6IGludmVydCg2OSUpIHNlcGlhKDEwJSkgc2F0dXJhdGUoOTAlKSBodWUtcm90YXRlKDM0MWRlZykgYnJpZ2h0bmVzcyg4NCUpIGNvbnRyYXN0KDgxJSk7XHJcbiAgICBcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgLy8gd2lkdGg6IDQwcHg7XHJcbiAgICAgIC8vIGhlaWdodDogNDBweDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgLy8gYm9yZGVyOiAycHggc29saWQgJGJsYWNrO1xyXG4gIH1cclxuICBpbWcge1xyXG4gICAgLy8gZmlsdGVyOiBpbnZlcnQoOTQlKSBzZXBpYSg4NiUpIHNhdHVyYXRlKDElKSBodWUtcm90YXRlKDI5NmRlZykgYnJpZ2h0bmVzcygxMDUlKSBjb250cmFzdCgxMDAlKTtcclxuICB9XHJcbiAgc3ZnICsgLmlubmVyIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDglO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8vICoqKiAqKioqKiogU3VyIGxlcyBjYXJkIGxvY1xyXG4ubGlzdF9kYmxfdHhfYmlzIHtcclxuXHJcbiAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgQGV4dGVuZCAlcmVzZXRfdWw7XHJcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG5cclxuICBsaSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG5cclxuICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgICAuaW5uZXIge1xyXG4gICAgICBwYWRkaW5nOiAwIDFyZW07XHJcbiAgICB9XHJcblxyXG4gICAgICBbY2xhc3MgKj1cInR4LVwiXSB7XHJcbiAgICAgICAgLy8gZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG4gICAgICAudHgtMSB7XHJcbiAgICAgICAgLy8gZm9udC1zaXplOiBlbSgyMik7XHJcbiAgICAgICAgLy8gZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgICAgIC8vIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgIH1cclxuICAgICAgLnR4LTIge1xyXG4gICAgICAgIC8vIGZvbnQtc2l6ZTogZW0oMTQpO1xyXG4gICAgICAgIC8vIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgLy8gbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgfVxyXG5cclxuICBpbWcgLFxyXG4gIHN2ZyB7XHJcbiAgICB3aWR0aDogNDBweDtcclxuICAgIGhlaWdodDogNDBweDtcclxuXHJcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX21haW47XHJcbiAgfVxyXG5cclxuICBpbWcge1xyXG4gICAgLy8gZmlsdGVyOiBpbnZlcnQoOTQlKSBzZXBpYSg4NiUpIHNhdHVyYXRlKDElKSBodWUtcm90YXRlKDI5NmRlZykgYnJpZ2h0bmVzcygxMDUlKSBjb250cmFzdCgxMDAlKTtcclxuICB9XHJcbiAgc3ZnICsgLmlubmVyIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDglO1xyXG4gIH1cclxuXHJcbn1cclxuLy8gKioqICoqKioqKiBFTkQgPiBTdXIgbGVzIGNhcmQgbG9jXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiosXHJcbi8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIGNvZGVcclxuXHJcblxyXG4vLyAubWFpbl9zbGlkZXIgKyAudGl0cmVfc3R5bGUtMS51bmRlciB7XHJcblxyXG4vLyAgIC5saXN0X2RibF90eCB7XHJcblxyXG4vLyAgICAgbGkge1xyXG4vLyAgICAgICBmb250LXNpemU6IGVtKDI0KTtcclxuLy8gICAgIH1cclxuXHJcblxyXG4vLyAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4vLyAgICAgICBsaSB7XHJcbi8vICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuLy8gICAgICAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcclxuLy8gICAgICAgfVxyXG5cclxuLy8gICAgICAgc3ZnIHtcclxuLy8gICAgICAgICBmaWxsOiAkd2hpdGU7XHJcbi8vICAgICAgIH1cclxuLy8gICAgIH1cclxuXHJcbi8vICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbi8vICAgICAgIHN2ZyB7XHJcbi8vICAgICAgICAgd2lkdGg6IDYwcHg7XHJcbi8vICAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4vLyAgICAgICB9XHJcbi8vICAgICB9XHJcblxyXG4vLyAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xyXG4vLyAgICAgICBzdmcge1xyXG4vLyAgICAgICAgIHdpZHRoOiA2NXB4O1xyXG4vLyAgICAgICAgIGhlaWdodDogNjVweDtcclxuLy8gICAgICAgfVxyXG4vLyAgICAgfVxyXG4vLyAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcclxuLy8gICAgICAgc3ZnIHtcclxuLy8gICAgICAgICB3aWR0aDogODBweDtcclxuLy8gICAgICAgICBoZWlnaHQ6IDgwcHg7XHJcbi8vICAgICAgIH1cclxuLy8gICAgIH1cclxuXHJcbi8vICAgfVxyXG5cclxuXHJcblxyXG4vLyB9IiwiQGltcG9ydCBcIl9fX3N0eWxpbmcuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vanMvY29tcG9uZW50cy9feW91dHViZS1wbGF5ZXItaWZyYW1lLWR1YWwuc2Nzc1wiO1xyXG5cclxuXHJcbkBpbXBvcnQgXCIuLi8uLi90ZW1wbGF0ZS1wYXJ0cy9ibG9ja3MtZ3V0ZW5iZXJnL19zZWN0aW9uLWNvbnRlbmV1ci9zZWN0aW9uLWNvbnRlbmV1ci5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwiLi4vLi4vdGVtcGxhdGUtcGFydHMvYmxvY2tzLWd1dGVuYmVyZy90aXRyZS1kb3VibGUvdGl0cmUtZG91YmxlLnNjc3NcIjtcclxuXHJcblxyXG5AaW1wb3J0IFwiLi4vLi4vdGVtcGxhdGUtcGFydHMvYmxvY2tzLWd1dGVuYmVyZy90ZWFzZXJfcGFnZS90ZWFzZXItcGFnZS5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwiLi4vLi4vdGVtcGxhdGUtcGFydHMvYmxvY2tzLWd1dGVuYmVyZy9saXN0aW5nLWNhcmQvbGlzdGluZy1jYXJkLnNjc3NcIjtcclxuQGltcG9ydCBcIi4uLy4uL3RlbXBsYXRlLXBhcnRzL2Jsb2Nrcy1ndXRlbmJlcmcvbGlzdGluZy1hcnRpY2xlL2xpc3RpbmctYXJ0aWNsZS5zY3NzXCI7XHJcblxyXG4vLyBAaW1wb3J0IFwiLi4vLi4vdGVtcGxhdGUtcGFydHMvYmxvY2tzLWd1dGVuYmVyZy9zbGlkZXItaW1nX3R4X2luZm8vYmxvY2suc2Nzc1wiO1xyXG4vLyBAaW1wb3J0IFwiLi4vLi4vdGVtcGxhdGUtcGFydHMvYmxvY2tzLWd1dGVuYmVyZy9zbGlkZXItaW1nX2Z1bGxfaW5mby9ibG9jay5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwiLi4vLi4vdGVtcGxhdGUtcGFydHMvYmxvY2tzLWd1dGVuYmVyZy9mb3JtX2NvbnRhY3QvZm9ybV9jb250YWN0LnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCIuLi8uLi90ZW1wbGF0ZS1wYXJ0cy9ibG9ja3MtZ3V0ZW5iZXJnL3RleHRlLWltYWdlL3RleHRlLWltYWdlLnNjc3NcIjtcclxuXHJcblxyXG4vLyBAaW1wb3J0IFwiLi4vLi4vdGVtcGxhdGUtcGFydHMvYmxvY2tzLWd1dGVuYmVyZy90ZXh0ZV9pbWFnZV9fYm91dG9uX2NoYW5nZV9jb250ZW51L2Jsb2NrLnNjc3NcIjtcclxuLy8gQGltcG9ydCBcIi4uLy4uL3RlbXBsYXRlLXBhcnRzL2Jsb2Nrcy1ndXRlbmJlcmcvdGV4dGVfaW1hZ2VfX2JvdXRvbl9tdWx0aXBsZS9ibG9jay5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi90ZW1wbGF0ZS1wYXJ0cy9ibG9ja3MtZ3V0ZW5iZXJnL3RleHRlX2ltYWdlX2Z1bGwvdGV4dGVfaW1hZ2VfZnVsbC5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi90ZW1wbGF0ZS1wYXJ0cy9ibG9ja3MtZ3V0ZW5iZXJnL2ltYWdlX2Z1bGxfX2xpc3RpbmdfdmFsb3Jpc2F0aW9uL2Jsb2NrLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCIuLi8uLi90ZW1wbGF0ZS1wYXJ0cy9ibG9ja3MtZ3V0ZW5iZXJnL2lmcmFtZS9pZnJhbWUuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vLi4vdGVtcGxhdGUtcGFydHMvYmxvY2tzLWd1dGVuYmVyZy9nYWxlcmllLXBob3Rvcy0tLWJyaWNrbGF5ZXItYmlzL2dhbGVyaWUtcGhvdG9zLS0tYnJpY2tsYXllci5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi90ZW1wbGF0ZS1wYXJ0cy9ibG9ja3MtZ3V0ZW5iZXJnL3RleHRlX2ltZ18yaW1nX3NsaWRlL3RleHRlX2ltZ18yaW1nX3NsaWRlLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCIuLi8uLi90ZW1wbGF0ZS1wYXJ0cy9ibG9ja3MtZ3V0ZW5iZXJnL21vZHVsZS1wbHVuZS1tYXAvYmxvY2suc2Nzc1wiO1xyXG5cclxuQGltcG9ydCBcImxpYnMvX3NsaWNrLnNjc3NcIjtcclxuQGltcG9ydCBcImxpYnMvX3VpLXRhYnMuc2Nzc1wiO1xyXG5cclxuICAgIEBpbXBvcnQgXCJibG9ja3MvX2xpc3RfY2FyZHMuc2Nzc1wiO1xyXG4gICAgQGltcG9ydCBcImVsZW1lbnRzL19maWx0ZXIuc2Nzc1wiO1xyXG4gICAgQGltcG9ydCBcImVsZW1lbnRzL19jYXJkX2xvYy5zY3NzXCI7XHJcbiAgICBAaW1wb3J0IFwiZWxlbWVudHMvX2NhcmQuc2Nzc1wiO1xyXG4gICAgICAgIEBpbXBvcnQgXCJlbGVtZW50cy9fY2FyZF9hdmlzLnNjc3NcIjtcclxuICAgIEBpbXBvcnQgXCJlbGVtZW50cy9fY2FyZF9zbGlkZXItaW1nX3R4X2luZm8uc2Nzc1wiO1xyXG4gICAgQGltcG9ydCBcImVsZW1lbnRzL192aWduZXR0ZS5zY3NzXCI7IC8vIEFjdHVhbGl0w6lzXHJcbiAgICBcclxuICAgIC8vICogICAgTGlzdGUgZGUgcGV0aXQgcGljdG8gc3VydG91dCB1dGlsaXPDqSBzdXIgbGVzIGNhcmRzIGxvY1xyXG4gICAgLy8gRMOpc2FjdGl2ZXIsIGlsIGZhdXQgdG91dCBpbXBvcnRlciBsZXMgc3ZnIHZvaXIgbm9uIGVuIHNwcml0ZVxyXG4gICAgQGltcG9ydCBcImVsZW1lbnRzL19saXN0LXBpY3RvLnNjc3NcIjtcclxuXHJcbiAgICAvLyAqICAgVXRpbGlzw6kgc3VyIGNhcmRzIGxvY2F0aW9uIGF2ZWMgcGVycywgY2hiciBldGMgLSBkb3VibGUgdGV4dGUgY2hpZmZyZSArIGFiYnJcclxuICAgIEBpbXBvcnQgXCJlbGVtZW50cy9fbGlzdC1kYmwtdHguc2Nzc1wiO1xyXG5cclxuXHJcbi53cC1ibG9jay1idXR0b25fX2xpbmsge1xyXG4gICAgY29sb3I6IHJlZDtcclxuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xyXG4gICAgQGV4dGVuZCAuYnRuX3N0ZDtcclxufVxyXG5cclxuW2RhdGEtdHlwZT1cImFjZi93YXZlLWRvdWJsZVwiXSB7XHJcbiAgICBjbGVhcjogYm90aDtcclxufVxyXG5cclxuLmhhcy10aGVtZS1ncmVlbi1iYWNrZ3JvdW5kLWNvbG9yIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxNjksIDE5OCwgNDApICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgfVxyXG5cclxuLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiosXHJcbi8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEdSQU5ERSBJTUFHRVxyXG5cclxuLndwLWJsb2NrLWNvdmVyIHtcclxuXHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgLndwLWJsb2NrLXBhcmFncmFwaCxcclxuICAgIC50ZXh0IHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjYpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC53cC1ibG9jay1oZWFkaW5nLFxyXG4gICAgLmhfdGFnIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250X3NlY29uZDtcclxuICAgICAgICBmb250LXNpemU6IHJlbSg0Nik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4ud3AtYmxvY2stY292ZXItaW1hZ2UuaXMtcG9zaXRpb24tYm90dG9tLWNlbnRlcixcclxuLndwLWJsb2NrLWNvdmVyLmlzLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIge1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn0iLCIjZ3Vlc3RhcHAtbWluaSB7XHJcbiAgICAvLyBmb250LWZhbWlseTogJ1F1aWNrc2FuZCcsIGN1cnNpdmU7XHJcblxyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgd2lkdGg6IDU1cHg7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgIHdpZHRoOiA3MHB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICB3aWR0aDogMTUwcHg7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLndpZGdldF9hdmkge1xyXG4gIC8vIHBvc2l0aW9uOiBmaXhlZDsgei1pbmRleDogMTAyMjtcclxuICAvLyBib3R0b206IDEwcHg7IHJpZ2h0OiAxNHB4O1xyXG4gIC8vIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgIGJvdHRvbTogMTRweDsgcmlnaHQ6IDIwcHg7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgIGJvdHRvbTogMjBweDsgcmlnaHQ6IDIwcHg7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbi53aWRnZXQtbWluaSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzO1xyXG59XHJcblxyXG4ubWFpbl9mb290ZXJfdmlzaWJsZSAud2lkZ2V0LW1pbmkge1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG5cclxuLyogLS0tIEJvdXRvbiBwbHVzIC0tLSAqL1xyXG4ud2lkZ2V0LW1pbmkgLmd1ZXN0YXBwLXBsdXMge1xyXG5cclxuICB0ZXh0LWluZGVudDogLTU5OXB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiAyNHB4O1xyXG4gIGhlaWdodDogMjRweDtcclxuXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogLThweDtcclxuICBsZWZ0OiA0MHB4O1xyXG4gIHotaW5kZXg6IDIwO1xyXG5cclxuICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG5cclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2xvZ28tZ3Vlc3Qtc3VpdGUtaWNvbi1wbHVzLnBuZyk7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9ndWVzdGFwcF9taW5fYmc7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM3MzczNyAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgbGVmdDogNTBweDtcclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgd2lkdGg6IDMwcHg7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICB0b3A6IC04cHg7XHJcbiAgICBsZWZ0OiA2MHB4O1xyXG4gIH1cclxuXHJcbn1cclxuLyogLS0tIEVORCA+IEJvdXRvbiBwbHVzIC0tLSAqL1xyXG5cclxuXHJcblxyXG4vKiAtLS0gTm90ZSAtLS0gKi9cclxuLndpZGdldC1taW5pIC5ndWVzdGFwcC1ub3RlIHtcclxuXHJcbiAgY29sb3I6ICNGRkY7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgei1pbmRleDogMTM7XHJcblxyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICB3aWR0aDogNTVweDtcclxuICBoZWlnaHQ6IDU1cHg7XHJcblxyXG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2d1ZXN0YXBwX21pbl9iZztcclxuXHJcbiAgLmd1ZXN0YXBwLXZhbGV1ciB7XHJcbiAgICBmb250LXNpemU6IGVtKDMwIC0gMTApO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogJ1xcMDAyMCc7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgd2lkdGg6IDYwJTtcclxuICAgICAgbWFyZ2luOiBlbSgyKSBhdXRvO1xyXG5cclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC5ndWVzdGFwcC1tYXgge1xyXG4gICAgZm9udC1zaXplOiBlbSgyNiAtIDEwKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgIHdpZHRoOiA3MHB4O1xyXG4gICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgLmd1ZXN0YXBwLXZhbGV1ciB7IGZvbnQtc2l6ZTogZW0oMzAgLSA1KTsgfVxyXG4gICAgLmd1ZXN0YXBwLW1heCB7IGZvbnQtc2l6ZTogZW0oMjYgLSA1KTsgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICB3aWR0aDogOTBweDtcclxuICAgIGhlaWdodDogOTBweDtcclxuICAgIC5ndWVzdGFwcC12YWxldXIgeyBmb250LXNpemU6IGVtKDMwKTsgfVxyXG4gICAgLmd1ZXN0YXBwLW1heCB7IGZvbnQtc2l6ZTogZW0oMjYpOyB9XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuLyogLS0tIEVORCA+IE5vdGUgLS0tICovXHJcblxyXG5cclxuXHJcbi8qIC0tLSBUb3RhbCAtLS0gKi9cclxuLndpZGdldC1taW5pIC5ndWVzdGFwcC10b3RhbCB7XHJcblxyXG4gIGNvbG9yOiAjRkZGO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHotaW5kZXg6IDEwO1xyXG5cclxuICB3aWR0aDogODBweDtcclxuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gIHBhZGRpbmctbGVmdDogMjBweDtcclxuICBtYXJnaW4tbGVmdDogLTIwcHg7XHJcblxyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xyXG5cclxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTBweDtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzczNzM3O1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gIH1cclxuXHJcblxyXG4gIC5ndWVzdGFwcC1uYi1hdmlzLFxyXG4gIC5ndWVzdGFwcC1saWVuIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuICAuZ3Vlc3RhcHAtbmItYXZpcyB7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS4xO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIG1hcmdpbjogZW0oMTApIDAgZW0oMyk7XHJcbiAgfVxyXG5cclxuICAuZ3Vlc3RhcHAtbGllbiB7XHJcbiAgICBtYXJnaW46IGVtKDMpIDAgZW0oOCk7XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICBoZWlnaHQ6IDI4cHg7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG5cclxufVxyXG4vKiAtLS0gRU5EID4gVG90YWwgLS0tICovXHJcbiIsIi8qXHJcbiAqIEdFTkVSQUxcclxuICovXHJcbiNndWVzdGFwcC1yZXZpZXdzIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcclxuICAgIGZvbnQtd2VpZ2h0OiAxMDAgIWltcG9ydGFudDtcclxuICAgIHdpZHRoOjEwMCUgIWltcG9ydGFudDtcclxufVxyXG5cclxuI2d1ZXN0YXBwLXJldmlld3MgcCB7XHJcbiAgICBtYXJnaW46IDhweCAwO1xyXG59XHJcblxyXG4jZ3Vlc3RhcHAtcmV2aWV3cyB1bCB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG5cclxuI2d1ZXN0YXBwLXJldmlld3MgdGFibGUge1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbiNndWVzdGFwcC1yZXZpZXdzIHRhYmxlIHRkIHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICBwYWRkaW5nOiAwIDVweDtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxufVxyXG5cclxuLmd1ZXN0YXBwLWNyaXRlcmlhcyB7XHJcbiAgICBwYWRkaW5nOiAwIDE1cHg7XHJcbn1cclxuXHJcbi5ndWVzdGFwcC1jb21tZW50IHtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbn1cclxuXHJcbi5ndWVzdGFwcC1jZW50ZXIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbi5ndWVzdGFwcC1yaWdodCB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuLmd1ZXN0YXBwLWJvbGQge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5ndWVzdGFwcC1zY2FsZSB7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgd2hpdGU7XHJcbiAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICBwYWRkaW5nOiAwIDhweDtcclxufVxyXG5cclxuLmd1ZXN0YXBwLW1iMyB7XHJcbiAgICBtYXJnaW46IDNweDtcclxufVxyXG4uZ3Vlc3RhcHAtbWIxMCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4uZ3Vlc3RhcHAtYmlnMiB7XHJcbiAgICBmb250LXNpemU6IDEuNWVtO1xyXG59XHJcbi5ndWVzdGFwcC1iaWczIHtcclxuICAgIGZvbnQtc2l6ZTogM2VtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xyXG59XHJcblxyXG4uZ3Vlc3RhcHAtYmFyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcclxuICAgIGhlaWdodDogMTBweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG59XHJcblxyXG4uZ3Vlc3RhcHAtcHJvZ3Jlc3Mge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMDtcclxufVxyXG5cclxuLmd1ZXN0YXBwLXJhdGluZy1iYXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcblxyXG4uZ3Vlc3RhcHAtbGluayB7XHJcbiAgICBjb2xvcjogZ3JleTtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICBmb250LXNpemU6IDEwcHg7XHJcbn1cclxuLmd1ZXN0YXBwLWxpbms6aG92ZXIge1xyXG4gICAgY29sb3I6ICNkYTM3Njg7XHJcbn1cclxuXHJcbi5ndWVzdGFwcC1zZWUtbW9yZSB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5ndWVzdGFwcC1pbmZvcyB7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG59XHJcblxyXG4vKlxyXG4gKiBSRVZJRVcgQUdHUkVHQVRFXHJcbiAqL1xyXG5cclxuLmd1ZXN0YXBwLWFnZ3JlZ2F0ZSBoMSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgLypmbG9hdDogbGVmdDsqL1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbn1cclxuXHJcbi5ndWVzdGFwcC1hZ2dyZWdhdGUgLmd1ZXN0YXBwLWxhbmd1YWdlIHtcclxuICAgIHRvcDogMTVweDtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDE1cHg7XHJcbn1cclxuXHJcbi5ndWVzdGFwcC1hZ2dyZWdhdGUgPiAuZ3Vlc3RhcHAtdGl0bGUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuLmd1ZXN0YXBwLWRldGFpbHMge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMCAxMHB4IDEwcHggMTBweDtcclxufVxyXG5cclxuLmd1ZXN0YXBwLXRpdGxlIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmd1ZXN0YXBwLWFnZ3JlZ2F0ZSAuZ3Vlc3RhcHAtYXZlcmFnZSB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgaGVpZ2h0OiA5MHB4O1xyXG4gICAgcGFkZGluZy10b3A6IDhweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiA5MHB4O1xyXG4gICAgbWFyZ2luOiAyMHB4IGF1dG8gMCBhdXRvO1xyXG59XHJcblxyXG4vKlxyXG4gKiBSRVZJRVdcclxuICovXHJcbi5ndWVzdGFwcC1yZXZpZXcge1xyXG4gICAgcGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLmd1ZXN0YXBwLXJhdGluZyB7XHJcbiAgICBoZWlnaHQ6IDMxcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDAgYXV0byAxNXB4IGF1dG87XHJcbn1cclxuXHJcbi5ndWVzdGFwcC1yZXZpZXcgdGFibGUge1xyXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG59XHJcbi5ndWVzdGFwcC1yZXZpZXcgLmdhLXJldmlldy1mb290ZXIgbGk6bnRoLWNoaWxkKDIpIHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcbi5ndWVzdGFwcC1yZXZpZXcgLmd1ZXN0YXBwLWF1dGhlbnRpY2l0eSB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG4uZ3Vlc3RhcHAtcmV2aWV3IC5ndWVzdGFwcC1hdXRoZW50aWNpdHkgaW1nIHtcclxuICAgIGhlaWdodDogMzBweCAhaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbn1cclxuXHJcbi5ndWVzdGFwcC1mb290ZXIge1xyXG4gICAgcGFkZGluZzogMTBweCAwIDAgMDtcclxuICAgIGZvbnQtc2l6ZTogMTBweDtcclxufVxyXG5cclxuLmd1ZXN0YXBwLWZvb3RlciBpbWcge1xyXG4gICAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbn1cclxuXHJcbi5ndWVzdGFwcC1jcml0ZXJpYXMtcmF0aW5nIHRkIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5ndWVzdGFwcC1jcml0ZXJpYXMtcmF0aW5nLm9wZW4gdGQge1xyXG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxufVxyXG5cclxuLmd1ZXN0YXBwLXJldmlldyBpIHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxufVxyXG5cclxuLmd1ZXN0YXBwLWNvbnRlbnQtcmV2aWV3cyB7XHJcbiAgICBtYXgtaGVpZ2h0OiA0NzVweDtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4uZ3Vlc3RhcHAtcmVzcG9uc2UtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi10b3A6MTBweDtcclxufVxyXG5cclxuLmd1ZXN0YXBwLWNvbW1lbnQtcmVzcG9uc2Uge1xyXG4gICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQ7XHJcbn1cclxuXHJcbi5ndWVzdGFwcC1nbG9iYWxzLWNyaXRlcmlhcyB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi5ndWVzdGFwcC1nbG9iYWxzLWNyaXRlcmlhcy5vcGVuIHtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZ3Vlc3RhcHAtc2hvdy1nbG9iYWxzLWNyaXRlcmlhcyB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbn1cclxuXHJcbi8qIFJlc3BvbnNpdmUgKi9cclxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XHJcbiAgICAuZ3Vlc3RhcHAtYXZlcmFnZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmd1ZXN0YXBwLWluZm9zIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLypcclxuICogVGhlbWUgc29tYnJlXHJcbiAqL1xyXG4uZ3Vlc3RhcHAtd2lkZ2V0LW9ic2N1ciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYyZjM0O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcclxuICAgIGNvbG9yOiAjZjdmN2Y3O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmd1ZXN0YXBwLXdpZGdldC1vYnNjdXIgdGFibGUge1xyXG4gICAgY29sb3I6ICNmN2Y3Zjc7XHJcbn1cclxuXHJcbi5ndWVzdGFwcC13aWRnZXQtb2JzY3VyIC5ndWVzdGFwcC1yZXZpZXcge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XHJcbn1cclxuXHJcbi5ndWVzdGFwcC13aWRnZXQtb2JzY3VyIC5ndWVzdGFwcC1hZ2dyZWdhdGUgPiAuZ3Vlc3RhcHAtdGl0bGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI2MmYzNDtcclxufVxyXG5cclxuLmd1ZXN0YXBwLXdpZGdldC1vYnNjdXIgLmd1ZXN0YXBwLWRldGFpbHMge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI2MmYzNDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xyXG59XHJcblxyXG4uZ3Vlc3RhcHAtd2lkZ2V0LW9ic2N1ciAuZ3Vlc3RhcHAtc3RhcnMge1xyXG4gICAgY29sb3I6ICNmN2Y3Zjc7XHJcbn1cclxuXHJcbi5ndWVzdGFwcC13aWRnZXQtb2JzY3VyIC5ndWVzdGFwcC1yYXRlIHtcclxuICAgIGNvbG9yOiAjZGEzNzY4O1xyXG59XHJcblxyXG4uZ3Vlc3RhcHAtd2lkZ2V0LW9ic2N1ciAuZ3Vlc3RhcHAtY29tbWVudCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMkIyODJGO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XHJcbn1cclxuXHJcbi5ndWVzdGFwcC13aWRnZXQtb2JzY3VyIC5ndWVzdGFwcC1mb290ZXIge1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGJsYWNrO1xyXG59XHJcblxyXG4uZ3Vlc3RhcHAtd2lkZ2V0LW9ic2N1ciAuZ3Vlc3RhcHAtc2hvdy1nbG9iYWxzLWNyaXRlcmlhcyB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQTAyNjRCO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RhMzc2ODtcclxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjQTAyNjRCO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uZ3Vlc3RhcHAtd2lkZ2V0LW9ic2N1ciAuZ3Vlc3RhcHAtZGV0YWlscyB7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5ndWVzdGFwcC13aWRnZXQtb2JzY3VyIC5ndWVzdGFwcC1zY2FsZSB7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgd2hpdGU7XHJcbn1cclxuXHJcbi5ndWVzdGFwcC13aWRnZXQtb2JzY3VyIC5ndWVzdGFwcC1wcm9ncmVzcyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGEzNzY4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5ndWVzdGFwcC13aWRnZXQtb2JzY3VyIC5ndWVzdGFwcC1hZ2dyZWdhdGUgLmd1ZXN0YXBwLWF2ZXJhZ2Uge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RhMzc2ODtcclxufVxyXG5cclxuLypcclxuICogVGhlbWUgYnJpZ2h0XHJcbiAqL1xyXG4uZ3Vlc3RhcHAtd2lkZ2V0LWJyaWdodCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uZ3Vlc3RhcHAtd2lkZ2V0LWJyaWdodCB0YWJsZSB7XHJcbiAgICBjb2xvcjogIzMzMztcclxufVxyXG5cclxuLmd1ZXN0YXBwLXdpZGdldC1icmlnaHQgLmd1ZXN0YXBwLXJldmlldyB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxufVxyXG5cclxuLmd1ZXN0YXBwLXdpZGdldC1icmlnaHQgLmd1ZXN0YXBwLWFnZ3JlZ2F0ZSA+IC5ndWVzdGFwcC10aXRsZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG59XHJcblxyXG4uZ3Vlc3RhcHAtd2lkZ2V0LWJyaWdodCAuZ3Vlc3RhcHAtZGV0YWlscyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XHJcbn1cclxuXHJcbi5ndWVzdGFwcC1kZXRhaWxzIHtcclxuICAgIGNvbG9yOiAjMzMzO1xyXG59XHJcblxyXG4uZ3Vlc3RhcHAtd2lkZ2V0LWJyaWdodCAuZ3Vlc3RhcHAtc3RhcnMge1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbn1cclxuXHJcbi5ndWVzdGFwcC13aWRnZXQtYnJpZ2h0IC5ndWVzdGFwcC1yYXRlIHtcclxuICAgIGNvbG9yOiAjZGEzNzY4O1xyXG59XHJcblxyXG4uZ3Vlc3RhcHAtd2lkZ2V0LWJyaWdodCAuZ3Vlc3RhcHAtY29tbWVudCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxufVxyXG5cclxuLmd1ZXN0YXBwLXdpZGdldC1icmlnaHQgLmd1ZXN0YXBwLWNvbW1lbnQtcmVzcG9uc2Uge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjO1xyXG59XHJcblxyXG4uZ3Vlc3RhcHAtd2lkZ2V0LWJyaWdodCAuZ3Vlc3RhcHAtc2hvdy1nbG9iYWxzLWNyaXRlcmlhcyB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQTAyNjRCO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RhMzc2ODtcclxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjQTAyNjRCO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uZ3Vlc3RhcHAtd2lkZ2V0LWJyaWdodCAuZ3Vlc3RhcHAtc2NhbGUge1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XHJcbn1cclxuXHJcbi5ndWVzdGFwcC13aWRnZXQtYnJpZ2h0IC5ndWVzdGFwcC1wcm9ncmVzcyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGEzNzY4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5ndWVzdGFwcC13aWRnZXQtYnJpZ2h0IC5ndWVzdGFwcC1hZ2dyZWdhdGUgLmd1ZXN0YXBwLWF2ZXJhZ2Uge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RhMzc2ODtcclxufVxyXG5cclxuLmd1ZXN0YXBwLXJhdGluZy10b29sdGlwIGltZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuLmd1ZXN0YXBwLXJhdGluZy10b29sdGlwIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgaGVpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4uZ3Vlc3RhcHAtcmF0aW5nLXRvb2x0aXA6OmJlZm9yZSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAxMDAlO1xyXG4gICAgdG9wOiA1cHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGJhY2tncm91bmQ6ICM4ODg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBjb250ZW50OiBhdHRyKGFyaWEtbGFiZWwpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4xNXMgZWFzZS1vdXQ7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjE1cyBlYXNlLW91dDtcclxufVxyXG5cclxuLmd1ZXN0YXBwLXJhdGluZy10b29sdGlwOmhvdmVyOmJlZm9yZSxcclxuLmd1ZXN0YXBwLXJhdGluZy10b29sdGlwOmZvY3VzOmJlZm9yZSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4uZ3Vlc3RhcHAtaGlkZGVuIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuIiwiLypcclxuICAgIENvbG9yYm94IENvcmUgU3R5bGU6XHJcbiAgICBUaGUgZm9sbG93aW5nIENTUyBpcyBjb25zaXN0ZW50IGJldHdlZW4gZXhhbXBsZSB0aGVtZXMgYW5kIHNob3VsZCBub3QgYmUgYWx0ZXJlZC5cclxuKi9cclxuI2NvbG9yYm94LCAjY2JveE92ZXJsYXksICNjYm94V3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjA7IGxlZnQ6MDsgei1pbmRleDo5OTk5OyBvdmVyZmxvdzpoaWRkZW47IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7fVxyXG4jY2JveFdyYXBwZXIge21heC13aWR0aDpub25lO31cclxuI2Nib3hPdmVybGF5e3Bvc2l0aW9uOmZpeGVkOyB3aWR0aDoxMDAlOyBoZWlnaHQ6MTAwJTt9XHJcbiNjYm94TWlkZGxlTGVmdCwgI2Nib3hCb3R0b21MZWZ0e2NsZWFyOmxlZnQ7fVxyXG4jY2JveENvbnRlbnR7cG9zaXRpb246cmVsYXRpdmU7fVxyXG4jY2JveExvYWRlZENvbnRlbnR7b3ZlcmZsb3c6YXV0bzsgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO31cclxuI2Nib3hUaXRsZXttYXJnaW46MDt9XHJcbiNjYm94TG9hZGluZ092ZXJsYXksICNjYm94TG9hZGluZ0dyYXBoaWN7cG9zaXRpb246YWJzb2x1dGU7IHRvcDowOyBsZWZ0OjA7IHdpZHRoOjEwMCU7IGhlaWdodDoxMDAlO31cclxuI2Nib3hQcmV2aW91cywgI2Nib3hOZXh0LCAjY2JveENsb3NlLCAjY2JveFNsaWRlc2hvd3tjdXJzb3I6cG9pbnRlcjt9XHJcbi5jYm94UGhvdG97ZmxvYXQ6bGVmdDsgbWFyZ2luOmF1dG87IGJvcmRlcjowOyBkaXNwbGF5OmJsb2NrOyBtYXgtd2lkdGg6bm9uZTsgLW1zLWludGVycG9sYXRpb24tbW9kZTpiaWN1YmljO31cclxuLmNib3hJZnJhbWV7d2lkdGg6MTAwJTsgaGVpZ2h0OjEwMCU7IGRpc3BsYXk6YmxvY2s7IGJvcmRlcjowOyBwYWRkaW5nOjA7IG1hcmdpbjowO31cclxuI2NvbG9yYm94LCAjY2JveENvbnRlbnQsICNjYm94TG9hZGVkQ29udGVudHtib3gtc2l6aW5nOmNvbnRlbnQtYm94OyAtbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7IC13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDt9XHJcblxyXG4vKlxyXG4gICAgVXNlciBTdHlsZTpcclxuICAgIENoYW5nZSB0aGUgZm9sbG93aW5nIHN0eWxlcyB0byBtb2RpZnkgdGhlIGFwcGVhcmFuY2Ugb2YgQ29sb3Jib3guICBUaGV5IGFyZVxyXG4gICAgb3JkZXJlZCAmIHRhYmJlZCBpbiBhIHdheSB0aGF0IHJlcHJlc2VudHMgdGhlIG5lc3Rpbmcgb2YgdGhlIGdlbmVyYXRlZCBIVE1MLlxyXG4qL1xyXG4jY2JveE92ZXJsYXl7YmFja2dyb3VuZDojMDAwOyBvcGFjaXR5OiAwLjk7IGZpbHRlcjogYWxwaGEob3BhY2l0eSA9IDkwKTt9XHJcbiNjb2xvcmJveHtvdXRsaW5lOjA7fVxyXG4gICAgI2Nib3hDb250ZW50e21hcmdpbi10b3A6MjBweDtiYWNrZ3JvdW5kOiMwMDA7fVxyXG4gICAgICAgIC5jYm94SWZyYW1le2JhY2tncm91bmQ6I2ZmZjt9XHJcbiAgICAgICAgI2Nib3hFcnJvcntwYWRkaW5nOjUwcHg7IGJvcmRlcjoxcHggc29saWQgI2NjYzt9XHJcbiAgICAgICAgI2Nib3hMb2FkZWRDb250ZW50e2JvcmRlcjo1cHggc29saWQgIzAwMDsgYmFja2dyb3VuZDojZmZmO31cclxuICAgICAgICAjY2JveFRpdGxle3Bvc2l0aW9uOmFic29sdXRlOyB0b3A6LTIwcHg7IGxlZnQ6MDsgY29sb3I6I2NjYzt9XHJcbiAgICAgICAgI2Nib3hDdXJyZW50e3Bvc2l0aW9uOmFic29sdXRlOyB0b3A6LTIwcHg7IHJpZ2h0OjBweDsgY29sb3I6I2NjYzt9XHJcbiAgICAgICAgI2Nib3hMb2FkaW5nR3JhcGhpY3tiYWNrZ3JvdW5kOnVybCguLi9pbWcvY29sb3ItYm94L2xvYWRpbmcuZ2lmKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjt9XHJcblxyXG4gICAgICAgIC8qIHRoZXNlIGVsZW1lbnRzIGFyZSBidXR0b25zLCBhbmQgbWF5IG5lZWQgdG8gaGF2ZSBhZGRpdGlvbmFsIHN0eWxlcyByZXNldCB0byBhdm9pZCB1bndhbnRlZCBiYXNlIHN0eWxlcyAqL1xyXG4gICAgICAgICNjYm94UHJldmlvdXMsICNjYm94TmV4dCwgI2Nib3hTbGlkZXNob3csICNjYm94Q2xvc2Uge2JvcmRlcjowOyBwYWRkaW5nOjA7IG1hcmdpbjowOyBvdmVyZmxvdzp2aXNpYmxlOyB3aWR0aDphdXRvOyBiYWNrZ3JvdW5kOm5vbmU7IH1cclxuXHJcbiAgICAgICAgLyogYXZvaWQgb3V0bGluZXMgb24gOmFjdGl2ZSAobW91c2VjbGljayksIGJ1dCBwcmVzZXJ2ZSBvdXRsaW5lcyBvbiA6Zm9jdXMgKHRhYmJlZCBuYXZpZ2F0aW5nKSAqL1xyXG4gICAgICAgICNjYm94UHJldmlvdXM6YWN0aXZlLCAjY2JveE5leHQ6YWN0aXZlLCAjY2JveFNsaWRlc2hvdzphY3RpdmUsICNjYm94Q2xvc2U6YWN0aXZlIHtvdXRsaW5lOjA7fVxyXG5cclxuICAgICAgICAjY2JveFNsaWRlc2hvd3twb3NpdGlvbjphYnNvbHV0ZTsgdG9wOi0yMHB4OyByaWdodDo5MHB4OyBjb2xvcjojZmZmO31cclxuICAgICAgICAjY2JveFByZXZpb3Vze3Bvc2l0aW9uOmFic29sdXRlOyB0b3A6NTAlOyBsZWZ0OjVweDsgbWFyZ2luLXRvcDotMzJweDsgYmFja2dyb3VuZDp1cmwoLi4vaW1nL2NvbG9yLWJveC9jb250cm9scy5wbmcpIG5vLXJlcGVhdCB0b3AgbGVmdDsgd2lkdGg6MjhweDsgaGVpZ2h0OjY1cHg7IHRleHQtaW5kZW50Oi05OTk5cHg7fVxyXG4gICAgICAgICNjYm94UHJldmlvdXM6aG92ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjpib3R0b20gbGVmdDt9XHJcbiAgICAgICAgI2Nib3hOZXh0e3Bvc2l0aW9uOmFic29sdXRlOyB0b3A6NTAlOyByaWdodDo1cHg7IG1hcmdpbi10b3A6LTMycHg7IGJhY2tncm91bmQ6dXJsKC4uL2ltZy9jb2xvci1ib3gvY29udHJvbHMucG5nKSBuby1yZXBlYXQgdG9wIHJpZ2h0OyB3aWR0aDoyOHB4OyBoZWlnaHQ6NjVweDsgdGV4dC1pbmRlbnQ6LTk5OTlweDt9XHJcbiAgICAgICAgI2Nib3hOZXh0OmhvdmVye2JhY2tncm91bmQtcG9zaXRpb246Ym90dG9tIHJpZ2h0O31cclxuICAgICAgICAjY2JveENsb3Nle3Bvc2l0aW9uOmFic29sdXRlOyB0b3A6NXB4OyByaWdodDo1cHg7IGRpc3BsYXk6YmxvY2s7IGJhY2tncm91bmQ6dXJsKC4uL2ltZy9jb2xvci1ib3gvY29udHJvbHMucG5nKSBuby1yZXBlYXQgdG9wIGNlbnRlcjsgd2lkdGg6MzhweDsgaGVpZ2h0OjE5cHg7IHRleHQtaW5kZW50Oi05OTk5cHg7fVxyXG4gICAgICAgICNjYm94Q2xvc2U6aG92ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjpib3R0b20gY2VudGVyO31cclxuIiwiXHJcblxyXG4vLyBib2R5IHtcclxuLy8gICBwYWRkaW5nLXRvcDogMzZweDtcclxuLy8gICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbi8vICAgICBwYWRkaW5nLXRvcDogMDtcclxuLy8gICB9XHJcbi8vIH1cclxuXHJcblxyXG5cclxuLy8gLmhlcm9faSwgLnZpZGVvX2kge1xyXG5AdXNlIFwic2FzczptYXRoXCI7XHJcblxyXG4uc3Qwe2ZpbGw6Izg0OTM0Zn1cclxuLnN0MXtmaWxsOiM2ZDQ0MWR9XHJcblxyXG5cclxuLmhlcm9fbyB7XHJcbiAgLmhlYWRlci1sb2dvIHtcclxuXHJcblxyXG4gICAgI2NhcnRlX2NvbnRvdXIge1xyXG4gICAgICBzdHJva2U6ICRjb2xvcl9tYWluO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAvLyBmaWxsOiByZWQ7XHJcbiAgICB9XHJcbiAgICAubG9nb19hbmltYWwge1xyXG4gICAgICBmaWxsOiAkY29sb3JfbWFpbjtcclxuICAgIH1cclxuXHJcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5oZXJvX2kge1xyXG5cclxuXHJcbiAgLmhlYWRlci1sb2dvIHtcclxuICAgIHN2ZyBwYXRoIHtcclxuICAgICAgLy8gZmlsbDogd2hpdGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgLy8gKioqICoqKioqKiBSZXNlYXV4IHNvY2lhdXggaGVhZGVyXHJcbiAgJi5ob21lIHtcclxuICAgIC5oZWFkLXdyYXBwZXIgLmxpc3RfcmVzZWF1eCB7XHJcblxyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNHJlbSk7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMnJlbSk7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC02cmVtKTtcclxuICAgICAgfVxyXG4gIFxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBcclxuICAuaGVhZC13cmFwcGVyIC5saXN0X3Jlc2VhdXgge1xyXG4gICAgXHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTFyZW0pO1xyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDByZW0pO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xcmVtKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHotaW5kZXg6IDE4MDtcclxuICAgICAgbGVmdDogMzVweDtcclxuICAgICAgYm90dG9tOiA0MHB4O1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwcmVtKTtcclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxuICAvLyAqKiogKioqKioqIEVORCA+IFJlc2VhdXggc29jaWF1eCBoZWFkZXJcclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuICAuZm9ybV9yZXNhIHtcclxuICAgIFxyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTNyZW0pO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTFyZW0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICBcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB6LWluZGV4OiAxODA7XHJcbiAgICAgIGJvdHRvbTogMHB4O1xyXG5cclxuICAgICAgbGVmdDogcGVyY2VudGFnZShtYXRoLmRpdigyLCAxMikpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNnJlbSk7XHJcbiAgICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC02cmVtKSB0cmFuc2xhdGUoMCwgLTEwMCUpO1xyXG5cclxuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UobWF0aC5kaXYoOCwgMTIpKTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xyXG4gICAgICBsZWZ0OiBwZXJjZW50YWdlKG1hdGguZGl2KDMsIDEyKSk7XHJcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKG1hdGguZGl2KDYsIDEyKSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIFxyXG4gIH1cclxuXHJcblxyXG5cclxuICBcclxuXHQvLyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0Ly8gei1pbmRleDogMTAwO1xyXG5cclxuXHQvLyAqKiogLy8vIFNpIHBhcnQgZW4gYXR0clxyXG5cclxuXHQvLyBJbCBhIHVuIG1pbi13aWR0aCBkZSAzMDBweFxyXG5cdC8vIHdpZHRoOiAzMDBweDtcclxuXHQvLyBkaXNwbGF5OiBibG9jaztcclxuXHJcblx0Ly8gQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSB7XHJcblx0Ly8gXHR3aWR0aDogMTAwJTtcclxuXHQvLyBcdHBhZGRpbmc6IDEwcHg7XHJcblx0Ly8gfVxyXG5cclxuICBcclxuXHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8vICoqKiAqKioqKiogTE9HTyA8YSAuaGVhZGVyLWxvZ28+XHJcbi5oZWFkZXItbG9nbyB7XHJcbiAgXHJcblxyXG4gIHN2ZyBnIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcblxyXG4gICAgJi51ay1zY3JvbGxzcHktaW52aWV3IHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuXHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0yJSwgMCUpO1xyXG4gIFxyXG4gIC5pbm5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgLy8gd2lkdGg6IDgwJTtcclxuICAgIHdpZHRoOiA2MCU7XHJcbiAgICBcclxuICAgIC8vIGJhY2tncm91bmQtY29sb3I6IGdyYXk7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwMHB4KSB7XHJcbiAgICAgIC8vIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcbiAgICAgIC8vIGhlaWdodDogMTMwcHg7XHJcbiAgICAgIHdpZHRoOiAyNjBweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAgIC8vIGhlaWdodDogMTMwcHg7XHJcbiAgICAgIC8vIHdpZHRoOiA0MDBweDtcclxuICAgICAgd2lkdGg6IDM0MHB4O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgIC8vIGhlaWdodDogMTYwcHg7XHJcbiAgICAgIHdpZHRoOiA0NDBweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcclxuICAgICAgLy8gaGVpZ2h0OiAxOTVweDtcclxuICAgICAgLy8gd2lkdGg6IDYwMHB4O1xyXG4gICAgICB3aWR0aDogNTYwcHg7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmxvZ28ge1xyXG5cclxuICAgIC8vIGhlaWdodDogMTAwcHg7XHJcblxyXG4gICAgZmxleDogMCAwIDgwJTtcclxuICAgIG1heC13aWR0aDogODAlO1xyXG4gICAgXHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XHJcblxyXG4gICAgLy8gd2lkdGg6IDUwMHB4O1xyXG4gICAgXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDAwcHgpIHtcclxuICAgICAgXHJcbiAgICB9XHJcbiAgICBcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgICAgLy8gaGVpZ2h0OiAxMzBweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAvLyBoZWlnaHQ6IDE2MHB4O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xyXG4gICAgICAvLyBoZWlnaHQ6IDE5NXB4O1xyXG4gICAgfVxyXG5cclxuICAgIGltZyxcclxuICAgIHN2ZyxcclxuICAgIG9iamVjdCB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAvLyB3aWR0aDogYXV0bztcclxuICAgICAgLy8gaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuXHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB9XHJcbiAgICBzdmcsXHJcbiAgICBvYmplY3Qge1xyXG4gICAgICAvLyBmaWx0ZXI6IGRyb3Atc2hhZG93KDBweCAycHggM3B4IHJnYmEoMCwwLDAsMC42KSk7XHJcbiAgICB9XHJcblxyXG4gICAgQGF0LXJvb3Qge1xyXG4gICAgICBhI3smfSB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIFxyXG4gICAgICAgICY6aG92ZXIge31cclxuICBcclxuICAgICAgICBvYmplY3Qge1xyXG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gIFxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgLy8gZmlsbDogd2hpdGU7XHJcbiAgICB9XHJcbiAgICAvLyAuc3Qwe2ZpbGw6I2VhYTMyMX1cclxuICAgIC5zdDAsLnN0MXtmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZH1cclxuXHJcbiAgfVxyXG5cclxuXHJcbn1cclxuXHJcbiNsb2dvX2Nhc3RvciB7fVxyXG4jbG9nb190cmVlIHt9XHJcbiNsb2dvX3R4IHt9XHJcbiNsb2dvX3N0YXJzIHt9XHJcblxyXG4vLyAuc3Qwe2ZpbGw6Izg0OTM0Zn1cclxuLy8gLnN0MXtmaWxsOiM2ZDQ0MWR9XHJcblxyXG5cclxuLy8gI2xvZ29feDVGX3N1biB7XHJcbi8vICAgcGF0aCB7XHJcbi8vICAgICBmaWxsOiAjZWFhMzIxO1xyXG4vLyAgIH1cclxuLy8gfVxyXG4vLyAqKiogKioqKioqIEVORCA+IExPR08gPGEgLmhlYWRlci1sb2dvPkdPXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4vLyAqKiogKioqKioqICBNQUlOIEhFQURFUlxyXG4udmlkZW9faSB7XHJcbiAgLmhlYWRlci1sb2dvIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xyXG4gICAgICAvKiBSRVNFVCBQT1VSIFZJREVPIFNVUiBNT0JJTEUgKi9cclxuICAgICAgLy8gLnN0MHtmaWxsOiMzY2MwYzl9LnN0MXtmaWxsOiM3ZjcxYjN9LnN0MntmaWxsOiMyNjI2MjZ9LnN0M3tmaWxsOiM4MjgyODJ9XHJcblxyXG4gICAgICAubG9nbyB7XHJcblxyXG4gICAgICAgIHN2ZyxcclxuICAgICAgICBvYmplY3Qge1xyXG4gICAgICAgICAgZmlsdGVyOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLmhlcm9faSB7XHJcbiAgLmxvZ28ge1xyXG5cclxuICAgIHN2ZyxcclxuICAgIG9iamVjdCB7XHJcbiAgICAgIC8vIGZpbHRlcjogZHJvcC1zaGFkb3coMHB4IDJweCAzcHggcmdiYSgwLDAsMCwwLjYpKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcbi5oZXJvX28ge1xyXG5cclxuICAvLyAuc3Qwe2ZpbGw6IzNjYzBjOX0uc3Qxe2ZpbGw6IzdmNzFiM30uc3Qye2ZpbGw6IzI2MjYyNn0uc3Qze2ZpbGw6IzgyODI4Mn1cclxuXHJcblxyXG4gICNtYWluX2hlYWRlciB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgLy8gY29udGVudDogJ1xcMDAyMCc7XHJcbiAgICAgIC8vIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIC8vIHotaW5kZXg6IC0xO1xyXG4gICAgICAvLyB0b3A6IDA7XHJcbiAgICAgIC8vIHJpZ2h0OiAwO1xyXG4gICAgICAvLyBsZWZ0OiAwO1xyXG4gICAgICAvLyB3aWR0aDogMTAwJTtcclxuICAgICAgLy8gaGVpZ2h0OiA0MCU7XHJcblxyXG4gICAgICAvLyBiYWNrZ3JvdW5kOiByZ2IoMjEwLDE1MSw3OSk7XHJcbiAgICAgIC8vIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYigyMjQsIDE2NCwgOTEpLCByZ2JhKDIzMSwgMTg1LCAxMjgsIDApKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuI2hlcm9fZm4ge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gIC5mbl9pbWcge1xyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJi5wb3NpdGlvbi1zdGlja3kge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcclxuICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIC5mbl90eCB7XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAudGl0cmUsIC5zb3VzdGl0cmUge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG5cclxuICAgICAgJi51ay1zY3JvbGxzcHktaW52aWV3IHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHotaW5kZXg6IDEwMDtcclxuXHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gICYudWstaGVpZ2h0LXZpZXdwb3J0LTIge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuI21haW5faGVhZGVyIHt9XHJcblxyXG4ubWFpbl9oZWFkZXIge1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMnM7XHJcblxyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIC8vIFBhcyBkZSBjb2wtMTIgc3VyIGRpdiBzaW5vbiBtaW4taGVpZ2h0IGRlIDFweFxyXG4gIGZsZXg6IDAgMCAxMDAlO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgPiAuaW5uZXIge1xyXG5cclxuXHJcbiAgICAvLyAmOmFmdGVyIHtcclxuICAgIC8vICAgY29udGVudDogJ1xcMDAyMCc7XHJcbiAgICAvLyAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgLy8gICBoZWlnaHQ6ICRoZWFkZXJfSF9fbW9iaWxlO1xyXG5cclxuICAgIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgLy8gICB6LWluZGV4OiAxO1xyXG4gICAgLy8gICB0b3A6IDA7XHJcbiAgICAvLyAgIGxlZnQ6IDA7XHJcbiAgICAvLyAgIHJpZ2h0OiAwO1xyXG5cclxuICAgIC8vICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAvLyAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9tYWluO1xyXG4gICAgLy8gfVxyXG5cclxuICAgIC8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgIC8vICAgJjphZnRlciB7XHJcbiAgICAvLyAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIC8vICAgfVxyXG4gICAgLy8gfVxyXG5cclxuICB9XHJcblxyXG4gICAgLmxfYiB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgei1pbmRleDogMTAxMDtcclxuICAgICAgbGVmdDogNnB4O1xyXG4gICAgICBib3R0b206IDYwcHg7XHJcbiAgICAgIFxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgdG9wOiAxMTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAucmlnaHQge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHotaW5kZXg6IDEwMTA7XHJcbiAgICAgIHJpZ2h0OiA2cHg7XHJcbiAgICAgIHRvcDogNjBweDtcclxuICAgICAgXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICByaWdodDogMjBweDtcclxuICAgICAgICB0b3A6IDExMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbn1cclxuLy8gKioqICoqKioqKiAgRU5EID4gTUFJTiBIRUFERVJcclxuXHJcblxyXG5cclxuXHJcbi8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFJham91dCBkw6lncmFkw6kgc3VyIGJsb2MgaW1nICsgZ2VzdGlvbiBsb2dvIGNhbXBpbmcgcGFyYWRpc1xyXG5cclxuLy8gLmhvbWUgLmhlYWQtd3JhcHBlciB7XHJcbi8vICAgLmNvbnRlbnRfaW1nICB7XHJcbi8vICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbi8vICAgfVxyXG5cclxuLy8gfVxyXG5cclxuXHJcbi8vIC5oZWFkLXdyYXBwZXIge1xyXG5cclxuLy8gICAuY29udGVudF9pbWcge1xyXG4vLyAgICAgLml0ZW0ge1xyXG5cclxuLy8gICAgICAgJjpiZWZvcmUge1xyXG4vLyAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4vLyAgICAgICB9XHJcblxyXG4vLyAgICAgICAmOmFmdGVyIHtcclxuLy8gICAgICAgICBjb250ZW50OiAnXFwwMDIwJztcclxuLy8gICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgXHJcbi8vICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4vLyAgICAgICAgIHotaW5kZXg6IDEyMDtcclxuLy8gICAgICAgICAvLyB0b3A6IDA7XHJcbi8vICAgICAgICAgbGVmdDogMDtcclxuLy8gICAgICAgICByaWdodDogMDtcclxuLy8gICAgICAgICBib3R0b206IDA7XHJcbiAgICAgIFxyXG4vLyAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4vLyAgICAgICAgIGhlaWdodDogMzAlO1xyXG4gICAgICBcclxuLy8gICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuLy8gICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4vLyAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKCRib2R5LWJnLCAwKSwgJGJvZHktYmcpO1xyXG4vLyAgICAgICB9XHJcblxyXG4vLyAgICAgfVxyXG5cclxuLy8gICB9XHJcblxyXG4vLyB9XHJcblxyXG5cclxuXHJcbi8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEhFQURFUiBMT0dPXHJcbi8qXHJcbiAgaW1hZ2UgYmFubmVyIGV4aXN0ZSAgICAgICAgICAgPSBoZXJvX2lcclxuICBpbWFnZSBiYW5uZXIgbm9uIGV4aXN0YW50ZSAgICA9IGhlcm9fb1xyXG4qL1xyXG5cclxuLmhlcm9fbyB7XHJcbiAgLmhlYWRlci1sb2dvIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgID4gLmlubmVyIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAvLyBwYWRkaW5nOiA1MHB4IDA7XHJcbiAgICAgIHBhZGRpbmc6IDUwcHggMCAwcmVtO1xyXG4gICAgICBcclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgIC8vIHBhZGRpbmc6IDUwcHggMCAxMDBweDtcclxuICAgICAgICBwYWRkaW5nOiA1MHB4IDAgMHJlbTtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIC5sb2dvIHtcclxuICAgICAgd2lkdGg6IDgwJTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4uaGVyb19pIHtcclxuICAuaGVhZGVyLWxvZ28ge1xyXG5cclxuXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAxNDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgXHJcbiAgICA+IC5pbm5lciB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgei1pbmRleDogMTAwO1xyXG4gICAgICBcclxuICAgICAgdG9wOiAyMHB4O1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogLTUwJTtcclxuICAgICAgXHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDBweCk7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcclxuICAgICAgICBzdmcgcGF0aCB7XHJcbiAgICAgICAgICBmaWxsOiB3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcclxuICAgICAgICB0b3A6IDIwcHg7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICB0b3A6IDIwcHg7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcclxuICAgICAgICB0b3A6IDI1cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xyXG4gICAgICAgIC5sb2dvIHtcclxuICAgICAgICAgIC8vIGhlaWdodDogMTYwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG5cclxuXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLmhlcm9faS52aWRlb19pIHtcclxuICAuaGVhZGVyLWxvZ28ge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XHJcbiAgICAgIC8qIFJFU0VUIFBPVVIgVklERU8gU1VSIE1PQklMRSAqL1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICA+IC5pbm5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4vLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBMT0dPIENBTVBJTkcgUEFSQURJU1xyXG5cclxuLmxvZ28tc2l0ZS1wYXlzYWdlIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX21haW47XHJcbiAgcGFkZGluZzogMXJlbSAwLjVyZW0gM3JlbTtcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAyMHB4O1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAyMHB4O1xyXG5cclxuICBpbWcge1xyXG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIGJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcclxuICAgIGltZyB7XHJcbiAgICAgIHdpZHRoOiAxMzBweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgIFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbiNtYWluX2Zvb3RlciB7XHJcbiAgLmxvZ28tc2l0ZS1wYXlzYWdlIHtcclxuICAgIG1hcmdpbi10b3A6IDFyZW07XHJcbiAgICBwYWRkaW5nOiAxcmVtIDAuNXJlbSAwLjVyZW07XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAyMHB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDIwcHg7XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uaGVyb19pIHtcclxuICAuaGVhZGVyLWxvZ28ge1xyXG4gICAgLmxvZ28tc2l0ZS1wYXlzYWdlIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5jb250ZW50X2ltZyB7XHJcbiAgICAubG9nby1zaXRlLXBheXNhZ2Uge1xyXG4gICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIC8vIHJpZ2h0OiAyJTtcclxuICAgICAgLy8gYm90dG9tOiAwO1xyXG4gICAgICAvLyBib3R0b206IDI0JTtcclxuICAgICAgLy8gei1pbmRleDogMTQwO1xyXG4gICAgICBcclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgIC8vIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLmhlcm9fbyB7XHJcbiAgLmhlYWRlci1sb2dvIHtcclxuICAgIC5sb2dvLXNpdGUtcGF5c2FnZSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgLy8gZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuY29udGVudF9pbWcge1xyXG4gICAgLmxvZ28tc2l0ZS1wYXlzYWdlIHsgICAgICBcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi5jb250ZW50X2ltZyB7XHJcbiAgLy8gLmxvZ28tc2l0ZS1wYXlzYWdlIHtcclxuXHJcblxyXG4gIC8vICAgaW1nIHtcclxuICAvLyAgICAgd2lkdGg6IDgwcHg7XHJcbiAgLy8gICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAvLyAgICAgICB3aWR0aDogMTYwcHg7XHJcbiAgLy8gICAgIH1cclxuICAvLyAgIH1cclxuICAvLyB9XHJcblxyXG4gIFxyXG4gICAgXHJcbiAgLy8gLmxvZ28tc2l0ZS1wYXlzYWdlIHtcclxuICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAvLyAgIHJpZ2h0OiA2JTtcclxuICAvLyAgIGJvdHRvbTogMDtcclxuICAvLyAgIHotaW5kZXg6IDE0MDtcclxuICAvLyB9XHJcblxyXG5cclxuXHJcbn1cclxuXHJcbi5wb3N0LXR5cGUtYXJjaGl2ZS1saWV1eCAubGlzdF9yZXNlYXV4IHtkaXNwbGF5OiBub25lO31cclxuLnBvc3QtdHlwZS1hcmNoaXZlLWxpZXV4Lmhlcm9fbyAuaGVhZGVyLWxvZ28+LmlubmVyIHtwYWRkaW5nOiAwcHggMCAwcmVtO31cclxuLnBvc3QtdHlwZS1hcmNoaXZlLWxpZXV4IC5oZWFkZXItbG9nbyAubG9nbyB7aGVpZ2h0OiA2OXB4O31cclxuYm9keS5oZWFkZXJfbm92aXMucG9zdC10eXBlLWFyY2hpdmUtbGlldXg6YWZ0ZXIge2hlaWdodDogMHB4O31cclxuLmhlYWRlcl9ub3Zpcy5wb3N0LXR5cGUtYXJjaGl2ZS1saWV1eCAubG9nb19taW4ge2Rpc3BsYXk6IG5vbmU7fSIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuXHJcbmJvZHkubWVudV9hY3RpZiB7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcblx0Lm1lbnUtVjEge1xyXG5cdFx0b3ZlcmZsb3c6IGF1dG87XHJcblx0fVxyXG59XHJcblxyXG4jbWVudS1wcmluY2lwYWwtYmlzIHtcclxuXHRtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuXHRcdG1hcmdpbi10b3A6IDNyZW07XHJcblx0fVxyXG59XHJcblxyXG4vLyAqKiogKioqKioqIEFOSU1BVElPTlxyXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcclxuXHQwJSB7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0bGVmdDogMjAlO1xyXG5cdH1cclxuXHJcblx0MTAwJSB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0bGVmdDogMDtcclxuXHR9XHJcbn1cclxuLm1lbnVfYWN0aWYge1xyXG5cdC5tYWluLW1lbnUge1xyXG5cdFx0bGkge1xyXG5cdFx0XHRhbmltYXRpb246IGZhZGVJblJpZ2h0IDAuNXMgZWFzZSBmb3J3YXJkcztcclxuXHRcdFx0YW5pbWF0aW9uLWRlbGF5OiAwLjM1cztcclxuXHJcblx0XHRcdCY6bnRoLW9mLXR5cGUoMikge1xyXG5cdFx0XHRcdGFuaW1hdGlvbi1kZWxheTogMC40cztcclxuXHRcdFx0fVxyXG5cdFx0XHQmOm50aC1vZi10eXBlKDMpIHtcclxuXHRcdFx0XHRhbmltYXRpb24tZGVsYXk6IDAuNDVzO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6bnRoLW9mLXR5cGUoNCkge1xyXG5cdFx0XHRcdGFuaW1hdGlvbi1kZWxheTogMC41cztcclxuXHRcdFx0fVxyXG5cdFx0XHQmOm50aC1vZi10eXBlKDUpIHtcclxuXHRcdFx0XHRhbmltYXRpb24tZGVsYXk6IDAuNTVzO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6bnRoLW9mLXR5cGUoNikge1xyXG5cdFx0XHRcdGFuaW1hdGlvbi1kZWxheTogMC42cztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4ubWFpbi1tZW51IHtcclxuXHRsaSB7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdH1cclxufVxyXG4vLyAqKiogKioqKioqIEVORCA+IEFOSU1BVElPTlxyXG5cclxuLy8gKioqICoqKioqKiBJQ09ORSBzdXIgbWVudVxyXG4ubWFpbi1tZW51IC5pY28ge1xyXG5cdGEge1xyXG5cdFx0Ly8gYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cclxuXHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3JfbWFpbiwgMC4yKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcMDAyMFwiO1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0ei1pbmRleDogMDtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRyaWdodDogMDtcclxuXHRcdFx0Ym90dG9tOiAwO1xyXG5cclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHJcblx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjJzO1xyXG5cclxuXHRcdFx0Ly8gcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0XHRcdC8vIGJhY2tncm91bmQtY29sb3I6IHJnYmEocmVkLCAuNSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdCY6YmVmb3JlIHtcclxuXHRcdGNvbnRlbnQ6IFwiXFwwMDIwXCI7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cclxuXHRcdG1hcmdpbi10b3A6IDAuNnJlbTtcclxuXHRcdHdpZHRoOiA0MHB4O1xyXG5cdFx0aGVpZ2h0OiA0MHB4O1xyXG5cclxuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIi4uL2ltZy9pbWdfZGVjby9taW5pX2RlY28uc3ZnXCIpIG5vLXJlcGVhdDtcclxuXHR9XHJcblxyXG5cdCZbY2xhc3MqPVwiaWNvX1wiXSB7XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdHdpZHRoOiA4MHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDgwcHg7XHJcblx0XHRcdC8vIGZpbHRlcjogaW52ZXJ0KDEwMCUpIHNlcGlhKDEwMCUpIHNhdHVyYXRlKDAlKSBodWUtcm90YXRlKDIxMWRlZykgYnJpZ2h0bmVzcygxMDQlKSBjb250cmFzdCgxMDMlKTtcclxuXHRcdFx0ZmlsdGVyOiBpbnZlcnQoOTUlKSBzZXBpYSg4JSkgc2F0dXJhdGUoNDE4JSkgaHVlLXJvdGF0ZSgyN2RlZykgYnJpZ2h0bmVzcyg5MSUpIGNvbnRyYXN0KDk3JSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdCYuaWNvX21hcCB7XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIi4uL2ltZy9pbWdfZGVjby9pY28tbWFwLnN2Z1wiKSBuby1yZXBlYXQ7XHJcblx0XHR9XHJcblx0fVxyXG5cdCYuaWNvX2Nhbm9lIHtcclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1nL2ltZ19kZWNvL2ljby1jYW5vZS5zdmdcIikgbm8tcmVwZWF0O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQmLmljb19kaXNjb3ZlciB7XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIi4uL2ltZy9pbWdfZGVjby9pY28tZGlzY292ZXIuc3ZnXCIpIG5vLXJlcGVhdDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLy8gKioqICoqKioqKiBFTkQgPiBJQ09ORSBzdXIgbWVudVxyXG5cclxuLy8gKioqICoqKioqKiBvdmVybGF5XHJcbi5tZW51LVYxIHtcclxuXHQub3ZlcmxheSB7XHJcblx0XHQvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbWFpbl9iaXM7XHJcblx0XHQvLyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ0ZGVnLCByZ2JhKGRhcmtlbigkY29sb3JfbWFpbl9iaXMsIDIwKSwwLjkpIDM1JSwgcmdiYShkYXJrZW4oJGNvbG9yX21haW4sIDEwKSwxKSAxMDAlKTtcclxuXHRcdC8vIC0+IGJhY2tncm91bmQgcnVsZXMgbW92ZWQgdG8gLm1lbnUtVjFcclxuXHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcblx0XHRjb2xvcjogd2hpdGU7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR3aWR0aDogMzAwcHg7XHJcblx0XHRoZWlnaHQ6IDMwMHB4O1xyXG5cdFx0cmlnaHQ6IC0xMjBweDtcclxuXHRcdHRvcDogLTEyMHB4O1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcblx0fVxyXG59XHJcbi5tZW51X2FjdGlmIHtcclxuXHQubWVudS1WMSB7XHJcblx0XHQub3ZlcmxheSB7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XHJcblx0XHRcdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuXHRcdFx0cG9zaXRpb246IGFib3NsdXRlO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRyaWdodDogMDtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLy8gKioqICoqKioqKiBFTkQgPiBvdmVybGF5XHJcblxyXG4vLyAqKiogKioqKioqIE1FTlVcclxuLm1lbnUtVjEge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9tYWluX2JpcztcclxuXHQvLyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXHJcblx0Ly8gXHQxNDRkZWcsXHJcblx0Ly8gXHRyZ2JhKGRhcmtlbigkY29sb3JfbWFpbl9iaXMsIDIwKSwgMC45KSAzNSUsXHJcblx0Ly8gXHRyZ2JhKGRhcmtlbigkY29sb3JfbWFpbiwgMTApLCAxKSAxMDAlXHJcblx0Ly8gKTtcclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXHJcblx0XHQxNDRkZWcsXHJcblx0XHRyZ2JhKGRhcmtlbigkd2hpdGUsIDQpLCAwLjkpIDM1JSxcclxuXHRcdHJnYmEoZGFya2VuKCRjb2xvcl9zZWNvbmQsIDApLCAxKSAxMDAlXHJcblx0KTtcclxuXHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHotaW5kZXg6IDEwMjU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG5cclxuXHR0cmFuc2l0aW9uOiBoZWlnaHQgMC4ycztcclxuXHJcblx0cGFkZGluZy1ib3R0b206IDYwcHg7XHJcblxyXG5cdC8vIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9tYWluX2JpcztcclxuXHJcblx0Ly8gYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0NGRlZywgcmdiYSgkY29sb3JfbWFpbl9iaXMsMC44KSAzNSUsIHJnYmEoJGNvbG9yX21haW4sMSkgMTAwJSk7XHJcblx0Ly8gYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0NGRlZywgcmdiYShkYXJrZW4oJGNvbG9yX21haW5fYmlzLCAyMCksMC45KSAzNSUsIHJnYmEoZGFya2VuKCRjb2xvcl9tYWluLCAxMCksMSkgMTAwJSk7XHJcblxyXG5cdD4gLmlubmVyIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWZsb3c6IHJvdyB3cmFwO1xyXG5cclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0YWxpZ24tY29udGVudDogY2VudGVyO1xyXG5cclxuXHRcdG1pbi1oZWlnaHQ6IDEwMCU7XHJcblxyXG5cdFx0Ly8gcGFkZGluZzogJGhlaWdodF9oYW1idXJnZXIgcGVyY2VudGFnZSgxIC8gMTIpIDA7XHJcblx0XHRwYWRkaW5nOiA3cmVtIHBlcmNlbnRhZ2UobWF0aC5kaXYoMSwgMTIpKSAwO1xyXG5cdH1cclxuXHJcblx0LyogLS0tIEfDqW7DqXJhbCAtLS0gKi9cclxuXHR1bCB7XHJcblx0XHRAZXh0ZW5kICVyZXNldF91bDtcclxuXHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHR9XHJcblxyXG5cdGEuaXRlbSB7XHJcblx0XHQmW2hyZWYqPVwiamF2YXNjcmlwdDo7XCJdLFxyXG5cdFx0Ji5ub2NsaWMge1xyXG5cdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyA9PT0gLy8vIEhvdmVyIGfDqW7DqXJhbFxyXG5cdGxpOm5vdCguc3NwYWdlX2FjdGlmKSB7XHJcblx0XHQ+IGEge1xyXG5cdFx0XHQmOmhvdmVyOm5vdChbaHJlZio9XCJqYXZhc2NyaXB0OjtcIl0pLFxyXG5cdFx0XHQmOmZvY3VzOm5vdCgubm9jbGljKSB7XHJcblx0XHRcdFx0Ly8gY29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvcl9tYWluLCAwLjIpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC8vID09PSAvLy8gRU5EID4gSG92ZXIgZ8OpbsOpcmFsXHJcblxyXG5cdC8qIC0tLSBFTkQgPiBHw6luw6lyYWwgLS0tICovXHJcblxyXG5cdC8qIC0tLSBVTCA6IG5hdmlnYXRpb24gZ8OpbsOpcsOpIHBhciBjYW1wLWVib3ggLS0tICovXHJcblx0Ly8gPiBkaXYgPiAubmF2aWdhdGlvbiB7XHJcblx0Lm1haW4tbWVudSB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1mbG93OiByb3cgd3JhcDtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHotaW5kZXg6IDEzMDtcclxuXHJcblx0XHQvLyA9PT09PT09PT09PT09PT09PSAxZXIgbml2ZWF1XHJcblx0XHQ+IGxpIGE6aG92ZXI6bm90KFtocmVmKj1cImphdmFzY3JpcHQ6O1wiXSkgPixcclxuXHRcdD4gbGkgYTpob3Zlcjpub3QoLm5vY2xpYykgPixcclxuXHRcdD4gbGk6bm90KC5jdXJyZW50LW1lbnUtaXRlbSkgPiBhOmhvdmVyIHtcclxuXHRcdFx0Ly8gYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcclxuXHRcdH1cclxuXHJcblx0XHQ+IGxpIHtcclxuXHRcdFx0bWFyZ2luOiAwIDIwcHggcmVtKDQwKTtcclxuXHJcblx0XHRcdCYuY3VycmVudC1tZW51LWl0ZW0ge1xyXG5cdFx0XHRcdD4gLml0ZW0ge1xyXG5cdFx0XHRcdFx0Ly8gY29sb3I6ICRsaW5rLWNvbG9yICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0XHQvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcblxyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMnM7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQvKiAtLS0gTGluayAtLS0gKi9cclxuXHRcdFx0PiAuaXRlbSB7XHJcblx0XHRcdFx0Y29sb3I6IGRhcmtlbigkY29sb3I6ICRjb2xvcl9tYWluLCAkYW1vdW50OiAyNCk7XHJcblx0XHRcdFx0Ly8gZm9udC1zaXplOiByZW0oMzIpO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDUyKTtcclxuXHRcdFx0XHQvLyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICRmb250X3NlY29uZDtcclxuXHRcdFx0XHQvLyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRwYWRkaW5nOiA1cHggMTBweDtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiA2cHg7XHJcblxyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkd2hpdGU7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDY2KTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC8vID09PSAvLy8gSG92ZXIgaW5kaXZcclxuXHRcdFx0XHQmOmhvdmVyOm5vdChbaHJlZio9XCJqYXZhc2NyaXB0OjtcIl0pLFxyXG5cdFx0XHRcdCY6Zm9jdXM6bm90KC5ub2NsaWMpIHtcclxuXHRcdFx0XHRcdC8vIGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdFx0XHQvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvcl9tYWluLCAuNSk7XHJcblx0XHRcdFx0XHQvLyB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC8vID09PSAvLy8gRU5EID4gSG92ZXIgaW5kaXZcclxuXHRcdFx0fVxyXG5cdFx0XHQvKiAtLS0gRU5EID4gTGluayAtLS0gKi9cclxuXHRcdH1cclxuXHRcdC8vID09PT09PT09PT09PT09PT09IEVORCA+IDFlciBuaXZlYXVcclxuXHJcblx0XHQvKlxyXG5cdFx0bWVudS1pdGVtLWhhcy1jaGlsZHJlblxyXG5cdFx0Ki9cclxuXHJcblx0XHQvLyA9PT09PT09PT09PT09PT09PSBTb3VzbWVudVxyXG5cdFx0Ly8gYVthcmlhLWN1cnJlbnQ9XCJwYWdlXCJdIHtcclxuXHRcdC8vIC5jdXJyZW50X3BhZ2VfcGFyZW50ID4gYSB7XHJcblx0XHQvLyBcdGN1cnNvcjogZGVmYXVsdDtcclxuXHRcdC8vIFx0Ly8gY29sb3I6IGRhcmtlbigkY29sb3JfbWFpbiwgMjAlKSAhaW1wb3J0YW50O1xyXG5cdFx0Ly8gXHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcblx0XHQvLyB9XHJcblxyXG5cdFx0Ly8gKioqXHJcblx0XHQuY3VycmVudC1tZW51LWFuY2VzdG9yIHtcclxuXHRcdFx0PiAuaXRlbSB7XHJcblx0XHRcdFx0Ly8gY29sb3I6IHB1cnBsZSAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdC8vIGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdC8vIGNvbG9yOiAjMDk2NjY4ICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0Y29sb3I6IGxpZ2h0ZW4oJGNvbG9yX21haW4sIDIwKSAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdC8vIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHdoaXRlLCAuMik7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQvLyBwYWdlIGVuIGNvdXJzIHZpc3VhbGlzw6llIHBhciBsJ3V0aWxpc2F0ZXVyXHJcblx0XHQuY3VycmVudC1tZW51LWl0ZW0ge1xyXG5cdFx0XHQ+IC5pdGVtIHtcclxuXHRcdFx0XHQvLyBjb2xvcjogcmVkICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3JfbWFpbiwgMC4yKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC8vIENsYXNzZSBham91dMOpZSDDoCBsJ8OpbMOpbWVudCBkZSBtZW51IHBvdXIgbGEgcGFnZSBwYXJlbnQgc2kgdW5lIHBhZ2UgZW5mYW50IGVzdCBlbiBjb3VycyBkZSB2aXN1YWxpc2F0aW9uLlxyXG5cdFx0LmN1cnJlbnQtcGFnZS1hbmNlc3RvciB7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gQ2xhc3NlIGFqb3V0w6llIMOgIGwnw6lsw6ltZW50IGRlIG1lbnUgdGFudCBxdWUgbGEgY2F0w6lnb3JpZSBlc3QgdW4gYW5jw6p0cmUgZGUgbGEgcHVibGljYXRpb24gZW4gY291cnMgZGUgdmlzdWFsaXNhdGlvbi5cclxuXHRcdC5jdXJyZW50LXBvc3QtYW5jZXN0b3Ige1xyXG5cdFx0fVxyXG5cclxuXHRcdC5zdWItbWVudSB7XHJcblx0XHRcdC8vID09PSAvLy8gSG92ZXIgaW5kaXZcclxuXHRcdFx0Ly8gbGk6bm90KC5jdXJyZW50LW1lbnUtaXRlbSkgPiBhOmhvdmVye1xyXG5cdFx0XHRsaSA+IGE6aG92ZXIge1xyXG5cdFx0XHRcdC8vIGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3JfbWFpbiwgMC4zKTtcclxuXHRcdFx0XHQvLyB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRcdH1cclxuXHRcdFx0Ly8gPT09IC8vLyBIb3ZlciBpbmRpdlxyXG5cclxuXHRcdFx0bGkge1xyXG5cdFx0XHRcdC5pdGVtIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkYm9keS1jb2xvcjtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDIwKTtcclxuXHJcblx0XHRcdFx0XHRwYWRkaW5nOiA4cHg7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4ycztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC8vID09PT09PT09PT09PT09PT09IEVORCA+IFNvdXNtZW51XHJcblx0fVxyXG5cdC8qIC0tLSBFTkQgPiBVTCA6IG5hdmlnYXRpb24gZ8OpbsOpcsOpIHBhciBjYW1wLWVib3ggLS0tICovXHJcbn1cclxuLy8gKioqICoqKioqKiBFTkQgPiBNRU5VXHJcbiIsIlxyXG5cclxuXHJcbi8vICoqKiBBTExcclxuQHVzZSBcInNhc3M6bWF0aFwiO1xyXG5cclxuLmJsb2Mge31cclxuXHJcblxyXG5cclxuLy8gKioqIEJsb2Mgc2ltcGxlXHJcbi5ibG9jX3NwbCB7fVxyXG5cclxuXHJcblxyXG4vLyAqKiogQmxvYyBkb3VibGVcclxuLy8gKioqID4+PiBQYXMgZW5jb3JlIHV0aWxpc8OpXHJcbiRibG9jX2R1YWxfZ3V0dGVyOiBwZXJjZW50YWdlKG1hdGguZGl2KDEsIDEyKSk7XHJcbi5ibG9jX2R1YWwge1xyXG5cclxuICA+IC5yb3cge1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgfVxyXG5cclxuICAudGl0cmVfZG91YmxlIHtcclxuICAgIGZvbnQtc2l6ZTogcmVtKDYpO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHsgZm9udC1zaXplOiByZW0oNyk7IH1cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHsgZm9udC1zaXplOiByZW0oOCk7IH1cclxuICAgIC8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHsgZm9udC1zaXplOiByZW0oMTEpOyB9XHJcbiAgICAvLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkgeyBmb250LXNpemU6IHJlbSgxNCk7IH1cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7IGZvbnQtc2l6ZTogcmVtKDkpOyB9XHJcbiAgfVxyXG5cclxuICAvKiAtLS0gTEVGVCAtLS0gKi9cclxuICAmLWwge1xyXG4gICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgIHRvcDogN3JlbTtcclxuICAgID4uaW5uZXIge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYmxvY19kdWFsX2d1dHRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAvKiAtLS0gRU5EID4gTEVGVCAtLS0gKi9cclxuXHJcbiAgLyogLS0tIFJJR0hUIC0tLSAqL1xyXG4gICYtciB7XHJcbiAgICAvLyBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgLy8gdG9wOiAycmVtO1xyXG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogYmx1ZTtcclxuICAgID4uaW5uZXIge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRibG9jX2R1YWxfZ3V0dGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qIC0tLSBFTkQgPiBSSUdIVCAtLS0gKi9cclxuXHJcbn1cclxuIiwiXHJcblxyXG5cclxuLmxpc3QtcGFydG5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcblxyXG4gIC8vIHBhZGRpbmc6IDJyZW0gMXJlbSAxcmVtO1xyXG4gIC8vIHBhZGRpbmc6IDFyZW0gMXJlbSAwcmVtO1xyXG5cclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuXHJcbiAgLy8gLnNsaWNrLWxpc3Qge1xyXG4gIC8vICAgcGFkZGluZzogMCBwZXJjZW50YWdlKDEgLyAxMik7XHJcbiAgLy8gfVxyXG5cclxuICAuaXRlbV9tIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAxMDBweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gICAgbWFyZ2luOiAwIDFyZW0gMXJlbTtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5lbWJlZC1yZXNwb25zaXZlIHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIH1cclxuXHJcblxyXG59XHJcbiIsIlxyXG5cclxuXHJcbi5saXN0LXJldmlld3Mge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG5cclxuICAvLyBwYWRkaW5nOiAycmVtIDFyZW0gMXJlbTtcclxuLy8gICBwYWRkaW5nOiAxcmVtIDFyZW0gMHJlbTtcclxuXHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbi8vICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7XHJcblxyXG4gIC8vIC5zbGljay1saXN0IHtcclxuICAvLyAgIHBhZGRpbmc6IDAgcGVyY2VudGFnZSgxIC8gMTIpO1xyXG4gIC8vIH1cclxuXHJcbiAgLml0ZW1fbSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTg1cHg7XHJcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgb3V0bGluZTogMDtcclxuICAgIG1hcmdpbjogMCAxcmVtIDFyZW07XHJcblxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIGN0di1yZXZpZXdzW2RhdGEtc21hbGw9XCJ0cnVlXCJdIHtcclxuICAgIC8vIG1heC13aWR0aDogMTgwcHg7XHJcbiAgICAvLyBtaW4td2lkdGg6IDE4MHB4O1xyXG4gICAgd2lkdGg6IDE4NXB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICB9XHJcblxyXG5cclxufVxyXG4iLCJAdXNlIFwic2FzczptYXRoXCI7XHJcblxyXG5cclxuXHJcblxyXG4uZGVjb19icmV0emVsIHtcclxuICB3aWR0aDogMjAwcHg7XHJcbiAgaGVpZ2h0OiAyMDBweDtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uLy4uL2Fzc2V0cy9pbWcvaW1nX2RlY28vYnJldHplbC5wbmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICB3aWR0aDogNDAwcHg7XHJcbiAgICBoZWlnaHQ6IDQwMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLmZvb3Rlcl9kZWNvX3RvcCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIHotaW5kZXg6IDEwO1xyXG4gIG1hcmdpbi1ib3R0b206IC0xcHg7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi5tb3llbi1kZS1wYWllbWVudC0tZm9vdGVyIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgbWF4LXdpZHRoOiAyNTFweDtcclxuXHJcbiAgbWFyZ2luOiAycmVtIGF1dG8gMDtcclxuICBcclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICBtYXJnaW46IDRyZW0gMCAwIGF1dG87XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcbi5tZW51LWZvb3RlciB7XHJcbiAgQGV4dGVuZCAlcmVzZXRfdWw7XHJcblxyXG4gIHBhZGRpbmctbGVmdDogMDtcclxuXHJcbiAgbGkge1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBwYWRkaW5nOiAwLjJyZW0gMC41cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi5tYWluX2Zvb3RlciB7XHJcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xyXG4gIHotaW5kZXg6IDExMDtcclxuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcblxyXG4gIC5kZWNvX2JyZXR6ZWwge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI1MHB4KTtcclxuICB9XHJcblxyXG5cclxuICA+IC5yb3cge1xyXG4gIH1cclxuXHJcbiAgLnRpdHJlIHtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICBmb250LXNpemU6IHJlbSgyNCk7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICB9XHJcblxyXG4gIC8vICoqKiAqKioqKiogTE9HT1xyXG4gIC8vIC5sb2dvLWNhbXBpbmctcGFyYWRpcyB7XHJcbiAgLy8gICBkaXNwbGF5OiBibG9jaztcclxuICAvLyAgIG1hcmdpbjogMCBhdXRvIC0xcmVtO1xyXG4gIC8vICAgd2lkdGg6IDEwMHB4O1xyXG4gIC8vICAgaW1nIHtcclxuICAvLyAgICAgd2lkdGg6IDEwMCU7XHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG4gICYtbG9nbyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICBwYWRkaW5nOiAwIDI1cHg7XHJcbiAgICBtYXJnaW4tdG9wOiA2cmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcclxuICAgIC8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcclxuICAgIC8vICAgcGFkZGluZzogMCAyNXB4O1xyXG4gICAgLy8gfVxyXG4gICAgLy8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcclxuICAgIC8vICAgcGFkZGluZzogMCAyNXB4O1xyXG4gICAgLy8gfVxyXG5cclxuICAgIGltZyxcclxuICAgIHN2ZyB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgLy8gbWFyZ2luOiAwIGF1dG87XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgfVxyXG5cclxuICAgICAgd2lkdGg6IDI0MHB4O1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xyXG4gICAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcclxuICAgICAgICB3aWR0aDogNjYlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBzdmcge1xyXG4gICAgICBwYXRoIHtcclxuICAgICAgICBmaWxsOiAkd2hpdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuIFxyXG4gIH1cclxuXHJcblxyXG4gIC5vcGVuaW5nX2hlYWQgLFxyXG4gIC5vcGVuaW5nIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udF9zZWNvbmQ7XHJcbiAgICBmb250LXNpemU6IHJlbSg0Myk7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQtYmlzO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICB9XHJcbiAgLm9wZW5pbmdfaGVhZCB7XHJcbiAgICBjb2xvcjogJGNvbG9yX2hlaWdodDtcclxuICB9XHJcbiAgLm9wZW5pbmcge1xyXG4gICAgY29sb3I6ICRib2R5LWJnO1xyXG5cclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIC8vICoqKiAqKioqKiogQURSRVNTXHJcbiAgLmFkZHJlc3Mge1xyXG4gICAgY29sb3I6ICRib2R5LWJnO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIC8vIHBhZGRpbmc6IDAgMjVweDtcclxuXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gIH1cclxuICBbY2xhc3MqPVwic29jaWV0ZVwiXSB7XHJcbiAgICAvLyBmb250LXNpemU6IGVtKDE0KTtcclxuICB9XHJcbiAgLnNvY2lldGUge1xyXG4gICAgLnRpdHJlIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xyXG4gICAgfVxyXG5cclxuICAgICYtbmFtZSB7XHJcbiAgICAgIGNvbG9yOiAkYm9keS1iZztcclxuICAgICAgZm9udC1zaXplOiByZW0oMjIpO1xyXG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbSgyNCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLWFkZHJlc3Mge1xyXG4gICAgICBcclxuICAgIH1cclxuICAgICYtcG9zdGNvZGUge1xyXG4gICAgfVxyXG4gICAgJi1jaXR5IHtcclxuICAgIH1cclxuICAgICYtY291bnRyeSB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3Jfc2Vjb25kO1xyXG4gICAgfVxyXG4gICAgJi1yZWdpb24ge1xyXG4gICAgICBjb2xvcjogJGNvbG9yX3NlY29uZDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgJi1tYWlsICxcclxuICAgICYtcGhvbmUge1xyXG4gICAgICAudGl0cmUge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAmLW1haWwge1xyXG4gICAgICBjb2xvcjogJGNvbG9yX3NlY29uZDtcclxuICAgICAgLy8gZm9udC1zaXplOiByZW0oMjIpO1xyXG4gICAgICAvLyBwYWRkaW5nOiAwIDI1cHg7XHJcbiAgICAgIC8vIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGEsXHJcbiAgICAgIGE6aG92ZXIsXHJcbiAgICAgIGE6Zm9jdXMge1xyXG4gICAgICAgIGNvbG9yOiAkYm9keS1iZztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi1waG9uZSB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3Jfc2Vjb25kO1xyXG4gICAgICBmb250LXNpemU6IHJlbSgzMik7XHJcbiAgICAgIC8vIGZvbnQtc2l6ZTogcmVtKDIyKTtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgICAvLyBwYWRkaW5nOiAwIDI1cHg7XHJcbiAgICAgIC8vIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuXHJcbiAgICAgIG1hcmdpbjogMnJlbSAwO1xyXG4gICAgICBcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICAgIGEsXHJcbiAgICAgIGE6aG92ZXIsXHJcbiAgICAgIGE6Zm9jdXMge1xyXG4gICAgICAgIGNvbG9yOiAkYm9keS1iZztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcclxuICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG5cclxuICAubGlzdF9yZXNlYXV4IHtcclxuXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICBhbGlnbi1pdGVtczogdW5zZXQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnRpdHJlIHtcclxuICAgICAgY29sb3I6ICRib2R5LWNvbG9yO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIC8vICoqKiAqKioqKiogVE9QIFRPUFxyXG4gICYtdF90IHtcclxuICAgIHotaW5kZXg6IDEwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX21haW47XHJcblxyXG4gICAgPiAucm93IHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMSwgMTIpKTtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiBwZXJjZW50YWdlKG1hdGguZGl2KDEsIDEyKSk7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZShtYXRoLmRpdigxLCAxMikpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIC8vICoqKiAqKioqKiogVE9QXHJcbiAgJi10IHtcclxuICAgIHotaW5kZXg6IDEwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX21haW47XHJcblxyXG4gICAgcGFkZGluZzogMCBwZXJjZW50YWdlKG1hdGguZGl2KDEsIDEyKSk7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBcclxuICAgIC8qIC0tLSBMZWZ0IC0tLSAqL1xyXG5cclxuICAgICZfbCB7XHJcbiAgICAgIFxyXG4gICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGJsdWUsIC4yKTtcclxuXHJcbiAgICAgID4gLmlubmVyIHtcclxuICAgICAgICAvLyBwYWRkaW5nOiAwIDUwcHggMCAyNXB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAvLyB0ZXh0LWFsaWduOiByaWdodDtcclxuXHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMiwgMTIpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8qIC0tLSBFTkQgPiBMZWZ0IC0tLSAqL1xyXG5cclxuICAgIC8qIC0tLSBNaWRkbGUgLS0tICovXHJcbiAgICAmX20ge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHJnYmEocmVkLCAuMik7XHJcbiAgICB9XHJcbiAgICAvKiAtLS0gRU5EID4gTWlkZGxlIC0tLSAqL1xyXG5cclxuICAgIC8qIC0tLSBSaWdodCAtLS0gKi9cclxuICAgICZfciB7XHJcbiAgICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogcmdiYShibHVlLCAuMik7XHJcblxyXG4gICAgICBwb3NpdGlvbjogaW5pdGlhbDsgLyogcG91ciBsYSBkZWNvIGVuIGJhcyBhIGRyb2l0ZSAqL1xyXG5cclxuICAgICAgPiAuaW5uZXIge1xyXG4gICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHJnYmEoeWVsbG93LCAuMik7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBwZXJjZW50YWdlKG1hdGguZGl2KDIsIDEyKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAudGl0cmUge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8qIC0tLSBFTkQgPiBSaWdodCAtLS0gKi9cclxuICB9XHJcblxyXG4gIC8vICoqKiAqKioqKiogQk9UVE9NXHJcbiAgLy8gKioqIEhvcmFpcmUgZCdvdXZlcnR1cmVcclxuICAmLWIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7XHJcbiAgfVxyXG59XHJcblxyXG4uaWMge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogMTlweDtcclxuICBoZWlnaHQ6IDE5cHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiAwLjRyZW07XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG5cclxuICAmLmRvZyB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvZG9nLnBuZ1wiKTtcclxuICB9XHJcbiAgJi5kZWZpYnJpIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9kZWZpYnJpbGF0ZXVyLnBuZ1wiKTtcclxuICB9XHJcbn1cclxuLmluZm9fdGVjIHtcclxuICAvLyBjb2xvcjogJGJvZHktYmc7XHJcbiAgY29sb3I6ICRjb2xvcl9zZWNvbmQ7XHJcbiAgZm9udC1zaXplOiByZW0oMjApO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gIG1hcmdpbi10b3A6IDFyZW07XHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgLy8gbWFyZ2luLXRvcDogMTEuNXJlbTtcclxuXHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuXHJcbiAgLm5iciB7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgLy8gZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gIH1cclxuXHJcbiAgLmljIHtcclxuICAgIGZpbHRlcjogaW52ZXJ0KDEwMCUpIHNlcGlhKDAlKSBzYXR1cmF0ZSgwJSkgaHVlLXJvdGF0ZSgxODhkZWcpIGJyaWdodG5lc3MoMTAzJSkgY29udHJhc3QoMTAwJSk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAuZGVjb19mX3Ige1xyXG5cclxuLy8gICB3aWR0aDogMzAlO1xyXG5cclxuLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbi8vICAgei1pbmRleDogLTE7XHJcbi8vICAgdG9wOiAwJTtcclxuLy8gICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICBcclxuLy8gICByaWdodDogMCU7XHJcbi8vICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIC0xMDAlKTtcclxuXHJcbi8vICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xyXG4vLyAgICAgd2lkdGg6IDI1JTtcclxuLy8gICB9XHJcbi8vICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4vLyAgICAgd2lkdGg6IDIwJTtcclxuLy8gICAgIHotaW5kZXg6IDA7XHJcblxyXG4vLyAgICAgLy8gcmlnaHQ6IGF1dG87XHJcbi8vICAgICB0b3A6IGF1dG87XHJcbiAgICBcclxuLy8gICAgIGJvdHRvbTogMCU7XHJcbiAgICBcclxuLy8gICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAwJSk7XHJcbi8vICAgfVxyXG4gIFxyXG4vLyAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XHJcbi8vICAgICB3aWR0aDogMTYlO1xyXG4gICAgXHJcbi8vICAgICAvLyBtYXJnaW4tcmlnaHQ6IC01MCU7XHJcbi8vICAgICAvLyBsZWZ0OiA1MCU7XHJcbi8vICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSk7XHJcbi8vICAgfVxyXG4gIFxyXG4vLyAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge31cclxuXHJcbi8vIH1cclxuXHJcbi8vICoqKiAqKioqKiogTUVOVElPTiBGT09URVJcclxuXHJcbi5mb290ZXJfbWVudGlvbiB7XHJcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwYWRkaW5nOiA1cHggMDtcclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3NlY29uZDtcclxuXHJcbiAgZm9udC1zaXplOiBlbSgxNCk7XHJcbiAgcGFkZGluZzogMTBweCAwO1xyXG5cclxuICBhIHtcclxuICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcclxuICB9XHJcblxyXG4gIC5pY29uIHtcclxuICAgIHdpZHRoOiAxLjRyZW07XHJcbiAgICBoZWlnaHQ6IDEuNHJlbTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiAtMC40cmVtO1xyXG4gIH1cclxuXHJcbiAgLmljb24tY29kZSB7XHJcbiAgfVxyXG4gIC5pY29uLWhlYXJ0IHtcclxuICAgIC8vIGNvbG9yOiBvcmFuZ2VyZWQ7XHJcbiAgICAvLyBmaWxsOiBvcmFuZ2VyZWQ7XHJcblxyXG4gICAgLy8gYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC0yNWRlZywgIzMyMDA3YSA1MCUsICM5NTBhYjcpO1xyXG4gICAgLy8gYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoI2VlZSwgIzMzMyk7XHJcbiAgICAvLyAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcclxuICAgIC8vIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB9XHJcbn1cclxuIiwiXHJcblxyXG5cclxuLy8gQUxMIFdpZGdldCBnbG9iYWxcclxuLndkX3NlY3VyX2NvbnRlbnQge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuXHJcbi8vIFdpZGdldCBnbG9iYWwgc2VjdXJcclxuLnNlY3VyZWhvbGlkYXlWM18yMDIwIHt9XHJcblxyXG5cclxuLndpZGdldF9yZXNhIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcblxyXG4vLyBCYXJyZSBkZSByZWNoZXJjaGVcclxuY3R2LXNlYXJjaGJhciB7XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR6LWluZGV4OiAxMDA7XHJcblxyXG5cdC8vICoqKiAvLy8gU2kgcGFydCBlbiBhdHRyXHJcblx0Ly8gaHR0cHM6Ly9pb25pY2ZyYW1ld29yay5jb20vZG9jcy90aGVtaW5nL2Nzcy1zaGFkb3ctcGFydHNcclxuXHQvLyAmOjpwYXJ0KGljb24pIHtcclxuXHRcdC8vIGJvcmRlcjogMTBweCBzb2xpZCByZWQ7XHJcblx0XHQvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XHJcblx0Ly8gfVxyXG5cclxuXHQvLyBJbCBhIHVuIG1pbi13aWR0aCBkZSAzMDBweFxyXG5cdHdpZHRoOiAzMDBweDtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHJcblx0QG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHBhZGRpbmc6IDEwcHg7XHJcblx0fVxyXG5cdC8vIEBtZWRpYSAobWluLXdpZHRoOiA2MzBweCkge1xyXG5cdEBtZWRpYSAobWluLXdpZHRoOiA2NTBweCkge1xyXG5cdFx0Ly8gd2lkdGg6IHBlcmNlbnRhZ2UoMTEgLyAxMik7XHJcblx0fVxyXG5cclxuXHJcbn1cclxuXHJcblxyXG5jdHYtYXZhaWxhYmlsaXR5IHtcclxuXHQvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcblxyXG4vLyBEaXNwbyAvIHRhcmlmXHJcbmN0di1hdmFpbGFiaWxpdHkuc2VjdXJlaG9saWRheVYzXzIwMjAge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG5cclxuLy8gQXZpcyBjbGllbnRcclxuY3R2LXJldmlld3MtbGlzdC5zZWN1cmVob2xpZGF5VjNfMjAyMCB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbiIsIi8vID09PT09PT09PT09PT09PT09IGdpdGh1Yi5jb20vam9uc3VoL2hhbWJ1cmdlcnNcclxuLy8gU2V0dGluZ3NcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuJGhhbWJ1cmdlci1wYWRkaW5nLXggICAgICAgICAgICAgICAgICAgICAgIDogMHB4O1xyXG4kaGFtYnVyZ2VyLXBhZGRpbmcteSAgICAgICAgICAgICAgICAgICAgICAgOiAwcHg7XHJcbiRoYW1idXJnZXItbGF5ZXItd2lkdGggICAgICAgICAgICAgICAgICAgICA6IDMwcHg7XHJcbiRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICAgICAgICAgICAgICAgICAgICA6IDRweDtcclxuJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICAgICAgICAgICAgICAgICAgIDogNXB4O1xyXG4kaGFtYnVyZ2VyLWxheWVyLWNvbG9yICAgICAgICAgICAgICAgICAgICAgOiAkYm9keS1jb2xvcjtcclxuJGhhbWJ1cmdlci1sYXllci1ib3JkZXItcmFkaXVzICAgICAgICAgICAgIDogMHB4O1xyXG4kaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHkgICAgICAgICAgICAgICAgICAgOiAxO1xyXG4kaGFtYnVyZ2VyLWhvdmVyLXRyYW5zaXRpb24tZHVyYXRpb24gICAgICAgOiAwLjE1cztcclxuJGhhbWJ1cmdlci1ob3Zlci10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG5cclxuXHJcblxyXG5cclxuLy8gLmhlcm9fbywgLnZpZGVvX28ge1xyXG4uaGVyb19vIHtcclxuICAuaGFtYnVyZ2VyIHtcclxuICAgIC8vIHRvcDogNDBweDtcclxuICAgIHRvcDogMTBweDtcclxuICAgIFxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICB0b3A6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG4uaXNTY3JvbGwge1xyXG4gIC5oYW1idXJnZXIge1xyXG4gICAgdG9wOiAxMHB4O1xyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgIC8vIHRvcDogMzBweDtcclxuICAgICAgdG9wOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuXHJcblxyXG4uaGFtYnVyZ2VyIHtcclxuICAvLyB3aWR0aDogJHdpZHRoX2hhbWJ1cmdlcjtcclxuICAvLyBoZWlnaHQ6ICRoZWlnaHRfaGFtYnVyZ2VyO1xyXG4gIC8vIGhlaWdodDogJGhlYWRlcl9IX19tb2JpbGU7XHJcblxyXG4gIC8vIHBhZGRpbmc6IDEzcHggMTNweCAxMHB4O1xyXG5cclxuXHJcbiAgLy8gZGlzcGxheTogZmxleDtcclxuICAvLyBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgLy8ganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgLy8gYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAvLyBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gIC8vIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yX21haW4sIC45KSAhaW1wb3J0YW50O1xyXG5cclxuICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG5cclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgLy8gdG9wOiAzMHB4O1xyXG4gIC8vIHRvcDogNTBweDtcclxuICAvLyB0b3A6IDQwcHg7XHJcbiAgdG9wOiAxMHB4O1xyXG4gIGxlZnQ6IDEwcHg7XHJcbiAgei1pbmRleDogMTAzMDtcclxuICBcclxuICBwYWRkaW5nOiAwLjJyZW07XHJcbiAgXHJcbiAgLy8gYm9yZGVyOiAycHggc29saWQgJGJvZHktYmcgIWltcG9ydGFudDtcclxuICBcclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICB0b3A6IDMwcHg7XHJcbiAgICBsZWZ0OiA1MHB4O1xyXG4gIH1cclxuXHJcbiAgXHJcbiAgLy8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gIC8vICAgaGVpZ2h0OiAkaGVhZGVyX0hfX2Rlc2t0b3A7XHJcbiAgLy8gICB0b3A6ICRoZWFkZXJfSF9fZGVza3RvcDtcclxuICAvLyAgIHJpZ2h0OiAyNXB4O1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gJi1sYWJlbCB7XHJcbiAgLy8gICBjb2xvcjogJHdoaXRlO1xyXG4gIC8vICAgZm9udC1zaXplOiByZW0oMTQpO1xyXG4gIC8vICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gIC8vICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAvLyAgIG1hcmdpbi10b3A6IDAuMnJlbTtcclxuXHJcbiAgLy8gICBAZXh0ZW5kICV0ZXh0X3NoYWRvdztcclxuICAgIFxyXG4gIC8vICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gIC8vICAgICBmb250LXNpemU6IHJlbSgxNik7XHJcbiAgLy8gICB9XHJcblxyXG4gIC8vIH1cclxuXHJcblxyXG4vLyAgICY6aG92ZXIge1xyXG4vLyAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYnV0dG9uLWhvdmVyLWNvbG9yLCAuOCkgIWltcG9ydGFudDtcclxuXHJcbi8vICAgICAuaGFtYnVyZ2VyLWxhYmVsIHtcclxuLy8gICAgICAgLy8gY29sb3I6IHJlZDtcclxuLy8gICAgIH1cclxuLy8gICAgIC5oYW1idXJnZXItaW5uZXI6YWZ0ZXIgLFxyXG4vLyAgICAgLmhhbWJ1cmdlci1pbm5lcjpiZWZvcmUgLFxyXG4vLyAgICAgLmhhbWJ1cmdlci1pbm5lciB7XHJcbi8vICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4vLyAgICAgfVxyXG5cclxuLy8gICB9XHJcblxyXG4vLyAgICYuaXMtYWN0aXZlIHtcclxuLy8gICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tY29sb3IgIWltcG9ydGFudDtcclxuLy8gICAgIC5oYW1idXJnZXItaW5uZXI6YWZ0ZXIgLFxyXG4vLyAgICAgLmhhbWJ1cmdlci1pbm5lcjpiZWZvcmUgLFxyXG4vLyAgICAgLmhhbWJ1cmdlci1pbm5lciB7XHJcbi8vICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4vLyAgICAgfVxyXG4vLyAgIH1cclxuXHJcbi8vICAgJjpmb2N1cyB7XHJcbi8vICAgICBvdXRsaW5lOiAwO1xyXG4vLyAgIH1cclxuXHJcbn1cclxuXHJcbi8vIFRvIHVzZSBDU1MgZmlsdGVycyBhcyB0aGUgaG92ZXIgZWZmZWN0IGluc3RlYWQgb2Ygb3BhY2l0eSxcclxuLy8gc2V0ICRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciBhcyB0cnVlIGFuZFxyXG4vLyBjaGFuZ2UgdGhlIHZhbHVlIG9mICRoYW1idXJnZXItaG92ZXItZmlsdGVyIGFjY29yZGluZ2x5LlxyXG4vKiRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlcjogZmFsc2UgIWRlZmF1bHQ7Ki9cclxuLyokaGFtYnVyZ2VyLWhvdmVyLWZpbHRlciAgICA6IG9wYWNpdHkoNTAlKSAhZGVmYXVsdDsqL1xyXG5cclxuLy8gVHlwZXMgKFJlbW92ZSBvciBjb21tZW50IG91dCB3aGF0IHlvdSBkb27igJl0IG5lZWQpXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vICRoYW1idXJnZXItdHlwZXM6IChcclxuLy8gICAvLyAzZHgsXHJcbi8vICAgLy8gM2R4LXIsXHJcbi8vICAgLy8gM2R5LFxyXG4vLyAgIC8vIDNkeS1yLFxyXG4vLyAgIC8vIGFycm93LFxyXG4vLyAgIC8vIGFycm93LXIsXHJcbi8vICAgLy8gYXJyb3dhbHQsXHJcbi8vICAgLy8gYXJyb3dhbHQtcixcclxuLy8gICAvLyBib3JpbmcsXHJcbi8vICAgLy8gY29sbGFwc2UsXHJcbi8vICAgLy8gY29sbGFwc2UtcixcclxuLy8gICBlbGFzdGljXHJcbi8vICAgLy8gZWxhc3RpYy1yLFxyXG4vLyAgIC8vIGVtcGhhdGljLFxyXG4vLyAgIC8vIGVtcGhhdGljLXIsXHJcbi8vICAgLy8gc2xpZGVyLFxyXG4vLyAgIC8vIHNsaWRlci1yLFxyXG4vLyAgIC8vIHNwcmluZyxcclxuLy8gICAvLyBzcHJpbmctcixcclxuLy8gICAvLyBzdGFuZCxcclxuLy8gICAvLyBzdGFuZC1yLFxyXG4vLyAgIC8vIHNwaW4sXHJcbi8vICAgLy8gc3Bpbi1yLFxyXG4vLyAgIC8vIHNxdWVlemUsXHJcbi8vICAgLy8gdm9ydGV4LFxyXG4vLyAgIC8vIHZvcnRleC1yXHJcbi8vICkgIWRlZmF1bHQ7XHJcblxyXG4vLyBAaW1wb3J0IFwiZWxlbWVudHMvaGFtYnVyZ2Vycy9oYW1idXJnZXJzXCI7XHJcbiIsIlxyXG4vLyAuaGVyb19vLCAudmlkZW9fbyB7XHJcbi5oZXJvX28ge1xyXG4gIC53cG1sLWxzLWxlZ2FjeS1saXN0LXZlcnRpY2FsIHtcclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogJGJvZHktY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5tZW51X2FjdGlmIHtcclxuICAud3BtbC1scy1sZWdhY3ktbGlzdC12ZXJ0aWNhbCB7XHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8vICoqKiAgLmxhbmdfc2l0ZSBWRVJUSUNBTFxyXG4vLyAud3BtbC1scy1sZWdhY3ktbGlzdC12ZXJ0aWNhbCB7XHJcblxyXG4vLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8gICB6LWluZGV4OiAxMTAwO1xyXG4vLyAgIHRvcDogNHB4O1xyXG4vLyAgIGxlZnQ6IDEwcHg7XHJcblxyXG4vLyAgIHBhZGRpbmc6IDAuMnJlbTtcclxuXHJcbiAgXHJcbi8vICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4vLyAgICAgdG9wOiAyMHB4O1xyXG4vLyAgICAgbGVmdDogMzVweDtcclxuLy8gICAgIC8vIHJpZ2h0OiAxMDBweDtcclxuLy8gICAgIC8vIHBhZGRpbmc6IDAuM3JlbSAwLjNyZW07XHJcbi8vICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuLy8gICB9XHJcblxyXG4vLyAgIHVsIHtcclxuLy8gICAgIEBleHRlbmQgJXJlc2V0X3VsO1xyXG4vLyAgICAgZGlzcGxheTogZmxleDtcclxuLy8gICAgIHBhZGRpbmctbGVmdDogMDtcclxuLy8gICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbi8vICAgfVxyXG5cclxuLy8gICBsaSB7XHJcbi8vICAgICAvLyBkaXNwbGF5OiBub25lO1xyXG5cclxuLy8gICAgIC8vIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGJvZHktY29sb3I7XHJcbi8vICAgICBtYXJnaW4tbGVmdDogMC40cmVtICFpbXBvcnRhbnQ7XHJcbiAgICBcclxuLy8gICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuLy8gICAgICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcclxuLy8gICAgIH1cclxuICAgIFxyXG4vLyAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbi8vICAgICAgIC8vIGJvcmRlci1sZWZ0OiAwO1xyXG4vLyAgICAgICBtYXJnaW4tbGVmdDogMHJlbSAhaW1wb3J0YW50O1xyXG4vLyAgICAgfVxyXG5cclxuLy8gICAgIGEge1xyXG4vLyAgICAgICAvLyBmb250LXNpemU6IHJlbSgxNCk7XHJcbi8vICAgICAgIC8vIEBleHRlbmQgLmJ0bl8yO1xyXG4vLyAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbi8vICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4vLyAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3JfbWFpbjtcclxuLy8gICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcblxyXG5cclxuLy8gICAgICAgcGFkZGluZy1sZWZ0OiAwLjRyZW0gIWltcG9ydGFudDtcclxuLy8gICAgICAgcGFkZGluZy1yaWdodDogMC40cmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgIFxyXG4vLyAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbi8vICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjdyZW0gIWltcG9ydGFudDtcclxuLy8gICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjdyZW0gIWltcG9ydGFudDtcclxuLy8gICAgICAgfVxyXG4gICAgICBcclxuLy8gICAgICAgJjpob3ZlciB7XHJcbi8vICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4vLyAgICAgICB9XHJcbi8vICAgICB9XHJcblxyXG4vLyAgICAgaW1nICxcclxuLy8gICAgIHN2ZyB7XHJcbi8vICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuLy8gICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHJcbi8vICAgICAgIHdpZHRoOiAxOHB4O1xyXG4vLyAgICAgfVxyXG5cclxuLy8gICAgIGltZyB7XHJcbi8vICAgICAgIGhlaWdodDogYXV0bztcclxuLy8gICAgIH1cclxuXHJcbi8vICAgICAvLyBzdmcge1xyXG5cclxuLy8gICAgIC8vICAgaGVpZ2h0OiAkZm9udC1zaXplLXNtIC0gMjtcclxuLy8gICAgIC8vICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykgeyBoZWlnaHQ6ICRmb250LXNpemUtbGcgLSAyOyB9XHJcbi8vICAgICAvLyAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7IGhlaWdodDogJGZvbnQtc2l6ZS1iYXNlIC0gMjsgfVxyXG4vLyAgICAgLy8gfVxyXG5cclxuXHJcbi8vICAgICAudHgge1xyXG4vLyAgICAgICAvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbi8vICAgICAgIC8vIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbi8vICAgICAgIC8vIGhlaWdodDogJGhlYWRlcl9IX19kZXNrdG9wO1xyXG4vLyAgICAgICAvLyBsaW5lLWhlaWdodDogJGhlYWRlcl9IX19tb2JpbGUgLSAyO1xyXG4gICAgICBcclxuLy8gICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4vLyAgICAgICAgIC8vIGxpbmUtaGVpZ2h0OiAkaGVhZGVyX0hfX2Rlc2t0b3AgLSA1O1xyXG4vLyAgICAgICB9XHJcbi8vICAgICB9XHJcblxyXG5cclxuLy8gICB9XHJcblxyXG5cclxuLy8gICAvLyBsaS5sYW5nX2FjdGlmICxcclxuLy8gICBsaS53cG1sLWxzLWN1cnJlbnQtbGFuZ3VhZ2Uge1xyXG4vLyAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3JfbWFpbiwgLjgpO1xyXG4vLyAgICAgLy8gYm9yZGVyOiAzcHggc29saWQgZ3JlZW47XHJcbiAgICBcclxuLy8gICAgIGEge1xyXG4vLyAgICAgICAvLyBjb2xvcjogJGJvZHktY29sb3I7XHJcbi8vICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4vLyAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbi8vICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuLy8gICAgICAgY29sb3I6ICR3aGl0ZTtcclxuLy8gICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4vLyAgICAgICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcclxuLy8gICAgICAgfVxyXG5cclxuLy8gICAgICAgJjpob3ZlciB7XHJcbi8vICAgICAgICAgY29sb3I6ICRib2R5LWNvbG9yO1xyXG4vLyAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9tYWluO1xyXG4vLyAgICAgICB9XHJcbi8vICAgICB9XHJcbi8vICAgfVxyXG4vLyAgIC8vIGxpOm5vdCgubGFuZ19hY3RpZikgLFxyXG4vLyAgIGxpOm5vdCgud3BtbC1scy1jdXJyZW50LWxhbmd1YWdlKSB7XHJcbi8vICAgICAvLyBib3JkZXI6IDNweCBzb2xpZCByZWQ7XHJcbi8vICAgICAvLyBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yX21haW47XHJcbi8vICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR3aGl0ZSwgLjgpO1xyXG4vLyAgICAgLy8gbWFyZ2luLXRvcDogMC4ycmVtO1xyXG4gICAgXHJcbi8vICAgICBhIHtcclxuLy8gICAgICAgY29sb3I6ICR3aGl0ZTtcclxuLy8gICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcblxyXG4vLyAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcblxyXG4vLyAgICAgICAmOmhvdmVyIHtcclxuLy8gICAgICAgICBjb2xvcjogJGJvZHktY29sb3I7XHJcbi8vICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkbGluay1jb2xvciwgLjgpO1xyXG4vLyAgICAgICB9XHJcbi8vICAgICB9XHJcbi8vICAgfVxyXG5cclxuXHJcbi8vICAgLy8gLmxhbmdfYWN0aWYgLFxyXG4vLyAgIC53cG1sLWxzLWN1cnJlbnQtbGFuZ3VhZ2Uge1xyXG4vLyAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuLy8gICB9XHJcblxyXG5cclxuLy8gfVxyXG5cclxuXHJcbi5pc1Njcm9sbCB7XHJcbiAgLndwbWwtbHMtbGVnYWN5LWRyb3Bkb3duIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgdG9wOiAxMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vICoqKiAgLmxhbmdfc2l0ZSBWRVJUSUNBTFxyXG4ud3BtbC1scy1sZWdhY3ktZHJvcGRvd24ge1xyXG5cclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogMTEwMDtcclxuICB0b3A6IDEwcHg7XHJcbiAgcmlnaHQ6IDEwcHg7XHJcblxyXG4gIC8vIHBhZGRpbmc6IDAuMnJlbTtcclxuICB3aWR0aDogYXV0bztcclxuXHJcbiAgXHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgdG9wOiAzMHB4O1xyXG4gICAgbGVmdDogMTI1cHg7XHJcbiAgICByaWdodDogYXV0bztcclxuICB9XHJcblxyXG5cclxuICAud3BtbC1scy1pdGVtLXRvZ2dsZTphZnRlciB7XHJcbiAgICB0b3A6IGNhbGMoNTAlIC0gMC4xZW0pICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItdG9wOiAuM2VtIHNvbGlkICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItd2lkdGg6IC4yMmVtICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIGEud3BtbC1scy1pdGVtLXRvZ2dsZSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDEwcHggKyAwLjhlbSkgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG5cclxuICB1bCB7XHJcbiAgICAvLyBAZXh0ZW5kICVyZXNldF91bDtcclxuICAgIC8vIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAvLyBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAvLyBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuXHJcbiAgbGkge1xyXG5cclxuICAgIC8vIG1hcmdpbi1sZWZ0OiAwLjRyZW0gIWltcG9ydGFudDtcclxuICAgIFxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAvLyBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgLy8gbWFyZ2luLWxlZnQ6IDByZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuXHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgIC8vIGZvbnQtc2l6ZTogcmVtKDE0KTtcclxuICAgICAgLy8gQGV4dGVuZCAuYnRuXzI7XHJcbiAgICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgLy8gZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIC8vIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvcl9tYWluO1xyXG4gICAgICAvLyB1c2VyLXNlbGVjdDogbm9uZTtcclxuXHJcblxyXG4gICAgICAvLyBwYWRkaW5nLWxlZnQ6IDAuNHJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAvLyBwYWRkaW5nLXJpZ2h0OiAwLjRyZW0gIWltcG9ydGFudDtcclxuXHJcbiAgICAgIEBleHRlbmQgLmJ0bl9zdGQ7XHJcbiAgICAgIFxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgLy8gcGFkZGluZy1sZWZ0OiAwLjdyZW0gIWltcG9ydGFudDtcclxuICAgICAgICAvLyBwYWRkaW5nLXJpZ2h0OiAwLjdyZW0gIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW1nICxcclxuICAgIHN2ZyB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHJcbiAgICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAvLyBzdmcge1xyXG5cclxuICAgIC8vICAgaGVpZ2h0OiAkZm9udC1zaXplLXNtIC0gMjtcclxuICAgIC8vICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykgeyBoZWlnaHQ6ICRmb250LXNpemUtbGcgLSAyOyB9XHJcbiAgICAvLyAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7IGhlaWdodDogJGZvbnQtc2l6ZS1iYXNlIC0gMjsgfVxyXG4gICAgLy8gfVxyXG5cclxuICB9XHJcblxyXG5cclxuICAvLyBsaS5sYW5nX2FjdGlmICxcclxuICBsaS53cG1sLWxzLWN1cnJlbnQtbGFuZ3VhZ2Uge1xyXG4gICAgXHJcbiAgICBhIHtcclxuICAgICAgLy8gZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbiAgICAgIC8vIGN1cnNvcjogZGVmYXVsdDtcclxuICAgICAgLy8gcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gICAgICAvLyBjb2xvcjogJHdoaXRlO1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgLy8gY29sb3I6ICRib2R5LWNvbG9yO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICAvLyBjb2xvcjogJGJvZHktY29sb3I7XHJcbiAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX21haW47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLy8gbGk6bm90KC5sYW5nX2FjdGlmKSAsXHJcbiAgbGk6bm90KC53cG1sLWxzLWN1cnJlbnQtbGFuZ3VhZ2UpIHtcclxuXHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcblxyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfc2l4ZTtcclxuXHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICAvLyBjb2xvcjogJGJvZHktY29sb3I7XHJcbiAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkbGluay1jb2xvciwgLjgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gLmxhbmdfYWN0aWYgLFxyXG4gIC53cG1sLWxzLWN1cnJlbnQtbGFuZ3VhZ2Uge1xyXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG59XHJcbiIsIlxyXG5cclxuXHJcbi5oZXJvX2kge1xyXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuXHRcdC8vIG1hcmdpbi10b3A6IC0xMSU7XHJcblx0fVxyXG59XHJcblxyXG4vLyAuaG9tZSAuYmxvY19pbWcgLmZpZ2NhcHRpb24ge1xyXG4uYmxvY19pbWcgLmZpZ2NhcHRpb24ge1xyXG5cclxuXHQvLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcblx0Ly8gXHQvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Ly8gXHRtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgxIC8gMTIpICFpbXBvcnRhbnQ7XHJcblx0Ly8gXHRmbGV4OiAwIDAgcGVyY2VudGFnZSg4IC8gMTIpICFpbXBvcnRhbnQ7XHJcblx0Ly8gXHRtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoOCAvIDEyKSAhaW1wb3J0YW50O1xyXG5cclxuXHQvLyB9XHJcblx0Ly8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcclxuXHQvLyBcdGZsZXg6IDAgMCBwZXJjZW50YWdlKDcgLyAxMikgIWltcG9ydGFudDtcclxuXHQvLyBcdG1heC13aWR0aDogcGVyY2VudGFnZSg3IC8gMTIpICFpbXBvcnRhbnQ7XHJcblx0Ly8gfVxyXG5cclxuXHQvLyBvcGFjaXR5OiAwLjg7XHJcblx0Ly8gdGV4dC1zaGFkb3c6IDBweCAwcHggMjBweCByZ2JhKCR3aGl0ZSwgLjgpLCAwcHggMHB4IDIwcHggcmdiYSgkd2hpdGUsIC44KTtcclxuXHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLFxyXG4vLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBjb2RlXHJcblxyXG4vLyAqKiogKioqKioqIC5jb250ZW50X2ltZyA+IHRvdWNoZSBibG9jX2ltZyBldCBtYWluX3NsaWRlclxyXG4uaG9tZS5oZXJvX2kge1xyXG5cdFxyXG5cdC8vIC5jb250ZW50X2ltZyB7XHJcblx0Ly8gXHQuZmlnY2FwdGlvbiB7XHJcblx0Ly8gXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuXHQvLyBcdFx0XHR0b3A6IDUwJTtcclxuXHQvLyBcdFx0fVxyXG5cdC8vIFx0fVxyXG5cdC8vIH1cclxufVxyXG5cclxuLmhlcm9faSB7XHJcblx0LmNvbnRlbnRfaW1nIHtcclxuXHRcdC5maWdjYXB0aW9uIHtcclxuXHJcblx0XHRcdC8vIG1hcmdpbi10b3A6IDFyZW07XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcblx0XHRcdFx0Ly8gcG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdC8vIHotaW5kZXg6IDE0MDtcclxuXHRcdFx0XHQvLyAvLyB0b3A6IDUwJTtcclxuXHRcdFx0XHQvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgMCk7XHJcblxyXG5cdFx0XHRcdC8vIG1hcmdpbi10b3A6IDA7XHJcblxyXG5cdFx0XHRcdC8vIGJvdHRvbTogMTAlO1xyXG5cdFx0XHRcdC8vIHRvcDogYXV0bztcclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLmhlcm9fbyB7XHJcblx0LmNvbnRlbnRfaW1nIHtcclxuXHRcdC5maWdjYXB0aW9uIHtcclxuXHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDRyZW0gIWltcG9ydGFudDtcclxuXHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuXHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vICoqKiAqKioqKiogYmxvY19pbWcgPiBzdXIgaW1hZ2Ugc2ltcGxlXHJcbi5ibG9jX2ltZyB7XHJcblxyXG59XHJcblxyXG5cclxuLy8gKioqICoqKioqKiBtYWluX3NsaWRlciA+IHF1YW5kIGpxdWVyeSBzbGlkZXJcclxuLm1haW5fc2xpZGVyIHtcclxuXHQvLyAuaXRlbSB7XHJcblx0Ly8gXHQuZmlnY2FwdGlvbiB7XHJcblx0Ly8gXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMTQwO1xyXG5cdC8vIFx0XHRib3R0b206IDIwJTsgbGVmdDogNTAlO1xyXG5cdC8vIFx0XHRtYXJnaW4tcmlnaHQ6IC01MCU7XHJcblx0Ly8gXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xyXG5cdC8vIFx0fVxyXG5cdC8vIH1cclxufSIsIlxyXG5cclxuLnBhZ2luYXRpb24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgLy8gbWFyZ2luOiAyMHB4IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgLy8gcGFkZGluZzogMDtcclxufVxyXG5cclxuLnBhZ2luYXRpb24gYSxcclxuLnBhZ2luYXRpb24gc3BhbiB7XHJcbiAgICBtYXJnaW46IDAgNXB4O1xyXG4gICAgcGFkZGluZzogOHB4IDEycHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG59XHJcblxyXG4ucGFnaW5hdGlvbiBhOmhvdmVyLFxyXG4ucGFnaW5hdGlvbiBzcGFuLmN1cnJlbnQge1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9tYWluO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfbWFpbjtcclxufSIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuXHJcbiVidG5fc3R5bGluZyB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgYm9yZGVyOiAwOyBvdXRsaW5lOiAwOyBwYWRkaW5nOiAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIHRyYW5zaXRpb246IGFsbCAuMnM7XHJcblxyXG4gICY6aG92ZXIge31cclxuICAmOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQ7XHJcbiAgfVxyXG4gICY6Zmlyc3QtbGV0dGVyIHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8vICoqKiAqKioqKiogQlVUVE9OID4gc3RhbmRhcmRcclxuJGJ0bl9zdGRfaV9fdzogNDRweDtcclxuJGJ0bl9zdGRfaV9fd19hZnRlcjogJGJ0bl9zdGRfaV9fdyAtIDI2O1xyXG5cclxuJGJ0bl9zdGRfaV9fbW9iaWxlX2RpdmlkZXI6IDEuNjtcclxuXHJcblxyXG4uYnRuX3N0ZCB7XHJcbiAgY29sb3I6ICR3aGl0ZTtcclxuICBmb250LXNpemU6IHJlbSgyMik7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250X3NlY29uZDtcclxuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQtYmlzO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVyZW07XHJcblxyXG4gIHBhZGRpbmc6IDAuM3JlbSAwLjhyZW0gMC4zcmVtO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRsaW5rLWNvbG9yO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRsaW5rLWNvbG9yO1xyXG5cclxuICAvLyBkaXNwbGF5OiBmbGV4O1xyXG4gIC8vIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgLy8gcGFkZGluZy1sZWZ0OiAxLjZyZW07XHJcbiAgLy8gcGFkZGluZy1yaWdodDogMS42cmVtO1xyXG4gIC8vIGJvcmRlci1yYWRpdXM6ICg1OHB4ICogMC41KTtcclxuICBib3JkZXItcmFkaXVzOiA2cHg7XHJcblxyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgZm9udC1zaXplOiByZW0oMzApO1xyXG4gICAgcGFkZGluZzogMC4xcmVtIDAuOHJlbSAwLjJyZW07XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gKioqICoqKioqKiBCVE4gU2hvdyBIaWRlXHJcbiAgJi5idG5TaG93SGlkZSB7XHJcblxyXG4gICAgJi5idG5faSB7XHJcbiAgICAgIGkge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtMTM1ZGVnKSB0cmFuc2xhdGUoLTJweCwgLTJweCk7XHJcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtMTM1ZGVnKSB0cmFuc2xhdGUoLTNweCwgLTNweCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGJ1dHRvbi1jb2xvcjtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKC0ycHgsIC0ycHgpO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKC0zcHgsIC0zcHgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaGVpZ2h0OiBtYXRoLmRpdigkYnRuX3N0ZF9pX193X2FmdGVyLCAkYnRuX3N0ZF9pX19tb2JpbGVfZGl2aWRlcik7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWNvbG9yO1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHggMnB4IDJweCAwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgaGVpZ2h0OiAkYnRuX3N0ZF9pX193X2FmdGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAvLyAqKiogKioqKioqIEVORCA+IEJUTiBTaG93IEhpZGVcclxuXHJcblxyXG4gIC8vIGkge1xyXG4gIC8vICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAvLyAgIGhlaWdodDogbWF0aC5kaXYoJGJ0bl9zdGRfaV9fdywgJGJ0bl9zdGRfaV9fbW9iaWxlX2RpdmlkZXIpO1xyXG4gIC8vICAgd2lkdGg6IG1hdGguZGl2KCRidG5fc3RkX2lfX3csICRidG5fc3RkX2lfX21vYmlsZV9kaXZpZGVyKTtcclxuICAvLyAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgLy8gICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICAvLyAgIGJvcmRlcjogMXB4IHNvbGlkICRib2R5LWNvbG9yO1xyXG4gICAgXHJcbiAgLy8gICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgXHJcbiAgLy8gICBmbGV4OiAwIDAgbWF0aC5kaXYoJGJ0bl9zdGRfaV9fdywgJGJ0bl9zdGRfaV9fbW9iaWxlX2RpdmlkZXIpO1xyXG4gIC8vICAgbWF4LXdpZHRoOiBtYXRoLmRpdigkYnRuX3N0ZF9pX193LCAkYnRuX3N0ZF9pX19tb2JpbGVfZGl2aWRlcik7XHJcbiAgICBcclxuICAvLyAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAvLyAgICAgaGVpZ2h0OiAkYnRuX3N0ZF9pX193O1xyXG4gIC8vICAgICB3aWR0aDogJGJ0bl9zdGRfaV9fdztcclxuXHJcbiAgLy8gICAgIGZsZXg6IDAgMCAkYnRuX3N0ZF9pX193O1xyXG4gIC8vICAgICBtYXgtd2lkdGg6ICRidG5fc3RkX2lfX3c7XHJcbiAgLy8gICB9XHJcblxyXG4gIC8vICAgJjphZnRlcixcclxuICAvLyAgICY6YmVmb3JlIHtcclxuICAvLyAgICAgY29udGVudDogJ1xcMDAyMCc7XHJcbiAgLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIC8vICAgICBoZWlnaHQ6IDFweDtcclxuICAvLyAgICAgbWF4LXdpZHRoOiBtYXRoLmRpdigkYnRuX3N0ZF9pX193X2FmdGVyLCAkYnRuX3N0ZF9pX19tb2JpbGVfZGl2aWRlcik7XHJcbiAgLy8gICAgIHdpZHRoOiBtYXRoLmRpdigkYnRuX3N0ZF9pX193X2FmdGVyLCAkYnRuX3N0ZF9pX19tb2JpbGVfZGl2aWRlcik7XHJcbiAgICAgIFxyXG4gIC8vICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgLy8gICAgICAgbWF4LXdpZHRoOiAkYnRuX3N0ZF9pX193X2FmdGVyO1xyXG4gIC8vICAgICAgIHdpZHRoOiAkYnRuX3N0ZF9pX193X2FmdGVyO1xyXG4gIC8vICAgICB9XHJcblxyXG4gIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1jb2xvcjtcclxuXHJcblxyXG4gIC8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgLy8gICAgIHotaW5kZXg6IDEwMDtcclxuICAgICAgXHJcbiAgLy8gICAgIHRvcDogNTAlO1xyXG4gIC8vICAgICBsZWZ0OiA1MCU7XHJcbiAgLy8gICAgIG1hcmdpbi1yaWdodDogLTUwJTtcclxuICAgICAgXHJcbiAgLy8gICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XHJcbiAgLy8gICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIC8vICAgfVxyXG4gIC8vICAgJjpiZWZvcmUge1xyXG5cclxuICAvLyAgIH1cclxuICAvLyAgICY6YWZ0ZXIge1xyXG4gIC8vICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoOTBkZWcpO1xyXG4gIC8vICAgfVxyXG5cclxuXHJcbiAgLy8gfVxyXG5cclxuXHJcbiAgXHJcblxyXG4gIC8vICY6YmVmb3JlIHtcclxuICAvLyAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAvLyB9XHJcbiAgLy8gJjphZnRlciB7XHJcbiAgLy8gICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAvLyB9XHJcblxyXG4gIC8vICY6YWZ0ZXIsXHJcbiAgLy8gJjpiZWZvcmUge1xyXG4gIC8vICAgY29udGVudDogJ1xcMDAyMCc7XHJcbiAgLy8gICAtd2Via2l0LWJveC1mbGV4OiAxO1xyXG4gIC8vICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XHJcbiAgLy8gICBmbGV4LWdyb3c6IDE7XHJcbiAgLy8gICBoZWlnaHQ6IDRweDtcclxuICAvLyAgIG1heC13aWR0aDogMzZweDtcclxuICAvLyAgIHdpZHRoOiAzNnB4O1xyXG4gIC8vICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX21haW47XHJcbiAgLy8gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgLy8gICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC8vIH1cclxuICBcclxuICBcclxuXHJcbiAgLy8gQGV4dGVuZCAlYnRuX3N0eWxpbmc7XHJcblxyXG4gIC8qIC0tLSBBdCByb290IC0tLSAqL1xyXG4gIEBhdC1yb290IHtcclxuICAgIGJ1dHRvbiN7Jn0gLFxyXG4gICAgYSN7Jn0ge1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gKioqIE1hbnF1ZSBnw6luw6lyYXRpb24gZHUgLXdlYmtpdC1cclxuICAgIC8vIGFbdGFyZ2V0PVwiX2JsYW5rXCJdI3smfSB7XHJcbiAgICAvLyAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vICAgcGFkZGluZy1yaWdodDogNDBweDtcclxuXHJcbiAgICAvLyAgICY6YWZ0ZXIge1xyXG4gICAgLy8gICAgIGNvbnRlbnQ6ICdcXDAwMjAnO1xyXG4gICAgLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgIC8vICAgICAvKiAtLS0gU2l6ZSAtLS0gKi9cclxuICAgIC8vICAgICB3aWR0aDogJGZvbnQtc2l6ZS1zbTtcclxuICAgIC8vICAgICBoZWlnaHQ6ICRmb250LXNpemUtc207XHJcbiAgICAvLyAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykgeyB3aWR0aDogJGZvbnQtc2l6ZS1sZzsgaGVpZ2h0OiAkZm9udC1zaXplLWxnOyB9XHJcbiAgICAvLyAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHsgd2lkdGg6ICRmb250LXNpemUtYmFzZTsgaGVpZ2h0OiAkZm9udC1zaXplLWJhc2U7IH1cclxuICAgIC8vICAgICAvKiAtLS0gRU5EID4gU2l6ZSAtLS0gKi9cclxuXHJcbiAgICAvLyAgICAgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAxMDA7XHJcbiAgICAvLyAgICAgdG9wOiAxMHB4OyByaWdodDogMTRweDtcclxuXHJcbiAgICAvLyAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIC8vICAgICBtYXNrLWltYWdlOiB1cmwoJy4uL2ltZy9leHRlcm5hbF9saW5rLnN2ZycpO1xyXG4gICAgLy8gICB9XHJcblxyXG4gICAgLy8gfVxyXG4gIH1cclxuICAvKiAtLS0gRU5EID4gQXQgcm9vdCAtLS0gKi9cclxuXHJcblxyXG4gIC8qIC0tLSBBdCByb290IDogTElOSyAtLS0gKi9cclxuICBAYXQtcm9vdCB7XHJcbiAgICBhI3smfSB7XHJcbiAgICAgIC8vIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgLy8gYm9yZGVyOiAycHggc29saWQgJGxpbmstY29sb3I7XHJcbiAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRsaW5rLWNvbG9yO1xyXG5cclxuICAgICAgJi5idG5fYWN0aWYgLFxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJGxpbmstY29sb3I7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFbdGFyZ2V0PVwiX2JsYW5rXCJdI3smfVxyXG4gICAge1xyXG4gICAgICAmOmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlOyB9XHJcblxyXG4gICAgICAmLmJ0bl9hY3RpZiAsXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAmOmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJGxpbmstY29sb3I7IH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgLyogLS0tIEVORCA+IEF0IHJvb3QgOiBMSU5LIC0tLSAqL1xyXG5cclxuICAvKiAtLS0gQXQgcm9vdCA6IEJVVFRPTiAtLS0gKi9cclxuICBAYXQtcm9vdCB7XHJcbiAgICBidXR0b24jeyZ9IHtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAvLyBib3JkZXI6IDJweCBzb2xpZCAkYnV0dG9uLWNvbG9yO1xyXG4gICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWNvbG9yO1xyXG5cclxuICAgICAgJi51ay1hY3RpdmUgLFxyXG4gICAgICAmLmJ0bl9hY3RpZiAsXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkYnV0dG9uLWNvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG4gIC8qIC0tLSBFTkQgPiBBdCByb290IDogQlVUVE9OIC0tLSAqL1xyXG5cclxufVxyXG5cclxuXHJcblxyXG4uYnRuX3N0ZF9oIHtcclxuICBjb2xvcjogJHdoaXRlO1xyXG4gIGZvbnQtc2l6ZTogcmVtKDE0KTtcclxuICAvLyBmb250LWZhbWlseTogJGZvbnRfc2Vjb25kO1xyXG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjA1cmVtO1xyXG5cclxuICBwYWRkaW5nOiAwLjRyZW0gMXJlbSAwLjRyZW07XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvZHktY29sb3I7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktY29sb3I7XHJcblxyXG4gIC8vIGRpc3BsYXk6IGZsZXg7XHJcbiAgLy8gYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAvLyBwYWRkaW5nLWxlZnQ6IDEuNnJlbTtcclxuICAvLyBwYWRkaW5nLXJpZ2h0OiAxLjZyZW07XHJcbiAgLy8gYm9yZGVyLXJhZGl1czogKDU4cHggKiAwLjUpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblxyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgZm9udC1zaXplOiByZW0oMTgpO1xyXG4gICAgcGFkZGluZzogMC42cmVtIDEuNHJlbSAwLjdyZW07XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gKioqICoqKioqKiBCVE4gU2hvdyBIaWRlXHJcbiAgJi5idG5TaG93SGlkZSB7XHJcblxyXG4gICAgJi5idG5faSB7XHJcbiAgICAgIGkge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtMTM1ZGVnKSB0cmFuc2xhdGUoLTJweCwgLTJweCk7XHJcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtMTM1ZGVnKSB0cmFuc2xhdGUoLTNweCwgLTNweCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGJ1dHRvbi1jb2xvcjtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKC0ycHgsIC0ycHgpO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKC0zcHgsIC0zcHgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaGVpZ2h0OiBtYXRoLmRpdigkYnRuX3N0ZF9pX193X2FmdGVyLCAkYnRuX3N0ZF9pX19tb2JpbGVfZGl2aWRlcik7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWNvbG9yO1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHggMnB4IDJweCAwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgaGVpZ2h0OiAkYnRuX3N0ZF9pX193X2FmdGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAvLyAqKiogKioqKioqIEVORCA+IEJUTiBTaG93IEhpZGVcclxuXHJcblxyXG4gIC8vIGkge1xyXG4gIC8vICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAvLyAgIGhlaWdodDogbWF0aC5kaXYoJGJ0bl9zdGRfaV9fdywgJGJ0bl9zdGRfaV9fbW9iaWxlX2RpdmlkZXIpO1xyXG4gIC8vICAgd2lkdGg6IG1hdGguZGl2KCRidG5fc3RkX2lfX3csICRidG5fc3RkX2lfX21vYmlsZV9kaXZpZGVyKTtcclxuICAvLyAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgLy8gICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICAvLyAgIGJvcmRlcjogMXB4IHNvbGlkICRib2R5LWNvbG9yO1xyXG4gICAgXHJcbiAgLy8gICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgXHJcbiAgLy8gICBmbGV4OiAwIDAgbWF0aC5kaXYoJGJ0bl9zdGRfaV9fdywgJGJ0bl9zdGRfaV9fbW9iaWxlX2RpdmlkZXIpO1xyXG4gIC8vICAgbWF4LXdpZHRoOiBtYXRoLmRpdigkYnRuX3N0ZF9pX193LCAkYnRuX3N0ZF9pX19tb2JpbGVfZGl2aWRlcik7XHJcbiAgICBcclxuICAvLyAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAvLyAgICAgaGVpZ2h0OiAkYnRuX3N0ZF9pX193O1xyXG4gIC8vICAgICB3aWR0aDogJGJ0bl9zdGRfaV9fdztcclxuXHJcbiAgLy8gICAgIGZsZXg6IDAgMCAkYnRuX3N0ZF9pX193O1xyXG4gIC8vICAgICBtYXgtd2lkdGg6ICRidG5fc3RkX2lfX3c7XHJcbiAgLy8gICB9XHJcblxyXG4gIC8vICAgJjphZnRlcixcclxuICAvLyAgICY6YmVmb3JlIHtcclxuICAvLyAgICAgY29udGVudDogJ1xcMDAyMCc7XHJcbiAgLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIC8vICAgICBoZWlnaHQ6IDFweDtcclxuICAvLyAgICAgbWF4LXdpZHRoOiBtYXRoLmRpdigkYnRuX3N0ZF9pX193X2FmdGVyLCAkYnRuX3N0ZF9pX19tb2JpbGVfZGl2aWRlcik7XHJcbiAgLy8gICAgIHdpZHRoOiBtYXRoLmRpdigkYnRuX3N0ZF9pX193X2FmdGVyLCAkYnRuX3N0ZF9pX19tb2JpbGVfZGl2aWRlcik7XHJcbiAgICAgIFxyXG4gIC8vICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgLy8gICAgICAgbWF4LXdpZHRoOiAkYnRuX3N0ZF9pX193X2FmdGVyO1xyXG4gIC8vICAgICAgIHdpZHRoOiAkYnRuX3N0ZF9pX193X2FmdGVyO1xyXG4gIC8vICAgICB9XHJcblxyXG4gIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1jb2xvcjtcclxuXHJcblxyXG4gIC8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgLy8gICAgIHotaW5kZXg6IDEwMDtcclxuICAgICAgXHJcbiAgLy8gICAgIHRvcDogNTAlO1xyXG4gIC8vICAgICBsZWZ0OiA1MCU7XHJcbiAgLy8gICAgIG1hcmdpbi1yaWdodDogLTUwJTtcclxuICAgICAgXHJcbiAgLy8gICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XHJcbiAgLy8gICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIC8vICAgfVxyXG4gIC8vICAgJjpiZWZvcmUge1xyXG5cclxuICAvLyAgIH1cclxuICAvLyAgICY6YWZ0ZXIge1xyXG4gIC8vICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoOTBkZWcpO1xyXG4gIC8vICAgfVxyXG5cclxuXHJcbiAgLy8gfVxyXG5cclxuXHJcbiAgXHJcblxyXG4gIC8vICY6YmVmb3JlIHtcclxuICAvLyAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAvLyB9XHJcbiAgLy8gJjphZnRlciB7XHJcbiAgLy8gICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAvLyB9XHJcblxyXG4gIC8vICY6YWZ0ZXIsXHJcbiAgLy8gJjpiZWZvcmUge1xyXG4gIC8vICAgY29udGVudDogJ1xcMDAyMCc7XHJcbiAgLy8gICAtd2Via2l0LWJveC1mbGV4OiAxO1xyXG4gIC8vICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XHJcbiAgLy8gICBmbGV4LWdyb3c6IDE7XHJcbiAgLy8gICBoZWlnaHQ6IDRweDtcclxuICAvLyAgIG1heC13aWR0aDogMzZweDtcclxuICAvLyAgIHdpZHRoOiAzNnB4O1xyXG4gIC8vICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX21haW47XHJcbiAgLy8gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgLy8gICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC8vIH1cclxuICBcclxuICBcclxuXHJcbiAgLy8gQGV4dGVuZCAlYnRuX3N0eWxpbmc7XHJcblxyXG4gIC8qIC0tLSBBdCByb290IC0tLSAqL1xyXG4gIEBhdC1yb290IHtcclxuICAgIGJ1dHRvbiN7Jn0gLFxyXG4gICAgYSN7Jn0ge1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gKioqIE1hbnF1ZSBnw6luw6lyYXRpb24gZHUgLXdlYmtpdC1cclxuICAgIC8vIGFbdGFyZ2V0PVwiX2JsYW5rXCJdI3smfSB7XHJcbiAgICAvLyAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vICAgcGFkZGluZy1yaWdodDogNDBweDtcclxuXHJcbiAgICAvLyAgICY6YWZ0ZXIge1xyXG4gICAgLy8gICAgIGNvbnRlbnQ6ICdcXDAwMjAnO1xyXG4gICAgLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgIC8vICAgICAvKiAtLS0gU2l6ZSAtLS0gKi9cclxuICAgIC8vICAgICB3aWR0aDogJGZvbnQtc2l6ZS1zbTtcclxuICAgIC8vICAgICBoZWlnaHQ6ICRmb250LXNpemUtc207XHJcbiAgICAvLyAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykgeyB3aWR0aDogJGZvbnQtc2l6ZS1sZzsgaGVpZ2h0OiAkZm9udC1zaXplLWxnOyB9XHJcbiAgICAvLyAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHsgd2lkdGg6ICRmb250LXNpemUtYmFzZTsgaGVpZ2h0OiAkZm9udC1zaXplLWJhc2U7IH1cclxuICAgIC8vICAgICAvKiAtLS0gRU5EID4gU2l6ZSAtLS0gKi9cclxuXHJcbiAgICAvLyAgICAgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAxMDA7XHJcbiAgICAvLyAgICAgdG9wOiAxMHB4OyByaWdodDogMTRweDtcclxuXHJcbiAgICAvLyAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIC8vICAgICBtYXNrLWltYWdlOiB1cmwoJy4uL2ltZy9leHRlcm5hbF9saW5rLnN2ZycpO1xyXG4gICAgLy8gICB9XHJcblxyXG4gICAgLy8gfVxyXG4gIH1cclxuICAvKiAtLS0gRU5EID4gQXQgcm9vdCAtLS0gKi9cclxuXHJcblxyXG4gIC8qIC0tLSBBdCByb290IDogTElOSyAtLS0gKi9cclxuICBAYXQtcm9vdCB7XHJcbiAgICBhI3smfSB7XHJcbiAgICAgIC8vIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgLy8gYm9yZGVyOiAycHggc29saWQgJGxpbmstY29sb3I7XHJcbiAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRsaW5rLWNvbG9yO1xyXG5cclxuICAgICAgJi5idG5fYWN0aWYgLFxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJGxpbmstY29sb3I7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFbdGFyZ2V0PVwiX2JsYW5rXCJdI3smfVxyXG4gICAge1xyXG4gICAgICAmOmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlOyB9XHJcblxyXG4gICAgICAmLmJ0bl9hY3RpZiAsXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAmOmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJGxpbmstY29sb3I7IH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgLyogLS0tIEVORCA+IEF0IHJvb3QgOiBMSU5LIC0tLSAqL1xyXG5cclxuICAvKiAtLS0gQXQgcm9vdCA6IEJVVFRPTiAtLS0gKi9cclxuICBAYXQtcm9vdCB7XHJcbiAgICBidXR0b24jeyZ9IHtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAvLyBib3JkZXI6IDJweCBzb2xpZCAkYnV0dG9uLWNvbG9yO1xyXG4gICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWNvbG9yO1xyXG5cclxuICAgICAgJi51ay1hY3RpdmUgLFxyXG4gICAgICAmLmJ0bl9hY3RpZiAsXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkYnV0dG9uLWNvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG4gIC8qIC0tLSBFTkQgPiBBdCByb290IDogQlVUVE9OIC0tLSAqL1xyXG5cclxufVxyXG4vLyAqKiogKioqKioqIEVORCA+IEJVVFRPTiA+IHN0YW5kYXJkXHJcblxyXG5cclxuXHJcblxyXG5cclxuLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBCVVRUT04gPiBGSUxURVJcclxuLy8gKioqIEJvdXRvbiBDTElNXHJcbi5maWx0ZXJfdHlwZS1pbyB7XHJcblxyXG4gIHBhZGRpbmctdG9wOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgaGVpZ2h0OiAwO1xyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgfVxyXG5cclxuICAudXNlcl9jaG9pY2Uge1xyXG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB0cmFuc2l0aW9uOiBub25lO1xyXG4gIH1cclxuXHJcbiAgLmJ0bl9maWx0ZXIucGljdG8gLmljbyB7XHJcbiAgICBwYWRkaW5nOiA2cHggOHB4IDBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnO1xyXG4gIH1cclxuXHJcbiAgYnV0dG9uIHtcclxuICAgICAgLy8gZGlzcGxheTogbm9uZTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcblxyXG4gICAgICB6LWluZGV4OiAxMDA7XHJcbiAgICAgIFxyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IC01MCU7XHJcbiAgICAgIFxyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuXHJcbiAgICAgICY6bm90KC51ay1hY3RpdmUpICxcclxuICAgICAgJjpub3QoLmJ0bl9hY3RpZikge1xyXG4gICAgfVxyXG5cclxuICAgIFxyXG4gICAgLnVrLWFjdGl2ZSAsXHJcbiAgICAuYnRuX2FjdGlmIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgLmljbyB7XHJcbiAgICAgICAgXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIFxyXG5cclxuXHJcbiAgLmJ1dHRvbl9vIHtcclxuICAgIC5pY28ge1xyXG4gICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfc2Vjb25kO1xyXG4gICAgfVxyXG4gIH1cclxuICAuYnV0dG9uX2kge1xyXG4gICAgLmljbyB7XHJcbiAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9tYWluO1xyXG4gICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi51ay1hY3RpdmUge1xyXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxufVxyXG5cclxuLy8gKioqIEFVVFJFIEJPVVRPTlMgZmlsdGVyXHJcbi5idG5fZmlsdGVyIHtcclxuICBjb2xvcjogJGJvZHktY29sb3I7XHJcbiAgLy8gdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbiAgcGFkZGluZzogMC4ycmVtIDAuOHJlbSAwLjJyZW07XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvZHktY29sb3I7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkd2hpdGUsIDApO1xyXG5cclxuXHJcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG5cclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW46IDAgMC4ycmVtIDAgYXV0bztcclxuXHJcbiAgJltkaXNhYmxlZD1cImRpc2FibGVkXCJdIHtcclxuICAgIG9wYWNpdHk6IDAuNDtcclxuICB9XHJcblxyXG4gIEBleHRlbmQgJWJ0bl9zdHlsaW5nO1xyXG5cclxuICAmYnV0dG9uIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcblxyXG5cclxuICAmLnVrLWFjdGl2ZSAsXHJcbiAgJi5idG5fYWN0aWYgLFxyXG4gICY6aG92ZXIge1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX21haW47XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbWFpbjtcclxuICB9XHJcbiAgJjpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vICoqKiAqKioqKiogU0kgcGljdG8gc3ZnXHJcbiAgJi5waWN0byB7XHJcbiAgICBjb2xvcjogJGNvbG9yX21haW47XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAuaWNvIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRib2R5LWNvbG9yO1xyXG4gICAgICAvLyBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XHJcbiAgICAgIC8vIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9tYWluO1xyXG4gICAgICAvLyBib3JkZXI6IDA7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgIHBhZGRpbmc6IDVweDtcclxuXHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbWFpbjtcclxuXHJcbiAgICAgIHN2ZyB7XHJcbiAgICAgICAgLy8gZmlsbDogJGNvbG9yX21haW47XHJcbiAgICAgICAgZmlsbDogJGNvbG9yX21haW47XHJcbiAgICAgICAgZmlsbDogJGJvZHktY29sb3I7XHJcbiAgICAgICAgLy8gZmlsbDogJHdoaXRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnR4IHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgJi51ay1hY3RpdmUge1xyXG4gICAgICAuaWNvIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcl9tYWluO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9tYWluO1xyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICBmaWxsOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vICoqKiAqKioqKiogRU5EID4gU0kgcGljdG8gc3ZnXHJcblxyXG5cclxuXHJcbn1cclxuLy8gKioqICoqKioqKiBFTkQgPiBCVVRUT04gPiBGSUxURVJcclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8vICoqKiAqKioqKiogQlVUVE9OID4gTWVudVxyXG4vLyAuYnRuXzIge1xyXG5cclxuLy8gICBjb2xvcjogJGJvZHktY29sb3I7XHJcbi8vICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4vLyAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcclxuXHJcbi8vICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yX21haW47XHJcbi8vICAgYmFja2dyb3VuZDogJGNvbG9yX21haW47XHJcbi8vICAgLy8gYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCRjb2xvcl9zZWNvbmQsMSkgMCUsIHJnYmEoJGNvbG9yX21haW4sMSkgMTAwJSk7XHJcbiAgXHJcbi8vICAgZGlzcGxheTogZmxleDtcclxuLy8gICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4vLyAgIHBhZGRpbmc6IDByZW0gMC44cmVtIC4ycmVtO1xyXG5cclxuLy8gICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbi8vICAgICBmb250LXNpemU6IHJlbSgyMSk7XHJcbi8vICAgICBwYWRkaW5nOiAuMnJlbSAxLjJyZW0gLjRyZW07XHJcbi8vICAgfVxyXG5cclxuXHJcbi8vICAgJi5iZ19kYXJrIHtcclxuLy8gICAgIGNvbG9yOiAkYm9keS1iZztcclxuLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWNvbG9yO1xyXG4vLyAgICAgYm9yZGVyLWNvbG9yOiAkYm9keS1jb2xvcjtcclxuICAgIFxyXG4vLyAgICAgJjphZnRlciB7XHJcbi8vICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnICFpbXBvcnRhbnQ7XHJcbi8vICAgICB9XHJcbi8vICAgfVxyXG4gIFxyXG5cclxuXHJcbi8vICAgJjpmb2N1cyB7XHJcbi8vICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfc2Vjb25kO1xyXG4vLyAgIH1cclxuXHJcbi8vICAgQGV4dGVuZCAlYnRuX3N0eWxpbmc7XHJcblxyXG5cclxuLy8gICAvLyAqKiogTWFucXVlIGfDqW7DqXJhdGlvbiBkdSAtd2Via2l0LVxyXG4vLyAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBcclxuLy8gICAmW3RhcmdldD1cIl9ibGFua1wiXSB7XHJcbi8vICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbi8vICAgICBwYWRkaW5nLXJpZ2h0OiAyN3B4O1xyXG4gICAgXHJcbi8vICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbi8vICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XHJcbi8vICAgICB9XHJcblxyXG4vLyAgIH1cclxuXHJcbi8vICAgJlt0YXJnZXQ9XCJfYmxhbmtcIl06YWZ0ZXIge1xyXG4vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuLy8gICAgIGNvbnRlbnQ6ICdcXDAwMjAnO1xyXG4vLyAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG5cclxuLy8gICAgIC8qIC0tLSBTaXplIC0tLSAqL1xyXG4vLyAgICAgLy8gd2lkdGg6ICRmb250LXNpemUtc207XHJcbi8vICAgICB3aWR0aDogMC44cmVtO1xyXG4vLyAgICAgLy8gaGVpZ2h0OiAkZm9udC1zaXplLXNtO1xyXG4vLyAgICAgaGVpZ2h0OiAwLjhyZW07XHJcbi8vICAgICAvLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7IHdpZHRoOiAkZm9udC1zaXplLWxnOyBoZWlnaHQ6ICRmb250LXNpemUtbGc7IH1cclxuLy8gICAgIC8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7IHdpZHRoOiAkZm9udC1zaXplLWJhc2U7IGhlaWdodDogJGZvbnQtc2l6ZS1iYXNlOyB9XHJcbiAgICBcclxuLy8gICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuLy8gICAgICAgaGVpZ2h0OiAxcmVtO1xyXG4vLyAgICAgICB3aWR0aDogMXJlbTtcclxuLy8gICAgIH1cclxuLy8gICAgIC8qIC0tLSBFTkQgPiBTaXplIC0tLSAqL1xyXG5cclxuLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8gICAgIHotaW5kZXg6IDEwMDtcclxuLy8gICAgIHRvcDogNXB4O1xyXG4vLyAgICAgcmlnaHQ6IDZweDtcclxuICAgIFxyXG4vLyAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4vLyAgICAgICB0b3A6IDEwcHg7XHJcbi8vICAgICAgIHJpZ2h0OiAxNHB4O1xyXG4vLyAgICAgfVxyXG5cclxuLy8gICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuLy8gICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XHJcbi8vICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybCgnLi4vaW1nL2V4dGVybmFsX2xpbmsuc3ZnJyk7XHJcbi8vICAgICBtYXNrLWltYWdlOiB1cmwoJy4uL2ltZy9leHRlcm5hbF9saW5rLnN2ZycpO1xyXG4vLyAgIH1cclxuXHJcbiAgXHJcbi8vICAgLyogLS0tIEVORCA+IEF0IHJvb3QgLS0tICovXHJcblxyXG5cclxuLy8gICAvKiAtLS0gQXQgcm9vdCA6IExJTksgLS0tICovXHJcbi8vICAgQGF0LXJvb3Qge1xyXG4vLyAgICAgYSN7Jn0ge1xyXG4vLyAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbi8vICAgICAgIC8vIGJvcmRlcjogMnB4IHNvbGlkICRsaW5rLWNvbG9yO1xyXG4vLyAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkbGluay1jb2xvcjtcclxuXHJcbi8vICAgICAgICYuYnRuX2FjdGlmICxcclxuLy8gICAgICAgJjpob3ZlciB7XHJcbi8vICAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yO1xyXG4vLyAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuLy8gICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgXHJcbi8vICAgICAgIH1cclxuLy8gICAgIH1cclxuXHJcbi8vICAgICBhW3RhcmdldD1cIl9ibGFua1wiXSN7Jn1cclxuLy8gICAgIHtcclxuLy8gICAgICAgJjphZnRlciB7IGJhY2tncm91bmQtY29sb3I6ICRib2R5LWNvbG9yOyB9XHJcblxyXG4vLyAgICAgLy8gICAmLmJ0bl9hY3RpZiAsXHJcbi8vICAgICAgICY6aG92ZXIge1xyXG4vLyAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWNvbG9yICFpbXBvcnRhbnQ7XHJcbi8vICAgICAgICAgJjphZnRlciB7IGJhY2tncm91bmQtY29sb3I6ICRib2R5LWNvbG9yICFpbXBvcnRhbnQ7IH1cclxuLy8gICAgICAgfVxyXG4vLyAgICAgfVxyXG5cclxuLy8gICB9XHJcbi8vICAgLyogLS0tIEVORCA+IEF0IHJvb3QgOiBMSU5LIC0tLSAqL1xyXG5cclxuLy8gICAvKiAtLS0gQXQgcm9vdCA6IEJVVFRPTiAtLS0gKi9cclxuLy8gICBAYXQtcm9vdCB7XHJcbi8vICAgICBidXR0b24jeyZ9IHtcclxuLy8gICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4vLyAgICAgICAvLyBib3JkZXI6IDJweCBzb2xpZCAkYnV0dG9uLWNvbG9yO1xyXG4vLyAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWNvbG9yO1xyXG5cclxuLy8gICAgICAgJi5idG5fYWN0aWYgLFxyXG4vLyAgICAgICAmOmhvdmVyIHtcclxuLy8gICAgICAgICBjb2xvcjogJGJ1dHRvbi1jb2xvcjtcclxuLy8gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbi8vICAgICAgIH1cclxuLy8gICAgIH1cclxuXHJcbi8vICAgfVxyXG4vLyAgIC8qIC0tLSBFTkQgPiBBdCByb290IDogQlVUVE9OIC0tLSAqL1xyXG5cclxuLy8gfVxyXG4vLyAqKiogKioqKioqIEVORCA+IEJVVFRPTiA+IHRhcmlmIGV0IHLDqXNhXHJcblxyXG5cclxuLy8gKioqICoqKioqKiBCVVRUT04gPiBidXR0b24gbW92ZSBwaG90b1xyXG4vLyAuYnRuXzMge1xyXG4vLyAgIGNvbG9yOiAkY29sb3JfbWFpbjtcclxuLy8gICBmb250LWZhbWlseTogJGZvbnRfc2Vjb25kO1xyXG4vLyAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4vLyAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbi8vICAgZm9udC1zaXplOiByZW0oMjApO1xyXG4gIFxyXG4vLyAgIC8vIHBhZGRpbmc6IDZweCAxNHB4O1xyXG4vLyAgIGJvcmRlcjogMDtcclxuLy8gICBiYWNrZ3JvdW5kOiAkY29sb3JfZml2ZTtcclxuICBcclxuICBcclxuLy8gICBkaXNwbGF5OiBmbGV4O1xyXG4vLyAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbi8vICAgcGFkZGluZzogMC4zcmVtIDAuOHJlbSAwLjFyZW07XHJcbiAgXHJcbi8vICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4vLyAgICAgZm9udC1zaXplOiByZW0oMzgpO1xyXG4vLyAgICAgcGFkZGluZzogMXJlbSAycmVtIDEuMXJlbTtcclxuLy8gICB9XHJcbi8vICAgLy8gYm9yZGVyLXJhZGl1czogMjBweDtcclxuXHJcbiAgXHJcbi8vICAgJjpmb2N1cyB7XHJcbi8vICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfc2Vjb25kO1xyXG4vLyAgIH1cclxuXHJcbi8vICAgQGV4dGVuZCAlYnRuX3N0eWxpbmc7XHJcblxyXG5cclxuLy8gICAvLyAqKiogTWFucXVlIGfDqW7DqXJhdGlvbiBkdSAtd2Via2l0LVxyXG4vLyAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBcclxuLy8gICAmW3RhcmdldD1cIl9ibGFua1wiXSB7XHJcbi8vICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbi8vICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xyXG4vLyAgIH1cclxuXHJcbi8vICAgJlt0YXJnZXQ9XCJfYmxhbmtcIl06YWZ0ZXIge1xyXG4vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuLy8gICAgIGNvbnRlbnQ6ICdcXDAwMjAnO1xyXG4vLyAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG5cclxuLy8gICAgIC8qIC0tLSBTaXplIC0tLSAqL1xyXG4vLyAgICAgLy8gd2lkdGg6ICRmb250LXNpemUtc207XHJcbi8vICAgICB3aWR0aDogMXJlbTtcclxuLy8gICAgIC8vIGhlaWdodDogJGZvbnQtc2l6ZS1zbTtcclxuLy8gICAgIGhlaWdodDogMXJlbTtcclxuLy8gICAgIC8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHsgd2lkdGg6ICRmb250LXNpemUtbGc7IGhlaWdodDogJGZvbnQtc2l6ZS1sZzsgfVxyXG4vLyAgICAgLy8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHsgd2lkdGg6ICRmb250LXNpemUtYmFzZTsgaGVpZ2h0OiAkZm9udC1zaXplLWJhc2U7IH1cclxuLy8gICAgIC8qIC0tLSBFTkQgPiBTaXplIC0tLSAqL1xyXG5cclxuLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8gICAgIHotaW5kZXg6IDEwMDtcclxuLy8gICAgIHRvcDogMTJweDtcclxuLy8gICAgIHJpZ2h0OiAxNHB4O1xyXG5cclxuLy8gICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuLy8gICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XHJcbi8vICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybCgnLi4vaW1nL2V4dGVybmFsX2xpbmsuc3ZnJyk7XHJcbi8vICAgICBtYXNrLWltYWdlOiB1cmwoJy4uL2ltZy9leHRlcm5hbF9saW5rLnN2ZycpO1xyXG4vLyAgIH1cclxuXHJcbiAgXHJcbi8vICAgLyogLS0tIEVORCA+IEF0IHJvb3QgLS0tICovXHJcblxyXG5cclxuLy8gICAvKiAtLS0gQXQgcm9vdCA6IExJTksgLS0tICovXHJcbi8vICAgQGF0LXJvb3Qge1xyXG4vLyAgICAgYSN7Jn0ge1xyXG4vLyAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbi8vICAgICAgIC8vIGJvcmRlcjogMnB4IHNvbGlkICRsaW5rLWNvbG9yO1xyXG4vLyAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkbGluay1jb2xvcjtcclxuXHJcbi8vICAgICAgICYuYnRuX2FjdGlmICxcclxuLy8gICAgICAgJjpob3ZlciB7XHJcbi8vICAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yO1xyXG4vLyAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuLy8gICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbi8vICAgICAgIH1cclxuLy8gICAgIH1cclxuXHJcbi8vICAgICAvLyBhW3RhcmdldD1cIl9ibGFua1wiXSN7Jn1cclxuLy8gICAgIC8vIHtcclxuLy8gICAgIC8vICAgJjphZnRlciB7IGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTsgfVxyXG5cclxuLy8gICAgIC8vICAgJi5idG5fYWN0aWYgLFxyXG4vLyAgICAgLy8gICAmOmhvdmVyIHtcclxuLy8gICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbi8vICAgICAvLyAgICAgJjphZnRlciB7IGJhY2tncm91bmQtY29sb3I6ICRsaW5rLWNvbG9yOyB9XHJcbi8vICAgICAvLyAgIH1cclxuLy8gICAgIC8vIH1cclxuXHJcbi8vICAgfVxyXG4vLyAgIC8qIC0tLSBFTkQgPiBBdCByb290IDogTElOSyAtLS0gKi9cclxuXHJcbi8vICAgLyogLS0tIEF0IHJvb3QgOiBCVVRUT04gLS0tICovXHJcbi8vICAgQGF0LXJvb3Qge1xyXG4vLyAgICAgYnV0dG9uI3smfSB7XHJcbi8vICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuLy8gICAgICAgLy8gYm9yZGVyOiAycHggc29saWQgJGJ1dHRvbi1jb2xvcjtcclxuLy8gICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1jb2xvcjtcclxuXHJcbi8vICAgICAgICYuYnRuX2FjdGlmIHtcclxuLy8gICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbi8vICAgICAgICAgLy8gZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG5cclxuLy8gICAgICAgICAmOmFmdGVyIHtcclxuLy8gICAgICAgICAgIGNvbnRlbnQ6ICdcXDAwMjAnO1xyXG4vLyAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgXHJcbi8vICAgICAgICAgICBib3JkZXItdG9wOiByZW0oOCkgc29saWQgdHJhbnNwYXJlbnQ7XHJcbi8vICAgICAgICAgICBib3JkZXItYm90dG9tOiByZW0oOCkgc29saWQgdHJhbnNwYXJlbnQ7XHJcbi8vICAgICAgICAgICAvLyBib3JkZXItbGVmdDogMjVweCBzb2xpZCByZWQ7XHJcbi8vICAgICAgICAgICBib3JkZXItcmlnaHQ6IHJlbSgxOCkgc29saWQgd2hpdGU7XHJcblxyXG4vLyAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbi8vICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbi8vICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuLy8gICAgICAgICAgICAgYm9yZGVyLXRvcDogcmVtKDE4KSBzb2xpZCB0cmFuc3BhcmVudDtcclxuLy8gICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtKDE4KSBzb2xpZCB0cmFuc3BhcmVudDtcclxuLy8gICAgICAgICAgICAgLy8gYm9yZGVyLWxlZnQ6IDI1cHggc29saWQgcmVkO1xyXG4vLyAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IHJlbSgyOCkgc29saWQgd2hpdGU7XHJcbi8vICAgICAgICAgICB9XHJcbiAgICAgICAgXHJcbi8vICAgICAgICAgICB3aWR0aDogMHB4O1xyXG4vLyAgICAgICAgICAgaGVpZ2h0OiAwcHg7XHJcblxyXG4vLyAgICAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiByZW0oMTApO1xyXG5cclxuLy8gICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8gICAgICAgICAgIHotaW5kZXg6IDEwMDtcclxuICAgICAgICAgIFxyXG4vLyAgICAgICAgICAgdG9wOiA1MCU7XHJcbi8vICAgICAgICAgICBsZWZ0OiAwJTtcclxuLy8gICAgICAgICAgIC8vIG1hcmdpbi1yaWdodDogLTUwJTtcclxuICAgICAgICAgIFxyXG4vLyAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTYwJSwgLTUwJSk7XHJcbiAgICAgICAgXHJcbi8vICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuLy8gICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHJnYmEod2hpdGUsIC45KTtcclxuLy8gICAgICAgICB9XHJcbi8vICAgICAgIH1cclxuXHJcblxyXG4vLyAgICAgICAmLmJ0bl9hY3RpZiAsXHJcbi8vICAgICAgICY6aG92ZXIge1xyXG4vLyAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbi8vICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX21haW47XHJcbi8vICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCRjb2xvcl9tYWluLDEpIDAlLCByZ2JhKCRjb2xvcl9tYWluX2JpcywxKSAxMDAlKTtcclxuLy8gICAgICAgfVxyXG4vLyAgICAgfVxyXG5cclxuLy8gICB9XHJcbi8vICAgLyogLS0tIEVORCA+IEF0IHJvb3QgOiBCVVRUT04gLS0tICovXHJcblxyXG4vLyB9XHJcbi8vIC8vICoqKiAqKioqKiogRU5EID4gQlVUVE9OID4gYnV0dG9uIG1vdmUgcGhvdG9cclxuXHJcblxyXG5cclxuXHJcbi8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLFxyXG4vLyAqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBjb2RlXHJcblxyXG5cclxuLyogLS0tIEJ1dHRvbiA+IERvdWJsZSB0ZXh0ZSAtLS0gKi9cclxuLy8gLm1haW5fc2xpZGVyIHtcclxuXHJcbi8vICAgYnV0dG9uLmJ0bl9kYmxfdHggLFxyXG4vLyAgIGEuYnRuX2RibF90eCB7XHJcbi8vICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbi8vICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGxpbmstY29sb3IsIC44KTtcclxuLy8gICAgIH1cclxuLy8gICB9XHJcblxyXG4vLyAgIC5idG5fZGJsX3R4IHtcclxuLy8gICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbi8vICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbi8vICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yX21haW4sIC44KTtcclxuLy8gICAgIH1cclxuXHJcbi8vICAgfVxyXG4vLyB9XHJcblxyXG4vLyAuYnRuX2RibF90eCB7XHJcblxyXG4vLyAgIGNvbG9yOiAkd2hpdGU7XHJcbi8vICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbi8vICAgcGFkZGluZzogNnB4IDE0cHg7XHJcbi8vICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yX21haW47XHJcbi8vICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX21haW47XHJcblxyXG4vLyAgIEBleHRlbmQgJWJ0bl9zdHlsaW5nO1xyXG5cclxuXHJcbi8vICAgW2NsYXNzICo9XCJ0eC1cIl0ge1xyXG4vLyAgICAgZGlzcGxheTogYmxvY2s7XHJcbi8vICAgfVxyXG4vLyAgIC50eC0xIHtcclxuLy8gICAgIGZvbnQtc2l6ZTogZW0oMTgpO1xyXG4vLyAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbi8vICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4vLyAgIH1cclxuLy8gICAudHgtMiB7XHJcbi8vICAgICBmb250LXNpemU6IGVtKDE0KTtcclxuLy8gICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuLy8gICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbi8vICAgfVxyXG5cclxuLy8gICAmLXRlbCB7XHJcbi8vICAgICAudHgtMiB7XHJcbi8vICAgICAgIGZvbnQtc2l6ZTogZW0oMTgpO1xyXG4vLyAgICAgfVxyXG4vLyAgIH1cclxuXHJcbi8vICAgLyogLS0tIEF0IHJvb3QgLS0tICovXHJcbi8vICAgQGF0LXJvb3Qge1xyXG4vLyAgICAgYnV0dG9uI3smfSAsXHJcbi8vICAgICBhI3smfSB7XHJcbi8vICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuLy8gICAgIH1cclxuXHJcbi8vICAgICAvLyAqKiogTWFucXVlIGfDqW7DqXJhdGlvbiBkdSAtd2Via2l0LVxyXG4vLyAgICAgLy8gYVt0YXJnZXQ9XCJfYmxhbmtcIl0jeyZ9IHtcclxuLy8gICAgIC8vICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4vLyAgICAgLy8gICBwYWRkaW5nLXJpZ2h0OiA0NnB4O1xyXG5cclxuLy8gICAgIC8vICAgJjphZnRlciB7XHJcbi8vICAgICAvLyAgICAgY29udGVudDogJ1xcMDAyMCc7XHJcbi8vICAgICAvLyAgICAgZGlzcGxheTogYmxvY2s7XHJcbi8vICAgICAvLyAgICAgd2lkdGg6IDIzcHg7XHJcbi8vICAgICAvLyAgICAgaGVpZ2h0OiAyM3B4O1xyXG5cclxuLy8gICAgIC8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDEwMDtcclxuLy8gICAgIC8vICAgICB0b3A6IDEzcHg7IHJpZ2h0OiAxNHB4O1xyXG5cclxuLy8gICAgIC8vICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4vLyAgICAgLy8gICAgIG1hc2staW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2V4dGVybmFsX2xpbmsuc3ZnJyk7XHJcbi8vICAgICAvLyAgIH1cclxuXHJcbi8vICAgICAvLyB9XHJcbi8vICAgfVxyXG4vLyAgIC8qIC0tLSBFTkQgPiBBdCByb290IC0tLSAqL1xyXG5cclxuLy8gICAvKiAtLS0gQXQgcm9vdCA6IExJTksgLS0tICovXHJcbi8vICAgQGF0LXJvb3Qge1xyXG4vLyAgICAgYSN7Jn0ge1xyXG4vLyAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkbGluay1jb2xvcjtcclxuLy8gICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpbmstY29sb3I7XHJcblxyXG4vLyAgICAgICAmLmJ0bl9hY3RpZiAsXHJcbi8vICAgICAgICY6aG92ZXIge1xyXG4vLyAgICAgICAgIGNvbG9yOiAkbGluay1jb2xvcjtcclxuLy8gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbi8vICAgICAgIH1cclxuLy8gICAgIH1cclxuXHJcbi8vICAgICBhW3RhcmdldD1cIl9ibGFua1wiXSN7Jn0ge1xyXG5cclxuLy8gICAgICAgJjphZnRlciB7XHJcbi8vICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4vLyAgICAgICB9XHJcblxyXG4vLyAgICAgICAmLmJ0bl9hY3RpZiAsXHJcbi8vICAgICAgICY6aG92ZXIge1xyXG4vLyAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuLy8gICAgICAgICAmOmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJGxpbmstY29sb3I7IH1cclxuLy8gICAgICAgfVxyXG5cclxuLy8gICAgIH1cclxuLy8gICB9XHJcbi8vICAgLyogLS0tIEVORCA+IEF0IHJvb3QgOiBMSU5LIC0tLSAqL1xyXG5cclxuLy8gICAvKiAtLS0gQXQgcm9vdCA6IEJVVFRPTiAtLS0gKi9cclxuLy8gICBAYXQtcm9vdCB7XHJcbi8vICAgICBidXR0b24jeyZ9IHtcclxuLy8gICAgICAgYm9yZGVyOiAycHggc29saWQgJGJ1dHRvbi1jb2xvcjtcclxuLy8gICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1jb2xvcjtcclxuXHJcbi8vICAgICAgICYuYnRuX2FjdGlmICxcclxuLy8gICAgICAgJjpob3ZlciB7XHJcbi8vICAgICAgICAgY29sb3I6ICRidXR0b24tY29sb3I7XHJcbi8vICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4vLyAgICAgICB9XHJcbi8vICAgICB9XHJcblxyXG4vLyAgICAgYnV0dG9uW3RhcmdldD1cIl9ibGFua1wiXSN7Jn0ge1xyXG5cclxuLy8gICAgICAgJjphZnRlciB7XHJcbi8vICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4vLyAgICAgICB9XHJcblxyXG4vLyAgICAgICAmLmJ0bl9hY3RpZiAsXHJcbi8vICAgICAgICY6aG92ZXIge1xyXG4vLyAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuLy8gICAgICAgICAmOmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1jb2xvcjsgfVxyXG4vLyAgICAgICB9XHJcblxyXG4vLyAgICAgfVxyXG4vLyAgIH1cclxuLy8gICAvKiAtLS0gRU5EID4gQXQgcm9vdCA6IEJVVFRPTiAtLS0gKi9cclxuXHJcbi8vIH1cclxuLyogLS0tIEVORCA+IEJ1dHRvbiA+IERvdWJsZSB0ZXh0ZSAtLS0gKi9cclxuXHJcblxyXG5cclxuXHJcblxyXG4uZm9ybV9zdGFuZGFyZCB7XHJcbiAgLmJ0bl8wMS10ZXh0YXJlYSAsXHJcbiAgLmJ0bl8wMS1pbnB1dCB7XHJcblxyXG4gICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICBjb2xvcjogbGlnaHRlbigjMDAwLCA4MCUpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuLy8gKioqIFBvdXIgbGUgZmlsdGVyXHJcblxyXG4udG9nZ2xlLWdyb3VwICB7XHJcblxyXG5cclxuICBzdmcge1xyXG5cclxuICB9XHJcbiAgLmljbyB7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIG9wYWNpdHk6IC40O1xyXG4gICAgfVxyXG4gIH1cclxuICAgIC5idG5fYWxsIHtcclxuXHJcbiAgICAgIC8vIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHJlZCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgLmljbyB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgXHJcbn1cclxuXHJcbi5idG5fYWxsIHtcclxuICBAZXh0ZW5kICVidG5fc3R5bGluZztcclxuXHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICAuaWNvIHtcclxuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgcGFkZGluZzogMC4zcmVtO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJHdoaXRlO1xyXG4gICAgXHJcbiAgICB3aWR0aDogNDBweDtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIFxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICBwYWRkaW5nOiAwLjRyZW07XHJcbiAgICAgIHdpZHRoOiA2NXB4O1xyXG4gICAgICBoZWlnaHQ6IDY1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgZmlsbDogJHdoaXRlO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudHgge1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIH1cclxuXHJcbiAgJi5idG5fYWN0aWYsXHJcbiAgJjpob3ZlciB7XHJcblxyXG4gICAgLmljbyB7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tY29sb3I7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9zZWNvbmQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuXHJcbi5idG5fY3RhIHtcclxuICBAZXh0ZW5kICVidG5fc3R5bGluZztcclxuXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgYm9yZGVyOiAxMHB4IHNvbGlkICR3aGl0ZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR3aGl0ZSwgLjgpO1xyXG5cclxuICAuaW1nIHtcclxuICAgIGZsZXg6IDAgMCBwZXJjZW50YWdlKG1hdGguZGl2KDQsIDEyKSk7XHJcbiAgfVxyXG5cclxuICAuY29udGVudCB7XHJcbiAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UobWF0aC5kaXYoNy41LCAxMikpO1xyXG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UobWF0aC5kaXYoMC41LCAxMikpO1xyXG4gICAgcGFkZGluZzogMC42cmVtIDAgMXJlbTtcclxuICB9XHJcbiAgICAudGl0cmUge1xyXG5cclxuICAgIH1cclxuICAgIC8vIC50eCB7XHJcbiAgICAvLyAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAvLyAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4gICAgLy8gICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgIC8vICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAvLyAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgXHJcbiAgLnRpdHJlX2RvdWJsZSB7XHJcblxyXG4gICAgZm9udC1zaXplOiByZW0oNCk7XHJcbiAgICAvLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7IGZvbnQtc2l6ZTogcmVtKDkpOyB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7IGZvbnQtc2l6ZTogcmVtKDcpOyB9XHJcbiAgICAvLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7IGZvbnQtc2l6ZTogcmVtKDYuMik7IH1cclxuICAgIC8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7IGZvbnQtc2l6ZTogcmVtKDQpOyB9XHJcblxyXG4gICAgLnRpdHJlIHtcclxuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCBkYXJrZW4oJGNvbG9yX21haW5fYmlzLDE0KSAwJSwgZGFya2VuKCRjb2xvcl9tYWluLDE0KSAxMDAlKTtcclxuICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XHJcbiAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAxLjhzIGxpbmVhcjtcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIC50aXRyZV9kb3VibGUgLnNvdXN0aXRyZSB7XHJcbiAgICBjb2xvcjogJGJvZHktY29sb3I7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICB9XHJcbiAgLnRpdHJlX2RvdWJsZSAuc291c3RpdHJlOmJlZm9yZSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDcxJTtcclxuICB9XHJcblxyXG5cclxuICAmLmJ0bl9hY3RpZixcclxuICAmOmhvdmVyIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcbiAgJjpob3ZlciB7XHJcbiAgICAudGl0cmUge1xyXG5cclxuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAkY29sb3JfbWFpbiAwJSwgJGNvbG9yX3NlY29uZCAxMDAlKTtcclxuICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XHJcbiAgICAgIC8vIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCwgdG9wIHJpZ2h0O1xyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG4iLCJcclxuXHJcblxyXG4vLyAqKiogKioqKioqIFJlZ3JvdXBlbWVudCBkZSBwbHVzaWV1cnMgYm91dG9uc1xyXG4ubGlzdF9idG4ge1xyXG4gIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBAZXh0ZW5kICVyZXNldF91bDtcclxuXHJcbiAgLmJ0biAsXHJcbiAgbGkge1xyXG4gICAgLy8gZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgLy8gdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIC8vIG1hcmdpbjogMCByZW0oMjApIHJlbSgxMCk7XHJcbiAgfVxyXG5cclxuICAuYnRuIHtcclxuXHJcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcblxyXG4gICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIiwiXHJcblxyXG5cclxuLy8gLmhlcm9fbywgLnZpZGVvX28ge1xyXG4uaGVyb19vIHtcclxuICAubGlzdF9yZXNlYXV4IHtcclxuXHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cclxuICAgIC50aXRyZSB7XHJcbiAgICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgbWFyZ2luLWJvdHRvbTogLjNyZW07XHJcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcclxuICAgIH1cclxuXHJcbiAgICAubGlzdF9yZXNlYXV4LXVsIHtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICBmbGV4OiAwIDAgMTAwJTtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG59XHJcblxyXG4uaGVyb19pIC5oZWFkLXdyYXBwZXIge1xyXG4gIC5saXN0X3Jlc2VhdXgge1xyXG5cclxuICAgIC50aXRyZSB7XHJcbiAgICAgIC8vIHRleHQtc2hhZG93OiAwcHggMHB4IDEwcHggcmdiYSgkYm9keS1jb2xvciwgLjYpO1xyXG4gICAgICB0ZXh0LXNoYWRvdzogMHB4IDBweCA0cHggcmdiYSgkYm9keS1jb2xvciwgLjYpLCAwcHggMHB4IDZweCByZ2JhKCRib2R5LWNvbG9yLCAuNik7XHJcbiAgICB9XHJcbiAgICAgXHJcbiAgICAuaW5uZXJfbGk6aG92ZXIge1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIGZpbHRlcjogaW52ZXJ0KDAlKSBzZXBpYSgwJSkgc2F0dXJhdGUoMCUpIGh1ZS1yb3RhdGUoMGRlZykgYnJpZ2h0bmVzcygxMDAlKSBjb250cmFzdCgxMDAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4ubGlzdF9yZXNlYXV4IHtcclxuXHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG5cclxuXHJcbiAgLy8gYmFja2dyb3VuZC1jb2xvcjogZ3JheTtcclxuXHJcblxyXG4gIC50aXRyZSB7XHJcblxyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjJyZW07XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgLy8gbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgIC8vIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gICYtdWwge1xyXG4gICAgQGV4dGVuZCAlcmVzZXRfdWw7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgfVxyXG5cclxuICAmLWxpIHtcclxuICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIC8vIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblxyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgICAvLyAqKiogKioqKioqIFRBRyA8YT5cclxuICAgIC5pbm5lcl9saSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB3aWR0aDogJHJlc2VhdV9pY29fSF9fbW9iaWxlO1xyXG4gICAgICBoZWlnaHQ6ICRyZXNlYXVfaWNvX0hfX21vYmlsZTtcclxuICAgICAgLy8gYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgICAgXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICB3aWR0aDogJHJlc2VhdV9pY29fSF9fZGVza3RvcDtcclxuICAgICAgICBoZWlnaHQ6ICRyZXNlYXVfaWNvX0hfX2Rlc2t0b3A7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGEuaW5uZXJfbGkge31cclxuICAgIC8vICoqKiAqKioqKiogRU5EID4gVEFHIDxhPlxyXG5cclxuXHJcbiAgc3ZnICxcclxuICBpbWcge1xyXG5cclxuICB9XHJcblxyXG4gIGltZyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAkcmVzZWF1X2ljb19IX19tb2JpbGU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAvLyBwYWRkaW5nOiA2cHg7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG4gICAgXHJcbiAgICAvLyBmaWx0ZXI6IGludmVydCgwJSkgc2VwaWEoMCUpIHNhdHVyYXRlKDApIGh1ZS1yb3RhdGUoMGRlZykgYnJpZ2h0bmVzcygwJSkgY29udHJhc3QoNDAlKTtcclxuICAgIC8vIGZpbHRlcjogaW52ZXJ0KDg4JSkgc2VwaWEoMjMlKSBzYXR1cmF0ZSg0MDglKSBodWUtcm90YXRlKDI2ZGVnKSBicmlnaHRuZXNzKDg2JSkgY29udHJhc3QoODglKTtcclxuXHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICB3aWR0aDogJHJlc2VhdV9pY29fSF9fZGVza3RvcDtcclxuICAgIH1cclxuICB9XHJcbiAgc3ZnIHtcclxuICAgIHdpZHRoOiAkcmVzZWF1X2ljb19IX19tb2JpbGU7XHJcbiAgICBoZWlnaHQ6ICRyZXNlYXVfaWNvX0hfX21vYmlsZTtcclxuICAgIGZpbGw6ICRib2R5LWNvbG9yO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycztcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgd2lkdGg6ICRyZXNlYXVfaWNvX0hfX2Rlc2t0b3A7XHJcbiAgICAgIGhlaWdodDogJHJlc2VhdV9pY29fSF9fZGVza3RvcDtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuXHJcbiAgLnN2Zy1mYWNlYm9vayB7XHJcbiAgICBcclxuICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9mYWNlYm9vaztcclxuICAgIFxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX21haW47XHJcblxyXG4gICAgICBzdmcge1xyXG4gICAgICAgIGZpbGw6ICRjb2xvcl9mYWNlYm9vaztcclxuICAgICAgfVxyXG4gICAgICBpbWcge1xyXG4gICAgICAgIGZpbHRlcjogaW52ZXJ0KDM4JSkgc2VwaWEoOCUpIHNhdHVyYXRlKDMyODQlKSBodWUtcm90YXRlKDE4MmRlZykgYnJpZ2h0bmVzcyg5NiUpIGNvbnRyYXN0KDg4JSk7XHJcbiAgICAgICAgLy8gZmlsdGVyOiBpbnZlcnQoMCUpIHNlcGlhKDAlKSBzYXR1cmF0ZSgwJSkgaHVlLXJvdGF0ZSgwZGVnKSBicmlnaHRuZXNzKDEwMCUpIGNvbnRyYXN0KDEwMCUpO1xyXG4gICAgICAgIC8vIGZpbHRlcjogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuc3ZnLWluc3RhZ3JhbSB7XHJcbiAgICBcclxuICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9pbnN0YWdyYW07XHJcbiAgICBcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9tYWluO1xyXG4gICAgICBcclxuICAgICAgc3ZnIHtcclxuICAgICAgICBmaWxsOiAkY29sb3JfaW5zdGFncmFtO1xyXG4gICAgICAgIFxyXG4gICAgICB9XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgZmlsdGVyOiBpbnZlcnQoMjYlKSBzZXBpYSg5MSUpIHNhdHVyYXRlKDIyMjIlKSBodWUtcm90YXRlKDMxOGRlZykgYnJpZ2h0bmVzcyg5MCUpIGNvbnRyYXN0KDg3JSk7XHJcbiAgICAgICAgLy8gZmlsdGVyOiBpbnZlcnQoMCUpIHNlcGlhKDAlKSBzYXR1cmF0ZSgwJSkgaHVlLXJvdGF0ZSgwZGVnKSBicmlnaHRuZXNzKDEwMCUpIGNvbnRyYXN0KDEwMCUpO1xyXG4gICAgICAgIC8vIGZpbHRlcjogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuc3ZnLXR3aXR0ZXIge1xyXG4gICAgXHJcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfdHdpdHRlcjtcclxuICAgIFxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX21haW47XHJcbiAgICAgIFxyXG4gICAgICBzdmcge1xyXG4gICAgICAgIGZpbGw6ICRjb2xvcl90d2l0dGVyO1xyXG4gICAgICB9XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgZmlsdGVyOiBpbnZlcnQoNTclKSBzZXBpYSg5NiUpIHNhdHVyYXRlKDMzOCUpIGh1ZS1yb3RhdGUoMTUyZGVnKSBicmlnaHRuZXNzKDkwJSkgY29udHJhc3QoOTElKTtcclxuICAgICAgICAvLyBmaWx0ZXI6IGludmVydCgwJSkgc2VwaWEoMCUpIHNhdHVyYXRlKDAlKSBodWUtcm90YXRlKDBkZWcpIGJyaWdodG5lc3MoMTAwJSkgY29udHJhc3QoMTAwJSk7XHJcbiAgICAgICAgLy8gZmlsdGVyOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zdmcteW91dHViZSB7XHJcbiAgICBcclxuICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl95b3V0dWJlO1xyXG4gICAgXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbWFpbjtcclxuICAgICAgXHJcbiAgICAgIHN2ZyB7XHJcbiAgICAgICAgZmlsbDogJGNvbG9yX3lvdXR1YmU7XHJcbiAgICAgIH1cclxuICAgICAgaW1nIHtcclxuICAgICAgICBmaWx0ZXI6IGludmVydCgyNCUpIHNlcGlhKDkzJSkgc2F0dXJhdGUoNDkwOCUpIGh1ZS1yb3RhdGUoMzMzZGVnKSBicmlnaHRuZXNzKDczJSkgY29udHJhc3QoMTYzJSk7XHJcbiAgICAgICAgLy8gZmlsdGVyOiBpbnZlcnQoMCUpIHNlcGlhKDAlKSBzYXR1cmF0ZSgwJSkgaHVlLXJvdGF0ZSgwZGVnKSBicmlnaHRuZXNzKDEwMCUpIGNvbnRyYXN0KDEwMCUpO1xyXG4gICAgICAgIC8vIGZpbHRlcjogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuLy8gKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiosXHJcbi8vICoqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIGNvZGVcclxuXHJcblxyXG4jbWFpbl9oZWFkZXIge1xyXG4gIC5saXN0X3Jlc2VhdXgge1xyXG4gICAgbWFyZ2luLXRvcDogNXB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4jbWFpbl9mb290ZXIge1xyXG4gIC5saXN0X3Jlc2VhdXgtdWwge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luLXRvcDogMXJlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgfVxyXG4gIC5saXN0X3Jlc2VhdXgtbGkge1xyXG4gICAgbWFyZ2luOiAwIDRweCA1cHg7XHJcbiAgfVxyXG59IiwiLnNlYXJjaGZvcm0ge1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjc1cyBlYXNlLWluLW91dDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgei1pbmRleDogNTtcclxuXHJcbiAgLmNvbnRyb2wtZ3JvdXAtd3JhcHBlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XHJcbiAgICBwYWRkaW5nOiAwLjVlbTtcclxuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE1cHggcmdiYSgkYmxhY2ssIDAuOCk7XHJcbiAgICBnYXA6IDAuNXJlbTtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgI2Jvb2stZm9ybS13cmFwcGVyLWJhbm5lciAmIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICAgIGhlaWdodDogcmVtKDcwKTtcclxuICAgICAgICBnYXA6IDA7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3JlbTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMmVtO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICNib29rLWZvcm0td3JhcHBlci1maXhlZCAmIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgIGhlaWdodDogcmVtKDYwKTtcclxuICAgICAgICBnYXA6IDA7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3JlbTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMmVtO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcbiAgICAgIGhlaWdodDogcmVtKDgwKTtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAyLjVlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb250cm9sLWdyb3VwIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZm9udC1zaXplOiAwLjlyZW07XHJcblxyXG4gICAgI2Jvb2stZm9ybS13cmFwcGVyLWJhbm5lciAmIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgI2Jvb2stZm9ybS13cmFwcGVyLWZpeGVkICYge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xyXG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBoZWlnaHQ6IHJlbSgyMCk7XHJcbiAgICAgIHRvcDogcmVtKDEwKTtcclxuICAgICAgbGVmdDogMC41ZW07XHJcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICAgICAgI2Jvb2stZm9ybS13cmFwcGVyLWJhbm5lciAmIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAgICAgICB0b3A6IHJlbSgyMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcclxuICAgICAgICAgIGhlaWdodDogcmVtKDI1KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgI2Jvb2stZm9ybS13cmFwcGVyLWZpeGVkICYge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgIHRvcDogcmVtKDIwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnN1Ym1pdC1mb3JtIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAjYm9vay1mb3JtLXdyYXBwZXItYmFubmVyICYge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDAgcmVtKDcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAjYm9vay1mb3JtLXdyYXBwZXItZml4ZWQgJiB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgcGFkZGluZzogMCByZW0oNyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcbiAgICAgICAgcGFkZGluZzogMCByZW0oMTApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbnB1dCNkYXRlcmFuZ2UtaW5wdXQsXHJcbiAgc2VsZWN0LFxyXG4gIC5pbnB1dCB7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnRfbWFpbjtcclxuICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IHJlbSg0MCk7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG5cclxuICAgIGlucHV0I3RyYXZlbGVycyB7XHJcbiAgICAgIHdpZHRoOiAxLjVlbTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICNib29rLWZvcm0td3JhcHBlci1iYW5uZXIgJiB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICNib29rLWZvcm0td3JhcHBlci1maXhlZCAmIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5wdXQjZGF0ZXJhbmdlLWlucHV0LFxyXG4gIHNlbGVjdCB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbnB1dCNkYXRlcmFuZ2UtaW5wdXQge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgLmlucHV0IHtcclxuICAgIGdhcDogMC43NWVtO1xyXG5cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmQ7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XHJcbiAgICAgIGhlaWdodDogcmVtKDMwKTtcclxuICAgICAgd2lkdGg6IHJlbSgzMCk7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xyXG4gICAgICAgIGhlaWdodDogcmVtKDM0KTtcclxuICAgICAgICB3aWR0aDogcmVtKDM0KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKHJlZCwgMTAlKTtcclxuICAgICAgfVxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgJGJsdWU7XHJcbiAgICAgIH1cclxuICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IHJlbSg0MCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwLjVlbTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xyXG5cclxuICAgICNib29rLWZvcm0td3JhcHBlci1iYW5uZXIgJiB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgICAgICBoZWlnaHQ6IHJlbSg2MCk7XHJcbiAgICAgICAgd2lkdGg6IHJlbSg2MCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAjYm9vay1mb3JtLXdyYXBwZXItZml4ZWQgJiB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICBoZWlnaHQ6IHJlbSg1MCk7XHJcbiAgICAgICAgd2lkdGg6IHJlbSg1MCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkb3JhbmdlLCAxMCUpO1xyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmRhdGVyYW5nZXBpY2tlciB0ZC5pbi1yYW5nZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkb3JhbmdlLCAwLjUpO1xyXG59XHJcblxyXG4uZGF0ZXJhbmdlcGlja2VyIHRkLmFjdGl2ZSxcclxuLmRhdGVyYW5nZXBpY2tlciB0ZC5hY3RpdmU6aG92ZXIge1xyXG4gIC8vIGJhY2tncm91bmQtY29sb3I6IGJsdWUoKTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBwdXJwbGU7XHJcbn1cclxuXHJcbiNib29rLWZvcm0td3JhcHBlci1maXhlZCB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGJvdHRvbTogMjQycHg7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICB6LWluZGV4OiAyMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIG1heC1oZWlnaHQ6IDA7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcclxuICAgIHRvcDogMS41cmVtO1xyXG4gICAgYm90dG9tOiB1bnNldDtcclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgdG9wOiAwO1xyXG4gIH1cclxuXHJcbiAgJi5hY3RpdmUgLnNlYXJjaGZvcm0ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiB2aXNpYmxlO1xyXG4gIH1cclxuXHJcbiAgLnNlYXJjaGZvcm0ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkocmVtKC00MCkpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMzVzIGVhc2Utb3V0O1xyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eHhsKSB7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250cm9sLWdyb3VwLXdyYXBwZXIge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnJlbTtcclxuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4jYm9vay1mb3JtLXdyYXBwZXItYmFubmVyIHtcclxuICBtaW4taGVpZ2h0OiAxODNweDtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgbWluLWhlaWdodDogcmVtKDcwKTtcclxuICB9XHJcbn1cclxuIiwiXHJcblxyXG4uaG9tZSB7XHJcblxyXG4gICAgLnBmcV9fdGhlbWVzIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgLnBmcV9fcXVlc3Rpb25zX19ncm91cCA+IGgzIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5wZnEge1xyXG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgIC5wZnFfX3F1ZXN0aW9ucyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgfVxyXG4gICAgLnBmcSAucGZxX19xdWVzdGlvbl9fdGl0bGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI2KSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udF9zZWNvbmQ7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0oNDApICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLnBmcSB7XHJcblxyXG5cclxuICAgIC5wZnFfX3RvcCB7XHJcbiAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG4gICAgICAgIC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTFlMWUxO1xyXG5cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAvLyBjb2xvcjogcmVkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLnBmcV9fdGhlbWVzIHtcclxuICAgICAgbGkge1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAucGZxX19xdWVzdGlvbnMge1xyXG5cclxuICAgIH1cclxuICAgIC5wZnFfX3RoZW1lLmFjdGl2ZSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX3NpeGU7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gICAgLnBmcV9fcXVlc3Rpb25zX19ncm91cCB7XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9tYWluICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAvLyBmb250LXNpemU6IHJlbSg2MCkgIWltcG9ydGFudDtcclxuICAgICAgICAgIC8vIGZvbnQtZmFtaWx5OiAkZm9udF9zZWNvbmQ7XHJcbiAgICAgICAgICAvLyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQtYmlzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIC5wZnFfX3F1ZXN0aW9uX190aXRsZSB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3JfbWFpbl9iaXMgIWltcG9ydGFudDtcclxuICAgICAgZm9udC1zaXplOiByZW0oMjApICFpbXBvcnRhbnQ7XHJcbiAgICAgIFxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjYpICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gICAgLnBmcV9fYW5zd2VyIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIFxyXG4gICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7XHJcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcclxuICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAxMDAwbXMgY3ViaWMtYmV6aWVyKC4yLC45LC4yLDEpLCBvcGFjaXR5IDI0MG1zIGVhc2UsIHRyYW5zZm9ybSAyNDBtcyBlYXNlO1xyXG4gICAgfVxyXG4gICAgLm9wZW4gLnBmcV9fYW5zd2VyIHtcclxuICAgICAgbWF4LWhlaWdodDogMTAwMHB4O1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIFxyXG59IiwiXHJcblxyXG5cclxuLmZsYXNoX2luZm9faSB7XHJcblxyXG5cclxuICAjcGx1bmUtZmxhc2gtaW5mbyB7XHJcbiAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfc2Vjb25kICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQzZGVnLCRjb2xvcl9zZWNvbmQgMCUsIGxpZ2h0ZW4oJGNvbG9yX21haW4sIDIwKSAxMDAlKTtcclxuICB9XHJcblxyXG5cclxuICAjaGVyb19mbiB7XHJcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xyXG4gIH1cclxuXHJcbiAgLmhhbWJ1cmdlciB7XHJcbiAgICB0b3A6IDcwcHg7XHJcbiAgfVxyXG5cclxuICBhLmxpbmtfcmVzYSB7XHJcbiAgICB0b3A6IDcwcHg7XHJcbiAgfVxyXG5cclxuICAud3BtbC1scy1sZWdhY3ktZHJvcGRvd24ge1xyXG4gICAgdG9wOiA3MHB4O1xyXG4gIH1cclxuXHJcbiAgLmhlYWRlci1sb2dvID4gLmlubmVyIHtcclxuICAgIHRvcDogNzBweDtcclxuICB9XHJcblxyXG5cclxufSIsIi8vIFZvaXIgZmljaGllciBpbml0LnNjc3MgcG91ciBsZSAkZm9udF9tYWluXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnZmFsbGluZHJlZ3VsYXInO1xyXG4gIHNyYzogdXJsKCcuLi9mb250cy9mYWxsaW5kLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL2ZhbGxpbmQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG59XHJcblxyXG4vLyBFdC9PdSBkdSBHb29nbGUgZm9udFxyXG4vLyBAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVBvcHBpbnM6MjAwLDQwMCw4MDAnKTtcclxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8qIDcuUExVTkUgTU9EVUxFUyBUQVJJRkZTIERZTkFNSUMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG5cclxuQGltcG9ydCBcIm1vZHVsZS90YXJpZmZzL3ZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwibW9kdWxlL3RhcmlmZnMvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCJtb2R1bGUvdGFyaWZmcy9zZWFyY2hmb3JtXCI7XHJcbkBpbXBvcnQgXCJtb2R1bGUvdGFyaWZmcy9pbnZlbnRvcnlcIjtcclxuQGltcG9ydCBcIm1vZHVsZS90YXJpZmZzL2F2YWlsYWJpbGl0eVwiO1xyXG5AaW1wb3J0IFwibW9kdWxlL3RhcmlmZnMvcmV2aWV3c1wiO1xyXG5AaW1wb3J0IFwibW9kdWxlL3RhcmlmZnMvZmlsdGVyc1wiO1xyXG5AaW1wb3J0IFwibW9kdWxlL3RhcmlmZnMvcHJldmlld3NcIjtcclxuXHJcbkBpbXBvcnQgXCJtb2R1bGUvdGFyaWZmcy9hcmNoaXZlc1wiO1xyXG5AaW1wb3J0IFwibW9kdWxlL3RhcmlmZnMvc2luZ2xlLWhlYmVyZ2VtZW50XCI7XHJcbiIsIlxyXG5cclxuLy8gI2Jvb2stZm9ybS13cmFwcGVyLW1hc3RoZWFkIHtcclxuLy8gICBwb3NpdGlvbjogZml4ZWQ7XHJcbi8vICAgd2lkdGg6IDEwMCU7XHJcbi8vICAgdG9wOiBjYWxjKDEwMHZoIC0gOTBweCk7XHJcbi8vICAgei1pbmRleDogMTU7XHJcbi8vICAgdHJhbnNpdGlvbjogJGJhc2UtdHJhbnNpdGlvbjtcclxuXHJcbi8vICAgQGluY2x1ZGUgbWF4LW1kIHtcclxuLy8gICAgIHRvcDogYXV0bztcclxuLy8gICAgIGJvdHRvbTogNnB4O1xyXG4vLyAgICAgLy8gcG9zaXRpb246IGZpeGVkO1xyXG4vLyAgICAgLy8gYm90dG9tOiA1cHg7XHJcbi8vICAgICAvLyB0b3A6IGF1dG87XHJcbi8vICAgfVxyXG4vLyB9XHJcblxyXG5cclxuLy8gI3NlYXJjaGZvcm0ge1xyXG4vLyAgIC8vIHBvc2l0aW9uOiBzdGlja3k7XHJcbi8vICAgLy8gdG9wOiA2cmVtO1xyXG4vLyAgIHotaW5kZXg6IDEwO1xyXG4vLyAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuLy8gICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbi8vICAgLy8gbWF4LWhlaWdodDogMDtcclxuLy8gICAvLyB0cmFuc2l0aW9uOiBhbGwgLjc1cyBlYXNlLWluLW91dDtcclxuLy8gICBAaW5jbHVkZSBtYXgtbWQge1xyXG4vLyAgICAgLy8gZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4vLyAgICAgLy8gcG9zaXRpb246IGZpeGVkO1xyXG4vLyAgICAgLy8gYm90dG9tOiA1cHg7XHJcbi8vICAgICAvLyB0b3A6IGF1dG87XHJcbi8vICAgfVxyXG4vLyAgICYuYWN0aXZlIHtcclxuLy8gICAgIC8vIG1heC1oZWlnaHQ6IDk5OXB4O1xyXG4vLyAgICAgLnNlYXJjaGZvcm0ge1xyXG4vLyAgICAgICBhbmltYXRpb246IGZhZGVJbiAwLjVzIGVhc2UtaW4tb3V0IGZvcndhcmRzO1xyXG4vLyAgICAgfVxyXG4vLyAgIH1cclxuLy8gICBAa2V5ZnJhbWVzIGZhZGVJbiB7XHJcbi8vICAgICAwJSB7XHJcbi8vICAgICAgIG9wYWNpdHk6IDA7XHJcbi8vICAgICB9XHJcbi8vICAgICAxMDAlIHtcclxuLy8gICAgICAgb3BhY2l0eTogMTtcclxuLy8gICAgIH1cclxuLy8gICB9XHJcbi8vIH1cclxuXHJcblxyXG4vLyAuc3ViX19tZW51IHtcclxuLy8gICBkaXNwbGF5OiBub25lO1xyXG5cclxuLy8gICBbaWRePVwibWVudS1zb3VzLW1lbnVcIl0ge1xyXG4vLyAgICAgZGlzcGxheTogZmxleDtcclxuLy8gICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbi8vICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuLy8gICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4vLyAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4vLyAgICAgY29sb3I6ICNmZmY7XHJcbiAgICBcclxuLy8gICAgIGxpIHtcclxuLy8gICAgICAgcGFkZGluZzogNXB4IDlweDtcclxuLy8gICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuLy8gICAgICAgdGV4dC1zaGFkb3c6IDBweCAzcHggOHB4IGJsYWNrO1xyXG4vLyAgICAgfVxyXG4vLyAgIH1cclxuXHJcbi8vIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG4vLyAuc2VhcmNoZm9ybSB7XHJcbi8vICAgZGlzcGxheTogZmxleDtcclxuLy8gICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuLy8gICB6LWluZGV4OiAxNTtcclxuLy8gICBkaXNwbGF5OiBmbGV4O1xyXG4vLyAgIHdpZHRoOiAxMDAlO1xyXG4vLyAgIC8vIHBvc2l0aW9uOiBmaXhlZDtcclxuLy8gICAvLyB0b3A6IGNhbGMoMTAwdmggLSA5MHB4KTtcclxuXHJcbi8vICAgLmNvbnRyb2wtZ3JvdXAtd3JhcHBlciB7XHJcbi8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcclxuLy8gICAgIGJvcmRlci1yYWRpdXM6IDEuNWVtO1xyXG4vLyAgICAgYm94LXNoYWRvdzogMCA0cHggMTVweCAkYmxhY2s7XHJcbi8vICAgICBwYWRkaW5nOiAwLjc1ZW07XHJcbi8vICAgICBwYWRkaW5nLXRvcDogMWVtO1xyXG4vLyAgICAgZ2FwOiAxZW07XHJcblxyXG4vLyAgICAgQGluY2x1ZGUgbWF4LW1kIHtcclxuLy8gICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xyXG4vLyAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbi8vICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4vLyAgICAgICBtYXJnaW4tYm90dG9tOiA1cmVtXHJcbi8vICAgfVxyXG4vLyAgICAgQGluY2x1ZGUgbWluLW1kIHtcclxuLy8gICAgICAgLy8gaGVpZ2h0OiBweHIoNzApO1xyXG4vLyAgICAgICBwYWRkaW5nOiAwO1xyXG4vLyAgICAgICBnYXA6IDA7XHJcbi8vICAgICAgIGJvcmRlci1yYWRpdXM6IDNlbTtcclxuLy8gICAgICAgcGFkZGluZy1sZWZ0OiAyZW07XHJcbi8vICAgICB9XHJcblxyXG4vLyAgICAgQGluY2x1ZGUgbWluLXh4bCB7XHJcbi8vICAgICAgIHBhZGRpbmctbGVmdDogMi41ZW07XHJcbi8vICAgICAgIC8vIGhlaWdodDogcHhyKDc4KTtcclxuLy8gICAgIH1cclxuLy8gICB9XHJcblxyXG4vLyAgIC5jb250cm9sLWdyb3VwIHtcclxuLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuLy8gICAgIGZvbnQtc2l6ZTogMC44cmVtO1xyXG4vLyAgICAgd2lkdGg6IDEwMCU7XHJcbi8vICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuXHJcbi8vICAgICBAaW5jbHVkZSBtaW4tbWQge1xyXG4vLyAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbi8vICAgICAgIHdpZHRoOiBhdXRvO1xyXG4vLyAgICAgfVxyXG5cclxuLy8gICAgIEBpbmNsdWRlIG1pbi14eGwge1xyXG4vLyAgICAgICAvLyBmb250LXNpemU6IDEuMWVtO1xyXG4vLyAgICAgfVxyXG5cclxuLy8gICAgICYuZGF0ZXM6OmFmdGVyLFxyXG4vLyAgICAgJi50cmF2ZWxlcnM6OmFmdGVyIHtcclxuLy8gICAgICAgQGluY2x1ZGUgbWluLW1kIHtcclxuLy8gICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4vLyAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4vLyAgICAgICAgIHdpZHRoOiAxcHg7XHJcbi8vICAgICAgICAgaGVpZ2h0OiA2MCU7XHJcbi8vICAgICAgICAgbWFyZ2luOiBhdXRvIDFlbTtcclxuLy8gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTg0LCAxODQsIDE4NCk7XHJcbi8vICAgICAgIH1cclxuLy8gICAgIH1cclxuXHJcbi8vICAgICAmLnN1Ym1pdC1mb3JtIHtcclxuLy8gICAgICAgQGluY2x1ZGUgbWluLW1kIHtcclxuLy8gICAgICAgICBwYWRkaW5nOiAwLjdlbSAwLjg1ZW07XHJcbi8vICAgICAgIH1cclxuLy8gICAgIH1cclxuLy8gICB9XHJcblxyXG4vLyAgIGlucHV0LFxyXG4vLyAgIHNlbGVjdCxcclxuLy8gICBidXR0b24ge1xyXG4vLyAgICAgZm9udC1mYW1pbHk6ICRmb250LXRleHQ7XHJcbi8vICAgICBjb2xvcjogJGJsYWNrO1xyXG4vLyAgICAgZm9udC1zaXplOiAxZW07XHJcbi8vICAgICBmb250LXdlaWdodDogNjAwO1xyXG4vLyAgICAgZGlzcGxheTogYmxvY2s7XHJcbi8vICAgICBib3JkZXI6IG5vbmU7XHJcbi8vICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbi8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcclxuLy8gICAgIHRyYW5zaXRpb246ICRiYXNlLXRyYW5zaXRpb247XHJcbi8vICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XHJcbi8vICAgICB3aWR0aDogMTAwJTtcclxuXHJcbi8vICAgICAmOmhvdmVyIHtcclxuLy8gICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRib2R5LWJnLCA1JSk7XHJcbi8vICAgICB9XHJcblxyXG4vLyAgICAgQGluY2x1ZGUgbWluLW1kIHtcclxuLy8gICAgICAgd2lkdGg6IGF1dG87XHJcbi8vICAgICAgIC8vIGhlaWdodDogMTAwJTtcclxuLy8gICAgICAgcGFkZGluZzogMCAxcmVtIDAgMXJlbTtcclxuLy8gICAgIH1cclxuXHJcbi8vICAgICAmI2RhdGVyYW5nZS1pbnB1dCB7XHJcbi8vICAgICAgIEBpbmNsdWRlIG1pbi1tZCB7XHJcbi8vICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4vLyAgICAgICB9XHJcbi8vICAgICB9XHJcbi8vICAgfVxyXG5cclxuLy8gICBsYWJlbCB7XHJcbi8vICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4vLyAgICAgZGlzcGxheTogZmxleDtcclxuLy8gICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4vLyAgICAgY29sb3I6ICMwMDA7XHJcbi8vICAgfVxyXG5cclxuXHJcbiAgXHJcbi8vICAgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWN0YTtcclxuLy8gICAgIGNvbG9yOiAkd2hpdGU7XHJcbi8vICAgICBmb250LXdlaWdodDogNTAwO1xyXG4vLyAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xyXG4vLyAgICAgZm9udC1zaXplOiAxZW07XHJcbi8vICAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XHJcbi8vICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4vLyAgICAgYm9yZGVyLXJhZGl1czogM2VtO1xyXG4vLyAgICAgYm94LXNoYWRvdzogLTNweCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuMik7XHJcbi8vICAgICBwYWRkaW5nOiAwLjVlbSAyLjVlbTtcclxuLy8gICAgIC8vIGhlaWdodDogMTAwJTtcclxuXHJcbi8vICAgICAmOmhvdmVyIHtcclxuLy8gICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvci1jdGEsIDEwJSk7XHJcbi8vICAgICB9XHJcblxyXG4vLyAgICAgJjphY3RpdmUge1xyXG4vLyAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLWN0YSwgMTUlKTtcclxuLy8gICAgIH1cclxuLy8gICB9XHJcbi8vIH1cclxuXHJcbi8vIC5tZW51LW9wZW4ge1xyXG4vLyAgICNib29rLWZvcm0td3JhcHBlci1tYXN0aGVhZCB7XHJcbi8vICAgICByaWdodDogLTIycHg7XHJcbi8vICAgICB0b3A6IGNhbGMoMTAwdmggLSAxNDBweCk7XHJcbi8vICAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XHJcbi8vICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4vLyAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4vLyAgICAgQGluY2x1ZGUgbWF4LWxnIHtcclxuLy8gICAgICAgcmlnaHQ6IDBweDtcclxuLy8gICAgICAgdG9wOiA5NHZoO1xyXG4vLyAgICAgfVxyXG5cclxuLy8gICAgIEBpbmNsdWRlIG1heC1zbSB7XHJcbi8vICAgICAgIHRvcDogOTB2aDtcclxuLy8gICAgIH1cclxuLy8gICB9XHJcblxyXG4vLyAgICNzZWFyY2hmb3JtIHtcclxuLy8gICAgIEBpbmNsdWRlIG1heC1sZyB7XHJcbi8vICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuLy8gICAgIH1cclxuLy8gICB9XHJcblxyXG4vLyAgIC5zdWJfX21lbnUge1xyXG4vLyAgICAgZGlzcGxheTogYmxvY2s7XHJcbi8vICAgICB3aWR0aDogMTAwJTtcclxuLy8gICB9XHJcblxyXG4vLyAgIC5zZWFyY2hmb3JtIHtcclxuLy8gICAgIC5jb250cm9sLWdyb3VwLXdyYXBwZXIge1xyXG5cclxuLy8gICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcclxuLy8gICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcclxuLy8gICAgIH1cclxuLy8gICB9XHJcbi8vIH1cclxuXHJcblxyXG4jYm9vay1mb3JtLXdyYXBwZXItbWFzdGhlYWQge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB3aWR0aDogMTAwJTtcclxuICB6LWluZGV4OiAxMDAwO1xyXG4gIHRyYW5zaXRpb246ICRiYXNlLXRyYW5zaXRpb247XHJcbiAgYm90dG9tOiAwO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICB0b3A6IGNhbGMoMTAwdmggLSAxMjVweCk7XHJcbiAgfVxyXG4gIFxyXG59XHJcblxyXG5cclxuI3NlYXJjaGZvcm0td3JhcHBlciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbi1ib3R0b206IDByZW07XHJcbiAgXHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcclxuICB9XHJcblxyXG4gICNzZWFyY2hmb3JtIHtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC41cyBjdWJpYy1iZXppZXIoMC41LCAwLCAwLjEsIDEpLCBwYWRkaW5nIDAuNXMgY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC4xLCAxKTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XHJcblxyXG4gICAgQGluY2x1ZGUgbWF4LW1kIHtcclxuICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuXHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAuYm94LXNoYWRvdyB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gIH1cclxuXHJcblxyXG4gIC5leHBhbmRhYmxlIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwYWRkaW5nOiAuOHJlbSAxLjVyZW07XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3NpeGU7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAvLyBmb250LWZhbWlseTogJGYtc2Vjb25kYXJ5O1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGN1YmljLWJlemllcigwLjUsIDAsIDAuMSwgMSkgMC4ycztcclxuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIHNwYW57XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgei1pbmRleDogMztcclxuICAgIH1cclxuXHJcblxyXG4gICAgJi5leHBhbmRlZCB7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9tYWluO1xyXG4gICAgICBib3gtc2hhZG93OiB1bnNldDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXGYwMGRcIjtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRhd2Vzb21lO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IC4zcmVtO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgfVxyXG5cclxuXHJcbiAgICAgIC50b2dnbGUtaWNvbiB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjc2VhcmNoZm9ybSB7XHJcbiAgICAvLyBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgLy8gdG9wOiA2cmVtO1xyXG4gICAgei1pbmRleDogMTA7XHJcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAvLyBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgLy8gdHJhbnNpdGlvbjogYWxsIC43NXMgZWFzZS1pbi1vdXQ7XHJcbiAgICBAaW5jbHVkZSBtYXgtbWQge1xyXG4gICAgICAvLyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIC8vIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgLy8gYm90dG9tOiA1cHg7XHJcbiAgICAgIC8vIHRvcDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgIC8vIG1heC1oZWlnaHQ6IDk5OXB4O1xyXG4gICAgICAuc2VhcmNoZm9ybSB7XHJcbiAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW4gMC41cyBlYXNlLWluLW91dCBmb3J3YXJkcztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgZmFkZUluIHtcclxuICAgICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIH1cclxuICAgICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC5zdWJfX21lbnUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICBbaWRePVwibWVudS1zb3VzLW1lbnVcIl0ge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcblxyXG4gICAgICBsaSB7XHJcbiAgICAgICAgcGFkZGluZzogNXB4IDlweDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIHRleHQtc2hhZG93OiAwcHggM3B4IDhweCBibGFjaztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG5cclxuICAuc2VhcmNoZm9ybSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB6LWluZGV4OiAxNTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLy8gcG9zaXRpb246IGZpeGVkO1xyXG4gICAgLy8gdG9wOiBjYWxjKDEwMHZoIC0gOTBweCk7XHJcblxyXG4gICAgLmNvbnRyb2wtZ3JvdXAtd3JhcHBlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgcGFkZGluZzogMmVtIDAuNzVlbSAwLjc1ZW07XHJcbiAgICAgIGdhcDogMmVtO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiA3MHZoO1xyXG4gICAgICBwYWRkaW5nOiAzcmVtIDRyZW0gMCA0cmVtO1xyXG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICBib3gtc2hhZG93OiA0cHggNHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogOHB4IDhweCAwIDAgO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICAgIGdhcDogMWVtO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiBhdXRvO1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1pbi1tZCB7XHJcbiAgICAgICAgLy8gaGVpZ2h0OiBweHIoNzApO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgZ2FwOiAwO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMWVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtaW4teHhsIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNWVtO1xyXG4gICAgICAgIC8vIGhlaWdodDogcHhyKDc4KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdCB7XHJcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMFwiIGhlaWdodD1cIjEwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiPjxwb2x5Z29uIHBvaW50cz1cIjAsMCAyMCwwIDEwLDEwXCIgZmlsbD1cImJsYWNrXCIvPjwvc3ZnPicpIG5vLXJlcGVhdCA5NyUgNjAlO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCR3aGl0ZSwgNSUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtaW4tbWQge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMXJlbSAwIDFyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY29udHJvbC1ncm91cCB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1pbi1tZCB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtaW4teHhsIHtcclxuICAgICAgICAvLyBmb250LXNpemU6IDEuMWVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmRhdGVzOjphZnRlcixcclxuICAgICAgJi50cmF2ZWxlcnM6OmFmdGVyIHtcclxuICAgICAgICBAaW5jbHVkZSBtaW4tbWQge1xyXG4gICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICAgIGhlaWdodDogNDAlO1xyXG4gICAgICAgICAgbWFyZ2luOiBhdXRvIHB4cigzMCk7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuc3VibWl0LWZvcm0ge1xyXG4gICAgICAgIEBpbmNsdWRlIG1pbi1tZCB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwLjdlbSAwLjg1ZW0gMC43ZW0gcHhyKDMwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbnB1dCxcclxuICAgIHNlbGVjdCxcclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIC8vIGZvbnQtZmFtaWx5OiAkZi1wcmltYXJ5O1xyXG4gICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICBmb250LXNpemU6IHB4cigyMCk7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICB0cmFuc2l0aW9uOiAkYmFzZS10cmFuc2l0aW9uO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcHhyKDE3KTtcclxuICAgICAgfVxyXG4gIFxyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCR3aGl0ZSwgNSUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtaW4tbWQge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMWVtIDAgMTBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJiNkYXRlcmFuZ2UtaW5wdXQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMFwiIGhlaWdodD1cIjEwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiPjxwb2x5Z29uIHBvaW50cz1cIjAsMCAyMCwwIDEwLDEwXCIgZmlsbD1cImJsYWNrXCIvPjwvc3ZnPicpIG5vLXJlcGVhdCA5NyUgNjAlO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtaW4tbWQge1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGxhYmVsIHtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgIGNvbG9yOiAkYmxldS1mb25jZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfc2l4ZTtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgZm9udC1zaXplOiBweHIoMzApO1xyXG4gICAgICAvLyBsZXR0ZXItc3BhY2luZzogMC4xZW07XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgcGFkZGluZzogcHhyKDE1KSBweHIoMjApO1xyXG4gICAgICAvLyBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiBweHIoMzApO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ibHVlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstYmx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm1lbnUtb3BlbiB7XHJcbiAgICAjYm9vay1mb3JtLXdyYXBwZXItbWFzdGhlYWQge1xyXG4gICAgICByaWdodDogLTIycHg7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgICAgICB0b3A6IGNhbGMoMTAwdmggLSAxNDBweCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1heC1sZyB7XHJcbiAgICAgICAgcmlnaHQ6IDBweDtcclxuICAgICAgICB0b3A6IDk0dmg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1heC1zbSB7XHJcbiAgICAgICAgdG9wOiA5MHZoO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgI3NlYXJjaGZvcm0ge1xyXG4gICAgICBAaW5jbHVkZSBtYXgtbGcge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zdWJfX21lbnUge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLnNlYXJjaGZvcm0ge1xyXG4gICAgICAuY29udHJvbC1ncm91cC13cmFwcGVyIHtcclxuXHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcclxuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYnV0dG9uLXJlc2VydmF0aW9uLXNlYWNoZm9ybSB7XHJcbiAgY29sb3I6ICRibGV1LWZvbmNlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIG1hcmdpbi10b3A6IDFyZW07XHJcblxyXG4gIHAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgfVxyXG5cclxuICAmOjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4gICAgd2lkdGg6IDEycmVtO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgaGVpZ2h0OiAycHg7XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7XHJcbiAgICBjb2xvcjogJGdyZWVuO1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIEdFUkUgTEUgQk9VVE9OIEVOIFJFU1BPTlNJVkVcclxuLmV4cGFuZGFibGUgLnRvZ2dsZS1pY29uLFxyXG4uZXhwYW5kYWJsZSAudG9nZ2xlLXRleHQge1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4uZXhwYW5kYWJsZSAudG9nZ2xlLWljb24ge1xyXG4gICAgZGlzcGxheTogaW5saW5lO1xyXG59XHJcblxyXG4uZXhwYW5kYWJsZSAudG9nZ2xlLXRleHQge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmV4cGFuZGFibGUuZXhwYW5kZWQgLnRvZ2dsZS1pY29uIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5leHBhbmRhYmxlLmV4cGFuZGVkIC50b2dnbGUtdGV4dCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbn1cclxuXHJcbi5mbGF0cGlja3ItZGF5LnNlbGVjdGVkLCAuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlIHtcclxuYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX21haW4gIWltcG9ydGFudDtcclxuYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX21haW4gIWltcG9ydGFudDtcclxufSIsIi8vIF92YXJpYWJsZXMuc2Nzc1xyXG5cclxuLy8gQ29sb3JzXHJcbiR3aGl0ZTogI2ZmZjtcclxuJHJlYWwtYmxhY2s6ICMwMDA7XHJcbiRibGFjazogIzMzMzAzMztcclxuJGdyZXk6ICNmN2Y3Zjc7XHJcbiRkYXJrLWdyZXk6ICM4MTgxODE7XHJcblxyXG4kZ29sZC1saWdodDogI2ZhZjhmMDtcclxuJGdvbGQ6ICNkMWJkNmQ7XHJcblxyXG4kZ3JlZW46ICNhOWM2Mjg7XHJcbiRibHVlOiAjMmY1MzQ5O1xyXG4kYnJvd246ICNkMWJkNmQ7XHJcbiRiZWlnZTogI2QxYmQ2ZDtcclxuJGRhcmstYnJvd246ICNkMWJkNmQ7XHJcblxyXG4kaGVhZGVyLWJsdWU6ICMyZjUzNDk7XHJcbiRsaWdodC1ibHVlOiAjMmY1MzQ5O1xyXG4kZGFyay1ibHVlOiAjMmY1MzQ5O1xyXG5cclxuJGxpZ2h0LWdyZXk6IHJnYmEoMjIsIDI1LCA2OCwgMC4yNSk7XHJcblxyXG4kYm9keS1iZzogI2ZmZjtcclxuXHJcblxyXG5cclxuJHZlcnQ6ICNhYmQwODg7XHJcbiR2ZXJ0LWZvbmNlOiAjMmY1MzQ5O1xyXG4kamF1bmU6ICNmZWQyODc7XHJcbiRqYXVuZS1mb25jZTogI2Y4ZDE1YztcclxuJGJsZXUtY2xhaXI6ICNiM2QyZDU7XHJcbiRibGV1OiAjMDM2ODc0O1xyXG4kYmxldS1mb25jZTogIzFkNGU1MztcclxuJHJvc2U6ICNkNjYzYTI7XHJcbiRvcmFuZ2U6ICNmM2E0MGY7XHJcbiRibGFuYzogI2ZmZjtcclxuXHJcblxyXG4vLyBGb3Igc2FzcyBsb29wc1xyXG4kY29sb3JzOiAoXHJcbiAgXCJncmVlblwiOiAkZ3JlZW4sXHJcbiAgXCJibHVlXCI6ICRibHVlLFxyXG4gIFwiZ3JleVwiOiAkZ3JleSxcclxuICBcImRhcmstZ3JleVwiOiAkZGFyay1ncmV5LFxyXG4gIFwid2hpdGVcIjogJHdoaXRlLFxyXG5cclxuICBcInZlcnRcIjogJHZlcnQsXHJcbiAgXCJ2ZXJ0LWZvbmNlXCI6ICR2ZXJ0LWZvbmNlLFxyXG4gIFwiamF1bmVcIjogJGphdW5lLFxyXG4gIFwiamF1bmUtZm9uY2VcIjogJGphdW5lLWZvbmNlLFxyXG4gIFwiYmxldS1jbGFpclwiOiAkYmxldS1jbGFpcixcclxuICBcImJsZXVcIjogJGJsZXUsXHJcbiAgXCJibGV1LWZvbmNlXCI6ICRibGV1LWZvbmNlLFxyXG4gIFwicm9zZVwiOiAkcm9zZSxcclxuICBcIm9yYW5nZVwiOiAkb3JhbmdlLFxyXG4gIFwiYmxhbmNcIjogJGJsYW5jLFxyXG4pO1xyXG5cclxuXHJcbi8vIEJvb3RzdHJhcCBicmVha3NcclxuJGJyZWFrLXNtOiA1NzZweDtcclxuJGJyZWFrLXNtZDogNjI1cHg7XHJcbiRicmVhay1tZDogNzY4cHg7XHJcbiRicmVhay1sZzogOTkycHg7XHJcbiRicmVhay14bDogMTIwMHB4O1xyXG4kYnJlYWsteHhsOiAxNDAwcHg7XHJcbiRicmVhay14eHhsOiAxNjIwcHg7XHJcblxyXG5cclxuLy8gRm9udCBzaXplc1xyXG4kYmFzZS1mb250LXNpemUteHhsOiAxN3B4O1xyXG4kYmFzZS1mb250LXNpemUtbGc6IDE2cHg7XHJcbiRiYXNlLWZvbnQtc2l6ZS1zbTogMTVweDtcclxuXHJcblxyXG4vLyBHdXRlbmJlcmcgYmxvY2sgd2lkdGhcclxuJHdpZHRoLWd1dGVuYmVyZzogOTgwcHg7XHJcbiR3aWR0aC1ndXRlbmJlcmctd2lkZTogMTIwMHB4O1xyXG5cclxuXHJcbi8vIFR5cG8gXHJcbiRmb250LXRleHQ6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcclxuJGZvbnQtdGl0bGU6ICdNaW5pb24nLCBzYW5zLXNlcmlmO1xyXG4kZm9udGF3ZXNvbWU6IFwiRm9udCBBd2Vzb21lIDYgUHJvXCI7XHJcblxyXG5cclxuLy8gVHJhbnNpdGlvbnNcclxuJGJhc2UtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbiIsIi8vIF8gbWl4aW5zLnNjc3NcclxuXHJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuXHJcbi8vIE1BWCB3aWR0aFxyXG4vLyBTbWFsbCBkZXZpY2VzXHJcbkBtaXhpbiBtYXgtc20ge1xyXG4gICBAbWVkaWEgKG1heC13aWR0aDogY2FsYygjeyRicmVhay1zbX0gLSAxcHgpKSB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG4vLyBTbWFsbC9NZWRpdW0gZGV2aWNlc1xyXG5AbWl4aW4gbWF4LXNtZCB7XHJcbiAgIEBtZWRpYSAobWF4LXdpZHRoOiBjYWxjKCN7JGJyZWFrLXNtZH0gLSAxcHgpKSB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG4vLyBNZWRpdW0gZGV2aWNlc1xyXG5AbWl4aW4gbWF4LW1kIHtcclxuICAgQG1lZGlhIChtYXgtd2lkdGg6IGNhbGMoI3skYnJlYWstbWR9IC0gMXB4KSkge1xyXG4gICAgICAgQGNvbnRlbnQ7XHJcbiAgIH1cclxufVxyXG5cclxuLy8gTGFyZ2UgZGV2aWNlc1xyXG5AbWl4aW4gbWF4LWxnIHtcclxuICAgQG1lZGlhIChtYXgtd2lkdGg6IGNhbGMoI3skYnJlYWstbGd9IC0gMXB4KSkge1xyXG4gICAgICAgQGNvbnRlbnQ7XHJcbiAgIH1cclxufVxyXG5cclxuLy8gRXh0cmEgbGFyZ2UgZGV2aWNlc1xyXG5AbWl4aW4gbWF4LXhsIHtcclxuICAgQG1lZGlhIChtYXgtd2lkdGg6IGNhbGMoI3skYnJlYWsteGx9IC0gMXB4KSkge1xyXG4gICAgICAgQGNvbnRlbnQ7XHJcbiAgIH1cclxufVxyXG4vLyBFeHRyYSBleHRyYSBsYXJnZSBkZXZpY2VzXHJcbkBtaXhpbiBtYXgteHhsIHtcclxuICAgQG1lZGlhIChtYXgtd2lkdGg6IGNhbGMoI3skYnJlYWsteHhsfSAtIDFweCkpIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuLy8gRXh0cmEgZXh0cmEgZXh0cmEgbGFyZ2UgZGV2aWNlc1xyXG5AbWl4aW4gbWF4LXh4eGwge1xyXG4gICBAbWVkaWEgKG1heC13aWR0aDogY2FsYygjeyRicmVhay14eHhsfSAtIDFweCkpIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuLy8gQ3VzdG9tIGRldmljZXNcclxuQG1peGluIG1heC1yd2QoJHNjcmVlbikge1xyXG4gICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbisncHgnICkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuLy8gTUlOIHdpZHRoXHJcbi8vIFNtYWxsIGRldmljZXNcclxuQG1peGluIG1pbi1zbSB7XHJcbiAgIEBtZWRpYSAobWluLXdpZHRoOiAjeyRicmVhay1zbX0pIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuXHJcbi8vIE1lZGl1bSBkZXZpY2VzXHJcbkBtaXhpbiBtaW4tbWQge1xyXG4gICBAbWVkaWEgKG1pbi13aWR0aDogI3skYnJlYWstbWR9KSB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG4vLyBMYXJnZSBkZXZpY2VzXHJcbkBtaXhpbiBtaW4tbGcge1xyXG4gICBAbWVkaWEgKG1pbi13aWR0aDogI3skYnJlYWstbGd9KSB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG4vLyBFeHRyYSBsYXJnZSBkZXZpY2VzXHJcbkBtaXhpbiBtaW4teGwge1xyXG4gICBAbWVkaWEgKG1pbi13aWR0aDogI3skYnJlYWsteGx9KSB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcbi8vIEV4dHJhIGV4dHJhIGxhcmdlIGRldmljZXNcclxuQG1peGluIG1pbi14eGwge1xyXG4gICBAbWVkaWEgKG1pbi13aWR0aDogI3skYnJlYWsteHhsfSkge1xyXG4gICAgICAgQGNvbnRlbnQ7XHJcbiAgIH1cclxufVxyXG4vLyBFeHRyYSBleHRyYSBleHRyYSBsYXJnZSBkZXZpY2VzXHJcbkBtaXhpbiBtaW4teHh4bCB7XHJcbiAgIEBtZWRpYSAobWluLXdpZHRoOiAjeyRicmVhay14eHhsfSkge1xyXG4gICAgICAgQGNvbnRlbnQ7XHJcbiAgIH1cclxufVxyXG4vLyBDdXN0b20gZGV2aWNlc1xyXG5AbWl4aW4gbWluLXJ3ZCgkc2NyZWVuKSB7XHJcbiAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuKydweCcgKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG4vLyBDdXN0b20gZGV2aWNlc1xyXG5AbWl4aW4gbW9iaWxndXQoKSB7XHJcbiAgIEBtZWRpYSAobWF4LXdpZHRoOiAnNzgycHgnICkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4vLyBGb250IEF3ZXNvbWUgZm9yIGJlZm9yZSAvIGFmZXJcclxuQG1peGluIGZhKCR1bmljb2RlKSB7XHJcbiAgIGNvbnRlbnQ6ICN7J1wiXFxcXCcgKyAkdW5pY29kZSArICdcIid9O1xyXG4gICBmb250LWZhbWlseTogJGZvbnRhd2Vzb21lO1xyXG59XHJcblxyXG5cclxuLy8gUmVtb3ZlIHVuaXQgZnJvbSBhIHZhbHVlXHJcbi8vIEV4OiAyNXB4IC0+IDI1XHJcbkBmdW5jdGlvbiB0cmltLXVuaXQoJHZhbHVlKSB7XHJcbiAgIEByZXR1cm4gbWF0aC5kaXYoJHZhbHVlLCAkdmFsdWUgKiAwICsgMSk7XHJcbn1cclxuXHJcblxyXG4vLyBjb252ZXJ0cyBwaXhlbHMgdG8gcmVtXHJcbkBmdW5jdGlvbiBweHIoJHB4KSB7XHJcbiAgIEByZXR1cm4gbWF0aC5kaXYoJHB4LCB0cmltLXVuaXQoJGJhc2UtZm9udC1zaXplLXh4bCkpICogMXJlbTtcclxufVxyXG5cclxuXHJcbi8vIEBpbmNsdWRlIG1heC1sZyB7XHJcbi8vICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbi8vICB9IiwiLy8gX3NpbmdsZS1oZWJlcmdlbWVudC5zY3NzXHJcblxyXG5cclxuXHJcbmJvZHkuc2luZ2xlLWhlYmVyZ2VtZW50IHtcclxuXHJcbiNtb2RhbC1pbnZlbnRvcnl7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuXHJcbiAgICAuYWNjb21tb2RhdGlvbi1pbnZlbnRvcnkge1xyXG5cclxuXHJcbiAgICAgIC8vIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgIHBhZGRpbmc6IDNyZW0gMS41cmVtIDByZW0gMS41cmVtO1xyXG4gICAgICBmb250LXNpemU6IDAuOXJlbTtcclxuXHJcblxyXG4gICAgICBAaW5jbHVkZSBtaW4tbWQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB1bCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxpIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICB9XHJcbiAgXHJcbiAgICAgIC5pdGVtIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjdyZW07XHJcbiAgXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcXGYxMTFcIjtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250YXdlc29tZTtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIGxlZnQ6IDByZW07XHJcbiAgICAgICAgICB0b3A6IDAuNTByZW07XHJcbiAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAwLjNyZW07XHJcbiAgICAgICAgICBjb2xvcjogJGNvbG9yX21haW47XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgXHJcbiAgICAgIC5zdWItaXRlbXMge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuICAgICAgfVxyXG4gIFxyXG4gICAgICAuZGVwdGgtMCB7XHJcbiAgICAgICAgcGFkZGluZyA6IDByZW0gMCAzcmVtIDNyZW07XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICBsZWZ0OiAwcmVtO1xyXG4gICAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogICRjb2xvcl9tYWluO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuICAgICAgICB9XHJcbiAgXHJcbiAgICAgICAgQGluY2x1ZGUgbWluLW1kIHtcclxuICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgfVxyXG4gIFxyXG4gICAgICAgID4gLm5hbWUge1xyXG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9tYWluOztcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC10aXRsZTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgICAgIH1cclxuICBcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogdmFyKC0tcGljdG8pO1xyXG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250YXdlc29tZTtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICBjb2xvcjogICRjb2xvcl9tYWluO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgICAgICBsZWZ0OiAwLjNyZW07XHJcbiAgICAgICAgICB0b3A6IDAuM3JlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICBcclxuICAgICAgLmRlcHRoLTEge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYWNjb21tb2RhdGlvbi1tb2RhbC1pbnZlbnRvcnkge1xyXG5cclxuXHJcbiAgICAgIC8vIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIC8vIHdpZHRoOiAxMDAwcHg7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXgtd2lkdGg6IDkwdnc7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgICBcclxuICAgICAgLmludmVudG9yeS1oZWFkZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9tYWluX2JpcztcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC10aXRsZTtcclxuICAgICAgICBwYWRkaW5nOiAxcmVtIDEuMnJlbTtcclxuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgICAgICAvLyBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gIH1cclxuIiwiXHJcbiRiYXNlX2ZvbnRfc2l6ZTogMThweDtcclxuXHJcblxyXG5cclxuXHJcbiNwcm9kdWN0LWF2YWlsYWJpbGl0eS1yb290IHtcclxuICBmb250LXNpemU6ICRiYXNlX2ZvbnRfc2l6ZTtcclxuIH0iLCJcclxuJGJhc2VfZm9udF9zaXplOiAxOHB4O1xyXG5cclxuXHJcblxyXG5cclxuI3Byb2R1Y3QtcmV2aWV3cy1yb290IHtcclxuICBmb250LXNpemU6ICRiYXNlX2ZvbnRfc2l6ZTtcclxuIH0iLCIkYmFzZV9mb250X3NpemU6IDFyZW07XHJcblxyXG5cclxuLnByb2R1Y3RzLWZpbHRlcnMge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbiNwcm9kdWN0cy1maWx0ZXJzLXJvb3Qge1xyXG4gIGZvbnQtc2l6ZTogMC44cmVtO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgbGluZS1oZWlnaHQ6IDAuOHJlbTtcclxuXHJcbiAgQGluY2x1ZGUgbWF4LW1kIHtcclxuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDAuOXJlbTtcclxuICB9XHJcblxyXG4gIC53cC1ibG9jay1idXR0b25fX2xpbmtfdHJhbnNwYXJlbnQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX21haW5fYmlzO1xyXG4gICAgY29sb3I6ICRjb2xvcl9tYWluO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfbWFpbl9iaXM7XHJcbiAgfVxyXG59XHJcblxyXG4uX21vZGFsX3M3eXpvXzExIHtcclxuXHJcbiAgLl9oZWFkZXJfMTMwamhfMSB7XHJcbiAgICAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX21haW5fYmlzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLl9hY3Rpb25zXzEzMGpoXzE2IHtcclxuICAgIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xyXG4gICAgICBwYWRkaW5nOiAuNXJlbTtcclxuICAgIH1cclxuICB9XHJcbn0iLCIuY29sLWhlYi5oaWRlIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uaGFzLXZhbHVlcy1wYXJlbnRub2RlIHtcclxuICBvcmRlcjogLTE7XHJcbn1cclxuXHJcbi53cC1ibG9jay1wbHVuZS1ibG9ja3MtYWNjb21tb2RhdGlvbi1wcmV2aWV3IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgei1pbmRleDogMTtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2UtaW4tb3V0O1xyXG4gIC8vIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBib3gtc2hhZG93OiA0cHggNHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICYuaGlkZGVuIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG5cclxuICAmLmhpZGUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIC50aHVtYm5haWwge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNjAlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMzBweCAwIDA7XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBpbnNldDogMDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLW91dDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMzBweCAzMHB4IDAgMDtcclxuICAgIH1cclxuXHJcbiAgICBhOmhvdmVyIGltZyxcclxuICAgIGE6Zm9jdXMgaW1nIHtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxuICAgIH1cclxuXHJcbiAgICBhOmhvdmVyIC5wbHVzLWJ1dHRvbixcclxuICAgIGE6Zm9jdXMgLnBsdXMtYnV0dG9uIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX21haW47XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucGx1cy1idXR0b24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAyLjI1cmVtO1xyXG4gICAgbGVmdDogMi4yNXJlbTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB3aWR0aDogMy43NXJlbTtcclxuICAgIGhlaWdodDogMy43NXJlbTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiAyLjI1cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIHRyYW5zaXRpb246ICRiYXNlLXRyYW5zaXRpb247XHJcbiAgfVxyXG5cclxuICAuY2FtcGluZy1uYW1lIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB0b3A6IHB4cigyMCk7XHJcbiAgICByaWdodDogcHhyKDIwKTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAvLyB0cmFuc2l0aW9uOiAkYmFzZS10cmFuc2l0aW9uO1xyXG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwLjI1ZW0gJGRhcmstZ3JleTtcclxuICB9XHJcblxyXG4gIC5nYW1tZXMge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiBweHIoMjApO1xyXG4gICAgcmlnaHQ6IHB4cigyMCk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgaGVpZ2h0OiBweHIoNDQpO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJHdoaXRlO1xyXG4gICAgYm94LXNoYWRvdzogMCAycHggMTBweCByZ2JhKCRibGFjaywgMC43NSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxLjVyZW07XHJcbiAgICBwYWRkaW5nOiAwLjI1ZW0gMC43NWVtO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGdhcDogMC41cmVtO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDJweCAxMHB4IHJnYmEoJGJsYWNrLCAwLjUpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb250ZW50IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICBwYWRkaW5nOiAycmVtO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIC8vIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcblxyXG4gICAgJi1yZXNlcnZhdGlvbiB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9zaXhlO1xyXG4gICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICBmb250LWZhbWlseTogJGZvbnRfc2Vjb25kO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICBwYWRkaW5nOiAzcHggMTBweCA2cHggMTBweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC50aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDM1cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjVweDtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udF9zZWNvbmQ7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBsaW5lLWhlaWdodDogMS43cmVtO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICRjb2xvcl9tYWluO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl9zaXhlO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtYXgtc20ge1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmluZm9zIHtcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xyXG4gICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgbWluLWhlaWdodDogMXJlbTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICBAaW5jbHVkZSBtYXgtc20ge1xyXG4gICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxM3B4O1xyXG5cclxuICAgIH1cclxuXHJcblxyXG4gICAgLmluZm8ge1xyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCItXCI7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAuMmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQ6OmFmdGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubGVmdCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICB9XHJcblxyXG4gIC5yaWdodCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbWFpbjtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMXJlbTtcclxuICAgIGJvdHRvbTogM3JlbTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgIG1hcmdpbjogMXJlbSAwIDAgMDtcclxuICAgIHBhZGRpbmc6IDFyZW07XHJcbiAgfVxyXG5cclxuICAudGV4dC13ZWVrIHtcclxuICAgIHBhZGRpbmc6IC41cmVtIC41cmVtIDAgMDtcclxuICAgIGZvbnQtc2l6ZTogLjdyZW07XHJcbiAgfVxyXG5cclxuICAucHJpY2UsXHJcbiAgLnByaWNlLW5vLWRpc2NvdW50IHtcclxuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIuOHJlbTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtO1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LXRpdGxlO1xyXG5cclxuICAgIEBpbmNsdWRlIG1heC1zbSB7XHJcbiAgICAgIC8vIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgLy8gbGluZS1oZWlnaHQ6IDIycHg7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIGFuaW1hdGlvbjogZmFkZUluIDAuNXMgZWFzZS1vdXQgZm9yd2FyZHM7XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIuKCrFwiO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmRhdGVzIHtcclxuICAgIHBhZGRpbmc6IDAgLjVyZW0gLjVyZW0gMDtcclxuICB9XHJcblxyXG4gICZbZGF0YS1wcm9kdWN0cy1pZHNdIC5wcmljZSB7XHJcbiAgICBwYWRkaW5nOiAwLjFlbSAwLjg1ZW07XHJcbiAgfVxyXG5cclxuICAucHJpY2Uge1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICB9XHJcblxyXG4gIC5wcmljZS1uby1kaXNjb3VudCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgIGZvbnQtc2l6ZTogLjhyZW07XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBtYXJnaW4tbGVmdDogMC4yNWVtO1xyXG4gICAgLy8gdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2ggMnB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICB0b3A6IDQzJTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmF2YWlsYWJsZSB7XHJcbiAgICBwYWRkaW5nOiAuNXJlbTtcclxuICB9XHJcblxyXG4gIC5hbHRlcm5hdGl2ZXMge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHBhZGRpbmc6IC41cmVtO1xyXG5cclxuXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG5cclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMC44NWVtO1xyXG4gICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAvLyBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAvLyBkaXNwbGF5OiBibG9jaztcclxuICAgICAgLy8gd2lkdGg6IG1heC1jb250ZW50O1xyXG4gICAgICAvLyBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgLy8gbWFyZ2luLXRvcDogMC4yNWVtO1xyXG4gICAgICAvLyBwYWRkaW5nOiAwLjFlbSAwLjVlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5sb2FkZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDFyZW07XHJcbiAgICByaWdodDogMXJlbTtcclxuICAgIGdhcDogMC4yNXJlbTtcclxuXHJcbiAgICAuZG90IHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgd2lkdGg6IDAuNTVyZW07XHJcbiAgICAgIGhlaWdodDogMC41NXJlbTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcbiAgICAgIGFuaW1hdGlvbjogc2NhbGUgMC42cyBlYXNlLW91dCBpbmZpbml0ZSBhbHRlcm5hdGUgZm9yd2FyZHM7XHJcblxyXG4gICAgICAmOm50aC1jaGlsZCgybikge1xyXG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4ycztcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpudGgtY2hpbGQoM24pIHtcclxuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuNHM7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBrZXlmcmFtZXMgc2NhbGUge1xyXG4gICAgICAgIDAlIHtcclxuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAxMDAlIHtcclxuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZnVsbCxcclxuICAubGFzdCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAxcmVtO1xyXG4gICAgdG9wOiAtMXJlbTtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbWFpbl9iaXM7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250X3NlY29uZDtcclxuXHJcbiAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIGFuaW1hdGlvbjogZmFkZUluTGVmdCAwLjVzIGVhc2Utb3V0IGZvcndhcmRzO1xyXG5cclxuICAgIHNtYWxsIHtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubGFzdCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgYW5pbWF0aW9uOiBub25lO1xyXG4gIH1cclxuXHJcblxyXG4gICYubm8tdmFsdWUge1xyXG5cclxuICAgIC50ZXh0LXdlZWssXHJcbiAgICAucHJpY2UsXHJcbiAgICAucHJpY2Utbm8tZGlzY291bnQsXHJcbiAgICAuZGF0ZXMge1xyXG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIGFuaW1hdGlvbjogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuYWx0ZXJuYXRpdmVzIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLnRodW1ibmFpbCB7XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgb3BhY2l0eTogLjU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGJhY2tncm91bmQ6ICRyZWFsLWJsYWNrO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAzMHB4IDMwcHggMCAwO1xyXG4gICAgfVxyXG5cclxuICAgICY6bm90KC5oZWItbG9hZGluZyk6OmFmdGVyIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgaW5zZXQ6IDA7XHJcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRkYXJrZXItZ3JlZW4sIDAuNSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmhhcy12YWx1ZXMge1xyXG4gICAgLmZ1bGwge1xyXG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIGFuaW1hdGlvbjogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuaGViLWxvYWRpbmcsXHJcbiAgJi5nYW1tZS1sb2FkaW5nIHtcclxuXHJcbiAgICAudGV4dC13ZWVrLFxyXG4gICAgLnByaWNlLFxyXG4gICAgLnByaWNlLW5vLWRpc2NvdW50LFxyXG4gICAgLmZ1bGwsXHJcbiAgICAuYWx0ZXJuYXRpdmVzIHtcclxuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICBhbmltYXRpb246IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmhlYi1sb2FkaW5nLFxyXG4gICYuZ2FtbWUtbG9hZGluZyB7XHJcbiAgICAubG9hZGVyIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuaGFzLW9mZmVyIHtcclxuICAgIC5wcmljZS1uby1kaXNjb3VudCB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBhbmltYXRpb246IGZhZGVJbiAwLjVzIGVhc2Utb3V0IGZvcndhcmRzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5pcy1sYXN0IHtcclxuICAgIC5sYXN0IHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYW5pbWF0aW9uOiBmYWRlSW5MZWZ0IDAuNXMgZWFzZS1vdXQgZm9yd2FyZHM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAa2V5ZnJhbWVzIGZhZGVJbiB7XHJcbiAgICAwJSB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xyXG4gICAgMCUge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjVweCk7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jb2wtaGViIHtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcclxuXHJcbiAgJi0taGlkZGVuIHtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmJ1dHRvbi1jb250ZW50LXJlc2VydmF0aW9uIHtcclxuICBtYXJnaW46IDAgYXV0byAxcmVtIGF1dG87XHJcbn0iLCIvLyBfYXJjaGl2ZXMuc2Nzc1xyXG5cclxuLmFyY2hpdmUge1xyXG4gIGgxIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxufVxyXG5cclxuLmFyY2hpdmVzLWRlc2NyaXB0aW9uIHtcclxuICBtYXJnaW4tYm90dG9tOiBweHIoNDUpO1xyXG4gIG1hcmdpbi10b3A6IHB4cig0NSk7XHJcbn1cclxuXHJcbi5hcmNoaXZlcy1jb25jbHVzaW9uIHtcclxuICBtYXJnaW4tdG9wOiBweHIoNDUpO1xyXG59XHJcblxyXG4uYXJjaGl2ZS1wb3N0IHtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgkYmxhY2ssIDAuMDcpO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgLnRodW1ibmFpbCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA1NiU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGluc2V0OiAwO1xyXG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgYTpob3ZlcixcclxuICAgIGE6Zm9jdXMge1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNvbnRlbnQge1xyXG4gICAgcGFkZGluZzogcHhyKDE1KTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gIH1cclxuXHJcbiAgLnRpdGxlIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC10aXRsZTtcclxuICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBwYWRkaW5nOiAwLjI1ZW0gMDtcclxuICAgIG1hcmdpbi1ib3R0b206IHB4cigxMCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XHJcbiAgLy8gICBmb250LXNpemU6IDAuNjVyZW07XHJcbiAgLy8gfVxyXG5cclxuXHJcbiAgLmV4Y2VycHQge1xyXG4gICAgcGFkZGluZy10b3A6IHB4cig1KTtcclxuICAgIG1hcmdpbi1ib3R0b206IHB4cigxNSk7XHJcbiAgICBmb250LXNpemU6IDAuOHJlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLmFyY2hpdmUtcG9zdC1oZWIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cyBlYXNlLWluLW91dDtcclxuXHJcbiAgJi5oaWRkZW4ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1pbi1tZCB7XHJcbiAgICBnYXA6IDEuNXJlbTtcclxuICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gIH1cclxuXHJcbiAgJl9fbGVmdCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICBAaW5jbHVkZSBtaW4tbWQge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtaW4tbGcge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAucm90YXRpb24td3JhcHBlciB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTJkZWcpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1LCAwLjU1LCAwLjk1KTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1pbi1tZCB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmhvdmVyLFxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGZpZ3VyZSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1NiU7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGluc2V0OiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICBib3JkZXI6IDZweCBzb2xpZCAkd2hpdGU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogOHB4IDhweCAyNXB4IHJnYmEoIzAwMCwgMC4zNSk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGN1YmljLWJlemllcigwLjQ0NSwgMC4wNSwgMC41NSwgMC45NSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGE6aG92ZXIsXHJcbiAgICAgIGE6Zm9jdXMge1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMC44KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaGViLXByaWNlIHtcclxuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19waWN0b3Mge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogLTMwcHg7XHJcbiAgICB0b3A6IDAuNXJlbTtcclxuICAgIHdpZHRoOiAxMjBweDtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICAgIEBpbmNsdWRlIG1pbi1tZCB7XHJcbiAgICAgIGxlZnQ6IC02MHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fcGljdG8ge1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmb250LXNpemU6IDAuN3JlbTtcclxuICAgIHRleHQtc2hhZG93OiAwIDAgNHB4ICRibGFjaztcclxuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XHJcblxyXG4gICAgLmljb24ge1xyXG4gICAgICBmb250LXNpemU6IDIuNWVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fcmlnaHQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tdG9wOiAwcmVtO1xyXG5cclxuICAgIEBpbmNsdWRlIG1pbi1tZCB7XHJcbiAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWluLWxnIHtcclxuICAgICAgd2lkdGg6IDQwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3RpdGxlIHtcclxuICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC10aXRsZTtcclxuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG5cclxuICAgIEBpbmNsdWRlIG1pbi1tZCB7XHJcbiAgICAgIHdpZHRoOiB1bnNldDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2luZm9zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xyXG5cclxuICAgIEBpbmNsdWRlIG1pbi14bCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2luZm8ge1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XHJcblxyXG4gICAgQGluY2x1ZGUgbWluLW1kIHtcclxuICAgICAgd2lkdGg6IDUwJTtcclxuICAgIH1cclxuXHJcbiAgICBpIHtcclxuICAgICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjJlbTtcclxuICAgICAgY29sb3I6ICRncmVlbjtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1pbi1sZyB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNvbC1oZWIge1xyXG4gIHRyYW5zaXRpb246IGFsbCAuMjVzIGVhc2U7XHJcblxyXG4gICYtLWhpZGRlbiB7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gLmFyY2hpdmV7XHJcblxyXG4vLyB9XHJcblxyXG5cclxuI2dvZGlzcG8ge1xyXG4gIG1hcmdpbi10b3A6IDJyZW07XHJcbiAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9tYWluX2JpcztcclxuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfbWFpbl9iaXM7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgcGFkZGluZzogMTBweCAxcmVtO1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgZm9udC1zaXplOiAxLjJyZW07XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgY29sb3I6ICRjb2xvcl9tYWluX2JpcztcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX21haW5fYmlzO1xyXG4gIH1cclxufVxyXG5cclxuLmJveF9nYW1tZSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmc6IDJyZW0gMHB4IDJyZW07XHJcblxyXG4gIC5oMiB7XHJcbiAgICBjb2xvcjogJGJsdWU7XHJcbiAgICBmb250LXNpemU6IDIuNXJlbTtcclxuICB9XHJcblxyXG4gIGNvbG9yOiAkYmx1ZTtcclxuXHJcbiAgLndwLWJsb2NrLXBsdW5lLWJsb2Nrcy1hY2NvbW1vZGF0aW9uLXByZXZpZXcge1xyXG5cclxuICAgIGJvcmRlci1yYWRpdXM6IDIuNXJlbTtcclxuXHJcbiAgICAvLyAudGl0bGUge1xyXG4gICAgLy8gICBjb2xvcjogJGdyZWVuO1xyXG4gICAgLy8gICBmb250LWZhbWlseTogJGZvbnQtdGl0bGU7XHJcbiAgICAvLyAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAvLyAgIGZvbnQtc2l6ZTogMS43cmVtO1xyXG4gICAgLy8gICBkaXNwbGF5OiBibG9jaztcclxuICAgIC8vICAgd2lkdGg6IDUwJTtcclxuICAgIC8vICAgbGluZS1oZWlnaHQ6IDEuN3JlbTtcclxuICAgIC8vIH1cclxuXHJcbiAgICAucmlnaHQge1xyXG4gICAgICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICAgICAgLmFsdGVybmF0aXZlcyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICBcclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGNvbG9yOiAkY29sb3JfbWFpbjtcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udF9zZWNvbmQ7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICAuYWx0ZXJuYXRpdmVzIHtcclxuICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICR2ZXJ0O1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMXJlbTtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9tYWluX2JpcztcclxuXHJcbiAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC5jb250ZW50IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICBjb2xvcjogJGJsdWU7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC5hbHRlcm5hdGl2ZXMge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcclxuXHJcbiAgICAgICYuYWx0ZXJuYXRpdmVzLWxhYmVsIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAxcmVtO1xyXG4gICAgICAgIHJpZ2h0OiAxcmVtO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgYSB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgLmgyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAuZGVzY3JpcHRpb24ge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuICAud3AtYmxvY2stcGx1bmUtYmxvY2tzLWFjY29tbW9kYXRpb24tcHJldmlldyB7XHJcbiAgICAuY29udGVudCB7XHJcbiAgICAgIHBhZGRpbmc6IDFyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmRhdGVzIHtcclxuICAgICAgZm9udC1zaXplOiAuN3JlbTtcclxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5pbmZvcyB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdW5zZXQ7XHJcbiAgICAgIGNvbG9yOiAkcmVhbC1ibGFjaztcclxuICAgIH1cclxuXHJcbiAgICAuYWx0ZXJuYXRpdmVzIHtcclxuICAgICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcblxyXG4gICAgICBhIHtcclxuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmxhc3Qge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLnRodW1ibmFpbC1hcmNoaXZlLWhlYmVyZ2VtZW50IHtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG59XHJcblxyXG4udGl0bGUtaGViZXJnZW1lbnQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAyO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIG1hcmdpbi1ib3R0b206IDVyZW07XHJcbn1cclxuXHJcbi5wb3N0LXByZXZpZXc6aG92ZXIge1xyXG4gIC5jb250ZW50LXJlc2VydmF0aW9uIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9tYWluX2JpcztcclxuICB9XHJcblxyXG4gIC50aXRsZSB7XHJcbiAgICBjb2xvcjogJGNvbG9yX21haW47XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLmNvbnRlbmFpcmUtYXJjaGl2ZSB7XHJcbiAgb3ZlcmZsb3c6IHVuc2V0O1xyXG59XHJcblxyXG5cclxuLndwLWJsb2NrLXBsdW5lLWJsb2Nrcy1lbGVtZW50cy10cmVlLWRlY28tcmlnaHQsXHJcbi53cC1ibG9jay1wbHVuZS1ibG9ja3MtZWxlbWVudHMtdHJlZS1kZWNvLWxlZnQge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59IiwiLy8gX3NpbmdsZS1oZWJlcmdlbWVudC5zY3NzXHJcblxyXG5ib2R5LnNpbmdsZS1oZWJlcmdlbWVudCB7XHJcbiAgb3ZlcmZsb3cteDogdmlzaWJsZTtcclxuXHJcbiAgLy8gLmJyZWFkY3J1bWIge1xyXG4gIC8vICAgcGFkZGluZzogMXJlbSAwO1xyXG4gIC8vIH1cclxufVxyXG5cclxuLmJsb2MtcGhvdG8tc2luZ2xlLWhlYiB7XHJcbiAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGJsZXUtZm9uY2U7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9wYWdlL29yY2hpZGVlLnBuZylcclxufVxyXG5cclxuLmhlYi1tYWluLWNvbnRlbnQge1xyXG4gIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbn1cclxuXHJcbi5oMS1zaW5nbGUtaGViIHtcclxuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luOiAxcmVtIDA7XHJcbiAgY29sb3I6ICRjb2xvcl9tYWluO1xyXG4gIGZvbnQtc2l6ZTogM3JlbSAhaW1wb3J0YW50O1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udF9zZWNvbmQ7XHJcbn1cclxuXHJcbi5oZWItY29sLXJpZ2h0IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTtcclxuICBwYWRkaW5nOiAzMHB4IDQwcHg7XHJcbiAgbWF4LXdpZHRoOiAzNDBweDtcclxuICBtYXJnaW46IDAgYXV0byA0MHB4IGF1dG87XHJcbiAgYm94LXNoYWRvdzogMCAxcmVtIDI1cHggcmdiYSgkYmxhY2ssIDAuMTUpO1xyXG5cclxuICBAaW5jbHVkZSBtaW4tbGcge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1pbi14bCB7XHJcbiAgICBwYWRkaW5nOiA0MHB4IDUwcHg7XHJcbiAgfVxyXG5cclxuICBoMiB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiBweHIoMTApO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcclxuICAgIHdpZHRoOiAxODBweDtcclxuICAgIC8vIGZvbnQtc2l6ZTogMC42NXJlbTtcclxuXHJcbiAgICBAaW5jbHVkZSBtaW4tc20ge1xyXG4gICAgICB3aWR0aDogMjIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uaGViLXByaWNlIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcblxyXG4gICZfX3ByZWZpeCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgZm9udC1zaXplOiAuODVlbTtcclxuICB9XHJcblxyXG4gICZfX3ZhbHVlIHtcclxuICAgIGZvbnQtc2l6ZTogMS43NWVtO1xyXG4gICAgY29sb3I6ICRncmVlbjtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC10aXRsZTtcclxuICB9XHJcbn1cclxuXHJcbi5zZXJ2aWNlcy1waWN0b3Mge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGdhcDogMTVweDtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICBAaW5jbHVkZSBtaW4tbGcge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICB9XHJcbn1cclxuXHJcbi5zZXJ2aWNlcy1waWN0byB7XHJcbiAgZm9udC1mYW1pbHk6IDI1cHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAubGFiZWwsXHJcbiAgLmljb24ge1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XHJcbiAgfVxyXG5cclxuICAubGFiZWwge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIHdpZHRoOiAyMDBweDtcclxuICAgIGxlZnQ6IC04NXB4O1xyXG4gICAgYm90dG9tOiBjYWxjKDEwMCUgLSAxMHB4KTtcclxuICAgIG9wYWNpdHk6IDA7XHJcblxyXG4gICAgQGluY2x1ZGUgbWluLW1kIHtcclxuICAgICAgbGVmdDogLTc1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW5uZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwLjE1ZW07XHJcbiAgICAgIHBhZGRpbmc6IDAuMWVtIDAuNWVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmljb24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgY29sb3I6ICRibHVlO1xyXG4gICAgYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKCRibGFjaywgMC41KTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgd2lkdGg6IDM1cHg7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMi40O1xyXG4gICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcblxyXG4gICAgQGluY2x1ZGUgbWluLW1kIHtcclxuICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDM7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWluLWxnIHtcclxuICAgICAgbGluZS1oZWlnaHQ6IDIuNDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtaW4teHhsIHtcclxuICAgICAgbGluZS1oZWlnaHQ6IDIuMjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICAubGFiZWwge1xyXG4gICAgICBib3R0b206IGNhbGMoMTAwJSAtIDVweCk7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgLmljb24ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uaGViLXBpY3RvcyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBnYXA6IHB4cigyMCk7XHJcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG59XHJcblxyXG4uaGViLWgyIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5oZWItcGljdG8ge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgJl9fcGljdG8ge1xyXG4gICAgd2lkdGg6IHB4cig2MCk7XHJcbiAgICBoZWlnaHQ6IHB4cig2MCk7XHJcbiAgICBwYWRkaW5nOiA2cHg7XHJcbiAgICBtYXJnaW46IDAgYXV0byAxMHB4IGF1dG87XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkYmx1ZTtcclxuXHJcbiAgICBAaW5jbHVkZSBtaW4tbWQge1xyXG4gICAgICBwYWRkaW5nOiA4cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19sYWJlbCB7XHJcbiAgICBsaW5lLWhlaWdodDogMS4xO1xyXG4gICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgY29sb3I6ICRibHVlO1xyXG4gIH1cclxuXHJcbiAgaSB7XHJcbiAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbiAgfVxyXG5cclxuICBzdmcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgKiB7XHJcbiAgICAgIHN0cm9rZTogJGRhcmstYmx1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5oZWItaW52ZW50b3J5IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xyXG4gIHBhZGRpbmctbGVmdDogMnJlbTtcclxuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRibHVlO1xyXG59XHJcblxyXG4uaGViLWludi10aXRsZSB7XHJcbiAgbWFyZ2luLXRvcDogMXJlbTtcclxufVxyXG5cclxuLmhlYi1pbnYtaXRlbSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICB3aWR0aDogNTAlO1xyXG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblxyXG4gICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWF4LXNtIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuXHJcbiAgLmhlYi1waWN0byB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG5cclxuICAgICZfX3BpY3RvIHtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWF4LW1kIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNvbnRlbnQge1xyXG4gICAgZm9udC1zaXplOiAwLjhlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8vIF9zaW5nbGUtaGViZXJnZW1lbnQuc2Nzc1xyXG5cclxuYm9keS5zaW5nbGUtaGViZXJnZW1lbnQge1xyXG4gIC5hcnRpY2xlIHtcclxuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgLmd1dGVuYmVyZy1jb250ZW50IHtcclxuICAgID4qIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGgxIHtcclxuXHJcbiAgICBAaW5jbHVkZSBtYXgtc20ge1xyXG4gICAgICAuY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC50b3AsXHJcbiAgICAgIC5ib3R0b20ge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYWNjb21vZGF0aW9uLXN1bW1hcnktdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICB9XHJcblxyXG4gIC53cC1ibG9jay1wbHVuZS1ibG9ja3MtcmV2aWV3cy1zdW1tYXJ5IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAycmVtO1xyXG4gICAgdG9wOiAtNC41cmVtO1xyXG4gICAgei1pbmRleDogMTtcclxuXHJcbiAgICBAaW5jbHVkZSBtYXgtbGcge1xyXG4gICAgICByaWdodDogMTByZW07XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWF4LW1kIHtcclxuICAgICAgcmlnaHQ6IDJyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYWNjb21tb2RhdGlvbi1jb2xkLWluZm8ge1xyXG4gICAgLndwLWJsb2NrLWJ1dHRvbnM+LndwLWJsb2NrLWJ1dHRvbiB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYWNjb21tb2RhdGlvbi1waG90b3Mge1xyXG4gICAgLy8gbWF4LXdpZHRoOiA3MjBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luOiA2cmVtIDAgMCAwO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIHBhZGRpbmc6IC41cmVtO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIHBhZGRpbmc6IDByZW07XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmFjY29tbW9kYXRpb24tcGhvdG9zLXJpZ2h0IHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcclxuICAgICAgICBnYXA6IDFyZW07XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFjY29tbW9kYXRpb24tcGhvdG8ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNjglO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBpbnNldDogMDtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgcGFkZGluZzogMXJlbTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgJi5zcXVhcmUge1xyXG4gICAgICAvLyBwYWRkaW5nLWJvdHRvbTogMTAwJTtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDY3LjUlO1xyXG4gICAgfVxyXG5cclxuICAgIC5uby1wcmV2aWV3LWNvdW50IHtcclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbWFpbl9iaXM7XHJcbiAgICAgIC8vIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgICBmb250LWZhbWlseTogJGZvbnRfbWFpbjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBpbnNldDogMDtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgIGhlaWdodDogNDAlO1xyXG4gICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYWNjb21tb2RhdGlvbi1jb2xkLWluZm8ge1xyXG4gICAgQGluY2x1ZGUgbWluLXJ3ZCgxNzAwKSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICYuYW5pbWF0ZWQ6OmFmdGVyIHtcclxuICAgICAgICBhbmltYXRpb246IHNjYWxlT3V0IDEuMjVzIGVhc2UtaW4tb3V0IGZvcndhcmRzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYWNjb21tb2RhdGlvbi10aXRyZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgQGtleWZyYW1lcyBzY2FsZU91dCB7XHJcbiAgICAwJSB7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgIH1cclxuXHJcbiAgICA4NSUge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMC4wMiwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLjAyLCAxKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNtYWxsIHtcclxuICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gIH1cclxuXHJcbiAgLy8gLndwLWJsb2NrLXBsdW5lLWJsb2Nrcy1kb3VibGUtdGl0bGUge1xyXG4gIC8vICAgZm9udC1zaXplOiAycmVtO1xyXG4gIC8vICAgY29sb3I6ICRibHVlO1xyXG4gIC8vICAgZm9udC1mYW1pbHk6ICRmb250LXRpdGxlO1xyXG4gIC8vICAgbGluZS1oZWlnaHQ6IDJyZW07XHJcbiAgLy8gICBmb250LXdlaWdodDogNjAwO1xyXG4gIC8vICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIC8vICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuICAvLyAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgLy8gICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIC8vIH1cclxuXHJcbiAgLmFjY29tbW9kYXRpb24tY29sZC1pbmZvIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gIH1cclxuXHJcbiAgLm15LTUge1xyXG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmp1c3RpZnktY29udGVudC1iZXR3ZWVuIHtcclxuICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDtcclxuICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmZsZXgtd3JhcCB7XHJcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5kLWZsZXgge1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDtcclxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuc3VtbWFyeV9ib3gge1xyXG4gICAgZ2FwOiAyMHB4O1xyXG5cclxuICB9XHJcblxyXG4gIC5hY2NvbW1vZGF0aW9uLXRpdHJlIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuXHJcbiAgICBAaW5jbHVkZSBtYXgteGwge1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICB9XHJcblxyXG4gICAgJi1oMSB7XHJcbiAgICAgIGNvbG9yOiAkZGFyay1ibHVlO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICBmb250LWZhbWlseTogJGZvbnQtdGl0bGU7XHJcbiAgICAgIGZvbnQtc2l6ZTogM3JlbTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAud3AtYmxvY2stcGx1bmUtYmxvY2tzLXBpY3RvIHtcclxuICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgIG1heC13aWR0aDogMTByZW07XHJcbiAgICAgIGZsZXg6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLndwLWJsb2NrLXBsdW5lLWJsb2Nrcy1waWN0b19faWNvbiB7XHJcbiAgICB3aWR0aDogNC41cmVtO1xyXG4gICAgaGVpZ2h0OiA0LjVyZW07XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQ7XHJcbiAgICBtYXJnaW46IDAgYXV0byAwLjVyZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcblxyXG4gICAgaSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLndwLWJsb2NrLXBsdW5lLWJsb2Nrcy1waWN0byAud3AtYmxvY2stcGx1bmUtYmxvY2tzLXBpY3RvX19pY29uIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9tYWluX2JpcztcclxuICAgIGJvcmRlcjogJGNvbG9yX21haW5fYmlzO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG5cclxuICAgIGkge1xyXG4gICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG5cclxuICAgIC5zZXJ2aWNlX3ZhbHVlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX21haW47XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYm90dG9tOiAtLjNyZW07XHJcbiAgICAgIHJpZ2h0OiAtLjNyZW07XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgIHBhZGRpbmc6IDAgLjQ1cmVtIDAuMnJlbSAuNDVyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLndwLWJsb2NrLXBsdW5lLWJsb2Nrcy1waWN0b19fbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgY29sb3I6ICRibGFjaztcclxuICB9XHJcbn1cclxuXHJcbi5mYW5jeWJveC1jb250YWluZXIge1xyXG4gIC5mYW5jeWJveC1zbGlkZSB7XHJcbiAgICBwYWRkaW5nOiA0OHB4IDhweCA4cHggOHB4O1xyXG4gIH1cclxuXHJcbiAgLmZhbmN5Ym94LWJ1dHRvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IC00MHB4O1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICB9XHJcblxyXG4gIC5mYW5jeWJveC1idXR0b24gc3ZnIHBhdGgge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgfVxyXG59XHJcblxyXG4jcHJvZHVjdC1hdmFpbGFiaWxpdHktcm9vdCB7XHJcbiAgLy8gZGlzcGxheTogZmxleDtcclxuICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAvLyBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDIyLCAyNSwgNjgsIDAuMDIpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEuMmVtO1xyXG4gIC8vIHBhZGRpbmc6IDEwcHggMXJlbTtcclxuICBtYXgtd2lkdGg6IDQxNHB4O1xyXG4gIG1hcmdpbjogYXV0bztcclxuICBib3gtc2hhZG93OiA0cHggNHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcclxuXHJcbiAgLndwLWJsb2NrLWJ1dHRvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICA+KiB7XHJcbiAgICAvLyBkaXNwbGF5OiBmbGV4O1xyXG4gICAgLy8ganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAvLyBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgLy8gdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbi5ib3gtdGl0cmUtc2VjdGlvbiB7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgbWFyZ2luLXRvcDogM3JlbTtcclxuXHJcbiAgLnRleHQtdGl0cmUtc2VjdGlvbiB7XHJcbiAgICAvLyB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250X3NlY29uZDtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIGNvbG9yOiAkY29sb3JfbWFpbl9iaXM7XHJcbiAgICBsaW5lLWhlaWdodDogMS43cmVtO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gIH1cclxuXHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX21haW5fYmlzO1xyXG4gICAgaGVpZ2h0OiAxcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMjhweDtcclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuLnNpbmdsZS5zaW5nbGUtaGViZXJnZW1lbnQge1xyXG5cclxuXHJcblxyXG4gIC53cC1ibG9jay1idXR0b246bm90KC5pcy1zdHlsZS1maWxsKSAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbWFpbjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9tYWluO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBwYWRkaW5nOiAuNXJlbSAxcmVtO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuXHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgY29sb3I6ICRjb2xvcl9tYWluO1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfbWFpbjtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAuYWNjb21vZGF0aW9uLWJsb2Mge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICB9XHJcblxyXG4gIC5hY2NvbW9kYXRpb25GZWF0dXJlIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAmT3BpbmlvbiB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC10aXRsZTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3NldmVuO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG5cclxuICAgICAgLy8gJl9fcmF0aW5nIHtcclxuICAgICAgLy8gICAmOjphZnRlciB7XHJcbiAgICAgIC8vICAgICBjb250ZW50OiAnJztcclxuICAgICAgLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAvLyAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgIC8vICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgLy8gICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgLy8gICB9XHJcbiAgICAgIC8vIH1cclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcblxyXG59XHJcblxyXG4jcHJvZHVjdC1yZXZpZXdzLXJvb3QgLm1haW4td3JhcHBlciB7XHJcbiAgcGFkZGluZzogMnJlbTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyLCAyNSwgNjgsIDAuMDIpO1xyXG5cclxuICAud3AtYmxvY2stcGx1bmUtYmxvY2tzLWRvdWJsZS10aXRsZSAudG9wIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC10aXRsZTtcclxuICAgIGNvbG9yOiAkYmxldS1mb25jZTtcclxuICAgIGZvbnQtc2l6ZTogM3JlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiA1cmVtO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVuc2V0O1xyXG4gIH1cclxufVxyXG5cclxuLndwLWJsb2NrLWJ1dHRvbl9hdmFpbGFiaWxpdHktYmxvYyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi53cC1ibG9jay1idXR0b25fYXZhaWxhYmlsaXR5IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfc2l4ZTtcclxuICBmb250LWZhbWlseTogJGZvbnRfc2Vjb25kO1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDJyZW0gMDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGZvbnQtc2l6ZTogMi41cmVtO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgYm9yZGVyLXJhZGl1czogMCAwIDhweCA4cHg7XHJcblxyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbWFpbjtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgfVxyXG59XHJcblxyXG4ud3AtYmxvY2stYnV0dG9uX2NoYW5nZS1kYXRlLWJsb2Mge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG59XHJcblxyXG4ud3AtYmxvY2stYnV0dG9uX2NoYW5nZS1kYXRlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbWFpbjtcclxuICBib3JkZXI6ICRjb2xvcl9tYWluO1xyXG4gIHBhZGRpbmc6IDFyZW0gM3JlbTtcclxuICBjb2xvcjogJHdoaXRlO1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udF9zZWNvbmQ7XHJcbiAgZm9udC1zaXplOiAycmVtO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwO1xyXG5cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbWFpbl9iaXM7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gIH1cclxufVxyXG5cclxuLndwLWJsb2NrLWJ1dHRvbi1wcm9kdWN0IHtcclxuICAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGhlaWdodDogMTVweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuLmFjY29tb2RhdGlvbkluZm9zX19ib29raW5nIHtcclxuXHJcbiAgcG9zaXRpb246IHN0aWNreTtcclxuXHJcbiAgJi1jb250ZW50LFxyXG4gICYtaW5zdXJhbmNlIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBwYWRkaW5nOiAwIDI1cHggMjBweDtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC10ZXh0O1xyXG5cclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwMHB4KSB7XHJcbiAgICAgIHBhZGRpbmc6IDAgMTVweCAxMHB4O1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gICYtY29udGVudCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4IDE1cHggMCAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIEBpbmNsdWRlIG1heC1tZCB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmRhdGVzIHtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAgIC5oZWItZGF0ZS1yYW5nZS1pbnB1dCB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLWluc3VyYW5jZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gICAgcGFkZGluZzogMjBweCAyNXB4O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgIG1heC13aWR0aDogNDE0cHg7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG5cclxuXHJcbiAgICBAaW5jbHVkZSBtYXgtbWQge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250ZW50IHtcclxuICAgICAgJi1waWN0byB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDFlbTtcclxuXHJcbiAgICAgICAgLnBheW1lbnQtbG9nb3Mge1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICAgICAgICAubG9nbyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAuM3JlbTtcclxuXHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnBheW1lbnRfaW5zdXJhbmNlX3RleHQge1xyXG4gICAgICBmb250LWZhbWlseTogJGZvbnQtdGV4dDtcclxuICAgICAgY29sb3I6ICRncmVlbjtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgZm9udC1zaXplOiAuOXJlbTtcclxuXHJcbiAgICAgICZfbWlkZGxlIHtcclxuICAgICAgICBjb2xvcjogJGdyZWVuO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC10aXRsZTtcclxuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtcG9saWN5IHtcclxuICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICAgIG1heC13aWR0aDogNDE0cHg7XHJcbiAgICAgIG1hcmdpbjogYXV0bztcclxuXHJcbiAgICAgIC50ZXh0IHtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtdGV4dDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1heC1tZCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJsb2MtcmVzZXJ2YXRpb24ge1xyXG4gIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgdG9wOiAxNTBweDtcclxufVxyXG5cclxuXHJcbi5jb250ZW50X2FmdGVyX2ludmVudG9yeSB7XHJcbiAgbWFyZ2luLXRvcDogMnJlbTtcclxuXHJcbiAgaDMge1xyXG4gICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICBtYXJnaW4tdG9wOiAxLjJyZW07XHJcbiAgfVxyXG59XHJcblxyXG4uc2VydmljZXMtbGlzdGluZyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBtYXJnaW46IDEuNXJlbSAwO1xyXG4gIGdhcDogMXJlbTtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgIGdhcDogMnJlbTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcclxuICAgIGdhcDogMDtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgLndwLWJsb2NrLXBsdW5lLWJsb2Nrcy1waWN0byB7XHJcbiAgICBtYXgtd2lkdGg6IDVyZW07XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICBtYXgtd2lkdGg6IG5vbmVcclxuICAgIH1cclxuICB9XHJcblxyXG59Il19 */
