/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on Images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

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

/**
 * Remove the inner border and padding in Firefox.
 */

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

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

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

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

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

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

@font-face { font-family: x8b3e1; src:url(data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAPAAAsAAAAABdgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAAPwAAAFY2H0eZY21hcAAAAYQAAABKAAABcOEoo6pnbHlmAAAB0AAAADAAAAAwdVLsgWhlYWQAAAIAAAAALAAAADYg6mHFaGhlYQAAAiwAAAAZAAAAJAu5B9NobXR4AAACSAAAAAgAAAAIB9AAAGxvY2EAAAJQAAAABgAAAAYAGAAAbWF4cAAAAlgAAAAeAAAAIAENABVuYW1lAAACeAAAASkAAAIWm5e+CnBvc3QAAAOkAAAAGwAAACxqQQEEeJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYGR+wTiBgZWBgeUr0x4GBoYeCM34gMGQkYmBgYmBlZkBKwhIc01hcHjA8ICB+QWQGwUmgRpBBABDcwwsAHic7ZCxDYAwEAPPykOBGIEqNbNQsb/YJPkY2CKWzpJPXz2wACU5kwDdiJErrewLm31QfRPDP7T2d+5wo5WZ3X18y796QR0aJglRAAAAAQAAAAAH0APoAAgAAAEHASEVIQEXAQXqWAFO+SAG4P6yWAHmA+hb/qiC/qhbAfR4nGNgZGBgAOJe0We/4/ltvjJwM78AijDc+cdXg0yzXwCLczAwgXgAXlILr3icY2BkYGB+wQAE7BegJCMDKmACAEHUAp4AAAAAAAAAB9AAAAAAAAAAGAAAeJxjYGRgYGBi4GQA0SAWAwMXEDIw/AfzGQAJeAEjAAB4nGWQPW7CQBSEx2BIAlKCFCkps1UKIpmfkgNAT0GXwpi1MbK91npBossJcoQcIaeIcoIcKGPzaGAtP38zb97uygAG+IWHenm4bWq9WrihOnGb9CDsk5+FO+jjRbhLfyjcwxumwn084p07eP4dnQFK4Rbu8SHcpv8p7JO/hDt4wrdwl/6PcA8r/An38eoN08gUsSncUif7LLRnef6utK1SU6hJMD5bC11oGzq9Ueujqg7J1LlYxdbkas6uzjKjSmt2OnLB1rlyNhrF4geRyZEigkGBuKkOS2gk2CNDCHvVvdQrpi0q+rVWmCDA+Cq1YKpokiGVxobJNY6sFQ48bUrXMa34Ws7kpLnMat4kIyv+77q3oxPRD7BtpkrMMOITX+SD5g75Pz0RXqgAAAB4nGNgYoAALgbsgImRiZGZgSnTgIEBAARtALEA) format('woff');font-weight: normal;font-style: normal;}
@font-face{
  font-display:swap;
  font-family:"JosefinSans";
  font-style:normal;
  font-weight:400;
  src:local("Josefin Sans Regular"), local("Josefin-Sans-Regular"), url(/typo3conf/ext/specht_sitepackage/Resources/Public/fonts/josefinSans/josefin-sans-v17-latin-regular.woff2) format("woff2");
}
@font-face{
  font-display:swap;
  font-family:"JosefinSans";
  font-style:normal;
  font-weight:600;
  src:local("Josefin Sans Bold"), local("Josefin-Sans-Bold"), url(/typo3conf/ext/specht_sitepackage/Resources/Public/fonts/josefinSans/josefin-sans-v17-latin-700.woff2) format("woff2");
}
html{
  -webkit-box-sizing:border-box;
          box-sizing:border-box;
}

*, *:before, *:after{
  -webkit-box-sizing:inherit;
          box-sizing:inherit;
}
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
li,
p,
pre,
blockquote,
figure,
fieldset,
hr{
  margin:0;
  padding:0;
}
h1,
h2,
h3,
h4,
h5,
h6{
  font-weight:400;
}
ul,
ol{
  list-style:none;
}

input,
textarea,
select,
button{
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
}
embed,
iframe,
img,
object,
video{
  display:block;
  max-width:100%;
}

iframe{
  border:0;
}

img{
  height:auto;
}
table{
  border-collapse:collapse;
  border-spacing:0;
}

caption,
tbody,
tfoot,
thead,
tr,
th,
td{
  font:inherit;
  vertical-align:baseline;
}
html{
  font-family:"xxs";
}
@media screen and (min-width: 500px){
  html{
    font-family:"xs";
  }
}
@media screen and (min-width: 700px){
  html{
    font-family:"sm";
  }
}
@media screen and (min-width: 900px){
  html{
    font-family:"md";
  }
}
@media screen and (min-width: 1100px){
  html{
    font-family:"lg";
  }
}
@media screen and (min-width: 1300px){
  html{
    font-family:"xl";
  }
}
@media screen and (min-width: 1700px){
  html{
    font-family:"xxl";
  }
}

body:after{
  content:"xxs";
  display:none;
}
@media screen and (min-width: 500px){
  body:after{
    content:"xs";
  }
}
@media screen and (min-width: 700px){
  body:after{
    content:"sm";
  }
}
@media screen and (min-width: 900px){
  body:after{
    content:"md";
  }
}
@media screen and (min-width: 1100px){
  body:after{
    content:"lg";
  }
}
@media screen and (min-width: 1300px){
  body:after{
    content:"xl";
  }
}
@media screen and (min-width: 1700px){
  body:after{
    content:"xxl";
  }
}

:root{
  --grid-width:100%;
  --grid-gutter:calc(20px / 2);
  --grid-template-grid:repeat(12, 1fr);
  --grid-template-grid-full:minmax(0, auto) repeat(12, minmax(0, calc((var(--grid-width) - (13 * var(--grid-gutter))) / 12))) minmax(0, auto);
  --grid-template-grid-full-inner:minmax(0, 1fr) repeat(12, minmax(0, calc((var(--grid-width) - (13 * var(--grid-gutter))) / 12))) minmax(0, 1fr);
  --grid-template-12:repeat(12, minmax(0, calc(var(--grid-width) / 12)));
}
@media screen and (min-width: 500px){
  :root{
    --grid-width:94%;
  }
}
@media screen and (min-width: 700px){
  :root{
    --grid-width:90%;
  }
}
@media screen and (min-width: 900px){
  :root{
    --grid-width:84%;
  }
}
@media screen and (min-width: 1100px){
  :root{
    --grid-width:88%;
  }
}
@media screen and (min-width: 1300px){
  :root{
    --grid-width:1240px;
  }
}
@media screen and (min-width: 1700px){
  :root{
    --grid-width:1240px;
  }
}
@media screen and (min-width: 500px){
  :root{
    --grid-gutter:20px;
    --grid-template-grid-full:minmax(0, auto) repeat(12, minmax(0, calc((var(--grid-width) - (12 * var(--grid-gutter))) / 12))) minmax(0, auto);
    --grid-template-grid-full-inner:minmax(0, 1fr) repeat(12, minmax(0, calc((var(--grid-width) - (12 * var(--grid-gutter))) / 12))) minmax(0, 1fr);
  }
}
a[disabled], a[aria-disabled=true], a.disabled,
button[disabled],
button[aria-disabled=true],
button.disabled,
fieldset[disabled],
fieldset[aria-disabled=true],
fieldset.disabled,
input[disabled],
input[aria-disabled=true],
input.disabled,
optgroup[disabled],
optgroup[aria-disabled=true],
optgroup.disabled,
option[disabled],
option[aria-disabled=true],
option.disabled,
select[disabled],
select[aria-disabled=true],
select.disabled,
textarea[disabled],
textarea[aria-disabled=true],
textarea.disabled{
  opacity:0.5;
  pointer-events:none;
}

[disabled] + .c-form__select-arrow,
[disabled] + button,
[disabled] + label,
[disabled] + label:after,
[disabled] + label:before,
[aria-disabled=true] + .c-form__select-arrow,
[aria-disabled=true] + button,
[aria-disabled=true] + label,
[aria-disabled=true] + label:after,
[aria-disabled=true] + label:before,
.disabled + .c-form__select-arrow,
.disabled + button,
.disabled + label,
.disabled + label:after,
.disabled + label:before{
  opacity:0.5;
  pointer-events:none;
}
:focus{
  outline:0;
}
.accessibility-mode :focus{
  outline:3px dashed #000;
  outline-offset:2px;
}

html{
  font-size:14px;
}
@media screen and (min-width: 500px){
  html{
    font-size:15px;
  }
}
@media screen and (min-width: 900px){
  html{
    font-size:100%;
  }
}

body{
  font-family:"JosefinSans", Calibri, sans-serif;
  font-style:normal;
  font-weight:400;
  color:#363840;
  line-height:1.4;
  max-width:100%;
  overflow-x:hidden;
}

a{
  color:#000;
  text-decoration:underline;
}
a:hover, a:focus{
  text-decoration:none;
}
a:hover, a:active{
  outline:none;
}

h1:not([class]){
  font-size:4.235801032rem;
  line-height:1.062;
  font-family:"JosefinSans", Calibri, sans-serif;
  font-style:normal;
  font-weight:300;
}

h2:not([class]){
  font-size:2.617924rem;
  line-height:1.1;
  font-family:"JosefinSans", Calibri, sans-serif;
  font-style:normal;
  font-weight:600;
  color:#004D95;
}

h3:not([class]){
  font-size:1.618rem;
  line-height:1.16;
  font-family:"JosefinSans", Calibri, sans-serif;
  font-style:normal;
  font-weight:400;
}

h1{
  margin-bottom:0.5em;
}

h2{
  margin-bottom:0.5em;
}

h3{
  margin-bottom:0.5em;
}

h4{
  margin-bottom:0.5em;
}

h5{
  margin-bottom:0.5em;
}

h6{
  margin-bottom:0.5em;
}

hr{
  border:0;
  border-bottom:1px solid;
  margin-bottom:1.25rem;
}

i,
cite,
address,
em,
dfn{
  font-family:"JosefinSans", Calibri, sans-serif;
  font-style:italic;
  font-weight:400;
}

p,
blockquote{
  margin-bottom:1.25rem;
}

b,
strong{
  font-family:"JosefinSans", Calibri, sans-serif;
  font-style:normal;
  font-weight:600;
}
.mfp-bg{
  top:0;
  left:0;
  width:100%;
  height:100%;
  z-index:1042;
  overflow:hidden;
  position:fixed;
  background:#0b0b0b;
  opacity:0.8;
}

.mfp-wrap{
  top:0;
  left:0;
  width:100%;
  height:100%;
  z-index:1043;
  position:fixed;
  outline:none !important;
  -webkit-backface-visibility:hidden;
}

.mfp-container{
  text-align:center;
  position:absolute;
  width:100%;
  height:100%;
  left:0;
  top:0;
  padding:0 8px;
  -webkit-box-sizing:border-box;
          box-sizing:border-box;
}

.mfp-container:before{
  content:"";
  display:inline-block;
  height:100%;
  vertical-align:middle;
}

.mfp-align-top .mfp-container:before{
  display:none;
}

.mfp-content{
  position:relative;
  display:inline-block;
  vertical-align:middle;
  margin:0 auto;
  text-align:left;
  z-index:1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content{
  width:100%;
  cursor:auto;
}

.mfp-ajax-cur{
  cursor:progress;
}

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close{
  cursor:-webkit-zoom-out;
  cursor:zoom-out;
}

.mfp-zoom{
  cursor:pointer;
  cursor:-webkit-zoom-in;
  cursor:zoom-in;
}

.mfp-auto-cursor .mfp-content{
  cursor:auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter{
  -webkit-user-select:none;
  -moz-user-select:none;
  -ms-user-select:none;
      user-select:none;
}

.mfp-loading.mfp-figure{
  display:none;
}

.mfp-hide{
  display:none !important;
}

.mfp-preloader{
  color:#CCC;
  position:absolute;
  top:50%;
  width:auto;
  text-align:center;
  margin-top:-0.8em;
  left:8px;
  right:8px;
  z-index:1044;
}
.mfp-preloader a{
  color:#CCC;
}
.mfp-preloader a:hover{
  color:#FFF;
}

.mfp-s-ready .mfp-preloader{
  display:none;
}

.mfp-s-error .mfp-content{
  display:none;
}

button.mfp-close, button.mfp-arrow{
  overflow:visible;
  cursor:pointer;
  background:transparent;
  border:0;
  -webkit-appearance:none;
  display:block;
  outline:none;
  padding:0;
  z-index:1046;
  -webkit-box-shadow:none;
          box-shadow:none;
  -ms-touch-action:manipulation;
      touch-action:manipulation;
}
button::-moz-focus-inner{
  padding:0;
  border:0;
}

.mfp-close{
  width:44px;
  height:44px;
  line-height:44px;
  position:absolute;
  right:0;
  top:0;
  text-decoration:none;
  text-align:center;
  opacity:0.65;
  padding:0 0 18px 10px;
  color:#FFF;
  font-style:normal;
  font-size:28px;
  font-family:Arial, Baskerville, monospace;
}
.mfp-close:hover, .mfp-close:focus{
  opacity:1;
}
.mfp-close:active{
  top:1px;
}

.mfp-close-btn-in .mfp-close{
  color:#333;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close{
  color:#FFF;
  right:-6px;
  text-align:right;
  padding-right:6px;
  width:100%;
}

.mfp-counter{
  position:absolute;
  top:0;
  right:0;
  color:#CCC;
  font-size:12px;
  line-height:18px;
  white-space:nowrap;
}

.mfp-arrow{
  position:absolute;
  opacity:0.65;
  margin:0;
  top:50%;
  margin-top:-55px;
  padding:0;
  width:90px;
  height:110px;
  -webkit-tap-highlight-color:rgba(0, 0, 0, 0);
}
.mfp-arrow:active{
  margin-top:-54px;
}
.mfp-arrow:hover, .mfp-arrow:focus{
  opacity:1;
}
.mfp-arrow:before, .mfp-arrow:after{
  content:"";
  display:block;
  width:0;
  height:0;
  position:absolute;
  left:0;
  top:0;
  margin-top:35px;
  margin-left:35px;
  border:medium inset transparent;
}
.mfp-arrow:after{
  border-top-width:13px;
  border-bottom-width:13px;
  top:8px;
}
.mfp-arrow:before{
  border-top-width:21px;
  border-bottom-width:21px;
  opacity:0.7;
}

.mfp-arrow-left{
  left:0;
}
.mfp-arrow-left:after{
  border-right:17px solid #FFF;
  margin-left:31px;
}
.mfp-arrow-left:before{
  margin-left:25px;
  border-right:27px solid #3F3F3F;
}

.mfp-arrow-right{
  right:0;
}
.mfp-arrow-right:after{
  border-left:17px solid #FFF;
  margin-left:39px;
}
.mfp-arrow-right:before{
  border-left:27px solid #3F3F3F;
}

.mfp-iframe-holder{
  padding-top:40px;
  padding-bottom:40px;
}
.mfp-iframe-holder .mfp-content{
  line-height:0;
  width:100%;
  max-width:900px;
}
.mfp-iframe-holder .mfp-close{
  top:-40px;
}

.mfp-iframe-scaler{
  width:100%;
  height:0;
  overflow:hidden;
  padding-top:56.25%;
}
.mfp-iframe-scaler iframe{
  position:absolute;
  display:block;
  top:0;
  left:0;
  width:100%;
  height:100%;
  -webkit-box-shadow:0 0 8px rgba(0, 0, 0, 0.6);
          box-shadow:0 0 8px rgba(0, 0, 0, 0.6);
  background:#000;
}
img.mfp-img{
  width:auto;
  max-width:100%;
  height:auto;
  display:block;
  line-height:0;
  -webkit-box-sizing:border-box;
          box-sizing:border-box;
  padding:40px 0 40px;
  margin:0 auto;
}
.mfp-figure{
  line-height:0;
}
.mfp-figure:after{
  content:"";
  position:absolute;
  left:0;
  top:40px;
  bottom:40px;
  display:block;
  right:0;
  width:auto;
  height:auto;
  z-index:-1;
  -webkit-box-shadow:0 0 8px rgba(0, 0, 0, 0.6);
          box-shadow:0 0 8px rgba(0, 0, 0, 0.6);
  background:#444;
}
.mfp-figure small{
  color:#BDBDBD;
  display:block;
  font-size:12px;
  line-height:14px;
}
.mfp-figure figure{
  margin:0;
}

.mfp-bottom-bar{
  margin-top:-36px;
  position:absolute;
  top:100%;
  left:0;
  width:100%;
  cursor:auto;
}

.mfp-title{
  text-align:left;
  line-height:18px;
  color:#F3F3F3;
  word-wrap:break-word;
  padding-right:36px;
}

.mfp-image-holder .mfp-content{
  max-width:100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure{
  cursor:pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px){
  .mfp-img-mobile .mfp-image-holder{
    padding-left:0;
    padding-right:0;
  }
  .mfp-img-mobile img.mfp-img{
    padding:0;
  }
  .mfp-img-mobile .mfp-figure:after{
    top:0;
    bottom:0;
  }
  .mfp-img-mobile .mfp-figure small{
    display:inline;
    margin-left:5px;
  }
  .mfp-img-mobile .mfp-bottom-bar{
    background:rgba(0, 0, 0, 0.6);
    bottom:0;
    margin:0;
    top:auto;
    padding:3px 5px;
    position:fixed;
    -webkit-box-sizing:border-box;
            box-sizing:border-box;
  }
  .mfp-img-mobile .mfp-bottom-bar:empty{
    padding:0;
  }
  .mfp-img-mobile .mfp-counter{
    right:5px;
    top:3px;
  }
  .mfp-img-mobile .mfp-close{
    top:0;
    right:0;
    width:35px;
    height:35px;
    line-height:35px;
    background:rgba(0, 0, 0, 0.6);
    position:fixed;
    text-align:center;
    padding:0;
  }
}
@media all and (max-width: 900px){
  .mfp-arrow{
    -webkit-transform:scale(0.75);
    transform:scale(0.75);
  }

  .mfp-arrow-left{
    -webkit-transform-origin:0;
    transform-origin:0;
  }

  .mfp-arrow-right{
    -webkit-transform-origin:100%;
    transform-origin:100%;
  }

  .mfp-container{
    padding-left:6px;
    padding-right:6px;
  }
}
/*!
 * mmenu.js
 * mmenujs.com
 *
 * Copyright (c) Fred Heusschen
 * frebsite.nl
 *
 * License: CC-BY-NC-4.0
 * http://creativecommons.org/licenses/by-nc/4.0/
 */
:root{
  --mm-line-height:20px;
  --mm-listitem-size:44px;
  --mm-navbar-size:44px;
  --mm-offset-top:0;
  --mm-offset-right:0;
  --mm-offset-bottom:0;
  --mm-offset-left:0;
  --mm-color-border:rgba(0, 0, 0, 0.1);
  --mm-color-button:rgba(0, 0, 0, 0.3);
  --mm-color-text:rgba(0, 0, 0, 0.75);
  --mm-color-text-dimmed:rgba(0, 0, 0, 0.3);
  --mm-color-background:#f3f3f3;
  --mm-color-background-highlight:rgba(0, 0, 0, 0.05);
  --mm-color-background-emphasis:rgba(255, 255, 255, 0.4);
  --mm-shadow:0 0 10px rgba(0, 0, 0, 0.3);
}

.mm-hidden{
  display:none !important;
}

.mm-wrapper{
  overflow-x:hidden;
  position:relative;
}

.mm-menu{
  top:0;
  right:0;
  bottom:0;
  left:0;
  background:#f3f3f3;
  border-color:rgba(0, 0, 0, 0.1);
  color:rgba(0, 0, 0, 0.75);
  line-height:20px;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
      -ms-flex-direction:column;
          flex-direction:column;
  padding:0;
  margin:0;
  -webkit-box-sizing:border-box;
          box-sizing:border-box;
  position:absolute;
  top:var(--mm-offset-top);
  right:var(--mm-offset-right);
  bottom:var(--mm-offset-bottom);
  left:var(--mm-offset-left);
  z-index:0;
  -ms-scroll-chaining:chained;
      overscroll-behavior:auto;
  background:var(--mm-color-background);
  border-color:var(--mm-color-border);
  color:var(--mm-color-text);
  line-height:var(--mm-line-height);
  -webkit-tap-highlight-color:var(--mm-color-background-emphasis);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.mm-menu a,
.mm-menu a:link,
.mm-menu a:active,
.mm-menu a:visited,
.mm-menu a:hover{
  text-decoration:none;
  color:inherit;
}

[dir=rtl] .mm-menu{
  direction:rtl;
}

.mm-panel{
  background:#f3f3f3;
  border-color:rgba(0, 0, 0, 0.1);
  color:rgba(0, 0, 0, 0.75);
  z-index:0;
  -webkit-box-sizing:border-box;
          box-sizing:border-box;
  width:100%;
  -webkit-overflow-scrolling:touch;
  overflow:hidden;
  overflow-y:auto;
  color:var(--mm-color-text);
  border-color:var(--mm-color-border);
  background:var(--mm-color-background);
  -webkit-transform:translate3d(100%, 0, 0);
          transform:translate3d(100%, 0, 0);
  -webkit-transition:-webkit-transform 0.4s ease;
  transition:-webkit-transform 0.4s ease;
  transition:transform 0.4s ease;
  transition:transform 0.4s ease, -webkit-transform 0.4s ease;
}
.mm-panel:after{
  height:44px;
}
.mm-panel:not(.mm-hidden){
  display:block;
}
.mm-panel:after{
  content:"";
  display:block;
  height:var(--mm-listitem-size);
}
.mm-panel_opened{
  z-index:1;
  -webkit-transform:translate3d(0%, 0, 0);
          transform:translate3d(0%, 0, 0);
}
.mm-panel_opened-parent{
  -webkit-transform:translate3d(-30%, 0, 0);
          transform:translate3d(-30%, 0, 0);
}
.mm-panel_highest{
  z-index:2;
}
.mm-panel_noanimation{
  -webkit-transition:none !important;
  transition:none !important;
}
.mm-panel_noanimation.mm-panel_opened-parent{
  -webkit-transform:translate3d(0, 0, 0);
          transform:translate3d(0, 0, 0);
}
.mm-panels > .mm-panel{
  position:absolute;
  left:0;
  right:0;
  top:0;
  bottom:0;
}

.mm-panel__content{
  padding:20px 20px 0;
}

.mm-panels{
  background:#f3f3f3;
  border-color:rgba(0, 0, 0, 0.1);
  color:rgba(0, 0, 0, 0.75);
  position:relative;
  height:100%;
  -webkit-box-flex:1;
      -ms-flex-positive:1;
          flex-grow:1;
  overflow:hidden;
  background:var(--mm-color-background);
  border-color:var(--mm-color-border);
  color:var(--mm-color-text);
}

[dir=rtl] .mm-panel:not(.mm-panel_opened){
  -webkit-transform:translate3d(-100%, 0, 0);
          transform:translate3d(-100%, 0, 0);
}
[dir=rtl] .mm-panel.mm-panel_opened-parent{
  -webkit-transform:translate3d(30%, 0, 0);
          transform:translate3d(30%, 0, 0);
}

.mm-listitem_vertical > .mm-panel{
  display:none;
  width:100%;
  padding:10px 0 10px 10px;
  -webkit-transform:none !important;
          transform:none !important;
}
.mm-listitem_vertical > .mm-panel:before, .mm-listitem_vertical > .mm-panel:after{
  content:none;
  display:none;
}

.mm-listitem_opened > .mm-panel{
  display:block;
}

.mm-listitem_vertical > .mm-listitem__btn{
  height:44px;
  height:var(--mm-listitem-size);
  bottom:auto;
}
.mm-listitem_vertical .mm-listitem:last-child:after{
  border-color:transparent;
}

.mm-listitem_opened > .mm-listitem__btn:after{
  -webkit-transform:rotate(225deg);
          transform:rotate(225deg);
  right:19px;
}

.mm-btn{
  -webkit-box-flex:0;
      -ms-flex-positive:0;
          flex-grow:0;
  -ms-flex-negative:0;
      flex-shrink:0;
  position:relative;
  -webkit-box-sizing:border-box;
          box-sizing:border-box;
  width:50px;
  padding:0;
}
.mm-btn:before, .mm-btn:after{
  border:2px solid rgba(0, 0, 0, 0.3);
  border:2px solid var(--mm-color-button);
}

.mm-btn_next:after, .mm-btn_prev:before{
  content:"";
  border-bottom:none;
  border-right:none;
  -webkit-box-sizing:content-box;
          box-sizing:content-box;
  display:block;
  width:8px;
  height:8px;
  margin:auto;
  position:absolute;
  top:0;
  bottom:0;
}

.mm-btn_prev:before{
  -webkit-transform:rotate(-45deg);
          transform:rotate(-45deg);
  left:23px;
  right:auto;
}
.mm-btn_next:after{
  -webkit-transform:rotate(135deg);
          transform:rotate(135deg);
  right:23px;
  left:auto;
}
.mm-btn_close:before, .mm-btn_close:after{
  content:"";
  -webkit-box-sizing:content-box;
          box-sizing:content-box;
  display:block;
  width:5px;
  height:5px;
  margin:auto;
  position:absolute;
  top:0;
  bottom:0;
  -webkit-transform:rotate(-45deg);
          transform:rotate(-45deg);
}
.mm-btn_close:before{
  border-right:none;
  border-bottom:none;
  right:18px;
}
.mm-btn_close:after{
  border-left:none;
  border-top:none;
  right:25px;
}

[dir=rtl] .mm-btn_next:after{
  -webkit-transform:rotate(-45deg);
          transform:rotate(-45deg);
  left:23px;
  right:auto;
}
[dir=rtl] .mm-btn_prev:before{
  -webkit-transform:rotate(135deg);
          transform:rotate(135deg);
  right:23px;
  left:auto;
}
[dir=rtl] .mm-btn_close:before, [dir=rtl] .mm-btn_close:after{
  right:auto;
}
[dir=rtl] .mm-btn_close:before{
  left:25px;
}
[dir=rtl] .mm-btn_close:after{
  left:18px;
}

.mm-navbar{
  min-height:44px;
  border-bottom:1px solid rgba(0, 0, 0, 0.1);
  background:#f3f3f3;
  color:rgba(0, 0, 0, 0.3);
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  min-height:var(--mm-navbar-size);
  border-bottom:1px solid var(--mm-color-border);
  background:var(--mm-color-background);
  color:var(--mm-color-text-dimmed);
  text-align:center;
  opacity:1;
  -webkit-transition:opacity 0.4s ease;
  transition:opacity 0.4s ease;
}
.mm-navbar > *{
  min-height:44px;
}
@supports (position: sticky){
  .mm-navbar_sticky{
    position:sticky;
    top:0;
    z-index:1;
  }
}
.mm-navbar > *{
  -webkit-box-flex:1;
      -ms-flex-positive:1;
          flex-grow:1;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  -webkit-box-pack:center;
      -ms-flex-pack:center;
          justify-content:center;
  -webkit-box-sizing:border-box;
          box-sizing:border-box;
}

.mm-navbar__btn{
  -webkit-box-flex:0;
      -ms-flex-positive:0;
          flex-grow:0;
}

.mm-navbar__title{
  -webkit-box-flex:1;
      -ms-flex:1 1 50%;
          flex:1 1 50%;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  padding-left:20px;
  padding-right:20px;
  overflow:hidden;
}
.mm-navbar__title:not(:last-child){
  padding-right:0;
}
.mm-navbar__title > span{
  text-overflow:ellipsis;
  white-space:nowrap;
  overflow:hidden;
}
.mm-navbar__btn:not(.mm-hidden) + .mm-navbar__title{
  padding-left:0;
}
.mm-navbar__btn:not(.mm-hidden) + .mm-navbar__title:last-child{
  padding-right:50px;
}

[dir=rtl] .mm-navbar{
  -webkit-box-orient:horizontal;
  -webkit-box-direction:reverse;
      -ms-flex-direction:row-reverse;
          flex-direction:row-reverse;
}

.mm-listview{
  list-style:none;
  display:block;
  padding:0;
  margin:0;
}

.mm-listitem{
  color:rgba(0, 0, 0, 0.75);
  border-color:rgba(0, 0, 0, 0.1);
  color:var(--mm-color-text);
  border-color:var(--mm-color-border);
  list-style:none;
  display:block;
  padding:0;
  margin:0;
  position:relative;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
      flex-wrap:wrap;
}
.mm-listitem:after{
  content:"";
  border-color:inherit;
  border-bottom-width:1px;
  border-bottom-style:solid;
  display:block;
  position:absolute;
  left:20px;
  right:0;
  bottom:0;
}
.mm-listitem a,
.mm-listitem a:hover{
  text-decoration:none;
}

.mm-listitem__btn, .mm-listitem__text{
  padding:12px;
  display:block;
  padding:calc((var(--mm-listitem-size) - var(--mm-line-height)) / 2);
  padding-left:0;
  padding-right:0;
  color:inherit;
}

.mm-listitem__text{
  text-overflow:ellipsis;
  white-space:nowrap;
  overflow:hidden;
  padding-left:20px;
  padding-right:10px;
  -webkit-box-flex:1;
      -ms-flex-positive:1;
          flex-grow:1;
  -ms-flex-preferred-size:10%;
      flex-basis:10%;
}

.mm-listitem__btn{
  background:rgba(3, 2, 1, 0);
  border-color:inherit;
  width:auto;
  padding-right:50px;
  position:relative;
}
.mm-listitem__btn:not(.mm-listitem__text){
  border-left-width:1px;
  border-left-style:solid;
}

.mm-listitem_selected > .mm-listitem__text{
  background:rgba(255, 255, 255, 0.4);
  background:var(--mm-color-background-emphasis);
}
.mm-listitem_opened > .mm-listitem__btn,
.mm-listitem_opened > .mm-panel{
  background:rgba(0, 0, 0, 0.05);
  background:var(--mm-color-background-highlight);
}

[dir=rtl] .mm-listitem:after{
  left:0;
  right:20px;
}
[dir=rtl] .mm-listitem__text{
  padding-left:10px;
  padding-right:20px;
}
[dir=rtl] .mm-listitem__btn{
  padding-left:50px;
  border-left-width:0;
  border-left-style:none;
}
[dir=rtl] .mm-listitem__btn:not(.mm-listitem__text){
  padding-right:0;
  border-right-width:1px;
  border-right-style:solid;
}

.mm-page{
  -webkit-box-sizing:border-box;
          box-sizing:border-box;
  position:relative;
}

.mm-slideout{
  -webkit-transition:-webkit-transform 0.4s ease;
  transition:-webkit-transform 0.4s ease;
  transition:transform 0.4s ease;
  transition:transform 0.4s ease, -webkit-transform 0.4s ease;
  z-index:1;
}

.mm-wrapper_opened{
  overflow-x:hidden;
  position:relative;
}
.mm-wrapper_opened .mm-page{
  min-height:100vh;
}
.mm-wrapper_background .mm-page{
  background:inherit;
}

.mm-menu_offcanvas{
  position:fixed;
  right:auto;
  z-index:0;
}
.mm-menu_offcanvas:not(.mm-menu_opened){
  display:none;
}

.mm-menu_offcanvas{
  width:80%;
  min-width:240px;
  max-width:440px;
}

.mm-wrapper_opening .mm-menu_offcanvas.mm-menu_opened ~ .mm-slideout{
  -webkit-transform:translate3d(80vw, 0, 0);
          transform:translate3d(80vw, 0, 0);
}

@media all and (max-width: 300px){
  .mm-wrapper_opening .mm-menu_offcanvas.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(240px, 0, 0);
            transform:translate3d(240px, 0, 0);
  }
}
@media all and (min-width: 550px){
  .mm-wrapper_opening .mm-menu_offcanvas.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(440px, 0, 0);
            transform:translate3d(440px, 0, 0);
  }
}
.mm-wrapper__blocker{
  background:rgba(3, 2, 1, 0);
  overflow:hidden;
  display:none;
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  left:0;
  z-index:2;
}

.mm-wrapper_blocking{
  overflow:hidden;
}
.mm-wrapper_blocking body{
  overflow:hidden;
}
.mm-wrapper_blocking .mm-wrapper__blocker{
  display:block;
}

[dir=rtl] .mm-menu_offcanvas{
}

.mm-sronly{
  border:0 !important;
  clip:rect(1px, 1px, 1px, 1px) !important;
  -webkit-clip-path:inset(50%) !important;
          clip-path:inset(50%) !important;
  white-space:nowrap !important;
  width:1px !important;
  min-width:1px !important;
  height:1px !important;
  min-height:1px !important;
  padding:0 !important;
  overflow:hidden !important;
  position:absolute !important;
}

.mm-menu_autoheight:not(.mm-menu_offcanvas){
  position:relative;
}
.mm-menu_autoheight.mm-menu_position-top, .mm-menu_autoheight.mm-menu_position-bottom{
  max-height:80%;
}
.mm-menu_autoheight-measuring .mm-panel{
  display:block !important;
}
.mm-menu_autoheight-measuring .mm-panels > .mm-panel{
  bottom:auto !important;
  height:auto !important;
}
.mm-menu_autoheight-measuring .mm-listitem_vertical:not(.mm-listitem_opened) .mm-panel{
  display:none !important;
}

[class*=mm-menu_columns-]{
  -webkit-transition-property:width;
  transition-property:width;
}
[class*=mm-menu_columns-] .mm-panels > .mm-panel{
  right:auto;
  -webkit-transition-property:width, -webkit-transform;
  transition-property:width, -webkit-transform;
  transition-property:width, transform;
  transition-property:width, transform, -webkit-transform;
}
[class*=mm-menu_columns-] .mm-panels > .mm-panel_opened, [class*=mm-menu_columns-] .mm-panels > .mm-panel_opened-parent{
  display:block !important;
}

[class*=mm-panel_columns-]{
  border-right:1px solid;
  border-color:inherit;
}

.mm-menu_columns-1 .mm-panel_columns-0,
.mm-menu_columns-2 .mm-panel_columns-1,
.mm-menu_columns-3 .mm-panel_columns-2,
.mm-menu_columns-4 .mm-panel_columns-3{
  border-right:none;
}

[class*=mm-menu_columns-] .mm-panels > .mm-panel_columns-0{
  -webkit-transform:translate3d(0%, 0, 0);
          transform:translate3d(0%, 0, 0);
}

.mm-menu_columns-0 .mm-panels > .mm-panel{
  z-index:0;
}
.mm-menu_columns-0 .mm-panels > .mm-panel else{
  width:100%;
}
.mm-menu_columns-0 .mm-panels > .mm-panel:not(.mm-panel_opened):not(.mm-panel_opened-parent){
  -webkit-transform:translate3d(100%, 0, 0);
          transform:translate3d(100%, 0, 0);
}

.mm-menu_columns-0{
  width:80%;
  min-width:240px;
  max-width:0px;
}

.mm-wrapper_opening .mm-menu_columns-0.mm-menu_opened ~ .mm-slideout{
  -webkit-transform:translate3d(80vw, 0, 0);
          transform:translate3d(80vw, 0, 0);
}

@media all and (max-width: 300px){
  .mm-wrapper_opening .mm-menu_columns-0.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(240px, 0, 0);
            transform:translate3d(240px, 0, 0);
  }
}
@media all and (min-width: 0px){
  .mm-wrapper_opening .mm-menu_columns-0.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(0px, 0, 0);
            transform:translate3d(0px, 0, 0);
  }
}
.mm-wrapper_opening .mm-menu_columns-0.mm-menu_position-right.mm-menu_opened ~ .mm-slideout{
  -webkit-transform:translate3d(-80vw, 0, 0);
          transform:translate3d(-80vw, 0, 0);
}

@media all and (max-width: 300px){
  .mm-wrapper_opening .mm-menu_columns-0.mm-menu_position-right.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(-240px, 0, 0);
            transform:translate3d(-240px, 0, 0);
  }
}
@media all and (min-width: 0px){
  .mm-wrapper_opening .mm-menu_columns-0.mm-menu_position-right.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(0px, 0, 0);
            transform:translate3d(0px, 0, 0);
  }
}
[class*=mm-menu_columns-] .mm-panels > .mm-panel_columns-1{
  -webkit-transform:translate3d(100%, 0, 0);
          transform:translate3d(100%, 0, 0);
}

.mm-menu_columns-1 .mm-panels > .mm-panel{
  z-index:1;
  width:100%;
}
.mm-menu_columns-1 .mm-panels > .mm-panel else{
  width:100%;
}
.mm-menu_columns-1 .mm-panels > .mm-panel:not(.mm-panel_opened):not(.mm-panel_opened-parent){
  -webkit-transform:translate3d(200%, 0, 0);
          transform:translate3d(200%, 0, 0);
}

.mm-menu_columns-1{
  width:80%;
  min-width:240px;
  max-width:440px;
}

.mm-wrapper_opening .mm-menu_columns-1.mm-menu_opened ~ .mm-slideout{
  -webkit-transform:translate3d(80vw, 0, 0);
          transform:translate3d(80vw, 0, 0);
}

@media all and (max-width: 300px){
  .mm-wrapper_opening .mm-menu_columns-1.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(240px, 0, 0);
            transform:translate3d(240px, 0, 0);
  }
}
@media all and (min-width: 550px){
  .mm-wrapper_opening .mm-menu_columns-1.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(440px, 0, 0);
            transform:translate3d(440px, 0, 0);
  }
}
.mm-wrapper_opening .mm-menu_columns-1.mm-menu_position-right.mm-menu_opened ~ .mm-slideout{
  -webkit-transform:translate3d(-80vw, 0, 0);
          transform:translate3d(-80vw, 0, 0);
}

@media all and (max-width: 300px){
  .mm-wrapper_opening .mm-menu_columns-1.mm-menu_position-right.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(-240px, 0, 0);
            transform:translate3d(-240px, 0, 0);
  }
}
@media all and (min-width: 550px){
  .mm-wrapper_opening .mm-menu_columns-1.mm-menu_position-right.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(-440px, 0, 0);
            transform:translate3d(-440px, 0, 0);
  }
}
[class*=mm-menu_columns-] .mm-panels > .mm-panel_columns-2{
  -webkit-transform:translate3d(200%, 0, 0);
          transform:translate3d(200%, 0, 0);
}

.mm-menu_columns-2 .mm-panels > .mm-panel{
  z-index:2;
  width:50%;
}
.mm-menu_columns-2 .mm-panels > .mm-panel else{
  width:100%;
}
.mm-menu_columns-2 .mm-panels > .mm-panel:not(.mm-panel_opened):not(.mm-panel_opened-parent){
  -webkit-transform:translate3d(300%, 0, 0);
          transform:translate3d(300%, 0, 0);
}

.mm-menu_columns-2{
  width:80%;
  min-width:240px;
  max-width:880px;
}

.mm-wrapper_opening .mm-menu_columns-2.mm-menu_opened ~ .mm-slideout{
  -webkit-transform:translate3d(80vw, 0, 0);
          transform:translate3d(80vw, 0, 0);
}

@media all and (max-width: 300px){
  .mm-wrapper_opening .mm-menu_columns-2.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(240px, 0, 0);
            transform:translate3d(240px, 0, 0);
  }
}
@media all and (min-width: 1100px){
  .mm-wrapper_opening .mm-menu_columns-2.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(880px, 0, 0);
            transform:translate3d(880px, 0, 0);
  }
}
.mm-wrapper_opening .mm-menu_columns-2.mm-menu_position-right.mm-menu_opened ~ .mm-slideout{
  -webkit-transform:translate3d(-80vw, 0, 0);
          transform:translate3d(-80vw, 0, 0);
}

@media all and (max-width: 300px){
  .mm-wrapper_opening .mm-menu_columns-2.mm-menu_position-right.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(-240px, 0, 0);
            transform:translate3d(-240px, 0, 0);
  }
}
@media all and (min-width: 1100px){
  .mm-wrapper_opening .mm-menu_columns-2.mm-menu_position-right.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(-880px, 0, 0);
            transform:translate3d(-880px, 0, 0);
  }
}
[class*=mm-menu_columns-] .mm-panels > .mm-panel_columns-3{
  -webkit-transform:translate3d(300%, 0, 0);
          transform:translate3d(300%, 0, 0);
}

.mm-menu_columns-3 .mm-panels > .mm-panel{
  z-index:3;
  width:33.34%;
}
.mm-menu_columns-3 .mm-panels > .mm-panel else{
  width:100%;
}
.mm-menu_columns-3 .mm-panels > .mm-panel:not(.mm-panel_opened):not(.mm-panel_opened-parent){
  -webkit-transform:translate3d(400%, 0, 0);
          transform:translate3d(400%, 0, 0);
}

.mm-menu_columns-3{
  width:80%;
  min-width:240px;
  max-width:1320px;
}

.mm-wrapper_opening .mm-menu_columns-3.mm-menu_opened ~ .mm-slideout{
  -webkit-transform:translate3d(80vw, 0, 0);
          transform:translate3d(80vw, 0, 0);
}

@media all and (max-width: 300px){
  .mm-wrapper_opening .mm-menu_columns-3.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(240px, 0, 0);
            transform:translate3d(240px, 0, 0);
  }
}
@media all and (min-width: 1650px){
  .mm-wrapper_opening .mm-menu_columns-3.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(1320px, 0, 0);
            transform:translate3d(1320px, 0, 0);
  }
}
.mm-wrapper_opening .mm-menu_columns-3.mm-menu_position-right.mm-menu_opened ~ .mm-slideout{
  -webkit-transform:translate3d(-80vw, 0, 0);
          transform:translate3d(-80vw, 0, 0);
}

@media all and (max-width: 300px){
  .mm-wrapper_opening .mm-menu_columns-3.mm-menu_position-right.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(-240px, 0, 0);
            transform:translate3d(-240px, 0, 0);
  }
}
@media all and (min-width: 1650px){
  .mm-wrapper_opening .mm-menu_columns-3.mm-menu_position-right.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(-1320px, 0, 0);
            transform:translate3d(-1320px, 0, 0);
  }
}
[class*=mm-menu_columns-] .mm-panels > .mm-panel_columns-4{
  -webkit-transform:translate3d(400%, 0, 0);
          transform:translate3d(400%, 0, 0);
}

.mm-menu_columns-4 .mm-panels > .mm-panel{
  z-index:4;
  width:25%;
}
.mm-menu_columns-4 .mm-panels > .mm-panel else{
  width:100%;
}
.mm-menu_columns-4 .mm-panels > .mm-panel:not(.mm-panel_opened):not(.mm-panel_opened-parent){
  -webkit-transform:translate3d(500%, 0, 0);
          transform:translate3d(500%, 0, 0);
}

.mm-menu_columns-4{
  width:80%;
  min-width:240px;
  max-width:1760px;
}

.mm-wrapper_opening .mm-menu_columns-4.mm-menu_opened ~ .mm-slideout{
  -webkit-transform:translate3d(80vw, 0, 0);
          transform:translate3d(80vw, 0, 0);
}

@media all and (max-width: 300px){
  .mm-wrapper_opening .mm-menu_columns-4.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(240px, 0, 0);
            transform:translate3d(240px, 0, 0);
  }
}
@media all and (min-width: 2200px){
  .mm-wrapper_opening .mm-menu_columns-4.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(1760px, 0, 0);
            transform:translate3d(1760px, 0, 0);
  }
}
.mm-wrapper_opening .mm-menu_columns-4.mm-menu_position-right.mm-menu_opened ~ .mm-slideout{
  -webkit-transform:translate3d(-80vw, 0, 0);
          transform:translate3d(-80vw, 0, 0);
}

@media all and (max-width: 300px){
  .mm-wrapper_opening .mm-menu_columns-4.mm-menu_position-right.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(-240px, 0, 0);
            transform:translate3d(-240px, 0, 0);
  }
}
@media all and (min-width: 2200px){
  .mm-wrapper_opening .mm-menu_columns-4.mm-menu_position-right.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(-1760px, 0, 0);
            transform:translate3d(-1760px, 0, 0);
  }
}
[class*=mm-menu_columns-].mm-menu_position-bottom, [class*=mm-menu_columns-].mm-menu_position-top{
  width:100%;
  max-width:100%;
  min-width:100%;
}

.mm-wrapper_opening [class*=mm-menu_columns-].mm-menu_position-front{
  -webkit-transition-property:width, min-width, max-width, -webkit-transform;
  transition-property:width, min-width, max-width, -webkit-transform;
  transition-property:width, min-width, max-width, transform;
  transition-property:width, min-width, max-width, transform, -webkit-transform;
}

.mm-counter{
  color:rgba(0, 0, 0, 0.3);
  display:block;
  padding-left:20px;
  float:right;
  text-align:right;
  color:var(--mm-color-text-dimmed);
}

.mm-listitem_nosubitems > .mm-counter{
  display:none;
}

[dir=rtl] .mm-counter{
  text-align:left;
  float:left;
  padding-left:0;
  padding-right:20px;
}

.mm-divider{
  position:relative;
  min-height:20px;
  padding:4.3px;
  background:#f3f3f3;
  text-overflow:ellipsis;
  white-space:nowrap;
  overflow:hidden;
  min-height:var(--mm-line-height);
  padding:calc( ((var(--mm-listitem-size) * 0.65) - var(--mm-line-height)) * 0.5 );
  padding-right:10px;
  padding-left:20px;
  font-size:75%;
  text-transform:uppercase;
  background:var(--mm-color-background);
  opacity:1;
  -webkit-transition:opacity 0.4s ease;
  transition:opacity 0.4s ease;
}
.mm-divider:before{
  background:rgba(0, 0, 0, 0.05);
}
@supports (position: sticky){
  .mm-divider{
    position:sticky;
    z-index:2;
    top:0;
  }
  .mm-navbar_sticky:not(.mm-hidden) ~ .mm-listview .mm-divider{
    top:var(--mm-navbar-size);
  }
}
.mm-divider:before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  z-index:-1;
  background:var(--mm-color-background-highlight);
}

.mm-wrapper_dragging .mm-menu,
.mm-wrapper_dragging .mm-slideout{
  -webkit-transition-duration:0s !important;
          transition-duration:0s !important;
  -webkit-user-select:none !important;
     -moz-user-select:none !important;
      -ms-user-select:none !important;
          user-select:none !important;
}
.mm-wrapper_dragging .mm-menu{
  pointer-events:none !important;
}
.mm-wrapper_dragging .mm-wrapper__blocker{
  display:none !important;
}

.mm-menu_dropdown{
  -webkit-box-shadow:0 2px 10px rgba(0, 0, 0, 0.3);
          box-shadow:0 2px 10px rgba(0, 0, 0, 0.3);
  height:80%;
}

.mm-wrapper_dropdown .mm-slideout{
  -webkit-transform:none !important;
          transform:none !important;
  z-index:0;
}
.mm-wrapper_dropdown .mm-wrapper__blocker{
  -webkit-transition-delay:0s !important;
          transition-delay:0s !important;
  z-index:1;
}
.mm-wrapper_dropdown .mm-menu_dropdown{
  z-index:2;
}
.mm-wrapper_dropdown.mm-wrapper_opened:not(.mm-wrapper_opening) .mm-menu_dropdown{
  display:none;
}

.mm-menu_tip-left:before, .mm-menu_tip-right:before, .mm-menu_tip-top:before, .mm-menu_tip-bottom:before{
  content:"";
  background:inherit;
  -webkit-box-shadow:0 2px 10px rgba(0, 0, 0, 0.3);
          box-shadow:0 2px 10px rgba(0, 0, 0, 0.3);
  display:block;
  width:15px;
  height:15px;
  position:absolute;
  z-index:-1;
  -webkit-transform:rotate(45deg);
          transform:rotate(45deg);
}
.mm-menu_tip-left:before{
  left:22px;
}
.mm-menu_tip-right:before{
  right:22px;
}
.mm-menu_tip-top:before{
  top:-8px;
}
.mm-menu_tip-bottom:before{
  bottom:-8px;
}

:root{
  --mm-iconbar-size:50px;
}

.mm-menu_iconbar-left .mm-panels,
.mm-menu_iconbar-left .mm-navbars_top,
.mm-menu_iconbar-left .mm-navbars_bottom{
  margin-left:50px;
  margin-left:var(--mm-iconbar-size);
}
.mm-menu_iconbar-right .mm-panels,
.mm-menu_iconbar-right .mm-navbars_top,
.mm-menu_iconbar-right .mm-navbars_bottom{
  margin-right:50px;
  margin-right:var(--mm-iconbar-size);
}

.mm-iconbar{
  width:50px;
  border-color:rgba(0, 0, 0, 0.1);
  background:#f3f3f3;
  color:rgba(0, 0, 0, 0.3);
  display:none;
  position:absolute;
  top:0;
  bottom:0;
  z-index:2;
  width:var(--mm-iconbar-size);
  overflow:hidden;
  -webkit-box-sizing:border-box;
          box-sizing:border-box;
  border:0 solid;
  border-color:var(--mm-color-border);
  background:var(--mm-color-background);
  color:var(--mm-color-text-dimmed);
  text-align:center;
}
.mm-menu_iconbar-left .mm-iconbar, .mm-menu_iconbar-right .mm-iconbar{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
      -ms-flex-direction:column;
          flex-direction:column;
  -webkit-box-pack:justify;
      -ms-flex-pack:justify;
          justify-content:space-between;
}
.mm-menu_iconbar-left .mm-iconbar{
  border-right-width:1px;
  left:0;
}
.mm-menu_iconbar-right .mm-iconbar{
  border-left-width:1px;
  right:0;
}

.mm-iconbar__top,
.mm-iconbar__bottom{
  width:100%;
  -webkit-overflow-scrolling:touch;
  overflow:hidden;
  overflow-y:auto;
  -ms-scroll-chaining:none;
      overscroll-behavior:contain;
}
.mm-iconbar__top > *,
.mm-iconbar__bottom > *{
  -webkit-box-sizing:border-box;
          box-sizing:border-box;
  display:block;
  padding:12.5px 0;
}
.mm-iconbar__top a,
.mm-iconbar__top a:hover,
.mm-iconbar__bottom a,
.mm-iconbar__bottom a:hover{
  text-decoration:none;
}

.mm-iconbar__tab_selected{
  background:rgba(255, 255, 255, 0.4);
  background:var(--mm-color-background-emphasis);
}

:root{
  --mm-iconpanel-size:50px;
}

.mm-panel_iconpanel-1{
  width:calc(100% - 50px);
  width:calc(100% - (var(--mm-iconpanel-size) * 1));
}

.mm-panel_iconpanel-2{
  width:calc(100% - 100px);
  width:calc(100% - (var(--mm-iconpanel-size) * 2));
}

.mm-panel_iconpanel-3{
  width:calc(100% - 150px);
  width:calc(100% - (var(--mm-iconpanel-size) * 3));
}

.mm-panel_iconpanel-first ~ .mm-panel{
  width:calc(100% - 50px);
  width:calc(100% - var(--mm-iconpanel-size));
}

.mm-menu_iconpanel .mm-panels > .mm-panel{
  left:auto;
  -webkit-transition-property:width, -webkit-transform;
  transition-property:width, -webkit-transform;
  transition-property:transform, width;
  transition-property:transform, width, -webkit-transform;
}
.mm-menu_iconpanel .mm-panels > .mm-panel_opened, .mm-menu_iconpanel .mm-panels > .mm-panel_opened-parent{
  display:block !important;
}
.mm-menu_iconpanel .mm-panels > .mm-panel_opened-parent{
  overflow-y:hidden;
  -webkit-transform:unset;
          transform:unset;
}
.mm-menu_iconpanel .mm-panels > .mm-panel:not(.mm-panel_iconpanel-first):not(.mm-panel_iconpanel-0){
  border-left-width:1px;
  border-left-style:solid;
}

.mm-menu_hidenavbar .mm-panel_opened-parent .mm-navbar,
.mm-menu_hidedivider .mm-panel_opened-parent .mm-divider{
  opacity:0;
}

.mm-panel__blocker{
  background:inherit;
  opacity:0;
  display:block;
  position:absolute;
  top:0;
  right:0;
  left:0;
  z-index:3;
  -webkit-transition:opacity 0.4s ease;
  transition:opacity 0.4s ease;
}
.mm-panel_opened-parent .mm-panel__blocker{
  opacity:0.6;
  bottom:-100000px;
}

[dir=rtl] .mm-menu_iconpanel .mm-panels > .mm-panel{
  left:0;
  right:auto;
  -webkit-transition-property:width, -webkit-transform;
  transition-property:width, -webkit-transform;
  transition-property:transform, width;
  transition-property:transform, width, -webkit-transform;
}
[dir=rtl] .mm-menu_iconpanel .mm-panels > .mm-panel:not(.mm-panel_iconpanel-first):not(.mm-panel_iconpanel-0){
  border-left:none;
  border-right:1px solid;
  border-color:inherit;
}

.mm-menu_keyboardfocus a:focus, .mm-menu_keyboardfocus.mm-menu_opened ~ .mm-wrapper__blocker a:focus{
  background:rgba(255, 255, 255, 0.4);
  background:var(--mm-color-background-emphasis);
  outline:none;
}

.mm-wrapper__blocker .mm-tabstart{
  cursor:default;
  display:block;
  width:100%;
  height:100%;
}
.mm-wrapper__blocker .mm-tabend{
  opacity:0;
  position:absolute;
  bottom:0;
}

.mm-navbars_top{
  -ms-flex-negative:0;
      flex-shrink:0;
}
.mm-navbars_top .mm-navbar:not(:last-child){
  border-bottom:none;
}

.mm-navbars_bottom{
  -ms-flex-negative:0;
      flex-shrink:0;
}
.mm-navbars_bottom .mm-navbar{
  border-bottom:none;
}
.mm-navbars_bottom .mm-navbar:first-child{
  border-top:1px solid rgba(0, 0, 0, 0.1);
  border-top:1px solid var(--mm-color-border);
}

.mm-btn:not(.mm-hidden) + .mm-navbar__searchfield .mm-searchfield__input{
  padding-left:0;
}
.mm-navbar__searchfield:not(:last-child) .mm-searchfield__input{
  padding-right:0;
}

.mm-navbar__breadcrumbs{
  text-overflow:ellipsis;
  white-space:nowrap;
  overflow:hidden;
  -webkit-box-flex:1;
      -ms-flex:1 1 50%;
          flex:1 1 50%;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:start;
      -ms-flex-pack:start;
          justify-content:flex-start;
  padding:0 20px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.mm-navbar__breadcrumbs > *{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  -webkit-box-pack:center;
      -ms-flex-pack:center;
          justify-content:center;
  padding-right:6px;
}
.mm-navbar__breadcrumbs > a{
  text-decoration:underline;
}
.mm-navbar__breadcrumbs:not(:last-child){
  padding-right:0;
}
.mm-btn:not(.mm-hidden) + .mm-navbar__breadcrumbs{
  padding-left:0;
}

.mm-navbar_tabs > *{
  padding:0 10px;
  border:1px solid transparent;
}

.mm-navbar__tab_selected{
  background:#f3f3f3;
  color:rgba(0, 0, 0, 0.75);
  background:var(--mm-color-background);
  color:var(--mm-color-text);
}
.mm-navbar__tab_selected:not(:first-child){
  border-left-color:rgba(0, 0, 0, 0.1);
}
.mm-navbar__tab_selected:not(:last-child){
  border-right-color:rgba(0, 0, 0, 0.1);
}
.mm-navbar__tab_selected:not(:first-child){
  border-left-color:var(--mm-color-border);
}
.mm-navbar__tab_selected:not(:last-child){
  border-right-color:var(--mm-color-border);
}

.mm-navbars_top .mm-navbar_tabs{
  border-bottom:none;
}
.mm-navbars_top .mm-navbar_tabs > *{
  border-bottom-color:rgba(0, 0, 0, 0.1);
  border-bottom-color:var(--mm-color-border);
}
.mm-navbars_top .mm-navbar__tab_selected{
  border-top-color:rgba(0, 0, 0, 0.1);
  border-top-color:var(--mm-color-border);
  border-bottom-color:transparent;
}
.mm-navbars_top.mm-navbars_has-tabs .mm-navbar{
  background:rgba(255, 255, 255, 0.4);
  background:var(--mm-color-background-emphasis);
}
.mm-navbars_top.mm-navbars_has-tabs .mm-navbar_tabs ~ .mm-navbar{
  background:#f3f3f3;
  background:var(--mm-color-background);
}

.mm-navbars_bottom .mm-navbar_tabs:first-child{
  border-top:none;
}
.mm-navbars_bottom .mm-navbar_tabs > *{
  border-top-color:rgba(0, 0, 0, 0.1);
  border-top-color:var(--mm-color-border);
}
.mm-navbars_bottom .mm-navbar__tab_selected{
  border-bottom-color:rgba(0, 0, 0, 0.1);
  border-bottom-color:var(--mm-color-border);
  border-top-color:transparent;
}
.mm-navbars_bottom.mm-navbars_has-tabs .mm-navbar{
  background:#f3f3f3;
  background:var(--mm-color-background);
}
.mm-navbars_bottom.mm-navbars_has-tabs .mm-navbar_tabs,
.mm-navbars_bottom.mm-navbars_has-tabs .mm-navbar_tabs ~ .mm-navbar{
  background:rgba(255, 255, 255, 0.4);
  background:var(--mm-color-background-emphasis);
}

.mm-searchfield{
  height:44px;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-flex:1;
      -ms-flex-positive:1;
          flex-grow:1;
  height:var(--mm-navbar-size);
  padding:0;
  overflow:hidden;
}
.mm-searchfield input{
  height:30.8px;
  line-height:30.8px;
}
.mm-searchfield input, .mm-searchfield input:hover, .mm-searchfield input:focus{
  background:rgba(0, 0, 0, 0.05);
  color:rgba(0, 0, 0, 0.75);
}
.mm-searchfield input{
  display:block;
  width:100%;
  max-width:100%;
  height:calc(var(--mm-navbar-size) * 0.7);
  min-height:unset;
  max-height:unset;
  margin:0;
  padding:0 10px;
  -webkit-box-sizing:border-box;
          box-sizing:border-box;
  border:none !important;
  border-radius:4px;
  line-height:calc(var(--mm-navbar-size) * 0.7);
  -webkit-box-shadow:none !important;
          box-shadow:none !important;
  outline:none !important;
  font:inherit;
  font-size:inherit;
}
.mm-searchfield input, .mm-searchfield input:hover, .mm-searchfield input:focus{
  background:var(--mm-color-background-highlight);
  color:var(--mm-color-text);
}
.mm-searchfield input::-ms-clear{
  display:none;
}

.mm-searchfield__input{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-flex:1;
      -ms-flex:1;
          flex:1;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  position:relative;
  width:100%;
  max-width:100%;
  padding:0 10px;
  -webkit-box-sizing:border-box;
          box-sizing:border-box;
}

.mm-panel__noresultsmsg{
  color:rgba(0, 0, 0, 0.3);
  padding:50px 0;
  color:var(--mm-color-text-dimmed);
  text-align:center;
  font-size:150%;
}

.mm-searchfield__btn{
  position:absolute;
  right:0;
  top:0;
  bottom:0;
}

.mm-panel_search{
  left:0 !important;
  right:0 !important;
  width:100% !important;
  border-left:none !important;
}

.mm-searchfield__cancel{
  line-height:44px;
  display:block;
  padding-right:10px;
  margin-right:-100px;
  line-height:var(--mm-navbar-size);
  text-decoration:none;
  -webkit-transition:margin 0.4s ease;
  transition:margin 0.4s ease;
}

.mm-searchfield__cancel-active{
  margin-right:0;
}

.mm-listitem_nosubitems > .mm-listitem__btn{
  display:none;
}
.mm-listitem_nosubitems > .mm-listitem__text{
  padding-right:10px;
}

.mm-listitem_onlysubitems > .mm-listitem__text:not(.mm-listitem__btn){
  z-index:-1;
  pointer-events:none;
}

.mm-sectionindexer{
  background:inherit;
  text-align:center;
  font-size:12px;
  -webkit-box-sizing:border-box;
          box-sizing:border-box;
  width:20px;
  position:absolute;
  top:0;
  bottom:0;
  right:-20px;
  z-index:5;
  -webkit-transition:right 0.4s ease;
  transition:right 0.4s ease;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
      -ms-flex-direction:column;
          flex-direction:column;
  -webkit-box-pack:space-evenly;
      -ms-flex-pack:space-evenly;
          justify-content:space-evenly;
}
.mm-sectionindexer a{
  color:rgba(0, 0, 0, 0.3);
  color:var(--mm-color-text-dimmed);
  line-height:1;
  text-decoration:none;
  display:block;
}
.mm-sectionindexer ~ .mm-panel{
  padding-right:0;
}
.mm-sectionindexer_active{
  right:0;
}
.mm-sectionindexer_active ~ .mm-panel{
  padding-right:20px;
}

.mm-menu_selected-hover .mm-listitem__text,
.mm-menu_selected-hover .mm-listitem__btn, .mm-menu_selected-parent .mm-listitem__text,
.mm-menu_selected-parent .mm-listitem__btn{
  -webkit-transition:background-color 0.4s ease;
  transition:background-color 0.4s ease;
}
.mm-menu_selected-hover .mm-listview:hover > .mm-listitem_selected:not(:hover) > .mm-listitem__text{
  background:none;
}
.mm-menu_selected-hover .mm-listitem__text:hover,
.mm-menu_selected-hover .mm-listitem__btn:hover{
  background:rgba(255, 255, 255, 0.4);
  background:var(--mm-color-background-emphasis);
}
.mm-menu_selected-parent .mm-panel_opened-parent .mm-listitem:not(.mm-listitem_selected-parent) > .mm-listitem__text{
  background:none;
}
.mm-menu_selected-parent .mm-listitem_selected-parent > .mm-listitem__text,
.mm-menu_selected-parent .mm-listitem_selected-parent > .mm-listitem__btn{
  background:rgba(255, 255, 255, 0.4);
  background:var(--mm-color-background-emphasis);
}

:root{
  --mm-sidebar-collapsed-size:50px;
  --mm-sidebar-expanded-size:440px;
}

.mm-wrapper_sidebar-collapsed body, .mm-wrapper_sidebar-expanded body{
  position:relative;
}
.mm-wrapper_sidebar-collapsed .mm-slideout, .mm-wrapper_sidebar-expanded .mm-slideout{
  -webkit-transition-property:width, -webkit-transform;
  transition-property:width, -webkit-transform;
  transition-property:width, transform;
  transition-property:width, transform, -webkit-transform;
}
.mm-wrapper_sidebar-collapsed .mm-page, .mm-wrapper_sidebar-expanded .mm-page{
  background:inherit;
  -webkit-box-sizing:border-box;
          box-sizing:border-box;
  min-height:100vh;
}
.mm-wrapper_sidebar-collapsed .mm-menu_sidebar-collapsed, .mm-wrapper_sidebar-expanded .mm-menu_sidebar-expanded{
  display:-webkit-box !important;
  display:-ms-flexbox !important;
  display:flex !important;
  top:0 !important;
  right:auto !important;
  bottom:0 !important;
  left:0 !important;
}

.mm-wrapper_sidebar-collapsed .mm-slideout{
  width:calc(100% - 50px);
  -webkit-transform:translate3d(50px, 0, 0);
          transform:translate3d(50px, 0, 0);
  width:calc(100% - var(--mm-sidebar-collapsed-size));
  -webkit-transform:translate3d(var(--mm-sidebar-collapsed-size), 0, 0);
          transform:translate3d(var(--mm-sidebar-collapsed-size), 0, 0);
}
.mm-wrapper_sidebar-collapsed:not(.mm-wrapper_opening) .mm-menu_hidenavbar .mm-navbar,
.mm-wrapper_sidebar-collapsed:not(.mm-wrapper_opening) .mm-menu_hidedivider .mm-divider{
  opacity:0;
}

.mm-wrapper_sidebar-expanded .mm-menu_sidebar-expanded{
  width:440px;
  width:var(--mm-sidebar-expanded-size);
  min-width:0 !important;
  max-width:100000px !important;
  border-right-width:1px;
  border-right-style:solid;
}
.mm-wrapper_sidebar-expanded .mm-menu_sidebar-expanded.mm-menu_pageshadow:after{
  content:none;
  display:none;
}
.mm-wrapper_sidebar-expanded.mm-wrapper_blocking,
.mm-wrapper_sidebar-expanded.mm-wrapper_blocking body{
  overflow:visible;
}
.mm-wrapper_sidebar-expanded .mm-wrapper__blocker{
  display:none !important;
}
.mm-wrapper_sidebar-expanded:not(.mm-wrapper_sidebar-closed) .mm-menu_sidebar-expanded.mm-menu_opened ~ .mm-slideout{
  width:calc(100% - 440px);
  -webkit-transform:translate3d(440px, 0, 0);
          transform:translate3d(440px, 0, 0);
  width:calc(100% - var(--mm-sidebar-expanded-size));
  -webkit-transform:translate3d(var(--mm-sidebar-expanded-size), 0, 0);
          transform:translate3d(var(--mm-sidebar-expanded-size), 0, 0);
}

.mm-menu__blocker{
  background:rgba(3, 2, 1, 0);
  display:block;
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  z-index:3;
}
.mm-menu_opened .mm-menu__blocker{
  display:none;
}

[dir=rtl].mm-wrapper_sidebar-collapsed .mm-slideout{
  -webkit-transform:translate3d(0, 0, 0);
          transform:translate3d(0, 0, 0);
}

[dir=rtl].mm-wrapper_sidebar-expanded .mm-slideout{
  -webkit-transform:translate3d(0, 0, 0);
          transform:translate3d(0, 0, 0);
}
[dir=rtl].mm-wrapper_sidebar-expanded:not(.mm-wrapper_sidebar-closed) .mm-menu_sidebar-expanded.mm-menu_opened ~ .mm-slideout{
  -webkit-transform:translate3d(0, 0, 0);
          transform:translate3d(0, 0, 0);
}

input.mm-toggle{
  margin-top:5px;
  background:rgba(0, 0, 0, 0.1);
  display:inline-block;
  min-width:58px;
  width:58px;
  height:34px;
  margin:0 10px;
  margin-top:calc((var(--mm-listitem-size) - 34px) / 2);
  border:none !important;
  background:var(--mm-color-border);
  border-radius:34px;
  -webkit-appearance:none !important;
     -moz-appearance:none !important;
          appearance:none !important;
  cursor:pointer;
  -webkit-transition:background-color 0.2s ease;
  transition:background-color 0.2s ease;
}
input.mm-toggle:before{
  background:#f3f3f3;
}
input.mm-toggle:before{
  content:"";
  display:block;
  width:32px;
  height:32px;
  margin:1px;
  border-radius:34px;
  background:var(--mm-color-background);
  -webkit-transition:-webkit-transform 0.2s ease;
  transition:-webkit-transform 0.2s ease;
  transition:transform 0.2s ease;
  transition:transform 0.2s ease, -webkit-transform 0.2s ease;
}
input.mm-toggle:checked{
  background:#4bd963;
}
input.mm-toggle:checked:before{
  -webkit-transform:translateX(24px);
          transform:translateX(24px);
}

input.mm-check{
  margin-top:2px;
  -webkit-appearance:none !important;
     -moz-appearance:none !important;
          appearance:none !important;
  border:none !important;
  background:none !important;
  cursor:pointer;
  display:inline-block;
  width:40px;
  height:40px;
  margin:0 10px;
  margin-top:calc((var(--mm-listitem-size) - 40px) / 2);
}
input.mm-check:before{
  content:"";
  display:block;
  width:40%;
  height:20%;
  margin:25% 0 0 20%;
  border-left:3px solid;
  border-bottom:3px solid;
  border-color:var(--mm-color-text);
  opacity:0.3;
  -webkit-transform:rotate(-45deg);
          transform:rotate(-45deg);
  -webkit-transition:opacity 0.2s ease;
  transition:opacity 0.2s ease;
}
input.mm-check:checked:before{
  opacity:1;
}

[dir=rtl] input.mm-toggle:checked ~ label.mm-toggle:before{
  float:left;
}

.mm-menu_border-none .mm-listitem:after{
  content:none;
}

.mm-menu_border-full .mm-listitem:after{
  left:0 !important;
}

.mm-menu_fx-menu-slide{
  -webkit-transition:-webkit-transform 0.4s ease;
  transition:-webkit-transform 0.4s ease;
  transition:transform 0.4s ease;
  transition:transform 0.4s ease, -webkit-transform 0.4s ease;
}

.mm-wrapper_opened .mm-menu_fx-menu-slide{
  -webkit-transform:translate3d(-30%, 0, 0);
          transform:translate3d(-30%, 0, 0);
}

.mm-wrapper_opening .mm-menu_fx-menu-slide{
  -webkit-transform:translate3d(0%, 0, 0);
          transform:translate3d(0%, 0, 0);
}

.mm-wrapper_opened .mm-menu_fx-menu-slide.mm-menu_position-right{
  -webkit-transform:translate3d(30%, 0, 0);
          transform:translate3d(30%, 0, 0);
}

.mm-wrapper_opening .mm-menu_fx-menu-slide.mm-menu_position-right{
  -webkit-transform:translate3d(0%, 0, 0);
          transform:translate3d(0%, 0, 0);
}

.mm-menu_fx-panels-none .mm-panel,
.mm-panel_fx-none{
  -webkit-transition-property:none;
  transition-property:none;
}
.mm-menu_fx-panels-none .mm-panel.mm-panel_opened-parent,
.mm-panel_fx-none.mm-panel_opened-parent{
  -webkit-transform:translate3d(0, 0, 0);
          transform:translate3d(0, 0, 0);
}

.mm-menu_fx-panels-slide-0 .mm-panel_opened-parent{
  -webkit-transform:translate3d(0, 0, 0);
          transform:translate3d(0, 0, 0);
}

.mm-menu_fx-panels-slide-100 .mm-panel_opened-parent{
  -webkit-transform:translate3d(-100%, 0, 0);
          transform:translate3d(-100%, 0, 0);
}

.mm-menu_fullscreen{
  width:100%;
  min-width:140px;
  max-width:10000px;
}

.mm-wrapper_opening .mm-menu_fullscreen.mm-menu_opened ~ .mm-slideout{
  -webkit-transform:translate3d(100vw, 0, 0);
          transform:translate3d(100vw, 0, 0);
}

@media all and (max-width: 140px){
  .mm-wrapper_opening .mm-menu_fullscreen.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(140px, 0, 0);
            transform:translate3d(140px, 0, 0);
  }
}
@media all and (min-width: 10000px){
  .mm-wrapper_opening .mm-menu_fullscreen.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(10000px, 0, 0);
            transform:translate3d(10000px, 0, 0);
  }
}
.mm-wrapper_opening .mm-menu_fullscreen.mm-menu_position-right.mm-menu_opened ~ .mm-slideout{
  -webkit-transform:translate3d(-100vw, 0, 0);
          transform:translate3d(-100vw, 0, 0);
}

@media all and (max-width: 140px){
  .mm-wrapper_opening .mm-menu_fullscreen.mm-menu_position-right.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(-140px, 0, 0);
            transform:translate3d(-140px, 0, 0);
  }
}
@media all and (min-width: 10000px){
  .mm-wrapper_opening .mm-menu_fullscreen.mm-menu_position-right.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(-10000px, 0, 0);
            transform:translate3d(-10000px, 0, 0);
  }
}
.mm-menu_fullscreen.mm-menu_position-top{
  height:100vh;
  min-height:140px;
  max-height:10000px;
}

.mm-menu_fullscreen.mm-menu_position-bottom{
  height:100vh;
  min-height:140px;
  max-height:10000px;
}

.mm-menu_listview-justify .mm-panels > .mm-panel{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
      -ms-flex-direction:column;
          flex-direction:column;
}
.mm-menu_listview-justify .mm-panels > .mm-panel:after{
  content:none;
  display:none;
}
.mm-menu_listview-justify .mm-panels > .mm-panel .mm-listview{
  -webkit-box-flex:1;
      -ms-flex-positive:1;
          flex-grow:1;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
      -ms-flex-direction:column;
          flex-direction:column;
  height:100%;
  margin-top:0;
  margin-bottom:0;
}
.mm-menu_listview-justify .mm-panels > .mm-panel .mm-listitem{
  -webkit-box-flex:1;
      -ms-flex:1 0 auto;
          flex:1 0 auto;
  min-height:50px;
}
.mm-menu_listview-justify .mm-panels > .mm-panel .mm-listitem__text{
  -webkit-box-sizing:border-box;
          box-sizing:border-box;
  -webkit-box-flex:1;
      -ms-flex:1 0 auto;
          flex:1 0 auto;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
}

.mm-listview_inset{
  list-style:inside disc;
  width:100%;
  padding:0 30px 15px 30px;
  margin:0;
}
.mm-listview_inset .mm-listitem{
  padding:5px 0;
}

.mm-menu_multiline .mm-listitem__text{
  text-overflow:clip;
  white-space:normal;
}

[class*=mm-menu_pagedim].mm-menu_opened ~ .mm-wrapper__blocker{
  opacity:0;
}

.mm-wrapper_opening [class*=mm-menu_pagedim].mm-menu_opened ~ .mm-wrapper__blocker{
  opacity:0.3;
  -webkit-transition:opacity 0.4s ease 0.4s;
  transition:opacity 0.4s ease 0.4s;
}

.mm-menu_opened.mm-menu_pagedim ~ .mm-wrapper__blocker{
  background:inherit;
}
.mm-menu_opened.mm-menu_pagedim-black ~ .mm-wrapper__blocker{
  background:#000;
}
.mm-menu_opened.mm-menu_pagedim-white ~ .mm-wrapper__blocker{
  background:#fff;
}

.mm-menu_popup{
  -webkit-transition:opacity 0.4s ease;
  transition:opacity 0.4s ease;
  opacity:0;
  -webkit-box-shadow:0 2px 10px rgba(0, 0, 0, 0.3);
          box-shadow:0 2px 10px rgba(0, 0, 0, 0.3);
  height:80%;
  min-height:140px;
  max-height:880px;
  top:50%;
  left:50%;
  bottom:auto;
  right:auto;
  z-index:2;
  -webkit-transform:translate3d(-50%, -50%, 0);
          transform:translate3d(-50%, -50%, 0);
}
.mm-menu_popup.mm-menu_opened ~ .mm-slideout{
  -webkit-transform:none !important;
          transform:none !important;
  z-index:0;
}
.mm-menu_popup.mm-menu_opened ~ .mm-wrapper__blocker{
  -webkit-transition-delay:0s !important;
          transition-delay:0s !important;
  z-index:1;
}
.mm-wrapper_opening .mm-menu_popup{
  opacity:1;
}

.mm-menu_position-right{
  left:auto;
  right:0;
}

.mm-wrapper_opening .mm-menu_position-right.mm-menu_opened ~ .mm-slideout{
  -webkit-transform:translate3d(-80vw, 0, 0);
          transform:translate3d(-80vw, 0, 0);
}

@media all and (max-width: 300px){
  .mm-wrapper_opening .mm-menu_position-right.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(-240px, 0, 0);
            transform:translate3d(-240px, 0, 0);
  }
}
@media all and (min-width: 550px){
  .mm-wrapper_opening .mm-menu_position-right.mm-menu_opened ~ .mm-slideout{
    -webkit-transform:translate3d(-440px, 0, 0);
            transform:translate3d(-440px, 0, 0);
  }
}
.mm-menu_position-front, .mm-menu_position-top, .mm-menu_position-bottom{
  -webkit-transition:-webkit-transform 0.4s ease;
  transition:-webkit-transform 0.4s ease;
  transition:transform 0.4s ease;
  transition:transform 0.4s ease, -webkit-transform 0.4s ease;
}
.mm-menu_position-front.mm-menu_opened, .mm-menu_position-top.mm-menu_opened, .mm-menu_position-bottom.mm-menu_opened{
  z-index:2;
}
.mm-menu_position-front.mm-menu_opened ~ .mm-slideout, .mm-menu_position-top.mm-menu_opened ~ .mm-slideout, .mm-menu_position-bottom.mm-menu_opened ~ .mm-slideout{
  -webkit-transform:none !important;
          transform:none !important;
  z-index:0;
}
.mm-menu_position-front.mm-menu_opened ~ .mm-wrapper__blocker, .mm-menu_position-top.mm-menu_opened ~ .mm-wrapper__blocker, .mm-menu_position-bottom.mm-menu_opened ~ .mm-wrapper__blocker{
  z-index:1;
}

.mm-menu_position-front{
  -webkit-transform:translate3d(-100%, 0, 0);
          transform:translate3d(-100%, 0, 0);
}
.mm-menu_position-front.mm-menu_position-right{
  -webkit-transform:translate3d(100%, 0, 0);
          transform:translate3d(100%, 0, 0);
}

.mm-menu_position-top, .mm-menu_position-bottom{
  width:100%;
  min-width:100%;
  max-width:100%;
}

.mm-menu_position-top{
  -webkit-transform:translate3d(0, -100%, 0);
          transform:translate3d(0, -100%, 0);
}

.mm-menu_position-top{
  height:80vh;
  min-height:140px;
  max-height:880px;
}

.mm-menu_position-bottom{
  -webkit-transform:translate3d(0, 100%, 0);
          transform:translate3d(0, 100%, 0);
  top:auto;
}

.mm-menu_position-bottom{
  height:80vh;
  min-height:140px;
  max-height:880px;
}

.mm-wrapper_opening .mm-menu_position-front, .mm-wrapper_opening .mm-menu_position-top, .mm-wrapper_opening .mm-menu_position-bottom{
  -webkit-transform:translate3d(0, 0, 0);
          transform:translate3d(0, 0, 0);
}

.mm-menu_shadow-page:after{
  -webkit-box-shadow:0 0 10px rgba(0, 0, 0, 0.3);
          box-shadow:0 0 10px rgba(0, 0, 0, 0.3);
  content:"";
  display:block;
  width:20px;
  height:120%;
  position:absolute;
  left:100%;
  top:-10%;
  z-index:100;
  -webkit-clip-path:polygon(-20px 0, 0 0, 0 100%, -20px 100%);
          clip-path:polygon(-20px 0, 0 0, 0 100%, -20px 100%);
  -webkit-box-shadow:var(--mm-shadow);
          box-shadow:var(--mm-shadow);
}
.mm-menu_shadow-page.mm-menu_position-right:after{
  left:auto;
  right:100%;
  -webkit-clip-path:polygon(20px 0, 40px 0, 40px 100%, 20px 100%);
          clip-path:polygon(20px 0, 40px 0, 40px 100%, 20px 100%);
}
.mm-menu_shadow-page.mm-menu_position-front:after{
  content:none;
  display:none;
}

.mm-menu_shadow-menu{
  -webkit-box-shadow:0 0 10px rgba(0, 0, 0, 0.3);
          box-shadow:0 0 10px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow:var(--mm-shadow);
          box-shadow:var(--mm-shadow);
}

.mm-menu_shadow-panels .mm-panels > .mm-panel{
  -webkit-box-shadow:0 0 10px rgba(0, 0, 0, 0.3);
          box-shadow:0 0 10px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow:var(--mm-shadow);
          box-shadow:var(--mm-shadow);
}

.mm-menu_theme-white{
  --mm-color-border:rgba( 0,0,0, 0.1 );
  --mm-color-button:rgba( 0,0,0, 0.3 );
  --mm-color-text:rgba( 0,0,0, 0.7 );
  --mm-color-text-dimmed:rgba( 0,0,0, 0.3 );
  --mm-color-background:#fff;
  --mm-color-background-highlight:rgba( 0,0,0, 0.06 );
  --mm-color-background-emphasis:rgba( 0,0,0, 0.03 );
  --mm-shadow:0 0 10px rgba( 0,0,0, 0.2 );
}

.mm-menu_theme-dark{
  --mm-color-border:rgba( 0,0,0, 0.3 );
  --mm-color-button:rgba( 255,255,255, 0.4 );
  --mm-color-text:rgba( 255,255,255, 0.85 );
  --mm-color-text-dimmed:rgba( 255,255,255, 0.4 );
  --mm-color-background:#333;
  --mm-color-background-highlight:rgba( 255,255,255, 0.08 );
  --mm-color-background-emphasis:rgba( 0,0,0, 0.1 );
  --mm-shadow:0 0 20px rgba( 0,0,0, 0.5 );
}

.mm-menu_theme-black{
  --mm-color-border:rgba( 255,255,255, 0.25 );
  --mm-color-button:rgba( 255,255,255, 0.4 );
  --mm-color-text:rgba( 255,255,255, 0.75 );
  --mm-color-text-dimmed:rgba( 255,255,255, 0.4 );
  --mm-color-background:#000;
  --mm-color-background-highlight:rgba( 255,255,255, 0.2 );
  --mm-color-background-emphasis:rgba( 255,255,255, 0.15 );
  --mm-shadow:none;
}

body.modal-open .mm-slideout{
  z-index:unset;
}
.slick-slider{
  position:relative;
  display:block;
  -webkit-box-sizing:border-box;
          box-sizing:border-box;
  -webkit-touch-callout:none;
  -webkit-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);
  transform:translate3d(0, 0, 0);
}

.slick-track{
  position:relative;
  left:0;
  top:0;
  display:block;
  margin-left:auto;
  margin-right:auto;
}
.slick-track:before, .slick-track:after{
  content:"";
  display:table;
}
.slick-track:after{
  clear:both;
}
.slick-loading .slick-track{
  visibility:hidden;
}

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

.slick-arrow.slick-hidden{
  display:none;
}
.mfp-close{
  display:inline-block !important;
  font:inherit !important;
  opacity:1 !important;
  padding:0 !important;
  right:0 !important;
  width:auto !important;
}
.accessibility-mode .mfp-close:focus{
  outline:3px dashed #fff;
  outline-offset:2px;
}

.mfp-arrow-left:before,
.mfp-arrow-right:before{
  border:none;
  margin:0;
}

img.mfp-img{
  padding:0;
}
.mfp-bg{
  background-color:#000;
  opacity:1;
}
.mfp-image-holder{
  height:100vh;
  overflow-y:scroll;
}
.mfp-image-holder .mfp-content{
  max-width:900px;
  padding:50px 0;
}
@media screen and (min-width: 1300px){
  .mfp-image-holder .mfp-content{
    max-width:1200px;
  }
}
.mfp-image-holder .mfp-figure:after{
  bottom:50px;
  top:50px;
}
.custom-lightbox__img-wrapper{
  position:relative;
}
.custom-lightbox__copyright{
  bottom:0;
  color:#fff;
  font-size:14px;
  left:0;
  position:absolute;
  -webkit-transform:translate3d(0, 0, 0) rotate(180deg);
          transform:translate3d(0, 0, 0) rotate(180deg);
  -webkit-writing-mode:vertical-rl;
      -ms-writing-mode:tb-rl;
          writing-mode:vertical-rl;
  z-index:1;
}
.custom-lightbox__copyright:before{
  background-color:rgba(0, 0, 0, 0.6);
  bottom:0;
  content:"";
  left:0;
  position:absolute;
  right:0;
  top:0;
}
.custom-lightbox__copyright__text{
  display:inline-block;
  padding:6px 4px;
  position:relative;
  text-orientation:sideways;
  z-index:1;
}

.custom-lightbox__copyright,
.mfp-bottom-bar,
.mfp-title{
  line-height:1.4;
}

.mfp-bottom-bar{
  margin-top:-40px;
}

.mfp-title{
  margin:0 auto;
  max-width:780px;
}

.mfp-title,
.mfp-counter{
  color:#fff;
}
.mfp-gallery .c-button-icon-only{
  position:absolute;
  top:50%;
  -webkit-transform:translateY(-50%);
          transform:translateY(-50%);
  z-index:9999;
}

.mfp-arrow-left{
  left:10px;
}
@media screen and (min-width: 1100px){
  .mfp-arrow-left{
    left:3rem;
  }
}

.mfp-arrow-right{
  right:10px;
}
@media screen and (min-width: 1100px){
  .mfp-arrow-right{
    right:3rem;
  }
}

.mfp-counter{
  font-size:1rem;
}

.accessibility-mode .mfp-arrow-left:focus,
.accessibility-mode .mfp-arrow-right:focus{
  outline:3px dashed #fff;
  outline-offset:2px;
}
:root{
  --black:#000;
  --light1:#eee;
  --light2:#ccc;
  --pri1:#009F39;
  --pri2:#2a4c2b;
  --pri2Light:#3B78BD;
  --text-color:#fff;
  --mm-color-background:var(--pri2);
  --mm-color-background-emphasis:#e6f1e2;
  --mm-color-border:#e6f1e2;
  --mm-color-button:var(--black);
  --mm-color-text:var(--text-color);
  --mm-color-text-dimmed:var(--black);
}

.mm-navbar__title > span{
  line-height:1.2rem;
  text-align:left;
}

.accessibility-mode .mm-menu_keyboardfocus a:focus,
.accessibility-mode .mm-menu_keyboardfocus.mm-menu_opened ~ .mm-wrapper__blocker a:focus{
  -webkit-box-shadow:inset -1px -2px 0 2px #000, inset 1px 1px 0 2px #000;
          box-shadow:inset -1px -2px 0 2px #000, inset 1px 1px 0 2px #000;
}

.c-menu-mm__list{
  display:none;
}
.mm-wrapper_opened .c-menu-mm__list{
  display:block;
}
.c-menu-mm__list .c-menu-mm__item.mm-listitem_selected{
  color:var(--pri2);
}
.c-menu-mm__list .c-menu-mm__item a:hover{
  color:var(--pri2);
}

.mm-menu_offcanvas{
  max-width:440px;
  min-width:240px;
  width:100%;
}

.c-menu-mm-meta{
  display:none;
}
.mm-navbar .c-menu-mm-meta{
  display:none;
}
.c-menu-mm-meta__list{
  display:none;
}
.mm-navbar .c-menu-mm-meta__list{
  -webkit-box-align:start;
      -ms-flex-align:start;
          align-items:flex-start;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
      -ms-flex-direction:column;
          flex-direction:column;
  padding:10px 0;
}
.mm-menu_offcanvas .c-menu-mm-meta__link:link{
  color:var(--mm-color-text);
  text-decoration:underline;
  -webkit-text-decoration-color:#e6f1e2;
          text-decoration-color:#e6f1e2;
}
.c-menu-mm-meta__item{
  padding:5px 20px;
}

.mm-navbars_top .mm-navbar > *{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:justify;
      -ms-flex-pack:justify;
          justify-content:space-between;
  padding:0 0 0 23px;
}
.mm-navbars_top .mm-navbar > *.mm-navbar__title{
  -webkit-box-pack:end;
      -ms-flex-pack:end;
          justify-content:flex-end;
  padding-right:23px;
  color:var(--mm-color-text);
  text-transform:uppercase;
}
.mm-navbars_top .mm-navbar > span:first-of-type{
  padding:0;
}
.mm-navbars_top .c-mmenu-mm__close{
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  background:var(--pri2);
  border:0;
  -webkit-box-pack:end;
  cursor:pointer;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-pack:end;
  height:80px;
  -webkit-box-pack:center;
      -ms-flex-pack:center;
          justify-content:center;
  position:relative;
  width:80px;
}
.mm-navbars_top .c-mmenu-mm__close .hidden{
  display:none;
}
.mm-navbars_top .c-mmenu-mm__close-icon{
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:center;
      -ms-flex-pack:center;
          justify-content:center;
  position:absolute;
}
.mm-navbars_top .c-mmenu-mm__close-icon:before, .mm-navbars_top .c-mmenu-mm__close-icon:after{
  background:var(--mm-color-text);
  content:"";
  height:3px;
  position:absolute;
  width:32px;
}
.mm-navbars_top .c-mmenu-mm__close-icon:before{
  -webkit-transform:rotate(45deg);
          transform:rotate(45deg);
}
.mm-navbars_top .c-mmenu-mm__close-icon:after{
  -webkit-transform:rotate(-45deg);
          transform:rotate(-45deg);
}
.mm-navbars_top .c-mmenu-mm__logo-holder{
  overflow:hidden;
  width:90px;
  padding-top:15px;
}

.mm-navbars_bottom .mm-navbar:first-child{
  border-top-width:12px;
}

.mm-navbar__btn:not(.mm-hidden) + .mm-navbar__title:last-child{
  color:var(--mm-color-text);
  -webkit-box-pack:end;
      -ms-flex-pack:end;
          justify-content:flex-end;
  padding-right:23px;
}

.mm-btn_prev{
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  width:80px;
}
.mm-btn_prev:after{
  background:var(--pri1);
  border:0;
  content:"";
  height:3px;
  left:23px;
  position:absolute;
  right:auto;
  width:36px;
}
.mm-btn_prev:before{
  border:3px solid var(--pri1);
  border-bottom:none;
  border-right:none;
  bottom:0;
  -webkit-box-sizing:content-box;
  box-sizing:content-box;
  content:"";
  display:block;
  height:14px;
  margin:auto;
  position:absolute;
  top:0;
  width:14px;
}

.mm-btn_next{
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  border-left:solid 1px var(--pri2);
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  width:80px;
}
.mm-btn_next:before{
  background:var(--mm-color-text);
  border:0;
  content:"";
  height:3px;
  left:auto;
  position:absolute;
  right:23px;
  width:36px;
}
.mm-btn_next:after{
  border:3px solid var(--mm-color-text);
  border-bottom:none;
  border-right:none;
  bottom:0;
  -webkit-box-sizing:content-box;
  box-sizing:content-box;
  content:"";
  display:block;
  height:14px;
  margin:auto;
  position:absolute;
  top:0;
  width:14px;
}
.slick-loading .slick-list{
  background:#fff;
}
.slick-dots{
  width:100%;
}
.slick-dots li{
  display:inline-block;
  line-height:0;
  margin:0 4px;
}
.slick-dots button{
  background-color:#009F39;
  border:1px solid #009F39;
  border-radius:50%;
  color:transparent;
  cursor:pointer;
  display:inline-block;
  font-size:0;
  height:8px;
  padding:0;
  width:8px;
}
.slick-dots .slick-active button{
  background-color:transparent;
  border-color:#009F39;
  height:12px;
  width:12px;
}
.o-article{
  display:grid;
  grid-template-columns:1fr calc(100% - (20px * 2) ) 1fr;
}
@media screen and (min-width: 500px){
  .o-article{
    grid-template-columns:1fr calc(94% - (20px * 2) ) 1fr;
  }
}
@media screen and (min-width: 700px){
  .o-article{
    grid-template-columns:1fr calc(90% - (20px * 2) ) 1fr;
  }
}
@media screen and (min-width: 900px){
  .o-article{
    grid-template-columns:1fr calc(84% - (20px * 2) ) 1fr;
  }
}
@media screen and (min-width: 1100px){
  .o-article{
    grid-template-columns:1fr calc(88% - (20px * 2) ) 1fr;
  }
}
@media screen and (min-width: 1300px){
  .o-article{
    grid-template-columns:1fr calc(1240px - (20px * 2) ) 1fr;
  }
}
@media screen and (min-width: 1700px){
  .o-article{
    grid-template-columns:1fr calc(1240px - (20px * 2) ) 1fr;
  }
}
.o-article > *{
  grid-column:2;
}
.o-article .o-full-bleed{
  width:100%;
  grid-column:1/4;
}
.o-grid{
  margin:0 auto;
  max-width:100%;
  padding-left:10px;
  padding-right:10px;
  width:100%;
}
@media screen and (min-width: 500px){
  .o-grid{
    max-width:94%;
  }
}
@media screen and (min-width: 700px){
  .o-grid{
    max-width:90%;
  }
}
@media screen and (min-width: 900px){
  .o-grid{
    max-width:84%;
  }
}
@media screen and (min-width: 1100px){
  .o-grid{
    max-width:88%;
  }
}
@media screen and (min-width: 1300px){
  .o-grid{
    max-width:1240px;
  }
}
@media screen and (min-width: 1700px){
  .o-grid{
    max-width:1240px;
  }
}
.o-grid--fluid{
  max-width:none;
}
.o-grid__row{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
      flex-wrap:wrap;
  margin-left:-10px;
  margin-right:-10px;
}
.o-grid__row--start{
  -webkit-box-pack:start;
      -ms-flex-pack:start;
          justify-content:flex-start;
}
.o-grid__row--center{
  -webkit-box-pack:center;
      -ms-flex-pack:center;
          justify-content:center;
}
.o-grid__row--end{
  -webkit-box-pack:end;
      -ms-flex-pack:end;
          justify-content:flex-end;
}
.o-grid__row--around{
  -ms-flex-pack:distribute;
      justify-content:space-around;
}
.o-grid__row--between{
  -webkit-box-pack:justify;
      -ms-flex-pack:justify;
          justify-content:space-between;
}
@media screen and (min-width: 500px){
  .o-grid__row--start\@xs{
    -webkit-box-pack:start;
        -ms-flex-pack:start;
            justify-content:flex-start;
  }
  .o-grid__row--center\@xs{
    -webkit-box-pack:center;
        -ms-flex-pack:center;
            justify-content:center;
  }
  .o-grid__row--end\@xs{
    -webkit-box-pack:end;
        -ms-flex-pack:end;
            justify-content:flex-end;
  }
  .o-grid__row--around\@xs{
    -ms-flex-pack:distribute;
        justify-content:space-around;
  }
  .o-grid__row--between\@xs{
    -webkit-box-pack:justify;
        -ms-flex-pack:justify;
            justify-content:space-between;
  }
}
@media screen and (min-width: 700px){
  .o-grid__row--start\@sm{
    -webkit-box-pack:start;
        -ms-flex-pack:start;
            justify-content:flex-start;
  }
  .o-grid__row--center\@sm{
    -webkit-box-pack:center;
        -ms-flex-pack:center;
            justify-content:center;
  }
  .o-grid__row--end\@sm{
    -webkit-box-pack:end;
        -ms-flex-pack:end;
            justify-content:flex-end;
  }
  .o-grid__row--around\@sm{
    -ms-flex-pack:distribute;
        justify-content:space-around;
  }
  .o-grid__row--between\@sm{
    -webkit-box-pack:justify;
        -ms-flex-pack:justify;
            justify-content:space-between;
  }
}
@media screen and (min-width: 900px){
  .o-grid__row--start\@md{
    -webkit-box-pack:start;
        -ms-flex-pack:start;
            justify-content:flex-start;
  }
  .o-grid__row--center\@md{
    -webkit-box-pack:center;
        -ms-flex-pack:center;
            justify-content:center;
  }
  .o-grid__row--end\@md{
    -webkit-box-pack:end;
        -ms-flex-pack:end;
            justify-content:flex-end;
  }
  .o-grid__row--around\@md{
    -ms-flex-pack:distribute;
        justify-content:space-around;
  }
  .o-grid__row--between\@md{
    -webkit-box-pack:justify;
        -ms-flex-pack:justify;
            justify-content:space-between;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__row--start\@lg{
    -webkit-box-pack:start;
        -ms-flex-pack:start;
            justify-content:flex-start;
  }
  .o-grid__row--center\@lg{
    -webkit-box-pack:center;
        -ms-flex-pack:center;
            justify-content:center;
  }
  .o-grid__row--end\@lg{
    -webkit-box-pack:end;
        -ms-flex-pack:end;
            justify-content:flex-end;
  }
  .o-grid__row--around\@lg{
    -ms-flex-pack:distribute;
        justify-content:space-around;
  }
  .o-grid__row--between\@lg{
    -webkit-box-pack:justify;
        -ms-flex-pack:justify;
            justify-content:space-between;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__row--start\@xl{
    -webkit-box-pack:start;
        -ms-flex-pack:start;
            justify-content:flex-start;
  }
  .o-grid__row--center\@xl{
    -webkit-box-pack:center;
        -ms-flex-pack:center;
            justify-content:center;
  }
  .o-grid__row--end\@xl{
    -webkit-box-pack:end;
        -ms-flex-pack:end;
            justify-content:flex-end;
  }
  .o-grid__row--around\@xl{
    -ms-flex-pack:distribute;
        justify-content:space-around;
  }
  .o-grid__row--between\@xl{
    -webkit-box-pack:justify;
        -ms-flex-pack:justify;
            justify-content:space-between;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__row--start\@xxl{
    -webkit-box-pack:start;
        -ms-flex-pack:start;
            justify-content:flex-start;
  }
  .o-grid__row--center\@xxl{
    -webkit-box-pack:center;
        -ms-flex-pack:center;
            justify-content:center;
  }
  .o-grid__row--end\@xxl{
    -webkit-box-pack:end;
        -ms-flex-pack:end;
            justify-content:flex-end;
  }
  .o-grid__row--around\@xxl{
    -ms-flex-pack:distribute;
        justify-content:space-around;
  }
  .o-grid__row--between\@xxl{
    -webkit-box-pack:justify;
        -ms-flex-pack:justify;
            justify-content:space-between;
  }
}
.o-grid__row--top{
  -webkit-box-align:start;
      -ms-flex-align:start;
          align-items:flex-start;
}
.o-grid__row--middle{
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
}
.o-grid__row--bottom{
  -webkit-box-align:end;
      -ms-flex-align:end;
          align-items:flex-end;
}
@media screen and (min-width: 500px){
  .o-grid__row--top\@xs{
    -webkit-box-align:start;
        -ms-flex-align:start;
            align-items:flex-start;
  }
  .o-grid__row--middle\@xs{
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
  }
  .o-grid__row--bottom\@xs{
    -webkit-box-align:end;
        -ms-flex-align:end;
            align-items:flex-end;
  }
}
@media screen and (min-width: 700px){
  .o-grid__row--top\@sm{
    -webkit-box-align:start;
        -ms-flex-align:start;
            align-items:flex-start;
  }
  .o-grid__row--middle\@sm{
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
  }
  .o-grid__row--bottom\@sm{
    -webkit-box-align:end;
        -ms-flex-align:end;
            align-items:flex-end;
  }
}
@media screen and (min-width: 900px){
  .o-grid__row--top\@md{
    -webkit-box-align:start;
        -ms-flex-align:start;
            align-items:flex-start;
  }
  .o-grid__row--middle\@md{
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
  }
  .o-grid__row--bottom\@md{
    -webkit-box-align:end;
        -ms-flex-align:end;
            align-items:flex-end;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__row--top\@lg{
    -webkit-box-align:start;
        -ms-flex-align:start;
            align-items:flex-start;
  }
  .o-grid__row--middle\@lg{
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
  }
  .o-grid__row--bottom\@lg{
    -webkit-box-align:end;
        -ms-flex-align:end;
            align-items:flex-end;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__row--top\@xl{
    -webkit-box-align:start;
        -ms-flex-align:start;
            align-items:flex-start;
  }
  .o-grid__row--middle\@xl{
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
  }
  .o-grid__row--bottom\@xl{
    -webkit-box-align:end;
        -ms-flex-align:end;
            align-items:flex-end;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__row--top\@xxl{
    -webkit-box-align:start;
        -ms-flex-align:start;
            align-items:flex-start;
  }
  .o-grid__row--middle\@xxl{
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
  }
  .o-grid__row--bottom\@xxl{
    -webkit-box-align:end;
        -ms-flex-align:end;
            align-items:flex-end;
  }
}
.o-grid [class*="o-grid__col:"]{
  padding-left:10px;
  padding-right:10px;
}
.o-grid__col{
  -ms-flex-preferred-size:100%;
      flex-basis:100%;
  padding-left:20px;
  padding-right:20px;
}
@media screen and (min-width: 500px){
  .o-grid__col--first\@xs{
    -webkit-box-ordinal-group:0;
        -ms-flex-order:-1;
            order:-1;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col--first\@sm{
    -webkit-box-ordinal-group:0;
        -ms-flex-order:-1;
            order:-1;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col--first\@md{
    -webkit-box-ordinal-group:0;
        -ms-flex-order:-1;
            order:-1;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col--first\@lg{
    -webkit-box-ordinal-group:0;
        -ms-flex-order:-1;
            order:-1;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col--first\@xl{
    -webkit-box-ordinal-group:0;
        -ms-flex-order:-1;
            order:-1;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col--first\@xxl{
    -webkit-box-ordinal-group:0;
        -ms-flex-order:-1;
            order:-1;
  }
}
@media screen and (min-width: 500px){
  .o-grid__col--last\@xs{
    -webkit-box-ordinal-group:2;
        -ms-flex-order:1;
            order:1;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col--last\@sm{
    -webkit-box-ordinal-group:2;
        -ms-flex-order:1;
            order:1;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col--last\@md{
    -webkit-box-ordinal-group:2;
        -ms-flex-order:1;
            order:1;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col--last\@lg{
    -webkit-box-ordinal-group:2;
        -ms-flex-order:1;
            order:1;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col--last\@xl{
    -webkit-box-ordinal-group:2;
        -ms-flex-order:1;
            order:1;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col--last\@xxl{
    -webkit-box-ordinal-group:2;
        -ms-flex-order:1;
            order:1;
  }
}
.o-grid__col--offset\:1{
  margin-left:8.3333333333%;
}
.o-grid__col--offset\:2{
  margin-left:16.6666666667%;
}
.o-grid__col--offset\:3{
  margin-left:25%;
}
.o-grid__col--offset\:4{
  margin-left:33.3333333333%;
}
.o-grid__col--offset\:5{
  margin-left:41.6666666667%;
}
.o-grid__col--offset\:6{
  margin-left:50%;
}
.o-grid__col--offset\:7{
  margin-left:58.3333333333%;
}
.o-grid__col--offset\:8{
  margin-left:66.6666666667%;
}
.o-grid__col--offset\:9{
  margin-left:75%;
}
.o-grid__col--offset\:10{
  margin-left:83.3333333333%;
}
.o-grid__col--offset\:11{
  margin-left:91.6666666667%;
}
.o-grid__col--offset\:12{
  margin-left:100%;
}
@media screen and (min-width: 500px){
  .o-grid__col--offset\:1\@xs{
    margin-left:8.3333333333%;
  }
}
@media screen and (min-width: 500px){
  .o-grid__col--offset\:2\@xs{
    margin-left:16.6666666667%;
  }
}
@media screen and (min-width: 500px){
  .o-grid__col--offset\:3\@xs{
    margin-left:25%;
  }
}
@media screen and (min-width: 500px){
  .o-grid__col--offset\:4\@xs{
    margin-left:33.3333333333%;
  }
}
@media screen and (min-width: 500px){
  .o-grid__col--offset\:5\@xs{
    margin-left:41.6666666667%;
  }
}
@media screen and (min-width: 500px){
  .o-grid__col--offset\:6\@xs{
    margin-left:50%;
  }
}
@media screen and (min-width: 500px){
  .o-grid__col--offset\:7\@xs{
    margin-left:58.3333333333%;
  }
}
@media screen and (min-width: 500px){
  .o-grid__col--offset\:8\@xs{
    margin-left:66.6666666667%;
  }
}
@media screen and (min-width: 500px){
  .o-grid__col--offset\:9\@xs{
    margin-left:75%;
  }
}
@media screen and (min-width: 500px){
  .o-grid__col--offset\:10\@xs{
    margin-left:83.3333333333%;
  }
}
@media screen and (min-width: 500px){
  .o-grid__col--offset\:11\@xs{
    margin-left:91.6666666667%;
  }
}
@media screen and (min-width: 500px){
  .o-grid__col--offset\:12\@xs{
    margin-left:100%;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col--offset\:1\@sm{
    margin-left:8.3333333333%;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col--offset\:2\@sm{
    margin-left:16.6666666667%;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col--offset\:3\@sm{
    margin-left:25%;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col--offset\:4\@sm{
    margin-left:33.3333333333%;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col--offset\:5\@sm{
    margin-left:41.6666666667%;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col--offset\:6\@sm{
    margin-left:50%;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col--offset\:7\@sm{
    margin-left:58.3333333333%;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col--offset\:8\@sm{
    margin-left:66.6666666667%;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col--offset\:9\@sm{
    margin-left:75%;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col--offset\:10\@sm{
    margin-left:83.3333333333%;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col--offset\:11\@sm{
    margin-left:91.6666666667%;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col--offset\:12\@sm{
    margin-left:100%;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col--offset\:1\@md{
    margin-left:8.3333333333%;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col--offset\:2\@md{
    margin-left:16.6666666667%;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col--offset\:3\@md{
    margin-left:25%;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col--offset\:4\@md{
    margin-left:33.3333333333%;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col--offset\:5\@md{
    margin-left:41.6666666667%;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col--offset\:6\@md{
    margin-left:50%;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col--offset\:7\@md{
    margin-left:58.3333333333%;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col--offset\:8\@md{
    margin-left:66.6666666667%;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col--offset\:9\@md{
    margin-left:75%;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col--offset\:10\@md{
    margin-left:83.3333333333%;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col--offset\:11\@md{
    margin-left:91.6666666667%;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col--offset\:12\@md{
    margin-left:100%;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col--offset\:1\@lg{
    margin-left:8.3333333333%;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col--offset\:2\@lg{
    margin-left:16.6666666667%;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col--offset\:3\@lg{
    margin-left:25%;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col--offset\:4\@lg{
    margin-left:33.3333333333%;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col--offset\:5\@lg{
    margin-left:41.6666666667%;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col--offset\:6\@lg{
    margin-left:50%;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col--offset\:7\@lg{
    margin-left:58.3333333333%;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col--offset\:8\@lg{
    margin-left:66.6666666667%;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col--offset\:9\@lg{
    margin-left:75%;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col--offset\:10\@lg{
    margin-left:83.3333333333%;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col--offset\:11\@lg{
    margin-left:91.6666666667%;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col--offset\:12\@lg{
    margin-left:100%;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col--offset\:1\@xl{
    margin-left:8.3333333333%;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col--offset\:2\@xl{
    margin-left:16.6666666667%;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col--offset\:3\@xl{
    margin-left:25%;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col--offset\:4\@xl{
    margin-left:33.3333333333%;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col--offset\:5\@xl{
    margin-left:41.6666666667%;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col--offset\:6\@xl{
    margin-left:50%;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col--offset\:7\@xl{
    margin-left:58.3333333333%;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col--offset\:8\@xl{
    margin-left:66.6666666667%;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col--offset\:9\@xl{
    margin-left:75%;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col--offset\:10\@xl{
    margin-left:83.3333333333%;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col--offset\:11\@xl{
    margin-left:91.6666666667%;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col--offset\:12\@xl{
    margin-left:100%;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col--offset\:1\@xxl{
    margin-left:8.3333333333%;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col--offset\:2\@xxl{
    margin-left:16.6666666667%;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col--offset\:3\@xxl{
    margin-left:25%;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col--offset\:4\@xxl{
    margin-left:33.3333333333%;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col--offset\:5\@xxl{
    margin-left:41.6666666667%;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col--offset\:6\@xxl{
    margin-left:50%;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col--offset\:7\@xxl{
    margin-left:58.3333333333%;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col--offset\:8\@xxl{
    margin-left:66.6666666667%;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col--offset\:9\@xxl{
    margin-left:75%;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col--offset\:10\@xxl{
    margin-left:83.3333333333%;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col--offset\:11\@xxl{
    margin-left:91.6666666667%;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col--offset\:12\@xxl{
    margin-left:100%;
  }
}
.o-grid__col\:1{
  -ms-flex-preferred-size:8.3333333333%;
      flex-basis:8.3333333333%;
  max-width:8.3333333333%;
}
.o-grid__col\:2{
  -ms-flex-preferred-size:16.6666666667%;
      flex-basis:16.6666666667%;
  max-width:16.6666666667%;
}
.o-grid__col\:3{
  -ms-flex-preferred-size:25%;
      flex-basis:25%;
  max-width:25%;
}
.o-grid__col\:4{
  -ms-flex-preferred-size:33.3333333333%;
      flex-basis:33.3333333333%;
  max-width:33.3333333333%;
}
.o-grid__col\:5{
  -ms-flex-preferred-size:41.6666666667%;
      flex-basis:41.6666666667%;
  max-width:41.6666666667%;
}
.o-grid__col\:6{
  -ms-flex-preferred-size:50%;
      flex-basis:50%;
  max-width:50%;
}
.o-grid__col\:7{
  -ms-flex-preferred-size:58.3333333333%;
      flex-basis:58.3333333333%;
  max-width:58.3333333333%;
}
.o-grid__col\:8{
  -ms-flex-preferred-size:66.6666666667%;
      flex-basis:66.6666666667%;
  max-width:66.6666666667%;
}
.o-grid__col\:9{
  -ms-flex-preferred-size:75%;
      flex-basis:75%;
  max-width:75%;
}
.o-grid__col\:10{
  -ms-flex-preferred-size:83.3333333333%;
      flex-basis:83.3333333333%;
  max-width:83.3333333333%;
}
.o-grid__col\:11{
  -ms-flex-preferred-size:91.6666666667%;
      flex-basis:91.6666666667%;
  max-width:91.6666666667%;
}
.o-grid__col\:12{
  -ms-flex-preferred-size:100%;
      flex-basis:100%;
  max-width:100%;
}
@media screen and (min-width: 500px){
  .o-grid__col\:1\@xs{
    -ms-flex-preferred-size:8.3333333333%;
        flex-basis:8.3333333333%;
    max-width:8.3333333333%;
  }
}
@media screen and (min-width: 500px){
  .o-grid__col\:2\@xs{
    -ms-flex-preferred-size:16.6666666667%;
        flex-basis:16.6666666667%;
    max-width:16.6666666667%;
  }
}
@media screen and (min-width: 500px){
  .o-grid__col\:3\@xs{
    -ms-flex-preferred-size:25%;
        flex-basis:25%;
    max-width:25%;
  }
}
@media screen and (min-width: 500px){
  .o-grid__col\:4\@xs{
    -ms-flex-preferred-size:33.3333333333%;
        flex-basis:33.3333333333%;
    max-width:33.3333333333%;
  }
}
@media screen and (min-width: 500px){
  .o-grid__col\:5\@xs{
    -ms-flex-preferred-size:41.6666666667%;
        flex-basis:41.6666666667%;
    max-width:41.6666666667%;
  }
}
@media screen and (min-width: 500px){
  .o-grid__col\:6\@xs{
    -ms-flex-preferred-size:50%;
        flex-basis:50%;
    max-width:50%;
  }
}
@media screen and (min-width: 500px){
  .o-grid__col\:7\@xs{
    -ms-flex-preferred-size:58.3333333333%;
        flex-basis:58.3333333333%;
    max-width:58.3333333333%;
  }
}
@media screen and (min-width: 500px){
  .o-grid__col\:8\@xs{
    -ms-flex-preferred-size:66.6666666667%;
        flex-basis:66.6666666667%;
    max-width:66.6666666667%;
  }
}
@media screen and (min-width: 500px){
  .o-grid__col\:9\@xs{
    -ms-flex-preferred-size:75%;
        flex-basis:75%;
    max-width:75%;
  }
}
@media screen and (min-width: 500px){
  .o-grid__col\:10\@xs{
    -ms-flex-preferred-size:83.3333333333%;
        flex-basis:83.3333333333%;
    max-width:83.3333333333%;
  }
}
@media screen and (min-width: 500px){
  .o-grid__col\:11\@xs{
    -ms-flex-preferred-size:91.6666666667%;
        flex-basis:91.6666666667%;
    max-width:91.6666666667%;
  }
}
@media screen and (min-width: 500px){
  .o-grid__col\:12\@xs{
    -ms-flex-preferred-size:100%;
        flex-basis:100%;
    max-width:100%;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col\:1\@sm{
    -ms-flex-preferred-size:8.3333333333%;
        flex-basis:8.3333333333%;
    max-width:8.3333333333%;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col\:2\@sm{
    -ms-flex-preferred-size:16.6666666667%;
        flex-basis:16.6666666667%;
    max-width:16.6666666667%;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col\:3\@sm{
    -ms-flex-preferred-size:25%;
        flex-basis:25%;
    max-width:25%;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col\:4\@sm{
    -ms-flex-preferred-size:33.3333333333%;
        flex-basis:33.3333333333%;
    max-width:33.3333333333%;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col\:5\@sm{
    -ms-flex-preferred-size:41.6666666667%;
        flex-basis:41.6666666667%;
    max-width:41.6666666667%;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col\:6\@sm{
    -ms-flex-preferred-size:50%;
        flex-basis:50%;
    max-width:50%;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col\:7\@sm{
    -ms-flex-preferred-size:58.3333333333%;
        flex-basis:58.3333333333%;
    max-width:58.3333333333%;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col\:8\@sm{
    -ms-flex-preferred-size:66.6666666667%;
        flex-basis:66.6666666667%;
    max-width:66.6666666667%;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col\:9\@sm{
    -ms-flex-preferred-size:75%;
        flex-basis:75%;
    max-width:75%;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col\:10\@sm{
    -ms-flex-preferred-size:83.3333333333%;
        flex-basis:83.3333333333%;
    max-width:83.3333333333%;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col\:11\@sm{
    -ms-flex-preferred-size:91.6666666667%;
        flex-basis:91.6666666667%;
    max-width:91.6666666667%;
  }
}
@media screen and (min-width: 700px){
  .o-grid__col\:12\@sm{
    -ms-flex-preferred-size:100%;
        flex-basis:100%;
    max-width:100%;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col\:1\@md{
    -ms-flex-preferred-size:8.3333333333%;
        flex-basis:8.3333333333%;
    max-width:8.3333333333%;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col\:2\@md{
    -ms-flex-preferred-size:16.6666666667%;
        flex-basis:16.6666666667%;
    max-width:16.6666666667%;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col\:3\@md{
    -ms-flex-preferred-size:25%;
        flex-basis:25%;
    max-width:25%;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col\:4\@md{
    -ms-flex-preferred-size:33.3333333333%;
        flex-basis:33.3333333333%;
    max-width:33.3333333333%;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col\:5\@md{
    -ms-flex-preferred-size:41.6666666667%;
        flex-basis:41.6666666667%;
    max-width:41.6666666667%;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col\:6\@md{
    -ms-flex-preferred-size:50%;
        flex-basis:50%;
    max-width:50%;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col\:7\@md{
    -ms-flex-preferred-size:58.3333333333%;
        flex-basis:58.3333333333%;
    max-width:58.3333333333%;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col\:8\@md{
    -ms-flex-preferred-size:66.6666666667%;
        flex-basis:66.6666666667%;
    max-width:66.6666666667%;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col\:9\@md{
    -ms-flex-preferred-size:75%;
        flex-basis:75%;
    max-width:75%;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col\:10\@md{
    -ms-flex-preferred-size:83.3333333333%;
        flex-basis:83.3333333333%;
    max-width:83.3333333333%;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col\:11\@md{
    -ms-flex-preferred-size:91.6666666667%;
        flex-basis:91.6666666667%;
    max-width:91.6666666667%;
  }
}
@media screen and (min-width: 900px){
  .o-grid__col\:12\@md{
    -ms-flex-preferred-size:100%;
        flex-basis:100%;
    max-width:100%;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col\:1\@lg{
    -ms-flex-preferred-size:8.3333333333%;
        flex-basis:8.3333333333%;
    max-width:8.3333333333%;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col\:2\@lg{
    -ms-flex-preferred-size:16.6666666667%;
        flex-basis:16.6666666667%;
    max-width:16.6666666667%;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col\:3\@lg{
    -ms-flex-preferred-size:25%;
        flex-basis:25%;
    max-width:25%;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col\:4\@lg{
    -ms-flex-preferred-size:33.3333333333%;
        flex-basis:33.3333333333%;
    max-width:33.3333333333%;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col\:5\@lg{
    -ms-flex-preferred-size:41.6666666667%;
        flex-basis:41.6666666667%;
    max-width:41.6666666667%;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col\:6\@lg{
    -ms-flex-preferred-size:50%;
        flex-basis:50%;
    max-width:50%;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col\:7\@lg{
    -ms-flex-preferred-size:58.3333333333%;
        flex-basis:58.3333333333%;
    max-width:58.3333333333%;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col\:8\@lg{
    -ms-flex-preferred-size:66.6666666667%;
        flex-basis:66.6666666667%;
    max-width:66.6666666667%;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col\:9\@lg{
    -ms-flex-preferred-size:75%;
        flex-basis:75%;
    max-width:75%;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col\:10\@lg{
    -ms-flex-preferred-size:83.3333333333%;
        flex-basis:83.3333333333%;
    max-width:83.3333333333%;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col\:11\@lg{
    -ms-flex-preferred-size:91.6666666667%;
        flex-basis:91.6666666667%;
    max-width:91.6666666667%;
  }
}
@media screen and (min-width: 1100px){
  .o-grid__col\:12\@lg{
    -ms-flex-preferred-size:100%;
        flex-basis:100%;
    max-width:100%;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col\:1\@xl{
    -ms-flex-preferred-size:8.3333333333%;
        flex-basis:8.3333333333%;
    max-width:8.3333333333%;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col\:2\@xl{
    -ms-flex-preferred-size:16.6666666667%;
        flex-basis:16.6666666667%;
    max-width:16.6666666667%;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col\:3\@xl{
    -ms-flex-preferred-size:25%;
        flex-basis:25%;
    max-width:25%;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col\:4\@xl{
    -ms-flex-preferred-size:33.3333333333%;
        flex-basis:33.3333333333%;
    max-width:33.3333333333%;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col\:5\@xl{
    -ms-flex-preferred-size:41.6666666667%;
        flex-basis:41.6666666667%;
    max-width:41.6666666667%;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col\:6\@xl{
    -ms-flex-preferred-size:50%;
        flex-basis:50%;
    max-width:50%;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col\:7\@xl{
    -ms-flex-preferred-size:58.3333333333%;
        flex-basis:58.3333333333%;
    max-width:58.3333333333%;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col\:8\@xl{
    -ms-flex-preferred-size:66.6666666667%;
        flex-basis:66.6666666667%;
    max-width:66.6666666667%;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col\:9\@xl{
    -ms-flex-preferred-size:75%;
        flex-basis:75%;
    max-width:75%;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col\:10\@xl{
    -ms-flex-preferred-size:83.3333333333%;
        flex-basis:83.3333333333%;
    max-width:83.3333333333%;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col\:11\@xl{
    -ms-flex-preferred-size:91.6666666667%;
        flex-basis:91.6666666667%;
    max-width:91.6666666667%;
  }
}
@media screen and (min-width: 1300px){
  .o-grid__col\:12\@xl{
    -ms-flex-preferred-size:100%;
        flex-basis:100%;
    max-width:100%;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col\:1\@xxl{
    -ms-flex-preferred-size:8.3333333333%;
        flex-basis:8.3333333333%;
    max-width:8.3333333333%;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col\:2\@xxl{
    -ms-flex-preferred-size:16.6666666667%;
        flex-basis:16.6666666667%;
    max-width:16.6666666667%;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col\:3\@xxl{
    -ms-flex-preferred-size:25%;
        flex-basis:25%;
    max-width:25%;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col\:4\@xxl{
    -ms-flex-preferred-size:33.3333333333%;
        flex-basis:33.3333333333%;
    max-width:33.3333333333%;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col\:5\@xxl{
    -ms-flex-preferred-size:41.6666666667%;
        flex-basis:41.6666666667%;
    max-width:41.6666666667%;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col\:6\@xxl{
    -ms-flex-preferred-size:50%;
        flex-basis:50%;
    max-width:50%;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col\:7\@xxl{
    -ms-flex-preferred-size:58.3333333333%;
        flex-basis:58.3333333333%;
    max-width:58.3333333333%;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col\:8\@xxl{
    -ms-flex-preferred-size:66.6666666667%;
        flex-basis:66.6666666667%;
    max-width:66.6666666667%;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col\:9\@xxl{
    -ms-flex-preferred-size:75%;
        flex-basis:75%;
    max-width:75%;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col\:10\@xxl{
    -ms-flex-preferred-size:83.3333333333%;
        flex-basis:83.3333333333%;
    max-width:83.3333333333%;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col\:11\@xxl{
    -ms-flex-preferred-size:91.6666666667%;
        flex-basis:91.6666666667%;
    max-width:91.6666666667%;
  }
}
@media screen and (min-width: 1700px){
  .o-grid__col\:12\@xxl{
    -ms-flex-preferred-size:100%;
        flex-basis:100%;
    max-width:100%;
  }
}
.o-grid__col--first{
  -webkit-box-ordinal-group:0;
      -ms-flex-order:-1;
          order:-1;
}
.o-grid__col--last{
  -webkit-box-ordinal-group:2;
      -ms-flex-order:1;
          order:1;
}
.o-raster\:col-1-12-1{
  display:grid;
  grid-template-columns:var(--grid-template-grid-full);
  grid-template-rows:auto;
  -webkit-column-gap:var(--grid-gutter);
     -moz-column-gap:var(--grid-gutter);
          column-gap:var(--grid-gutter);
  grid-template-areas:"left main main main main main main main main main main main main right";
}
.o-raster\:col-1-12-1 > *{
  grid-column:2/span 12;
}
.o-raster\:col-1-12-1 > .o-raster-full-bleed{
  display:grid;
  grid-column:left/right;
}
@media screen and (min-width: 900px){
  .o-raster\:col-1-12-1 > *{
    grid-column:3/span 10;
  }
}
.o-raster\:col-12{
  display:grid;
  grid-column:2;
  grid-template-columns:repeat(12, 1fr);
  grid-column-gap:var(--grid-gutter);
}
.o-raster\:cell-span4md{
  grid-column:span 12;
}
@media screen and (min-width: 900px){
  .o-raster\:cell-span4md{
    grid-column:span 4;
  }
}
.o-raster__wrap-main{
  display:grid;
  grid-column:2/span 12;
  grid-template-columns:var(--grid-template-12);
  grid-gap:var(--grid-gutter);
}
.o-raster__wrap-main[data-wrap-main] > *{
  grid-column:1/span 12;
}
.o-raster__wrap-main[data-wrap-main="2-10"] > *{
  grid-column:2/span 10;
}
.o-raster__wrap-main[data-wrap-main-md] > *{
  grid-column:1/span 12;
}
@media screen and (min-width: 900px){
  .o-raster__wrap-main[data-wrap-main-md="2-10"] > *{
    grid-column:2/span 20;
  }
  .o-raster__wrap-main[data-wrap-main-md=span-3] > *{
    grid-column:span 3;
  }
  .o-raster__wrap-main[data-wrap-main-md=span-4] > *{
    grid-column:span 4;
  }
  .o-raster__wrap-main[data-wrap-main-md=span-6] > *{
    grid-column:span 6;
  }
}
.c-block-link{
  display:block;
  font-size:0;
  height:100%;
  left:0;
  position:absolute;
  text-indent:-9999px;
  top:0;
  width:100%;
  z-index:1;
}
.c-button.c-button--burger{
  position:fixed;
  right:20px;
  top:30px;
}

.c-burger{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  height:18px;
  position:relative;
  width:30px;
}
.c-trigger-mm .c-burger, .c-trigger-menu-main .c-burger{
  position:absolute;
  left:0;
  top:0;
}
.c-burger__line{
  background-color:#fff;
  display:block;
  height:4px;
  position:absolute;
  -webkit-transition:all 0.3s ease;
  transition:all 0.3s ease;
  width:30px;
}
.c-burger__line--top{
  right:0;
  top:0;
  -webkit-transform:translate3d(0, 0, 0) rotate(0);
          transform:translate3d(0, 0, 0) rotate(0);
}
.mm-wrapper_opened .c-burger__line--top, .menu-is-open .c-burger__line--top{
  top:50%;
  -webkit-transform:translate3d(0px, 0, 0) rotate(45deg);
          transform:translate3d(0px, 0, 0) rotate(45deg);
  background-color:#009F39;
}
.c-burger__line--center{
  top:10px;
  -webkit-transform:translate3d(0, 0, 0);
          transform:translate3d(0, 0, 0);
  -webkit-transition:all 0.5s ease;
  transition:all 0.5s ease;
  right:0;
}
.mm-wrapper_opened .c-burger__line--center, .menu-is-open .c-burger__line--center{
  opacity:0;
  -webkit-transition:all 0.1s ease;
  transition:all 0.1s ease;
}
.c-burger__line--bottom{
  bottom:0;
  right:0;
  top:20px;
  -webkit-transform:translate3d(0, 0, 0) rotate(0);
          transform:translate3d(0, 0, 0) rotate(0);
}
.mm-wrapper_opened .c-burger__line--bottom, .menu-is-open .c-burger__line--bottom{
  bottom:50%;
  -webkit-transform:translate3d(0, -10px, 0) rotate(-45deg);
          transform:translate3d(0, -10px, 0) rotate(-45deg);
  background-color:#009F39;
}
.c-button,
.c-button-icon-only{
  background-color:transparent;
  border:0;
  cursor:pointer;
  display:inline-block;
  font-family:inherit;
  font-size:1rem;
  line-height:3.1;
  padding:0 1em;
  position:relative;
  text-align:center;
  text-decoration:none;
  text-transform:inherit;
  -webkit-transition:all 0.3s;
  transition:all 0.3s;
  -webkit-user-select:none;
     -moz-user-select:none;
      -ms-user-select:none;
          user-select:none;
  white-space:nowrap;
}
.c-button::-moz-focus-inner,
.c-button-icon-only::-moz-focus-inner{
  border:0;
  padding:0;
}
.c-button:hover, .c-button:active,
.c-button-icon-only:hover,
.c-button-icon-only:active{
  outline:none;
}

.c-button{
}
.c-article .c-button{
  margin:0 20px 1.3em 0;
}
.c-button--main{
  background-color:#E9F6EB;
  border:2px solid transparent;
  color:#009F39;
  -webkit-transition:all ease 0.3s;
  transition:all ease 0.3s;
}
.c-button--main:active, .c-button--main:focus, .c-button--main:hover, .c-button--main.active, .c-button--main.current{
  background-color:#E9F6EB;
  border-color:transparent;
  color:#009F39;
}
.c-button--second{
  background-color:rgba(0, 0, 0, 0.2);
  border:2px solid transparent;
  color:#fff;
  -webkit-transition:all ease 0.3s;
  transition:all ease 0.3s;
}
.c-button--second:active, .c-button--second:focus, .c-button--second:hover, .c-button--second.active, .c-button--second.current{
  background-color:rgba(0, 0, 0, 0);
  border-color:transparent;
  color:#fff;
}
.c-button--ghost{
  background-color:transparent;
  border:2px solid #009F39;
  color:#009F39;
  -webkit-transition:all ease 0.3s;
  transition:all ease 0.3s;
}
.c-button--ghost:active, .c-button--ghost:focus, .c-button--ghost:hover, .c-button--ghost.active, .c-button--ghost.current{
  background-color:transparent;
  border-color:#003914;
  color:#003914;
}
.c-button--small{
  font-size:calc(1rem - 0.2rem);
}
.c-button--large{
  font-size:calc(1rem + 0.2rem);
}
.c-button--expanded{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:center;
      -ms-flex-pack:center;
          justify-content:center;
  width:100%;
}
.c-button--main, .c-button--second{
  position:relative;
  text-transform:uppercase;
}
.c-button--main:before, .c-button--main:after, .c-button--second:before, .c-button--second:after{
  content:"";
  height:calc(100% + (2px * 3));
  position:absolute;
  -webkit-transition:width 0.3s ease-in-out, height 0.3s ease-in-out;
  transition:width 0.3s ease-in-out, height 0.3s ease-in-out;
  width:50px;
}
.c-button--main:after, .c-button--second:after{
  border-right:solid 2px #009F39;
  border-top:solid 2px #009F39;
  right:-4px;
  top:-4px;
}
.c-button--main:before, .c-button--second:before{
  border-bottom:solid 2px #009F39;
  border-left:solid 2px #009F39;
  bottom:-4px;
  left:-4px;
}
.c-button--main:hover:before, .c-button--main:hover:after, .c-button--second:hover:before, .c-button--second:hover:after{
  width:calc(100% + (2px * 4));
}
.c-button-icon-only .o-icon-font:before, .c-button-icon-only:before{
  display:block !important;
  line-height:inherit !important;
}
.c-button-group{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
      flex-wrap:wrap;
  margin-left:-0.5rem;
  margin-right:-0.5rem;
}
.c-button-group .c-button,
.c-button-group .c-button-icon-only{
  margin-bottom:1rem;
  margin-left:0.5rem;
  margin-right:0.5rem;
}
.c-button-group--center{
  -webkit-box-pack:center;
      -ms-flex-pack:center;
          justify-content:center;
}
.c-button-group--right{
  -webkit-box-pack:end;
      -ms-flex-pack:end;
          justify-content:flex-end;
}
.c-copyright{
  bottom:0;
  color:#fff;
  font-size:14px;
  left:0;
  position:absolute;
  -webkit-transform:translate3d(0, 0, 0) rotate(180deg);
          transform:translate3d(0, 0, 0) rotate(180deg);
  -webkit-writing-mode:vertical-rl;
      -ms-writing-mode:tb-rl;
          writing-mode:vertical-rl;
  z-index:1;
}
.c-copyright:before{
  background-color:rgba(0, 0, 0, 0.6);
  bottom:0;
  content:"";
  left:0;
  position:absolute;
  right:0;
  top:0;
}
.c-copyright__text{
  display:inline-block;
  padding:6px 4px;
  position:relative;
  text-orientation:sideways;
  z-index:1;
}
.c-figure__inner{
  overflow:hidden;
  position:relative;
}
.c-figure__overlay{
  background-color:rgba(0, 0, 0, 0.4);
  height:100%;
  left:0;
  position:absolute;
  top:0;
  -webkit-transition:background-color 0.4s ease;
  transition:background-color 0.4s ease;
  width:100%;
  z-index:1;
}
.c-figure__link{
  display:block;
}
.c-figure__link:after{
  border:3px solid transparent;
  bottom:0;
  content:"";
  left:0;
  pointer-events:none;
  position:absolute;
  right:0;
  top:0;
  -webkit-transition:all 0.2s ease-in-out;
  transition:all 0.2s ease-in-out;
  z-index:1;
}
.c-figure__link:focus:after{
  border:3px dashed #000;
}
.c-figure__link:hover .c-figure__overlay, .c-figure__link:focus .c-figure__overlay{
  background-color:transparent;
}
.c-figure__figcaption{
  margin-top:0.3125rem;
  font-size:0.6180469716rem;
  line-height:1.4;
}
.c-figure .c-img{
  width:100%;
}
.c-figure [class*=o-icon-font]{
  bottom:0;
  color:#fff;
  font-size:1rem;
  height:calc(1rem + 0.5rem * 2);
  line-height:1;
  position:absolute;
  right:0;
  width:calc(1rem + 0.5rem * 2);
  z-index:1;
}
.c-figure [class*=o-icon-font]:before{
  background-color:rgba(0, 0, 0, 0.6);
  padding:0.5rem;
}
.c-footer{
  background:#2a4c2b;
}
.c-footer__bottom{
  padding:10px;
  position:relative;
  text-align:center;
  color:#fff;
}
.c-footer__bottom span{
  padding-right:20px;
  display: block;
}
.c-footer__bottom .c-menu-footer{
  display:grid;
  grid-column:2/span 12;
  grid-column-gap:20px;
  grid-template-columns:repeat(auto-fit, minmax(100px, 1fr));
  -webkit-box-pack:end;
      -ms-flex-pack:end;
          justify-content:flex-end;
  margin-bottom:50px;
  width:100%;
}
.c-footer__bottom .c-menu-footer__link{
  color:#fff;
  padding-left:2em;
  text-decoration:none;
}
.c-footer__bottom .c-menu-footer__link:before{
  color:#009F39;
  font-size:65%;
  top:1.2em;
}
@media screen and (min-width: 700px){
  .c-footer__bottom .c-menu-footer{
    grid-column:2/span 8;
    -webkit-box-pack:end;
        -ms-flex-pack:end;
            justify-content:flex-end;
    margin-bottom:20px;
  }
}
.c-footer__bottom .c-menu-footer-meta{
  grid-column:2/span 8;
}
.c-footer__bottom .c-menu-footer-meta__link{
  color:#fff;
  margin-right:20px;
  -webkit-text-decoration-color:#009F39;
          text-decoration-color:#009F39;
}
.c-header{
  background-image:url(/typo3conf/ext/specht_sitepackage/Resources/Public/Images/header.jpg);
  background-size:cover;
  background-color:#e6f1e2;
  border-bottom:0;
  border-top:0;
  padding:0;
  min-height:500px;
}
.c-header__inner{
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  grid-column:2/span 12;
  -webkit-box-pack:end;
      -ms-flex-pack:end;
          justify-content:flex-end;
  width:100%;
}
.c-header__inner img{
  width:100%;
}
.c-header__inner img.c-logo{
  max-width:76px;
  margin-left:-20px;
  margin-top:-20px;
}
.c-header__inner .c-teaser{
  position:absolute;
  top:70px;
  left:30px;
  background:#2a4c2b;
  padding:30px;
  padding-left:15px;
  width:268px;
  color:#fff;
  -webkit-transform:skewY(-5deg);
          transform:skewY(-5deg);
}
.c-header__inner .c-teaser__inner{
  -webkit-transform:skewY(5deg);
          transform:skewY(5deg);
}
.c-header__inner .c-teaser__inner h3{
  text-transform:uppercase;
  font-size:1.2rem;
  font-weight:bold;
}
.c-header__inner .c-teaser__inner p{
  font-size:1.2rem;
  margin-bottom:0.4rem;
  padding-bottom:0.4rem;
  border-bottom:1px solid #fff;
}
.c-header__inner .c-teaser__inner p:first-of-type{
  margin-top:0.4rem;
  padding-top:0.4rem;
  border-top:1px solid #fff;
}
.c-header .c-trigger-mm{
  background-color:transparent;
  height:18px;
  width:32px;
  border:0;
}

.c-img{
}
.no-js .c-img.lazyload{
  display:none;
}
html:not(.no-js) .c-img.lazyload{
  -webkit-filter:blur(5px);
          filter:blur(5px);
  -webkit-transition:-webkit-filter 400ms;
  transition:-webkit-filter 400ms;
  transition:filter 400ms;
  transition:filter 400ms, -webkit-filter 400ms;
}
html:not(.no-js) .c-img.lazyloaded{
  -webkit-filter:blur(0);
          filter:blur(0);
}
.c-kicker{
  font-size:0.6180469716rem;
  line-height:1.4;
  display:inline-block;
}
.c-link:before, .c-link:after,
.c-link-icon-only:before,
.c-link-icon-only:after{
  display:inline-block;
  text-decoration:underline;
}
.c-link:before, .c-link:after, .c-link:hover:before, .c-link:hover:after,
.c-link-icon-only:before,
.c-link-icon-only:after,
.c-link-icon-only:hover:before,
.c-link-icon-only:hover:after{
  text-decoration:none;
}
.c-link .o-icon-font:before, .c-link .o-icon-font:after,
.c-link-icon-only .o-icon-font:before,
.c-link-icon-only .o-icon-font:after{
  display:inline-block;
  text-decoration:underline;
}
.c-link .o-icon-font:before, .c-link .o-icon-font:after, .c-link .o-icon-font:hover:before, .c-link .o-icon-font:hover:after,
.c-link-icon-only .o-icon-font:before,
.c-link-icon-only .o-icon-font:after,
.c-link-icon-only .o-icon-font:hover:before,
.c-link-icon-only .o-icon-font:hover:after{
  text-decoration:none;
}

.c-link--fancy{
  background-image:-webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background-image:linear-gradient(currentColor, currentColor);
  background-position:0 100%;
  background-repeat:no-repeat;
  background-size:0 2px;
  text-decoration:none;
  -webkit-transition:background-size cubic-bezier(0, 0.5, 0, 1) 0.3s;
  transition:background-size cubic-bezier(0, 0.5, 0, 1) 0.3s;
}
.c-link--fancy:hover, .c-link--fancy:focus{
  background-size:100% 2px;
  text-decoration:none;
}

.c-link-icon-only{
  display:inline-block;
  text-decoration:none;
}

.c-article a:not([class]):before{
  text-rendering:auto;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-family:x8b3e1;
  font-weight:normal;
  content:'\E000';
  display:inline-block;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-style:normal;
  font-variant:normal;
  font-weight:400;
  line-height:1;
  speak:none;
  text-transform:none;
}
.c-logo{
  display:inline-block;
}
.c-logo svg{
  display:block;
  height:40px;
  fill:#fff;
}
.c-logo svg .icon_logo-txt{
  display:none;
}
@media screen and (min-width: 700px){
  .c-logo svg .icon_logo-txt{
    display:block;
  }
}
.c-media{
  cursor:pointer;
}
.c-media__content{
  overflow:hidden;
  position:relative;
}
.c-media__content:after{
  background-color:rgba(0, 159, 57, 0.6);
  bottom:0;
  content:"";
  left:0;
  position:absolute;
  right:0;
  top:0;
  -webkit-transition:background-color 0.2s;
  transition:background-color 0.2s;
}
.c-media__content:hover:after{
  background-color:rgba(0, 159, 57, 0.2);
}
.c-media__image{
  position:relative;
}
.c-media__image:before{
  content:"";
  display:block;
  padding-top:56.25%;
  width:100%;
}
.c-media__image > *{
  height:100%;
  left:0;
  position:absolute;
  top:0;
  width:100%;
}
.c-media__figcaption{
  margin-top:0.3125rem;
  font-size:0.6180469716rem;
  line-height:1.4;
}
.c-media__text{
  color:#fff;
  left:50%;
  position:absolute;
  text-align:center;
  top:50%;
  -webkit-transform:translate(-50%, -50%);
          transform:translate(-50%, -50%);
  width:90%;
  z-index:1;
}
.no-js .c-media__text{
  display:none;
}
.c-media .c-iframe-video{
  display:none;
}
.c-media .c-iframe-video iframe{
  background-color:rgba(0, 159, 57, 0.2);
}
.c-media.iframe-loaded .c-iframe-video{
  display:block;
}
.c-media.iframe-loaded .c-media__content{
  display:none;
}
.c-app .c-scroll-to-top{
  bottom:1rem;
  position:fixed;
  right:1rem;
  z-index:1;
}
.c-trigger-mm,
.c-trigger-menu-main{
  height:3rem;
  width:3rem;
}
.no-js .c-trigger-mm,
.no-js .c-trigger-menu-main{
  display:none;
}
.c-gallery{
  margin:0 auto;
}
.c-gallery:before, .c-gallery:after{
  clear:both;
  content:"";
  display:table;
}
@media screen and (min-width: 0) and (max-width: 499px){
  .c-gallery__inner{
    display:none;
  }
  .no-js .c-gallery__inner{
    display:block;
  }
}
@media screen and (min-width: 500px){
  .c-gallery__inner{
    margin-left:-1px;
    margin-right:-1px;
  }
}
@media screen and (min-width: 500px){
  .c-gallery .c-figure{
    border:1px solid transparent;
    float:left;
    width:50%;
  }
}
@media screen and (min-width: 900px){
  .c-gallery .c-figure{
    width:33.333%;
  }
  .page-layout-2col .c-main__article .c-gallery .c-figure{
    width:50%;
  }
}
.no-js .c-gallery .c-figure{
  border-bottom:1px solid transparent;
  border-top:1px solid transparent;
}
.c-gallery .c-button-icon-only{
  position:absolute;
  top:50%;
  -webkit-transform:translateY(-50%);
          transform:translateY(-50%);
  z-index:1;
}
.c-gallery .slick-prev{
  left:0;
}
.c-gallery .slick-next{
  right:0;
}
.c-gallery .js-gallery-paging li{
  display:none;
  text-align:right;
}
.c-gallery .js-gallery-paging li.slick-active{
  display:block;
}
.c-gallery-nav{
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  display:none;
  height:2rem;
  -webkit-box-pack:justify;
      -ms-flex-pack:justify;
          justify-content:space-between;
  margin:0.5rem 0;
}
.c-gallery-nav__dots{
  padding:0 1.5rem;
}
.c-gallery-nav .slick-dots{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
}
.c-gallery-nav .slick-dots li{
  display:block;
}
.c-gallery-nav__prev:before, .c-gallery-nav__next:before{
  font-size:1.125rem;
}
.c-gallery [data-slick=init] ~ .c-gallery-nav, .c-gallery--slider .init ~ .c-gallery-nav{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
}
.js .c-gallery--slider .c-figure{
  display:none;
}
.c-gallery--slider .init .c-figure{
  display:block;
}
.c-hero-element{
  display:grid;
  width:100%;
  grid-column:1/span 14;
  grid-column-gap:var(--grid-gutter);
  grid-template-rows:auto auto 1fr;
  grid-template-columns:var(--grid-template-grid-full-inner);
}
.c-hero-element__heading{
  grid-column:2/span 13;
  grid-row:2;
  margin:10px 0;
  position:relative;
  -webkit-hyphens:auto;
      -ms-hyphens:auto;
          hyphens:auto;
  overflow-wrap:break-word;
}
.c-hero-element__image-wrap{
  grid-column:1/span 14;
  grid-row:1/span 2;
}
.c-hero-element__text{
  grid-column:2/13;
  grid-row:3;
}
.c-hero-element__text p:last-of-type{
  margin-bottom:2rem;
}
.c-hero-element__text .c-button:last-of-type{
  margin-bottom:0;
}
@media screen and (min-width: 1100px){
  .c-hero-element{
    grid-template-rows:auto 1fr;
    grid-template-columns:var(--grid-template-grid-full-inner);
  }
  .c-hero-element__image-wrap{
    grid-column:1/9;
    grid-row:1/span 2;
    padding-right:40px;
  }
  .c-hero-element__text{
    grid-column:9/13;
    grid-row:2;
    padding:0;
  }
  .c-hero-element__heading{
    grid-column:6/span 7;
    grid-row:1;
    margin:50px 0;
    padding:0;
  }
}
.c-quote__inner{
  border-bottom:1px solid;
  border-top:1px solid;
  padding:1rem 0;
  text-align:center;
}
.c-quote__caption span{
  display:block;
}
.c-quote .o-icon-font:before{
  font-size:2rem;
}
.c-section-wrapper{
  background:#F2F2F2;
  grid-column:1/-1;
  padding:0 0 7.5rem;
}
.c-text{
  text-align:center;
  padding:30px;
}
.c-text.flower-bg{
  background:url(/typo3conf/ext/specht_sitepackage/Resources/Public/Images/flower-bg.png);
  background-size:contain;
}
.c-text.flower-bg .quote{
  font-size:1.4rem;
  line-height:2 !important;
  padding:5px 0;
  display:inline;
  line-height:30px;
  background-color:#aed39f;
  -webkit-box-shadow:10px 0 0 0 #aed39f, -10px 0 0 0 #aed39f;
          box-shadow:10px 0 0 0 #aed39f, -10px 0 0 0 #aed39f;
  position:relative;
}
.c-text.light-bg, .c-textmedia.light-bg{
  background-color:#e6f1e2;
}
.c-text.light-bg header{
  -webkit-transform:skewY(-5deg);
          transform:skewY(-5deg);
  background-color:#2a4c2b;
  display:inline-block;
  max-width:203px;
  margin-bottom:40px;
  margin-top:5px;
}
.c-text.light-bg h2{
  color:#fff;
  margin:15px;
  font-size:1.2rem;
  text-transform:uppercase;
  font-weight:100;
  hyphens: auto;
}
.c-text.dark-bg, .c-textmedia.dark-bg{
  background-color:#2a4c2b;
  color:#fff;
}
.c-text.dark-bg header{
  -webkit-transform:skewY(-5deg);
          transform:skewY(-5deg);
  background-color:#fff;
  display:inline-block;
  max-width:203px;
  margin-bottom:40px;
  margin-top:5px;
}
.c-text.dark-bg h2{
  margin:15px;
  color:#2a4c2b;
  font-size:1.2rem;
  text-transform:uppercase;
  font-weight:100;
  hyphens: auto;
}
.c-textmedia .c-figure,
.c-textmedia .c-media{
  margin-bottom:1.25rem;
}

.c-textmedia__inner--below .c-textmedia__text{
  -webkit-box-ordinal-group:2;
      -ms-flex-order:1;
          order:1;
}
.c-textmedia__inner--below .c-textmedia__media{
  -webkit-box-ordinal-group:3;
      -ms-flex-order:2;
          order:2;
}
.c-textmedia__inner--below .c-textmedia__content{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
      -ms-flex-direction:column;
          flex-direction:column;
}
.c-textmedia__inner--float-left:before, .c-textmedia__inner--float-left:after, .c-textmedia__inner--float-left-small:before, .c-textmedia__inner--float-left-small:after{
  clear:both;
  content:"";
  display:table;
}
@media screen and (min-width: 900px){
  .c-textmedia__inner--float-left .c-textmedia__content, .c-textmedia__inner--float-left-small .c-textmedia__content{
    margin-left:-10px;
    margin-right:-10px;
  }
  .c-textmedia__inner--float-left .c-textmedia__media, .c-textmedia__inner--float-left-small .c-textmedia__media{
    float:left;
    width:calc((100% / 12 * 4));
    margin-right:10px;
  }
  .c-textmedia__inner--float-left .c-textmedia__media,
.c-textmedia__inner--float-left .c-textmedia__text, .c-textmedia__inner--float-left-small .c-textmedia__media,
.c-textmedia__inner--float-left-small .c-textmedia__text{
    padding-left:10px;
    padding-right:10px;
  }
}
@media screen and (min-width: 900px){
  .c-textmedia__inner--float-left-small .c-textmedia__media{
    width:calc(1 * ((100% / 12 * 4)));
    margin-right:10px;
  }
}

.o-raster\:col-1-12-1,.c-textmedia__inner--left,.c-textmedia__inner--right,.c-textmedia__inner--right--img-smaller,.c-textmedia__inner--below .c-textmedia__content,.c-textmedia__inner--below .c-textmedia__media,.c-textmedia__inner--below .c-media,.c-textmedia__inner--below .c-media__content,.c-textmedia__inner--below,.c-textmedia{
    -webkit-column-gap:var(--grid-gutter);
    -moz-column-gap:var(--grid-gutter);
    column-gap:var(--grid-gutter);
    display:grid;
    grid-template-areas:"left main main main main main main main main main main main main right";
    grid-template-columns:var(--grid-template-grid-full-mobile);
    grid-template-rows:auto
}
@media screen and (min-width: 900px){
    .o-raster\:col-1-12-1,.c-textmedia__inner--left,.c-textmedia__inner--right,.c-textmedia__inner--right--img-smaller,.c-textmedia__inner--below .c-textmedia__content,.c-textmedia__inner--below .c-textmedia__media,.c-textmedia__inner--below .c-media,.c-textmedia__inner--below .c-media__content,.c-textmedia__inner--below,.c-textmedia{
        grid-template-columns:var(--grid-template-grid-full)
    }
}
.o-raster\:col-1-12-1>*,.c-textmedia__inner--left>*,.c-textmedia__inner--right>*,.c-textmedia__inner--right--img-smaller>*,.c-textmedia__inner--below .c-textmedia__content>*,.c-textmedia__inner--below .c-textmedia__media>*,.c-textmedia__inner--below .c-media>*,.c-textmedia__inner--below .c-media__content>*,.c-textmedia__inner--below>*,.c-textmedia>*{
    grid-column:1/-1
}
@media screen and (min-width: 500px){
    .o-raster\:col-1-12-1>*,.c-textmedia__inner--left>*,.c-textmedia__inner--right>*,.c-textmedia__inner--right--img-smaller>*,.c-textmedia__inner--below .c-textmedia__content>*,.c-textmedia__inner--below .c-textmedia__media>*,.c-textmedia__inner--below .c-media>*,.c-textmedia__inner--below .c-media__content>*,.c-textmedia__inner--below>*,.c-textmedia>*{
        grid-column:2/span 12
    }

    .c-footer__bottom span{
      display: inline;
    }
}
.o-raster\:col-1-12-1>.o-raster-full-bleed,.c-textmedia__inner--left>.o-raster-full-bleed,.c-textmedia__inner--right>.o-raster-full-bleed,.c-textmedia__inner--right--img-smaller>.o-raster-full-bleed,.c-textmedia__inner--below .c-textmedia__content>.o-raster-full-bleed,.c-textmedia__inner--below .c-textmedia__media>.o-raster-full-bleed,.c-textmedia__inner--below .c-media>.o-raster-full-bleed,.c-textmedia__inner--below .c-media__content>.o-raster-full-bleed,.c-textmedia__inner--below>.o-raster-full-bleed,.c-textmedia>.o-raster-full-bleed{
    display:grid;
    grid-column:left/right
}
@media screen and (min-width: 900px){
    .o-raster\:col-1-12-1>*,.c-textmedia__inner--left>*,.c-textmedia__inner--right>*,.c-textmedia__inner--right--img-smaller>*,.c-textmedia__inner--below .c-textmedia__content>*,.c-textmedia__inner--below .c-textmedia__media>*,.c-textmedia__inner--below .c-media>*,.c-textmedia__inner--below .c-media__content>*,.c-textmedia__inner--below>*,.c-textmedia>*{
        grid-column:3/span 10
    }
}

.c-textmedia{
    grid-column:1/-1
}
.c-textmedia .c-figure,.c-textmedia .c-media{
    margin-bottom:1.25rem
}
@media screen and (min-width: 900px){
    .c-textmedia .c-figure,.c-textmedia .c-media{
        margin-bottom:0
    }
}
.c-textmedia .c-figure video,.c-textmedia .c-media video{
    border:solid 1px #999ca1
}
.c-textmedia .c-figure .c-media__video,.c-textmedia .c-media .c-media__video{
    width:100%;
    height:100%
}
.c-textmedia__inner--below{
    grid-column:1/-1
}
.c-textmedia__inner--below .c-textmedia__content,.c-textmedia__inner--below .c-textmedia__media,.c-textmedia__inner--below .c-media,.c-textmedia__inner--below .c-media__content{
    grid-column:1/-1
}
.c-textmedia__inner--below .c-textmedia__media{
    -webkit-box-ordinal-group:3;
    -ms-flex-order:2;
    order:2
}
.c-textmedia__inner--below .c-textmedia__media .c-media__content:after,.c-textmedia__inner--below .c-textmedia__media .c-media__image{
    grid-column:1/-1
}
@media screen and (min-width: 500px){
    .c-textmedia__inner--below .c-textmedia__media .c-media__content:after,.c-textmedia__inner--below .c-textmedia__media .c-media__image{
        grid-column:2/span 12
    }
}
@media screen and (min-width: 900px){
    .c-textmedia__inner--below .c-textmedia__media .c-media__content:after,.c-textmedia__inner--below .c-textmedia__media .c-media__image{
        grid-column:3/span 10
    }
}
.c-textmedia__inner--left,.c-textmedia__inner--right,.c-textmedia__inner--right--img-smaller{
    grid-column:1/-1
}
@media screen and (min-width: 900px){
    .c-textmedia__inner--left .c-textmedia__content,.c-textmedia__inner--right .c-textmedia__content,.c-textmedia__inner--right--img-smaller .c-textmedia__content{
        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
        grid-column:1/-1;
        -webkit-box-pack:justify;
        -ms-flex-pack:justify;
        justify-content:space-between;
        width:100%
    }
    .c-textmedia__inner--left .c-textmedia__media,.c-textmedia__inner--left .c-textmedia__text,.c-textmedia__inner--right .c-textmedia__media,.c-textmedia__inner--right .c-textmedia__text,.c-textmedia__inner--right--img-smaller .c-textmedia__media,.c-textmedia__inner--right--img-smaller .c-textmedia__text{
        width:calc((100% - (20px * 2)) / 2)
    }
}
.c-textmedia__inner--left .c-textmedia__media,.c-textmedia__inner--right .c-textmedia__media,.c-textmedia__inner--right--img-smaller .c-textmedia__media{
    -webkit-box-ordinal-group:2;
    -ms-flex-order:1;
    order:1
}
.c-textmedia__inner--left .c-textmedia__text,.c-textmedia__inner--right .c-textmedia__text,.c-textmedia__inner--right--img-smaller .c-textmedia__text{
    -webkit-box-ordinal-group:3;
    -ms-flex-order:2;
    order:2
}
@media screen and (min-width: 900px){
    .c-textmedia__inner--right .c-textmedia__media,.c-textmedia__inner--right--img-smaller .c-textmedia__media{
        -webkit-box-ordinal-group:3;
        -ms-flex-order:2;
        order:2
    }
    .c-textmedia__inner--right .c-textmedia__text,.c-textmedia__inner--right--img-smaller .c-textmedia__text{
        -webkit-box-ordinal-group:2;
        -ms-flex-order:1;
        order:1;
        padding-left:  30px;
    }
}
@media screen and (min-width: 900px){
    .c-textmedia__inner--right--img-smaller .c-textmedia__media{
        width:calc((100% - (20px * 2)) * 0.3)
    }
    .c-textmedia__inner--right--img-smaller .c-textmedia__text{
        width:calc((100% - (20px * 2)) * 0.7)
    }
}
.c-textmedia.o-raster--fullsize .c-textmedia__inner--below .c-figure{
    grid-column:1/-1
}
@media screen and (min-width: 500px){
    .c-textmedia.o-raster--fullsize .c-textmedia__inner--below .c-figure{
        grid-column:2/span 12
    }
}



@media screen and (min-width: 900px){
    .c-textmedia__text {
      padding-top:  30px;
    }
}

.u-accessibility{
  border:0 !important;
  clip:rect(0 0 0 0) !important;
  height:1px !important;
  margin:-1px !important;
  overflow:hidden !important;
  padding:0 !important;
  position:absolute !important;
  width:1px !important;
}
.u-color-bg\:darkGreen{
  background-color:#2a4c2b;
}
.u-color-bg\:lightGreen{
  background-color:#e6f1e2;
}
.u-color-bg\:pri1{
  background-color:#009F39;
}
.u-color-bg\:pri2{
  background-color:#004D95;
}
.u-color-bg\:pri1Light{
  background-color:#E9F6EB;
}
.u-color-bg\:pri2Dark{
  background-color:#003E77;
}
.u-color-bg\:light1{
  background-color:#F2F2F2;
}
.u-color-bg\:mid1{
  background-color:#999CA1;
}
.u-color-bg\:defaultTxt{
  background-color:#363840;
}
.u-color-bg\:black{
  background-color:#000;
}
.u-color-bg\:white{
  background-color:#fff;
}
.u-color-bo\:darkGreen{
  border-color:#2a4c2b;
}
.u-color-bo\:lightGreen{
  border-color:#e6f1e2;
}
.u-color-bo\:pri1{
  border-color:#009F39;
}
.u-color-bo\:pri2{
  border-color:#004D95;
}
.u-color-bo\:pri1Light{
  border-color:#E9F6EB;
}
.u-color-bo\:pri2Dark{
  border-color:#003E77;
}
.u-color-bo\:light1{
  border-color:#F2F2F2;
}
.u-color-bo\:mid1{
  border-color:#999CA1;
}
.u-color-bo\:defaultTxt{
  border-color:#363840;
}
.u-color-bo\:black{
  border-color:#000;
}
.u-color-bo\:white{
  border-color:#fff;
}
.u-color-c\:darkGreen{
  color:#2a4c2b;
}
.u-color-c\:lightGreen{
  color:#e6f1e2;
}
.u-color-c\:pri1{
  color:#009F39;
}
.u-color-c\:pri2{
  color:#004D95;
}
.u-color-c\:pri1Light{
  color:#E9F6EB;
}
.u-color-c\:pri2Dark{
  color:#003E77;
}
.u-color-c\:light1{
  color:#F2F2F2;
}
.u-color-c\:mid1{
  color:#999CA1;
}
.u-color-c\:defaultTxt{
  color:#363840;
}
.u-color-c\:black{
  color:#000;
}
.u-color-c\:white{
  color:#fff;
}
.u-space-top\:xs{
  margin-top:0.5rem;
}
.u-space-top\:small{
  margin-top:1rem;
}
.u-space-top\:medium{
  margin-top:1.5rem;
}
.u-space-top\:large{
  margin-top:2rem;
}
.u-space-top\:xlarge{
  margin-top:2.5rem;
}
.u-space-top\:xxlarge{
  margin-top:4rem;
}
.u-space-top\:xxxlarge{
  margin-top:6rem;
}
.u-space-top\:default{
  margin-top:7rem;
}
.u-space-top\:xxxxlarge{
  margin-top:7.5rem;
}

:root{
  --spacing-xs:calc(1 * 10px);
  --spacing-small:calc(2 * 10px);
  --spacing-medium:calc(3 * 10px);
  --spacing-large:calc(4 * 10px);
  --spacing-xlarge:calc(5 * 10px);
  --spacing-xxlarge:calc(8 * 10px);
  --spacing-xxxlarge:calc(12 * 10px);
  --spacing-default:calc(14 * 10px);
  --spacing-xxxxlarge:calc(15 * 10px);
}
.u-typo\:light{
  font-family:"JosefinSans", Calibri, sans-serif;
  font-style:normal;
  font-weight:100;
}
.u-typo\:regular{
  font-family:"JosefinSans", Calibri, sans-serif;
  font-style:normal;
  font-weight:400;
}
.u-typo\:italic{
  font-family:"JosefinSans", Calibri, sans-serif;
  font-style:italic;
  font-weight:400;
}
.u-typo\:bold{
  font-family:"JosefinSans", Calibri, sans-serif;
  font-style:normal;
  font-weight:600;
}
.u-typo\:s{
  font-size:0.6180469716rem;
  line-height:1.4;
}

.u-typo\:m{
  font-size:1rem;
  line-height:1.4;
}

.u-typo\:l{
  font-size:1.618rem;
  line-height:1.16;
}

.u-typo\:xl{
  font-size:2.617924rem;
  line-height:1.1;
}

.u-typo\:xxl{
  font-size:4.235801032rem;
  line-height:1.062;
}

.u-typo\:xxxl{
  font-size:6.8535260698rem;
  line-height:1.062;
}
.u-typo\:xxxl,
.u-typo\:xxl{
  -webkit-hyphens:auto;
      -ms-hyphens:auto;
          hyphens:auto;
  overflow-wrap:break-word;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLmNzcy9ub3JtYWxpemUuY3NzIiwid2VicGFjazovLy8uLzxpbnB1dCBjc3MgMzc+Iiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc3R5bGVzL19zZXR0aW5ncy9fc2V0dGluZ3MuZm9udHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlcy9tYWluLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXMvYmFzZS9nZW5lcmljL19nZW5lcmljLmN1c3RvbS1ub3JtYWxpemUuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlcy9iYXNlL2dlbmVyaWMvX2dlbmVyaWMuYnJlYWtwb2ludHMtanMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGZhbWlsaWVyZWRsaWNoL2ZyLXRvb2xib3gvX3Rvb2xzL190b29scy5taXhpbnMuYnJlYWtwb2ludC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc3R5bGVzL2Jhc2UvY3VzdG9tLXByb3BlcnRpZXMvX2N1c3RvbS1wcm9wZXJ0aWVzLmdyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlcy9iYXNlL2dlbmVyaWMvX2dlbmVyaWMuZGlzYWJsZWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlcy9fdG9vbHMvbWl4aW5zL19taXhpbnMuZGlzYWJsZWQtc3R5bGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXMvYmFzZS9nZW5lcmljL19nZW5lcmljLnVpLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXMvX3Rvb2xzL21peGlucy9fbWl4aW5zLmZvY3VzLW91dGxpbmUuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlcy9iYXNlL2VsZW1lbnRzL19iYXNlLmh0bWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlcy9iYXNlL2VsZW1lbnRzL19iYXNlLmJvZHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlcy9fdG9vbHMvbWl4aW5zL19taXhpbnMudHlwby5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc3R5bGVzL2Jhc2UvZWxlbWVudHMvX2Jhc2UuYS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc3R5bGVzL2Jhc2UvZWxlbWVudHMvX2Jhc2UuaGVhZGxpbmVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BmYW1pbGllcmVkbGljaC9mci10b29sYm94L190b29scy9fdG9vbHMubWl4aW5zLmZvbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlcy9iYXNlL2VsZW1lbnRzL19iYXNlLmhyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXMvYmFzZS9lbGVtZW50cy9fYmFzZS5pLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXMvYmFzZS9lbGVtZW50cy9fYmFzZS5wLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXMvX3NldHRpbmdzL19zZXR0aW5ncy5zcGFjZS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc3R5bGVzL2Jhc2UvZWxlbWVudHMvX2Jhc2Uuc3Ryb25nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21hZ25pZmljLXBvcHVwL3NyYy9jc3MvbWFpbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9tYWduaWZpYy1wb3B1cC9zcmMvY3NzL19zZXR0aW5ncy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvbW1lbnUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2NvcmUvb25jYW52YXMvbW1lbnUub25jYW52YXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2NvcmUvb25jYW52YXMvX29uY2FudmFzLm1lbnUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2NvcmUvb25jYW52YXMvX29uY2FudmFzLm1lbnUucnRsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9jb3JlL29uY2FudmFzL19vbmNhbnZhcy5wYW5lbHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2NvcmUvb25jYW52YXMvX29uY2FudmFzLnBhbmVscy5ydGwuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2NvcmUvb25jYW52YXMvX29uY2FudmFzLnZlcnRpY2FsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9jb3JlL29uY2FudmFzL19vbmNhbnZhcy5idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9jb3JlL29uY2FudmFzL19vbmNhbnZhcy5idXR0b25zLnJ0bC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvY29yZS9vbmNhbnZhcy9fb25jYW52YXMubmF2YmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9jb3JlL29uY2FudmFzL19vbmNhbnZhcy5uYXZiYXIucnRsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9jb3JlL29uY2FudmFzL19vbmNhbnZhcy5saXN0dmlld3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2NvcmUvb25jYW52YXMvX29uY2FudmFzLmxpc3R2aWV3cy5ydGwuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2NvcmUvb2ZmY2FudmFzL21tZW51Lm9mZmNhbnZhcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvY29yZS9vZmZjYW52YXMvX29mZmNhbnZhcy5ydGwuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2NvcmUvc2NyZWVucmVhZGVyL21tZW51LnNjcmVlbnJlYWRlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvYWRkb25zL2F1dG9oZWlnaHQvbW1lbnUuYXV0b2hlaWdodC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvYWRkb25zL2NvbHVtbnMvbW1lbnUuY29sdW1ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvYWRkb25zL2NvdW50ZXJzL21tZW51LmNvdW50ZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9hZGRvbnMvY291bnRlcnMvX2NvdW50ZXJzLnJ0bC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvYWRkb25zL2RpdmlkZXJzL21tZW51LmRpdmlkZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9hZGRvbnMvZHJhZy9tbWVudS5kcmFnLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9hZGRvbnMvZHJvcGRvd24vbW1lbnUuZHJvcGRvd24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2FkZG9ucy9pY29uYmFyL21tZW51Lmljb25iYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2FkZG9ucy9pY29ucGFuZWxzL21tZW51Lmljb25wYW5lbHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2FkZG9ucy9pY29ucGFuZWxzL19pY29ucGFuZWxzLnJ0bC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvYWRkb25zL2tleWJvYXJkbmF2aWdhdGlvbi9tbWVudS5rZXlib2FyZG5hdmlnYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2FkZG9ucy9uYXZiYXJzL21tZW51Lm5hdmJhcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2FkZG9ucy9uYXZiYXJzL19uYXZiYXIuc2VhcmNoZmllbGQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2FkZG9ucy9uYXZiYXJzL19uYXZiYXIuYnJlYWRjcnVtYnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2FkZG9ucy9uYXZiYXJzL19uYXZiYXIudGFicy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvYWRkb25zL3NlYXJjaGZpZWxkL21tZW51LnNlYXJjaGZpZWxkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9hZGRvbnMvc2VjdGlvbmluZGV4ZXIvbW1lbnUuc2VjdGlvbmluZGV4ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2FkZG9ucy9zZXRzZWxlY3RlZC9tbWVudS5zZXRzZWxlY3RlZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvYWRkb25zL3NpZGViYXIvbW1lbnUuc2lkZWJhci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvYWRkb25zL3NpZGViYXIvX3NpZGViYXIucnRsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9hZGRvbnMvdG9nZ2xlcy9tbWVudS50b2dnbGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9hZGRvbnMvdG9nZ2xlcy9fdG9nZ2xlcy5ydGwuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2V4dGVuc2lvbnMvYm9yZGVyc3R5bGUvbW1lbnUuYm9yZGVyc3R5bGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2V4dGVuc2lvbnMvZWZmZWN0cy9tbWVudS5lZmZlY3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9leHRlbnNpb25zL2xpc3R2aWV3L21tZW51Lmxpc3R2aWV3LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9leHRlbnNpb25zL211bHRpbGluZS9tbWVudS5tdWx0aWxpbmUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2V4dGVuc2lvbnMvcGFnZWRpbS9tbWVudS5wYWdlZGltLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9leHRlbnNpb25zL3BvcHVwL21tZW51LnBvcHVwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9leHRlbnNpb25zL3Bvc2l0aW9uaW5nL21tZW51LnBvc2l0aW9uaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9leHRlbnNpb25zL3NoYWRvd3MvbW1lbnUuc2hhZG93cy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvZXh0ZW5zaW9ucy90aGVtZXMvbW1lbnUudGhlbWVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy93cmFwcGVycy9ib290c3RyYXAvbW1lbnUuYm9vdHN0cmFwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXMvdmVuZG9yL21hZ25pZmljLXBvcHVwL192ZW5kb3IubWFnbmlmaWMtcG9wdXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlcy9fdG9vbHMvbWl4aW5zL19taXhpbnMuY29weXJpZ2h0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXMvdmVuZG9yL21tZW51L192ZW5kb3IubW1lbnUuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlcy92ZW5kb3Ivc2xpY2stc2xpZGVyL192ZW5kb3Iuc2xpY2stc2xpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXMvb2JqZWN0cy9fb2JqZWN0cy5hcnRpY2xlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXMvb2JqZWN0cy9fb2JqZWN0cy5ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXMvX3NldHRpbmdzL19zZXR0aW5ncy5ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXMvb2JqZWN0cy9fb2JqZWN0cy5yYXN0ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL2Jhc2UvX2NvbXBvbmVudHMuYmxvY2stbGluay5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvYmFzZS9fY29tcG9uZW50cy5idXJnZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL2Jhc2UvX2NvbXBvbmVudHMuYnV0dG9ucy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc3R5bGVzL190b29scy9taXhpbnMvX21peGlucy5idXR0b24tYmFzaWMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlcy9fdG9vbHMvbWl4aW5zL19taXhpbnMuYnV0dG9uLXN0eWxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9iYXNlL19jb21wb25lbnRzLmNvcHlyaWdodC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvYmFzZS9fY29tcG9uZW50cy5maWd1cmUuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlcy9fdG9vbHMvbWl4aW5zL19taXhpbnMuZm9jdXMtcmluZy1pbm5lci5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc3R5bGVzL19zZXR0aW5ncy9fc2V0dGluZ3MudWkuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlcy9fdG9vbHMvbWl4aW5zL19taXhpbnMuZmlnY2FwdGlvbi5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvYmFzZS9fY29tcG9uZW50cy5mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL2Jhc2UvX2NvbXBvbmVudHMuaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9iYXNlL19jb21wb25lbnRzLmltZy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvYmFzZS9fY29tcG9uZW50cy5raWNrZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlcy9fdG9vbHMvbWl4aW5zL19taXhpbnMucmVtb3ZlLXVuZGVybGluZS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvYmFzZS9fY29tcG9uZW50cy5saW5rcy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc3R5bGVzL190b29scy9taXhpbnMvX21peGlucy5mYW5jeS11bmRlcmxpbmUuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlcy9fdG9vbHMvbWl4aW5zL19taXhpbnMuaWNvbi1mb250LXN0eWxlcy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvYmFzZS9fY29tcG9uZW50cy5sb2dvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9iYXNlL19jb21wb25lbnRzLm1lZGlhLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BmYW1pbGllcmVkbGljaC9mci10b29sYm94L190b29scy9fdG9vbHMubWl4aW5zLmFzcGVjdC1yYXRpby5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvYmFzZS9fY29tcG9uZW50cy5zY3JvbGwtdG8tdG9wLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9iYXNlL19jb21wb25lbnRzLnRyaWdnZXItbWVudS1tYWluLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9jb250ZW50LWVsZW1lbnRzL19jb21wb25lbnRzLmNlLmdhbGxlcnkuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGZhbWlsaWVyZWRsaWNoL2ZyLXRvb2xib3gvX3Rvb2xzL190b29scy5taXhpbnMuY2xlYXJmaXguc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL2NvbnRlbnQtZWxlbWVudHMvX2NvbXBvbmVudHMuY2UuaGVyby1lbGVtZW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXMvX3Rvb2xzL21peGlucy9fbWl4aW5zLndvcmQtYnJlYWsuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL2NvbnRlbnQtZWxlbWVudHMvX2NvbXBvbmVudHMuY2UucXVvdGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL2NvbnRlbnQtZWxlbWVudHMvX2NvbXBvbmVudHMuY2Uuc2VjdGlvbi13cmFwcGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9jb250ZW50LWVsZW1lbnRzL19jb21wb25lbnRzLmNlLnRleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL2NvbnRlbnQtZWxlbWVudHMvX2NvbXBvbmVudHMuY2UudGV4dC1tZWRpYS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc3R5bGVzL3V0aWxpdGllcy9fdXRpbGl0aWVzLmFjY2Vzc2liaWxpdHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGZhbWlsaWVyZWRsaWNoL2ZyLXRvb2xib3gvX3Rvb2xzL190b29scy5taXhpbnMuYWNjZXNzaWJpbGl0eS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc3R5bGVzL3V0aWxpdGllcy9fdXRpbGl0aWVzLmNvbG9ycy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc3R5bGVzL19zZXR0aW5ncy9fc2V0dGluZ3MudG9vbGJveC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc3R5bGVzL3V0aWxpdGllcy9fdXRpbGl0aWVzLnNwYWNlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXMvdXRpbGl0aWVzL191dGlsaXRpZXMudHlwby5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRFQUE0RTs7QUFFNUU7Z0ZBQ2dGOztBQUVoRjs7O0dBR0c7O0FBRUg7RUFDRSxrQkFBa0IsQ0FBQyxPQUFPO0VBQzFCLCtCQUErQixDQUFDLE9BQU87Q0FDeEM7O0FBRUQ7Z0ZBQ2dGOztBQUVoRjs7R0FFRzs7QUFFSDtFQUNFLFVBQVU7Q0FDWDs7QUFFRDs7R0FFRzs7QUFFSDtFQUNFLGVBQWU7Q0FDaEI7O0FBRUQ7OztHQUdHOztBQUVIO0VBQ0UsZUFBZTtFQUNmLGlCQUFpQjtDQUNsQjs7QUFFRDtnRkFDZ0Y7O0FBRWhGOzs7R0FHRzs7QUFFSDtFQUNFLHdCQUF3QixDQUFDLE9BQU87RUFDaEMsVUFBVSxDQUFDLE9BQU87RUFDbEIsa0JBQWtCLENBQUMsT0FBTztDQUMzQjs7QUFFRDs7O0dBR0c7O0FBRUg7RUFDRSxrQ0FBa0MsQ0FBQyxPQUFPO0VBQzFDLGVBQWUsQ0FBQyxPQUFPO0NBQ3hCOztBQUVEO2dGQUNnRjs7QUFFaEY7O0dBRUc7O0FBRUg7RUFDRSw4QkFBOEI7Q0FDL0I7O0FBRUQ7OztHQUdHOztBQUVIO0VBQ0Usb0JBQW9CLENBQUMsT0FBTztFQUM1QiwyQkFBMkIsQ0FBQyxPQUFPO0VBQ25DLGtDQUFrQyxDQUFDLE9BQU87Q0FDM0M7O0FBRUQ7O0dBRUc7O0FBRUg7O0VBRUUsb0JBQW9CO0NBQ3JCOztBQUVEOzs7R0FHRzs7QUFFSDs7O0VBR0Usa0NBQWtDLENBQUMsT0FBTztFQUMxQyxlQUFlLENBQUMsT0FBTztDQUN4Qjs7QUFFRDs7R0FFRzs7QUFFSDtFQUNFLGVBQWU7Q0FDaEI7O0FBRUQ7OztHQUdHOztBQUVIOztFQUVFLGVBQWU7RUFDZixlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLHlCQUF5QjtDQUMxQjs7QUFFRDtFQUNFLGdCQUFnQjtDQUNqQjs7QUFFRDtFQUNFLFlBQVk7Q0FDYjs7QUFFRDtnRkFDZ0Y7O0FBRWhGOztHQUVHOztBQUVIO0VBQ0UsbUJBQW1CO0NBQ3BCOztBQUVEO2dGQUNnRjs7QUFFaEY7OztHQUdHOztBQUVIOzs7OztFQUtFLHFCQUFxQixDQUFDLE9BQU87RUFDN0IsZ0JBQWdCLENBQUMsT0FBTztFQUN4QixrQkFBa0IsQ0FBQyxPQUFPO0VBQzFCLFVBQVUsQ0FBQyxPQUFPO0NBQ25COztBQUVEOzs7R0FHRzs7QUFFSDtRQUNRLE9BQU87RUFDYixrQkFBa0I7Q0FDbkI7O0FBRUQ7OztHQUdHOztBQUVIO1NBQ1MsT0FBTztFQUNkLHFCQUFxQjtDQUN0Qjs7QUFFRDs7R0FFRzs7QUFFSDs7OztFQUlFLDJCQUEyQjtDQUM1Qjs7QUFFRDs7R0FFRzs7QUFFSDs7OztFQUlFLG1CQUFtQjtFQUNuQixXQUFXO0NBQ1o7O0FBRUQ7O0dBRUc7O0FBRUg7Ozs7RUFJRSwrQkFBK0I7Q0FDaEM7O0FBRUQ7O0dBRUc7O0FBRUg7RUFDRSwrQkFBK0I7Q0FDaEM7O0FBRUQ7Ozs7O0dBS0c7O0FBRUg7RUFDRSx1QkFBdUIsQ0FBQyxPQUFPO0VBQy9CLGVBQWUsQ0FBQyxPQUFPO0VBQ3ZCLGVBQWUsQ0FBQyxPQUFPO0VBQ3ZCLGdCQUFnQixDQUFDLE9BQU87RUFDeEIsV0FBVyxDQUFDLE9BQU87RUFDbkIsb0JBQW9CLENBQUMsT0FBTztDQUM3Qjs7QUFFRDs7R0FFRzs7QUFFSDtFQUNFLHlCQUF5QjtDQUMxQjs7QUFFRDs7R0FFRzs7QUFFSDtFQUNFLGVBQWU7Q0FDaEI7O0FBRUQ7OztHQUdHOztBQUVIOztFQUVFLHVCQUF1QixDQUFDLE9BQU87RUFDL0IsV0FBVyxDQUFDLE9BQU87Q0FDcEI7O0FBRUQ7O0dBRUc7O0FBRUg7O0VBRUUsYUFBYTtDQUNkOztBQUVEOzs7R0FHRzs7QUFFSDtFQUNFLDhCQUE4QixDQUFDLE9BQU87RUFDdEMscUJBQXFCLENBQUMsT0FBTztDQUM5Qjs7QUFFRDs7R0FFRzs7QUFFSDtFQUNFLHlCQUF5QjtDQUMxQjs7QUFFRDs7O0dBR0c7O0FBRUg7RUFDRSwyQkFBMkIsQ0FBQyxPQUFPO0VBQ25DLGNBQWMsQ0FBQyxPQUFPO0NBQ3ZCOztBQUVEO2dGQUNnRjs7QUFFaEY7O0dBRUc7O0FBRUg7RUFDRSxlQUFlO0NBQ2hCOztBQUVEOztHQUVHOztBQUVIO0VBQ0UsbUJBQW1CO0NBQ3BCOztBQUVEO2dGQUNnRjs7QUFFaEY7O0dBRUc7O0FBRUg7RUFDRSxjQUFjO0NBQ2Y7O0FBRUQ7O0dBRUc7O0FBRUg7RUFDRSxjQUFjO0NBQ2Y7O0FDNVZELGFBQWEsb0JBQW1CLENBQUUsaURBQXdXLG9CQUFvQixtQkFBbUI7QUN3QmpiO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFFQTtDQzhCSjtBRHpCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBRUE7Q0M2Qko7QUM3REE7RUFDSTtVQUFBO0NEcVJKOztBQ2pSSTtFQUdJO1VBQUE7Q0RrUlI7QUMzUUE7Ozs7Ozs7Ozs7Ozs7Ozs7RUFnQkk7RUFDQTtDRGlSSjtBQzNRQTs7Ozs7O0VBTUksZ0JGdENVO0NDdVRkO0FDM1FBOztFQUVJO0NEaVJKOztBQzlRQTs7OztFQUtJO0VBQ0E7RUFDQTtDRGdSSjtBQzFRQTs7Ozs7RUFLSTtFQUNBO0NEZ1JKOztBQzdRQTtFQUNJO0NEZ1JKOztBQzdRQTtFQUNJO0NEZ1JKO0FDMVFBO0VBQ0k7RUFDQTtDRGdSSjs7QUM3UUE7Ozs7Ozs7RUFPSTtFQUNBO0NEZ1JKO0FFblhBO0VBQ0k7Q0Y4WEo7QUd4WGdCO0VEUGhCO0lBSVE7R0YrWE47Q0FDRjtBRzdYZ0I7RURQaEI7SUFRUTtHRmdZTjtDQUNGO0FHbFlnQjtFRFBoQjtJQVlRO0dGaVlOO0NBQ0Y7QUd2WWdCO0VEUGhCO0lBZ0JRO0dGa1lOO0NBQ0Y7QUc1WWdCO0VEUGhCO0lBb0JRO0dGbVlOO0NBQ0Y7QUdqWmdCO0VEUGhCO0lBd0JRO0dGb1lOO0NBQ0Y7O0FFallBO0VBQ0k7RUFDQTtDRm9ZSjtBRzNaZ0I7RURxQmhCO0lBS1E7R0ZxWU47Q0FDRjtBR2hhZ0I7RURxQmhCO0lBU1E7R0ZzWU47Q0FDRjtBR3JhZ0I7RURxQmhCO0lBYVE7R0Z1WU47Q0FDRjtBRzFhZ0I7RURxQmhCO0lBaUJRO0dGd1lOO0NBQ0Y7QUcvYWdCO0VEcUJoQjtJQXFCUTtHRnlZTjtDQUNGO0FHcGJnQjtFRHFCaEI7SUF5QlE7R0YwWU47Q0FDRjs7QUkzY0E7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7Q0o2Y0o7QUdsY2dCO0VDbEJoQjtJQVdZO0dKNmNWO0NBQ0Y7QUd2Y2dCO0VDbEJoQjtJQVdZO0dKa2RWO0NBQ0Y7QUc1Y2dCO0VDbEJoQjtJQVdZO0dKdWRWO0NBQ0Y7QUdqZGdCO0VDbEJoQjtJQVdZO0dKNGRWO0NBQ0Y7QUd0ZGdCO0VDbEJoQjtJQVdZO0dKaWVWO0NBQ0Y7QUczZGdCO0VDbEJoQjtJQVdZO0dKc2VWO0NBQ0Y7QUdoZWdCO0VDbEJoQjtJQWdCUTtJQUNBO0lBQ0E7R0pzZU47Q0FDRjtBSzNlSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQ1RBO0VBQ0E7Q05naEJKOztBSzlmSTs7Ozs7Ozs7Ozs7Ozs7O0VDbkJBO0VBQ0E7Q05taUJKO0FPbmlCQTtFQUNJO0NQeWlCSjtBUXZpQkk7RUFDSTtFQUNBO0NSeWlCUjs7QVNwakJBO0VBQ0k7Q1R1akJKO0FHdGlCZ0I7RU1sQmhCO0lBSVE7R1R3akJOO0NBQ0Y7QUczaUJnQjtFTWxCaEI7SUFRUTtHVHlqQk47Q0FDRjs7QVU5akJBO0VDc0JJLCtDWmpCVTtFWWtCVixrQkFSWTtFQVNaLGdCQUxhO0VEaEJiLGNBTFM7RUFNVDtFQUNBO0VBQ0E7Q1Zra0JKOztBWTFrQkE7RUFDSSxXQUhTO0VBSVQ7Q1o2a0JKO0FZM2tCSTtFQUVJO0NaNGtCUjtBWXhrQkk7RUFFSTtDWnlrQlI7O0FhbGxCSTtFQ1lJO0VBSUk7RUhLUiwrQ1pqQlU7RVlrQlYsa0JBUlk7RUFTWixnQkVyQjJCO0Nid2xCL0I7O0FhbmxCSTtFQ0tJO0VBSUk7RUhLUiwrQ1pqQlU7RVlrQlYsa0JBUlk7RUFTWixnQkVkMkI7RUFDdkI7Q2J5bEJSOztBYXBsQkk7RUNISTtFQUlJO0VIS1IsK0NaakJVO0VZa0JWLGtCQVJZO0VBU1osZ0JFTjJCO0NiMGxCL0I7O0FhcmxCSTtFQUNJLG9CQTVCaUI7Q2JvbkJ6Qjs7QWF6bEJJO0VBQ0ksb0JBNUJpQjtDYnduQnpCOztBYTdsQkk7RUFDSSxvQkE1QmlCO0NiNG5CekI7O0Fham1CSTtFQUNJLG9CQTVCaUI7Q2Jnb0J6Qjs7QWFybUJJO0VBQ0ksb0JBNUJpQjtDYm9vQnpCOztBYXptQkk7RUFDSSxvQkE1QmlCO0Nid29CekI7O0FlcG9CQTtFQUNJO0VBQ0E7RUFDQTtDZnVvQko7O0FnQjVvQkE7Ozs7O0VMd0JJLCtDWmpCVTtFWWtCVixrQktwQnNCO0VMcUJ0QixnQkFMYTtDWGlvQmpCOztBaUJ0cEJBOztFQUVJLHNCQ0dJO0NsQnNwQlI7O0FtQjNwQkE7O0VSd0JJLCtDWmpCVTtFWWtCVixrQkFSWTtFQVNaLGdCUXhCdUI7Q25CZ3FCM0I7QW9Cbm9CQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUEsbUJDckNvQztFRHNDcEMsWUNyQ29DO0NyQjhxQnRDOztBb0Jyb0JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcEJ3b0JGOztBb0Jwb0JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0NwQnVvQkY7O0FvQmxvQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtDcEJxb0JKOztBb0I5bkJJO0VBQ0U7Q3BCaW9CTjs7QW9CM25CQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcEI4bkJGOztBb0IxbkJFOztFQUNFO0VBQ0E7Q3BCOG5CSjs7QW9Cem5CQTtFQUNFO0NwQjRuQkY7O0FvQnpuQkU7RUFFRTtFQUNBO0NwQjRuQko7O0FvQnpuQkE7RUFDRTtFQUNBO0VBRUE7Q3BCNG5CRjs7QW9Cem5CRTtFQUNFO0NwQjRuQko7O0FvQnhuQkE7Ozs7RUFJRTtFQUNBO0VBQ0E7TUFBQTtDcEIybkJGOztBb0J0bkJFO0VBQ0U7Q3BCeW5CSjs7QW9Cdm1CRTtFQUNFO0NwQjBtQko7O0FvQmhtQkE7RUFDRSxXQ3RKb0M7RUR1SnBDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BCbW1CRjtBb0JsbUJFO0VBQ0UsV0NoS2tDO0NyQm93QnRDO0FvQm5tQkk7RUFDRSxXQ2pLZ0M7Q3JCc3dCdEM7O0FvQjlsQkU7RUFDRTtDcEJpbUJKOztBb0IzbEJFO0VBQ0U7Q3BCOGxCSjs7QW9CeGxCRTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7RUFDQTtNQUFBO0NwQjBsQko7QW9CeGxCRTtFQUNJO0VBQ0E7Q3BCMGxCTjs7QW9CcGxCQTtFQUNFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhQzNOb0M7RUQ0TnBDO0VBQ0EsV0M1Tm9DO0VEOE5wQztFQUNBO0VBQ0E7Q3BCcWxCRjtBb0JubEJFO0VBRUU7Q3BCb2xCSjtBb0JqbEJFO0VBQ0U7Q3BCbWxCSjs7QW9CL2tCRTtFQUNFLFdDM09rQztDckI2ekJ0Qzs7QW9CN2tCRTs7RUFDRSxXQ25Qa0M7RURvUGxDO0VBQ0E7RUFDQTtFQUNBO0NwQmlsQko7O0FvQjVrQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxXQzdQb0M7RUQ4UHBDO0VBQ0E7RUFDQTtDcEIra0JGOztBb0Ixa0JFO0VBQ0U7RUFDQSxhQzNRa0M7RUQ0UWxDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwQjZrQko7QW9CNWtCSTtFQUNFO0NwQjhrQk47QW9CNWtCSTtFQUVFO0NwQjZrQk47QW9CM2tCSTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwQjRrQk47QW9CemtCSTtFQUVFO0VBQ0E7RUFDQTtDcEIwa0JOO0FvQnZrQkk7RUFDRTtFQUNBO0VBQ0E7Q3BCeWtCTjs7QW9CcGtCRTtFQUNFO0NwQnVrQko7QW9CdGtCSTtFQUNFO0VBQ0E7Q3BCd2tCTjtBb0J0a0JJO0VBQ0U7RUFDQTtDcEJ3a0JOOztBb0Jwa0JFO0VBQ0U7Q3BCdWtCSjtBb0J0a0JJO0VBQ0U7RUFDQTtDcEJ3a0JOO0FvQnRrQkk7RUFDRTtDcEJ3a0JOOztBb0IvakJFO0VBQ0UsaUJDM1VrQztFRDRVbEMsb0JDNVVrQztDckI4NEJ0QztBb0Jqa0JJO0VBQ0U7RUFDQTtFQUNBLGdCQzlVZ0M7Q3JCaTVCdEM7QW9CamtCSTtFQUNFO0NwQm1rQk47O0FvQmhrQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtDcEJta0JKO0FvQmxrQkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw4Q0NyWGdDO1VEcVhoQyxzQ0NyWGdDO0VEc1hoQyxnQkNsV2dDO0NyQnM2QnRDO0FvQnhqQkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtFQUNBO0VBQ0E7Q3BCNGpCTjtBb0J2akJFO0VBQ0U7Q3BCMmpCSjtBb0IxakJJO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsU0MxWGdDO0VEMlhoQyxZQzFYZ0M7RUQyWGhDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw4Q0M1WmdDO1VENFpoQyxzQ0M1WmdDO0VENlpoQyxnQkNuWWdDO0NyQis3QnRDO0FvQjFqQkk7RUFDRSxjQy9YZ0M7RURnWWhDO0VBQ0E7RUFDQTtDcEI0akJOO0FvQjFqQkk7RUFDRTtDcEI0akJOOztBb0J6akJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwQjRqQko7O0FvQjFqQkU7RUFDRTtFQUNBO0VBQ0EsY0NwWmtDO0VEcVpsQztFQUNBO0NwQjZqQko7O0FvQnpqQkk7RUFDRTtDcEI0akJOOztBb0J0akJNO0VBQ0U7Q3BCeWpCUjs7QW9CbGpCSTtFQUtJO0lBQ0U7SUFDQTtHcEJvakJSO0VvQmpqQlE7SUFDRTtHcEJtakJWO0VvQjlpQlE7SUFDRTtJQUNBO0dwQmdqQlY7RW9COWlCUTtJQUNFO0lBQ0E7R3BCZ2pCVjtFb0I3aUJNO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7WUFBQTtHcEIraUJSO0VvQjlpQlE7SUFDRTtHcEJnakJWO0VvQjdpQk07SUFDRTtJQUNBO0dwQitpQlI7RW9CN2lCTTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHcEIraUJSO0NBQ0Y7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O0NuQ2s0Q0o7O0FtQy8zQ0E7RUFHSTtFQUNBO0VBQ0E7RUFDQSxtQlZuRFM7RVVvRFQ7Q25DZzRDSjtBbUM5M0NJO0VBQ0k7RUFDQTtDbkNnNENSOztBbUMxM0NRO0VBRVEsb0NWN0VlO0VVZ0ZuQjtDbkMwM0NaO0FtQ3IzQ1E7O0VBR1EsK0JWdkZnQjtFVTBGcEI7Q25DbzNDWjs7QW9DbDlDRTtFQUNDO0VBQ0EsV1hrQmlCO0N6Qm04Q3BCO0FvQ2w5Q0U7RUFDQyxrQlhXVTtFV1ZWLG1CWGFpQjtDekJ1OENwQjtBb0NqOUNFO0VBQ0Msa0JYS1U7RVdKVjtFQUNBO0NwQ205Q0g7QW9DajlDRztFQUNDO0VBRUE7RUFDQTtDcENrOUNKOztBcUN4K0NBO0VBQ0k7VUFBQTtFQUNBO0NyQzIrQ0o7O0FxQ3grQ0E7RUFDSTtFQUFBO0VBQUE7RUFBQTtFQUNBO0NyQzIrQ0o7O0FxQ3QrQ0k7RUFDSTtFQUNBO0NyQ3krQ1I7QXFDditDUTtFQUNJO0NyQ3krQ1o7QXFDcitDUTtFQUNJO0NyQ3UrQ1o7O0FxQ2orQ0E7RUFDSTtFQUNBO0VBQ0E7Q3JDbytDSjtBcUNsK0NJO0VBQ0k7Q3JDbytDUjs7QStCditDSTtFQUNJO0VBQ0EsZ0JOSFU7RU1JVixnQk5IVTtDekI2K0NsQjs7QStCdCtDUTtFQUNJO1VBQUE7Qy9CeStDWjs7QStCcCtDSTtFQUVRO0lBQ0k7WUFBQTtHL0JzK0NkO0NBQ0Y7QStCbCtDSTtFQUVRO0lBQ0k7WUFBQTtHL0JtK0NkO0NBQ0Y7QXFDbC9DSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckNvL0NSOztBcUNqL0NJO0VBQ0k7Q3JDby9DUjtBcUNsL0NRO0VBQ0k7Q3JDby9DWjtBcUNqL0NRO0VBQ0k7Q3JDbS9DWjs7QXNDbGpEQztDdEN1akREOztBdUNsakRBO0VBQ0M7RUFDQTtFQUNBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N2Q3FqREQ7O0F3Q25rREk7RUFDSTtDeENza0RSO0F3Q2xrRFE7RUFFSTtDeENta0RaO0F3QzlqRFE7RUFDSTtDeENna0RaO0F3QzdqRFE7RUFDSTtFQUNBO0N4QytqRFo7QXdDM2pEWTtFQUNJO0N4QzZqRGhCOztBeUNybERBO0VBQ0k7RUFBQTtDekN3bERKO0F5Q3JsRFE7RUFDSTtFQUNBO0VBQUE7RUFBQTtFQUFBO0N6Q3VsRFo7QXlDcmxEWTtFQUVJO0N6Q3NsRGhCOztBeUNobERBO0VBQ0k7RUFDQTtDekNtbERKOztBeUNobERBOzs7O0VBSUk7Q3pDbWxESjs7QStCN2lESTtFQUNJO1VBQUE7Qy9CZ2pEUjs7QStCN2lESTtFQUNJLFVVeENpQjtDekN3bER6QjtBK0IzaURRO0VBQ0k7Qy9CNmlEWjtBK0IxaURRO0VBQ0k7VUFBQTtDL0I0aURaOztBK0IxbERJO0VBQ0k7RUFDQSxnQk5IVTtFTUlWLGNBbURBO0MvQjBpRFI7O0ErQnpsRFE7RUFDSTtVQUFBO0MvQjRsRFo7O0ErQnZsREk7RUFFUTtJQUNJO1lBQUE7Ry9CeWxEZDtDQUNGO0ErQnJsREk7RUFFUTtJQUNJO1lBQUE7Ry9Cc2xEZDtDQUNGO0ErQnhnRFE7RUFDSTtVQUFBO0MvQjBnRFo7O0ErQnJnREk7RUFFUTtJQUNJO1lBQUE7Ry9CdWdEZDtDQUNGO0ErQnBnREk7RUFFUTtJQUNJO1lBQUE7Ry9CcWdEZDtDQUNGO0ErQjlsREk7RUFDSTtVQUFBO0MvQmdtRFI7O0ErQjdsREk7RUFDSSxVVXZDaUI7RVYwQ2I7Qy9COGxEWjtBK0I1bERRO0VBQ0k7Qy9COGxEWjtBK0IzbERRO0VBQ0k7VUFBQTtDL0I2bERaOztBK0Izb0RJO0VBQ0k7RUFDQSxnQk5IVTtFTUlWLGdCQW1EQTtDL0IybERSOztBK0Ixb0RRO0VBQ0k7VUFBQTtDL0I2b0RaOztBK0J4b0RJO0VBRVE7SUFDSTtZQUFBO0cvQjBvRGQ7Q0FDRjtBK0J0b0RJO0VBRVE7SUFDSTtZQUFBO0cvQnVvRGQ7Q0FDRjtBK0J6akRRO0VBQ0k7VUFBQTtDL0IyakRaOztBK0J0akRJO0VBRVE7SUFDSTtZQUFBO0cvQndqRGQ7Q0FDRjtBK0JyakRJO0VBRVE7SUFDSTtZQUFBO0cvQnNqRGQ7Q0FDRjtBK0Ivb0RJO0VBQ0k7VUFBQTtDL0JpcERSOztBK0I5b0RJO0VBQ0ksVVV0Q2lCO0VWeUNiO0MvQitvRFo7QStCN29EUTtFQUNJO0MvQitvRFo7QStCNW9EUTtFQUNJO1VBQUE7Qy9COG9EWjs7QStCNXJESTtFQUNJO0VBQ0EsZ0JOSFU7RU1JVixnQkFtREE7Qy9CNG9EUjs7QStCM3JEUTtFQUNJO1VBQUE7Qy9COHJEWjs7QStCenJESTtFQUVRO0lBQ0k7WUFBQTtHL0IyckRkO0NBQ0Y7QStCdnJESTtFQUVRO0lBQ0k7WUFBQTtHL0J3ckRkO0NBQ0Y7QStCMW1EUTtFQUNJO1VBQUE7Qy9CNG1EWjs7QStCdm1ESTtFQUVRO0lBQ0k7WUFBQTtHL0J5bURkO0NBQ0Y7QStCdG1ESTtFQUVRO0lBQ0k7WUFBQTtHL0J1bURkO0NBQ0Y7QStCaHNESTtFQUNJO1VBQUE7Qy9Ca3NEUjs7QStCL3JESTtFQUNJLFVVckNpQjtFVndDYjtDL0Jnc0RaO0ErQjlyRFE7RUFDSTtDL0Jnc0RaO0ErQjdyRFE7RUFDSTtVQUFBO0MvQityRFo7O0ErQjd1REk7RUFDSTtFQUNBLGdCTkhVO0VNSVYsaUJBbURBO0MvQjZyRFI7O0ErQjV1RFE7RUFDSTtVQUFBO0MvQit1RFo7O0ErQjF1REk7RUFFUTtJQUNJO1lBQUE7Ry9CNHVEZDtDQUNGO0ErQnh1REk7RUFFUTtJQUNJO1lBQUE7Ry9CeXVEZDtDQUNGO0ErQjNwRFE7RUFDSTtVQUFBO0MvQjZwRFo7O0ErQnhwREk7RUFFUTtJQUNJO1lBQUE7Ry9CMHBEZDtDQUNGO0ErQnZwREk7RUFFUTtJQUNJO1lBQUE7Ry9Cd3BEZDtDQUNGO0ErQmp2REk7RUFDSTtVQUFBO0MvQm12RFI7O0ErQmh2REk7RUFDSSxVVXBDaUI7RVZ1Q2I7Qy9CaXZEWjtBK0IvdURRO0VBQ0k7Qy9CaXZEWjtBK0I5dURRO0VBQ0k7VUFBQTtDL0JndkRaOztBK0I5eERJO0VBQ0k7RUFDQSxnQk5IVTtFTUlWLGlCQW1EQTtDL0I4dURSOztBK0I3eERRO0VBQ0k7VUFBQTtDL0JneURaOztB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O0VBQ0k7Q3REMnFFWjtBc0R2cUVRO0VBRVEsdUM3QjVDQztFNkIrQ0w7Q3REc3FFWjtBc0RucUVRO0VBRVEsb0M3QnBEQztFNkJ1REw7RUFDQTtDdERrcUVaO0FzRDdwRVk7RUFFUSxvQzdCN0RXO0U2QmdFZjtDdEQ0cEVoQjtBc0R6cEVZO0VBRVEsbUI3QnhFQztFNkIyRUw7Q3REd3BFaEI7O0FzRC9vRVk7RUFDSTtDdERrcEVoQjtBc0Q3b0VRO0VBRVEsb0M3QjNGQztFNkI4Rkw7Q3RENG9FWjtBc0R6b0VRO0VBRVEsdUM3Qm5HQztFNkJzR0w7RUFDQTtDdER3b0VaO0FzRHBvRVk7RUFFUSxtQjdCOUdDO0U2QmlITDtDdERtb0VoQjtBc0Rob0VZOztFQUdRLG9DN0JwSFc7RTZCdUhmO0N0RCtuRWhCOztBdUQzdkVBO0VBRVEsWTlCZVU7RThCQWQ7RUFBQTtFQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0N2RCt1RUo7QXVEaHdFUTtFQUNJO0VBQ0E7Q3ZEa3dFWjtBdURod0VZO0VBR0ksK0I5QkxnQjtFOEJNaEIsMEI5QkpEO0N6Qm93RWY7QXVEcnZFSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtFQUNBO0VBQ0E7RUFDQTtDdkR1dkVSO0F1RHJ2RVE7RUFHSTtFQUNBO0N2RHF2RVo7QXVEanZFSTtFQUNJO0N2RG12RVI7O0F1RC91RUE7RUFDSTtFQUFBO0VBQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7Q3ZEa3ZFSjs7QXVEL3VFQTtFQUVRLHlCOUIvRGE7RThCa0VqQjtFQUNBO0VBQ0E7RUFDQTtDdkQrdUVKOztBdUQzdUVJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7Q3ZEOHVFUjs7QXVEenVFSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0N2RDR1RVI7O0F1RHp1RUk7RUFFUSxpQjlCOUVNO0U4QmlGVjtFQUNBLG1COUJoRks7RThCaUZMO0VBQ0E7RUFDQTtFQUVBO0VBQUE7Q3ZEd3VFUjs7QXVEcnVFSTtFQUNJO0N2RHd1RVI7O0F1RGx1RUk7RUFDSTtDdkRxdUVSO0F1RGx1RUk7RUFDSSxtQjlCcEdLO0N6QncwRWI7O0F1RDl0RUk7RUFFSTtFQUNBO0N2RGd1RVI7O0F3RGgyRUE7RUFDSTtFQUNBO0VBQ0E7RUFFQTtVQUFBO0VBQ0EsVy9CeUNvQjtFK0J2Q3BCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUFBO0VBRUE7RUFBQTtFQUFBO0VBQ0E7RUFBQTtNQUFBO1VBQUE7RUFDQTtNQUFBO1VBQUE7Q3hEKzFFSjtBd0Q3MUVJO0VBRVEseUIvQmxCUztFK0JxQmI7RUFDQTtFQUNBO0VBQ0E7Q3hENDFFUjtBd0R6MUVJO0VBQ0k7Q3hEMjFFUjtBd0R4MUVJO0VBQ0k7Q3hEMDFFUjtBd0R4MUVRO0VBQ0ksbUIvQlFZO0N6QmsxRXhCOztBeURoNEVROzs7RUFFSTtFQUFBO0N6RG80RVo7QXlENzNFWTtFQUNJO0N6RCszRWhCO0F5RDEzRVk7O0VBRVEsb0NoQ2JXO0VnQ2dCZjtDekQwM0VoQjtBeURuM0VZO0VBQ0k7Q3pEcTNFaEI7QXlEajNFWTs7RUFHUSxvQ2hDL0JXO0VnQ2tDZjtDekRnM0VoQjs7QTBEeDVFSTtFQUNJO0VBQ0E7QzFEMjVFUjs7QTBEcjVFWTtFQUNJO0MxRHc1RWhCO0EwRHI1RVk7RUFDSTtFQUFBO0VBQUE7RUFBQTtDMUR1NUVoQjtBMERwNUVZO0VBQ0k7RUFDQTtVQUFBO0VBQ0E7QzFEczVFaEI7QTBEbDVFUTtFQUVJO0VBQUE7RUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MxRG01RVo7O0EwRDM0RVk7RUFFUTtFQUNBO1VBQUE7RUFHSjtFQUNBO1VBQUE7QzFEMjRFaEI7QTBEdjRFZ0I7O0VBRUk7QzFEeTRFcEI7O0EwRC8zRVk7RUFFUSxZakMvQkY7RWlDa0NGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzFEKzNFaEI7QTBENTNFb0I7RUFDSTtFQUNBO0MxRDgzRXhCO0EwRHYzRW9COztFQUVJO0MxRHkzRXhCO0EwRHIzRWdCO0VBQ0k7QzFEdTNFcEI7QTBEajNFb0I7RUFFUTtFQUNBO1VBQUE7RUFPSjtFQUNBO1VBQUE7QzFENDJFeEI7O0EwRC8xRUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MxRGsyRVI7QTBEaDJFUTtFQUNJO0MxRGsyRVo7O0EyRGwrRUk7RUFDQztVQUFBO0MzRHErRUw7O0EyRDc5RUc7RUFDQztVQUFBO0MzRGcrRUo7QTJEMzlFSztFQUNDO1VBQUE7QzNENjlFTjs7QTREOStFSTtFQUVRO0VBQ0EsOEJuQ0NLO0VtQ01UO0VBQ0EsZW5DNENTO0VtQzNDVCxXbkMyQ1M7RW1DMUNULFluQ3lDVTtFbUN4Q1Y7RUFDQTtFQUNBO0VBQ0E7RUFDQSxtQm5Db0NVO0VtQ25DVjtLQUFBO1VBQUE7RUFDQTtFQUNBO0VBQUE7QzVEMCtFUjtBNEQxL0VZO0VBQ0ksbUJuQ0hLO0N6QisvRXJCO0E0RDMrRVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJuQ3lCTTtFbUN4Qk47RUFDQTtFQUFBO0VBQUE7RUFBQTtDNUQ2K0VaO0E0RDErRVE7RUFDSSxtQm5Da0JZO0N6QjA5RXhCO0E0RDErRVk7RUFDSTtVQUFBO0M1RDQrRWhCOztBNERyK0VJO0VBRVE7RUFHSjtLQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFduQ0VRO0VtQ0RSO0VBQ0E7RUFDQTtDNURxK0VSO0E0RG4rRVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7RUFBQTtDNURxK0VaO0E0RGorRVk7RUFDSTtDNURtK0VoQjs7QTZEaGpGRTtFQUNDO0M3RG1qRkg7O0E4RGxqRlE7RUFDSTtDOURxakZaOztBOEQ5aUZRO0VBQ0k7QzlEaWpGWjs7QStEempGSTtFQUNJO0VBQUE7RUFBQTtFQUFBO0MvRDRqRlI7O0ErRHhqRkk7RUFDSTtVQUFBO0MvRDJqRlI7O0ErRHhqRkk7RUFDSTtVQUFBO0MvRDJqRlI7O0ErRHRqRkk7RUFD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bUdBO0VBQ0k7QzNFK21HSjtBMkU3bUdJO0VBQ0k7QzNFK21HUjtBMkUxbUdRO0VBQ0k7QzNFNG1HWjtBMkUxbUdRO0VBQ0k7QzNFNG1HWjs7QTJFdG1HQTtFQUNJO0VBQ0E7RUFDQTtDM0V5bUdKOztBMkV0bUdBO0VBQ0k7QzNFeW1HSjtBMkV2bUdJO0VBQ0k7QzNFeW1HUjtBMkV0bUdJO0VBQ0k7QzNFd21HUjtBMkV0bUdRO0VBQ0k7TUFBQTtVQUFBO0VBQ0E7RUFBQTtFQUFBO0VBQ0E7RUFBQTtNQUFBO1VBQUE7RUFDQTtDM0V3bUdaO0EyRWptR1k7RUFDSTtFQUNBO0VBQ0E7VUFBQTtDM0VtbUdoQjtBMkU5bEdJO0VBQ0k7QzNFZ21HUjs7QTJFMWxHSTtFQUNJO0VBQUE7RUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0MzRTZsR1I7QTJFM2xHUTtFQUNJO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQTtDM0U2bEdaO0EyRXpsR0k7RUFDSTtDM0UybEdSO0EyRXRsR1E7RUFDSTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFBQTtFQUNBO0VBQ0E7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0MzRXdsR1o7QTJFdGxHWTtFQUNJO0MzRXdsR2hCO0EyRXBsR1E7RUFDSTtNQUFBO1VBQUE7RUFDQTtFQUFBO0VBQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtDM0VzbEdaO0EyRXBsR1k7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzRXFsR2hCO0EyRWxsR1k7RUFDSTtVQUFBO0MzRW9sR2hCO0EyRWpsR1k7RUFDSTtVQUFBO0MzRW1sR2hCO0EyRS9rR1E7RUFDSTtFQUNBO0VBQ0E7QzNFaWxHWjs7QTJFMWtHUTtFQUNJO0MzRTZrR1o7O0EyRXJrR1k7RUFDSTtFQUNBO01BQUE7VUFBQTtFQUNBO0MzRXdrR2hCOztBMkVsa0dBO0VBQ0k7TUFBQTtVQUFBO0VBQ0E7QzNFcWtHSjtBMkVua0dJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0Vxa0dSO0Ey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QUFBO1lBQUE7RzlFc2tIbEI7Q0FDRjtBRzNwSGdCO0UyRW1GQTtJQUNJO1FBQUE7WUFBQTtHOUUya0hsQjtDQUNGO0FHaHFIZ0I7RTJFbUZBO0lBQ0k7UUFBQTtZQUFBO0c5RWdsSGxCO0NBQ0Y7QUdycUhnQjtFMkVtRkE7SUFDSTtRQUFBO1lBQUE7RzlFcWxIbEI7Q0FDRjtBRzFxSGdCO0UyRTJGQTtJQUNJO1FBQUE7WUFBQTtHOUVrbEhsQjtDQUNGO0FHL3FIZ0I7RTJFMkZBO0lBQ0k7UUFBQTtZQUFBO0c5RXVsSGxCO0NBQ0Y7QUdwckhnQjtFMkUyRkE7SUFDSTtRQUFBO1lBQUE7RzlFNGxIbEI7Q0FDRjtBR3pySGdCO0UyRTJGQTtJQUNJO1FBQUE7WUFBQTtHOUVpbUhsQjtDQUNGO0FHOXJIZ0I7RTJFMkZBO0lBQ0k7UUFBQTtZQUFBO0c5RXNtSGxCO0NBQ0Y7QUduc0hnQjtFMkUyRkE7SUFDSTtRQUFBO1lBQUE7RzlFMm1IbEI7Q0FDRjtBOEVubUhZO0VBQ0k7QzlFcW1IaEI7QThFdG1IWTtFQUNJO0M5RXdtSGhCO0E4RXptSFk7RUFDSTtDOUUybUhoQjtBOEU1bUhZO0VBQ0k7QzlFOG1IaEI7QThFL21IWTtFQUNJO0M5RWluSGhCO0E4RWxuSFk7RUFDSTtDOUVvbkhoQjtBOEVybkhZO0VBQ0k7QzlFdW5IaEI7QThFeG5IWTtFQUNJO0M5RTBuSGhCO0E4RTNuSFk7RUFDSTtDOUU2bkhoQjtBOEU5bkhZO0VBQ0k7QzlFZ29IaEI7QThFam9IWTtFQUNJO0M5RW1vSGhCO0E4RXBvSFk7RUFDSTtDOUVzb0hoQjtBRzV1SGdCO0UyRTZHSTtJQUNJO0c5RWtvSHRCO0NBQ0Y7QUdqdkhnQjtFMkU2R0k7SUFDSTtHOUV1b0h0QjtDQUNGO0FHdHZIZ0I7RTJFNkdJO0lBQ0k7RzlFNG9IdEI7Q0FDRjtBRzN2SGdCO0UyRTZHSTtJQUNJO0c5RWlwSHRCO0NBQ0Y7QUdod0hnQjtFMkU2R0k7SUFDSTtHOUVzcEh0QjtDQUNGO0FHcndIZ0I7RTJFNkdJO0lBQ0k7RzlFMnBIdEI7Q0FDRjtBRzF3SGdCO0UyRTZHSTtJQUNJO0c5RWdxSHRCO0NBQ0Y7QUcvd0hnQjtFMkU2R0k7SUFDSTtHOUVxcUh0QjtDQUNGO0FHcHhIZ0I7RTJFNkdJO0lBQ0k7RzlFMHFIdEI7Q0FDRjtBR3p4SGdCO0UyRTZHSTtJQUNJO0c5RStxSHRCO0NBQ0Y7QUc5eEhnQjtFMkU2R0k7SUFDSTtHOUVvckh0QjtDQUNGO0FHbnlIZ0I7RTJFNkdJO0lBQ0k7RzlFeXJIdEI7Q0FDRjtBR3h5SGdCO0UyRTZHSTtJQUNJO0c5RThySHRCO0NBQ0Y7QUc3eUhnQjtFMkU2R0k7SUFDSTtHOUVtc0h0QjtDQUNGO0FHbHpIZ0I7RTJFNkdJO0lBQ0k7RzlFd3NIdEI7Q0FDRjtBR3Z6SGdCO0UyRTZHSTtJQUNJO0c5RTZzSHRCO0NBQ0Y7QUc1ekhnQjtFMkU2R0k7SUFDSTtHOUVrdEh0QjtDQUNGO0FHajBIZ0I7RTJFNkdJO0lBQ0k7RzlFdXRIdEI7Q0FDRjtBR3QwSGdCO0UyRTZHSTtJQUNJO0c5RTR0SHRCO0NBQ0Y7QUczMEhnQjtFMkU2R0k7SUFDSTtHOUVpdUh0QjtDQUNGO0FHaDFIZ0I7RTJFNkdJO0lBQ0k7RzlFc3VIdEI7Q0FDRjtBR3IxSGdCO0UyRTZHSTtJQUNJO0c5RTJ1SHRCO0NBQ0Y7QUcxMUhnQjtFMkU2R0k7SUFDSTtHOUVndkh0QjtDQUNGO0FHLzFIZ0I7RTJFNkdJO0lBQ0k7RzlFcXZIdEI7Q0FDRjtBR3AySGdCO0UyRTZHSTtJQUNJO0c5RTB2SHRCO0NBQ0Y7QUd6MkhnQjtFMkU2R0k7SUFDSTtHOUUrdkh0QjtDQUNGO0FHOTJIZ0I7RTJFNkdJO0lBQ0k7RzlFb3dIdEI7Q0FDRjtBR24zSGdCO0UyRTZHSTtJQUNJO0c5RXl3SHRCO0NBQ0Y7QUd4M0hnQjtFMkU2R0k7SUFDSTtHOUU4d0h0QjtDQUNGO0FHNzNIZ0I7RTJFNkdJO0lBQ0k7RzlFbXhIdEI7Q0FDRjtBR2w0SGdCO0UyRTZHSTtJQUNJO0c5RXd4SHRCO0NBQ0Y7QUd2NEhnQjtFMkU2R0k7SUFDSTtHOUU2eEh0QjtDQUNGO0FHNTRIZ0I7RTJFNkdJO0lBQ0k7RzlFa3lIdEI7Q0FDRjtBR2o1SGdCO0UyRTZHSTtJQUNJO0c5RXV5SHRCO0NBQ0Y7QUd0NUhnQjtFMkU2R0k7SUFDSTtHOUU0eUh0QjtDQUNGO0FHMzVIZ0I7RTJFNkdJO0lBQ0k7RzlFaXpIdEI7Q0FDRjtBR2g2SGdCO0UyRTZHSTtJQUNJO0c5RXN6SHRCO0NBQ0Y7QUdyNkhnQjtFMkU2R0k7SUFDSTtHOUUyekh0QjtDQUNGO0FHMTZIZ0I7RTJFNkdJO0lBQ0k7RzlFZzBIdEI7Q0FDRjtBRy82SGdCO0UyRTZHSTtJQUNJO0c5RXEwSHRCO0NBQ0Y7QUdwN0hnQjtFMkU2R0k7SUFDSTtHOUUwMEh0QjtDQUNGO0FHejdIZ0I7RTJFNkdJO0lBQ0k7RzlFKzBIdEI7Q0FDRjtBRzk3SGdCO0UyRTZHSTtJQUNJO0c5RW8xSHRCO0NBQ0Y7QUduOEhnQjtFMkU2R0k7SUFDSTtHOUV5MUh0QjtDQUNGO0FHeDhIZ0I7RTJFNkdJO0lBQ0k7RzlFODFIdEI7Q0FDRjtBRzc4SGdCO0UyRTZHSTtJQUNJO0c5RW0ySHRCO0NBQ0Y7QUdsOUhnQjtFMkU2R0k7SUFDSTtHOUV3Mkh0QjtDQUNGO0FHdjlIZ0I7RTJFNkdJO0lBQ0k7RzlFNjJIdEI7Q0FDRjtBRzU5SGdCO0UyRTZHSTtJQUNJO0c5RWszSHRCO0NBQ0Y7QUdqK0hnQjtFMkU2R0k7SUFDSTtHOUV1M0h0QjtDQUNGO0FHdCtIZ0I7RTJFNkdJO0lBQ0k7RzlFNDNIdEI7Q0FDRjtBRzMrSGdCO0UyRTZHSTtJQUNJO0c5RWk0SHRCO0NBQ0Y7QUdoL0hnQjtFMkU2R0k7SUFDSTtHOUVzNEh0QjtDQUNGO0FHci9IZ0I7RTJFNkdJO0lBQ0k7RzlFMjRIdEI7Q0FDRjtBRzEvSGdCO0UyRTZHSTtJQUNJO0c5RWc1SHRCO0NBQ0Y7QUcvL0hnQjtFMkU2R0k7SUFDSTtHOUVxNUh0QjtDQUNGO0FHcGdJZ0I7RTJFNkdJO0lBQ0k7RzlFMDVIdEI7Q0FDRjtBR3pnSWdCO0UyRTZHSTtJQUNJO0c5RSs1SHRCO0NBQ0Y7QUc5Z0lnQjtFMkU2R0k7SUFDSTtHOUVvNkh0QjtDQUNGO0FHbmhJZ0I7RTJFNkdJO0lBQ0k7RzlFeTZIdEI7Q0FDRjtBR3hoSWdCO0UyRTZHSTtJQUNJO0c5RTg2SHRCO0NBQ0Y7QUc3aElnQjtFMkU2R0k7SUFDSTtHOUVtN0h0QjtDQUNGO0FHbGlJZ0I7RTJFNkdJO0lBQ0k7RzlFdzdIdEI7Q0FDRjtBR3ZpSWdCO0UyRTZHSTtJQUNJO0c5RTY3SHRCO0NBQ0Y7QUc1aUlnQjtFMkU2R0k7SUFDSTtHOUVrOEh0QjtDQUNGO0FHampJZ0I7RTJFNkdJO0lBQ0k7RzlFdThIdEI7Q0FDRjtBR3RqSWdCO0UyRTZHSTtJQUNJO0c5RTQ4SHRCO0NBQ0Y7QUczaklnQjtFMkU2R0k7SUFDSTtHOUVpOUh0QjtDQUNGO0FHaGtJZ0I7RTJFNkdJO0lBQ0k7RzlFczlIdEI7Q0FDRjtBR3JrSWdCO0UyRTZHSTtJQUNJO0c5RTI5SHRCO0NBQ0Y7QUcxa0lnQjtFMkU2R0k7SUFDSTtHOUVnK0h0QjtDQUNGO0FHL2tJZ0I7RTJFNkdJO0lBQ0k7RzlFcStIdEI7Q0FDRjtBOEUvOUhZO0VBQ0k7TUFBQTtFQUNBO0M5RWkrSGhCO0E4RW4rSFk7RUFDSTtNQUFBO0VBQ0E7QzlFcStIaEI7QThFditIWTtFQUNJO01BQUE7RUFDQTtDOUV5K0hoQjtBOEUzK0hZO0VBQ0k7TUFBQTtFQUNBO0M5RTYrSGhCO0E4RS8rSFk7RUFDSTtNQUFBO0VBQ0E7QzlFaS9IaEI7QThFbi9IWTtFQUNJO01BQUE7RUFDQTtDOUVxL0hoQjtBOEV2L0hZO0VBQ0k7TUFBQTtFQUNBO0M5RXkvSGhCO0E4RTMvSFk7RUFDSTtNQUFBO0VBQ0E7QzlFNi9IaEI7QThFLy9IWTtFQUNJO01BQUE7RUFDQTtDOUVpZ0loQjtBOEVuZ0lZO0VBQ0k7TUFBQTtFQUNBO0M5RXFnSWhCO0E4RXZnSVk7RUFDSTtNQUFBO0VBQ0E7QzlFeWdJaEI7QThFM2dJWTtFQUNJO01BQUE7RUFDQTtDOUU2Z0loQjtBR3BvSWdCO0UyRThISTtJQUNJO1FBQUE7SUFDQTtHOUV5Z0l0QjtDQUNGO0FHMW9JZ0I7RTJFOEhJO0lBQ0k7UUFBQTtJQUNBO0c5RStnSXRCO0NBQ0Y7QUdocElnQjtFMkU4SEk7SUFDSTtRQUFBO0lBQ0E7RzlFcWhJdEI7Q0FDRjtBR3RwSWdCO0UyRThISTtJQUNJO1FBQUE7SUFDQTtHOUUyaEl0QjtDQUNGO0FHNXBJZ0I7RTJFOEhJO0lBQ0k7UUFBQTtJQUNBO0c5RWlpSXRCO0NBQ0Y7QUdscUlnQjtFMkU4SEk7SUFDSTtRQUFBO0lBQ0E7RzlFdWlJdEI7Q0FDRjtBR3hxSWdCO0UyRThISTtJQUNJO1FBQUE7SUFDQTtHOUU2aUl0QjtDQUNGO0FHOXFJZ0I7RTJFOEhJO0lBQ0k7UUFBQTtJQUNBO0c5RW1qSXRCO0NBQ0Y7QUdwcklnQjtFMkU4SEk7SUFDSTtRQUFBO0lBQ0E7RzlFeWpJdEI7Q0FDRjtBRzFySWdCO0UyRThISTtJQUNJO1FBQUE7SUFDQTtHOUUrakl0QjtDQUNGO0FHaHNJZ0I7RTJFOEhJO0lBQ0k7UUFBQTtJQUNBO0c5RXFrSXRCO0NBQ0Y7QUd0c0lnQjtFMkU4SEk7SUFDSTtRQUFBO0lBQ0E7RzlFMmtJdEI7Q0FDRjtBRzVzSWdCO0UyRThISTtJQUNJO1FBQUE7SUFDQTtHOUVpbEl0QjtDQUNGO0FHbHRJZ0I7RTJFOEhJO0lBQ0k7UUFBQTtJQUNBO0c5RXVsSXRCO0NBQ0Y7QUd4dElnQjtFMkU4SEk7SUFDSTtRQUFBO0lBQ0E7RzlFNmxJdEI7Q0FDRjtBRzl0SWdCO0UyRThISTtJQUNJO1FBQUE7SUFDQTtHOUVtbUl0QjtDQUNGO0FHcHVJZ0I7RTJFOEhJO0lBQ0k7UUFBQTtJQUNBO0c5RXltSXRCO0NBQ0Y7QUcxdUlnQjtFMkU4SEk7SUFDSTtRQUFBO0lBQ0E7RzlFK21JdEI7Q0FDRjtBR2h2SWdCO0UyRThISTtJQUNJO1FBQUE7SUFDQTtHOUVxbkl0QjtDQUNGO0FHdHZJZ0I7RTJFOEhJO0lBQ0k7UUFBQTtJQUNBO0c5RTJuSXRCO0NBQ0Y7QUc1dklnQjtFMkU4SEk7SUFDSTtRQUFBO0lBQ0E7RzlFaW9JdEI7Q0FDRjtBR2x3SWdCO0UyRThISTtJQUNJO1FBQUE7SUFDQTtHOUV1b0l0QjtDQUNGO0FHeHdJZ0I7RTJFOEhJO0lBQ0k7UUFBQTtJQUNBO0c5RTZvSXRCO0NBQ0Y7QUc5d0lnQjtFMkU4SEk7SUFDSTtRQUFBO0lBQ0E7RzlFbXBJdEI7Q0FDRjtBR3B4SWdCO0UyRThISTtJQUNJO1FBQUE7SUFDQTtHOUV5cEl0QjtDQUNGO0FHMXhJZ0I7RTJFOEhJO0lBQ0k7UUFBQTtJQUNBO0c5RStwSXRCO0NBQ0Y7QUdoeUlnQjtFMkU4SEk7SUFDSTtRQUFBO0lBQ0E7RzlFcXFJdEI7Q0FDRjtBR3R5SWdCO0UyRThISTtJQUNJO1FBQUE7SUFDQTtHOUUycUl0QjtDQUNGO0FHNXlJZ0I7RTJFOEhJO0lBQ0k7UUFBQTtJQUNBO0c5RWlySXRCO0NBQ0Y7QUdseklnQjtFMkU4SEk7SUFDSTtRQUFBO0lBQ0E7RzlFdXJJdEI7Q0FDRjtBR3h6SWdCO0UyRThISTtJQUNJO1FBQUE7SUFDQTtHOUU2ckl0QjtDQUNGO0FHOXpJZ0I7RTJFOEhJO0lBQ0k7UUFBQTtJQUNBO0c5RW1zSXRCO0NBQ0Y7QUdwMElnQjtFMkU4SEk7SUFDSTtRQUFBO0lBQ0E7RzlFeXNJdEI7Q0FDRjtBRzEwSWdCO0UyRThISTtJQUNJO1FBQUE7SUFDQTtHOUUrc0l0QjtDQUNGO0FHaDFJZ0I7RTJFOEhJO0lBQ0k7UUFBQTtJQUNBO0c5RXF0SXRCO0NBQ0Y7QUd0MUlnQjtFMkU4SEk7SUFDSTtRQUFBO0lBQ0E7RzlFMnRJdEI7Q0FDRjtBRzUxSWdCO0UyRThISTtJQUNJO1FBQUE7SUFDQTtHOUVpdUl0QjtDQUNGO0FHbDJJZ0I7RTJFOEhJO0lBQ0k7UUFBQTtJQUNBO0c5RXV1SXRCO0NBQ0Y7QUd4MklnQjtFMkU4SEk7SUFDSTtRQUFBO0lBQ0E7RzlFNnVJdEI7Q0FDRjtBRzkySWdCO0UyRThISTtJQUNJO1FBQUE7SUFDQTtHOUVtdkl0QjtDQUNGO0FHcDNJZ0I7RTJFOEhJO0lBQ0k7UUFBQTtJQUNBO0c5RXl2SXRCO0NBQ0Y7QUcxM0lnQjtFMkU4SEk7SUFDSTtRQUFBO0lBQ0E7RzlFK3ZJdEI7Q0FDRjtBR2g0SWdCO0UyRThISTtJQUNJO1FBQUE7SUFDQTtHOUVxd0l0QjtDQUNGO0FHdDRJZ0I7RTJFOEhJO0lBQ0k7UUFBQTtJQUNBO0c5RTJ3SXRCO0NBQ0Y7QUc1NElnQjtFMkU4SEk7SUFDSTtRQUFBO0lBQ0E7RzlFaXhJdEI7Q0FDRjtBR2w1SWdCO0UyRThISTtJQUNJO1FBQUE7SUFDQTtHOUV1eEl0QjtDQUNGO0FHeDVJZ0I7RTJFOEhJO0lBQ0k7UUFBQTtJQUNBO0c5RTZ4SXRCO0NBQ0Y7QUc5NUlnQjtFMkU4SEk7SUFDSTtRQUFBO0lBQ0E7RzlFbXlJdEI7Q0FDRjtBR3A2SWdCO0UyRThISTtJQUNJO1FBQUE7SUFDQTtHOUV5eUl0QjtDQUNGO0FHMTZJZ0I7RTJFOEhJO0lBQ0k7UUFBQTtJQUNBO0c5RSt5SXRCO0NBQ0Y7QUdoN0lnQjtFMkU4SEk7SUFDSTtRQUFBO0lBQ0E7RzlFcXpJdEI7Q0FDRjtBR3Q3SWdCO0UyRThISTtJQUNJO1FBQUE7SUFDQTtHOUUyekl0QjtDQUNGO0FHNTdJZ0I7RTJFOEhJO0lBQ0k7UUFBQTtJQUNBO0c5RWkwSXRCO0NBQ0Y7QUdsOElnQjtFMkU4SEk7SUFDSTtRQUFBO0lBQ0E7RzlFdTBJdEI7Q0FDRjtBR3g4SWdCO0UyRThISTtJQUNJO1FBQUE7SUFDQTtHOUU2MEl0QjtDQUNGO0FHOThJZ0I7RTJFOEhJO0lBQ0k7UUFBQTtJQUNBO0c5RW0xSXRCO0NBQ0Y7QUdwOUlnQjtFMkU4SEk7SUFDSTtRQUFBO0lBQ0E7RzlFeTFJdEI7Q0FDRjtBRzE5SWdCO0UyRThISTtJQUNJO1FBQUE7SUFDQTtHOUUrMUl0QjtDQUNGO0FHaCtJZ0I7RTJFOEhJO0lBQ0k7UUFBQTtJQUNBO0c5RXEySXRCO0NBQ0Y7QUd0K0lnQjtFMkU4SEk7SUFDSTtRQUFBO0lBQ0E7RzlFMjJJdEI7Q0FDRjtBRzUrSWdCO0UyRThISTtJQUNJO1FBQUE7SUFDQTtHOUVpM0l0QjtDQUNGO0FHbC9JZ0I7RTJFOEhJO0lBQ0k7UUFBQTtJQUNBO0c5RXUzSXRCO0NBQ0Y7QUd4L0lnQjtFMkU4SEk7SUFDSTtRQUFBO0lBQ0E7RzlFNjNJdEI7Q0FDRjtBRzkvSWdCO0UyRThI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RUFDQTtFQUFBO01BQUE7VUFBQTtDL0c4K0taO0F5R25nTEk7RUFFSTtFQUNBO0VBQ0E7Q3pHb2dMUjtBR2hnTGdCO0U0R3VCSjtJQUNJO0lBQ0E7Ry9HNCtLZDtFK0d6K0tVO0lBQ0k7SUFDQTtJQUNBO0cvRzIrS2Q7RStHeCtLVTs7O0lBRUk7SUFDQTtHL0cyK0tkO0NBQ0Y7QUdqaExnQjtFNEcyQ1I7SUFFUTtJQUNBO0cvR3crS2Q7Q0FDRjtBZ0hyaUxBO0VDTUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakh5aUxKO0FrSHRpTGdCO0VBQ0kseUJDSUg7Q25Id2lMakI7QWtIN2lMZ0I7RUFDSSx5QkNJSDtDbkgyaUxqQjtBa0hoakxnQjtFQUNJLHlCQ0lIO0NuSDhpTGpCO0FrSG5qTGdCO0VBQ0kseUJDSUg7Q25IaWpMakI7QWtIdGpMZ0I7RUFDSSx5QkNJSDtDbkhvakxqQjtBa0h6akxnQjtFQUNJLHlCQ0lIO0NuSHVqTGpCO0FrSDVqTGdCO0VBQ0kseUJDSUg7Q25IMGpMakI7QWtIL2pMZ0I7RUFDSSx5QkNJSDtDbkg2akxqQjtBa0hsa0xnQjtFQUNJLHlCQ0lIO0NuSGdrTGpCO0FrSHJrTGdCO0VBQ0ksc0JDSUg7Q25IbWtMakI7QWtIeGtMZ0I7RUFDSSxzQkNJSDtDbkhza0xqQjtBa0gza0xnQjtFQUNJLHFCQ0lIO0NuSHlrTGpCO0FrSDlrTGdCO0VBQ0kscUJDSUg7Q25INGtMakI7QWtIamxMZ0I7RUFDSSxxQkNJSDtDbkgra0xqQjtBa0hwbExnQjtFQUNJLHFCQ0lIO0NuSGtsTGpCO0FrSHZsTGdCO0VBQ0kscUJDSUg7Q25IcWxMakI7QWtIMWxMZ0I7RUFDSSxxQkNJSDtDbkh3bExqQjtBa0g3bExnQjtFQUNJLHFCQ0lIO0NuSDJsTGpCO0FrSGhtTGdCO0VBQ0kscUJDSUg7Q25IOGxMakI7QWtIbm1MZ0I7RUFDSSxxQkNJSDtDbkhpbUxqQjtBa0h0bUxnQjtFQUNJLGtCQ0lIO0NuSG9tTGpCO0FrSHptTGdCO0VBQ0ksa0JDSUg7Q25IdW1MakI7QWtINW1MZ0I7RUFDSSxjQ0lIO0NuSDBtTGpCO0FrSC9tTGdCO0VBQ0ksY0NJSDtDbkg2bUxqQjtBa0hsbkxnQjtFQUNJLGNDSUg7Q25IZ25MakI7QWtIcm5MZ0I7RUFDSSxjQ0lIO0NuSG1uTGpCO0FrSHhuTGdCO0VBQ0ksY0NJSDtDbkhzbkxqQjtBa0gzbkxnQjtFQUNJLGNDSUg7Q25IeW5MakI7QWtIOW5MZ0I7RUFDSSxjQ0lIO0NuSDRuTGpCO0FrSGpvTGdCO0VBQ0ksY0NJSDtDbkgrbkxqQjtBa0hwb0xnQjtFQUNJLGNDSUg7Q25Ia29MakI7QWtIdm9MZ0I7RUFDSSxXQ0lIO0NuSHFvTGpCO0FrSDFvTGdCO0VBQ0ksV0NJSDtDbkh3b0xqQjtBb0hucExRO0VBQ0k7Q3BINHBMWjtBb0g3cExRO0VBQ0k7Q3BIK3BMWjtBb0hocUxRO0VBQ0k7Q3BIa3FMWjtBb0hucUxRO0VBQ0k7Q3BIcXFMWjtBb0h0cUxRO0VBQ0k7Q3BId3FMWjtBb0h6cUxRO0VBQ0k7Q3BIMnFMWjtBb0g1cUxRO0VBQ0k7Q3BIOHFMWjtBb0gvcUxRO0VBQ0k7Q3BIaXJMWjtBb0hsckxRO0VBQ0k7Q3BIb3JMWjs7QW9IL3FMQTtFQUVRO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDcEh5ckxSO0FxSG5zTEk7RTFHY0EsK0NaakJVO0VZa0JWLGtCQVJZO0VBU1osZ0IwR2YyQjtDckg4c0wvQjtBcUgzc0xJO0UxR1VBLCtDWmpCVTtFWWtCVixrQkFSWTtFQVNaLGdCQUxhO0NYeXNMakI7QXFINXNMSTtFMUdNQSwrQ1pqQlU7RVlrQlYsa0IwR04wQjtFMUdPMUIsZ0JBTGE7Q1g4c0xqQjtBcUg3c0xJO0UxR0VBLCtDWmpCVTtFWWtCVixrQkFSWTtFQVNaLGdCMEdIMkI7Q3JIaXRML0I7QXFIenNMSTtFdkdoQkk7RUFJSTtDZDZ0TFo7O0FxSGp0TEk7RXZHaEJJO0VBSUk7Q2RrdUxaOztBcUh0dExJO0V2R2hCSTtFQUlJO0NkdXVMWjs7QXFIM3RMSTtFdkdoQkk7RUFJSTtDZDR1TFo7O0FxSGh1TEk7RXZHaEJJO0VBSUk7Q2RpdkxaOztBcUhydUxJO0V2R2hCSTtFQUlJO0Nkc3ZMWjtBcUhqdUxBOztFVnJDSTtNQUFBO1VBQUE7RUFDQSIsImZpbGUiOiJjc3MvbWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiB4OGIzZTE7IHNyYzp1cmwoJ34hIS9Vc2Vycy9pLmRpcnNjaGVybC9Eb2N1bWVudHMvUHJvamVrdGUvc3BlY2h0X2NvcnBvcmF0ZV9idW5kbGUvc3BlY2h0L25vZGVfbW9kdWxlcy9pY29uZm9udC13ZWJwYWNrLXBsdWdpbi9saWIvbG9hZGVyLmpzP3tcInN2Z3NcIjpbXCJzcmMvYXNzZXRzL3ZlY3RvcnMvYXJyb3dfZ3JlZW4uc3ZnXCJdLFwibmFtZVwiOlwieDhiM2UxXCIsXCJlbmZvcmNlZFN2Z0hlaWdodFwiOjEwMDB9IS9Vc2Vycy9pLmRpcnNjaGVybC9Eb2N1bWVudHMvUHJvamVrdGUvc3BlY2h0X2NvcnBvcmF0ZV9idW5kbGUvc3BlY2h0L25vZGVfbW9kdWxlcy9pY29uZm9udC13ZWJwYWNrLXBsdWdpbi9wbGFjZWhvbGRlci5zdmcnKSBmb3JtYXQoJ3dvZmYnKTtmb250LXdlaWdodDogbm9ybWFsO2ZvbnQtc3R5bGU6IG5vcm1hbDt9IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvbnQgVmFyaWFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyB0b2RvIHRlc3Rpbmc6IEBFbWkgYmxvY2tpbmcgZm9udCBjc3MgLSBhdm9pZCBwYWdlIGJsb2NraW5nIGR1ZSB0byB3ZWJmb250c1xuXG4vKipcbiAqIEJhc2UgRm9udCBGYW1pbHlcbiAqL1xuJGZvbnQtZmFtaWx5OiAnSm9zZWZpblNhbnMnLCBDYWxpYnJpLCBzYW5zLXNlcmlmO1xuLy8gYWRkIG11bHRpcGxlIGZvbnRzIGlmIHJlcXVpcmVkLCBlLmcuOiAkZm9udDItZmFtaWx5OiBzZXJpZjtcblxuLyoqXG4gKiBCYXNlIEZvbnQgV2VpZ2h0XG4gKi9cbiRmb250LXdlaWdodDogNDAwO1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9udCBGaWxlIERlY2xhcmF0aW9uIChAZm9udC1mYWNlKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJGZvbnQtcGF0aDogJ35AL2Fzc2V0cy9mb250cyc7XG5cbi8qIGpvc2VmaW4tcmVndWxhciAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgZm9udC1mYW1pbHk6ICdKb3NlZmluU2Fucyc7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICBzcmM6IGxvY2FsKCdKb3NlZmluIFNhbnMgUmVndWxhcicpLCBsb2NhbCgnSm9zZWZpbi1TYW5zLVJlZ3VsYXInKSwgdXJsKCRmb250LXBhdGggKyAnL2pvc2VmaW5TYW5zL2pvc2VmaW4tc2Fucy12MTctbGF0aW4tcmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG59XG5cbi8qIGpvc2VmaW4tNzAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBmb250LWZhbWlseTogJ0pvc2VmaW5TYW5zJztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICAgIHNyYzogbG9jYWwoJ0pvc2VmaW4gU2FucyBCb2xkJyksIGxvY2FsKCdKb3NlZmluLVNhbnMtQm9sZCcpLCB1cmwoJGZvbnQtcGF0aCArICcvam9zZWZpblNhbnMvam9zZWZpbi1zYW5zLXYxNy1sYXRpbi03MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xufVxuIiwiLyoqXG4gKiBEZWZhdWx0IGVudHJ5IHBvaW50IGZvciBzY3NzIHN0dWZmLlxuICpcbiAqIE5vdGU6IE9ubHkgdGhlIG1haW4uc2NzcyBnZXQncyBjb21waWxlZCwgYWRkaXRpb25hbCBmaWxlcyBuZWVkIHRvIGJlIHJlZ2lzdGVyZWQgaW4gXCJ3ZWJwYWNrLmNvbmZpZy5qc1wiLlxuICovXG5AaW1wb3J0ICdfc2V0dGluZ3MvLmltcG9ydGVyJztcbkBpbXBvcnQgJ190b29scy8uaW1wb3J0ZXInO1xuQGltcG9ydCAnYmFzZS8uaW1wb3J0ZXInO1xuQGltcG9ydCAndmVuZG9yLy5pbXBvcnRlcic7XG5AaW1wb3J0ICdvYmplY3RzLy5pbXBvcnRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzLy5pbXBvcnRlcic7XG5AaW1wb3J0ICd1dGlsaXRpZXMvLmltcG9ydGVyJztcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDdXN0b20gcmVzZXRzIGluIGFkZGl0aW9uIHRvIG5vcm1hbGl6ZS5jc3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIHJlcXVpcmVkOiBfc2V0dGluZ3MvX3NldHRpbmdzLmZvbnRzLnNjc3NcblxuLyoqXG4gKiBCb3ggc2l6aW5nXG4gKi9cbmh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbioge1xuICAgICYsXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgfVxufVxuXG4vKipcbiAqIFJlc2V0IG1hcmdpbnMgYW5kIHBhZGRpbmdzXG4gKi9cbmJvZHksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG51bCxcbm9sLFxubGksXG5wLFxucHJlLFxuYmxvY2txdW90ZSxcbmZpZ3VyZSxcbmZpZWxkc2V0LFxuaHIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc2V0IEZvbnQgV2VpZ2h0XG4gKi9cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodDtcbn1cblxuLyoqXG4gKiBGb3JtcyBhbmQgQnV0dG9uc1xuICovXG51bCxcbm9sIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5pbnB1dCxcbnRleHRhcmVhLFxuc2VsZWN0LFxuYnV0dG9uIHtcbiAgICAvLyBCcm93c2VycyBkb27igJl0IGluaGVyaXQgdHlwb2dyYXBoeSBmb3IgZm9ybXMgYW5kIGJ1dHRvbnNcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xufVxuXG4vKipcbiAqIE1lZGlhIEVsZW1lbnRzXG4gKi9cbmVtYmVkLFxuaWZyYW1lLFxuaW1nLFxub2JqZWN0LFxudmlkZW8ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuaWZyYW1lIHtcbiAgICBib3JkZXI6IDA7XG59XG5cbmltZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIFRhYmxlc1xuICovXG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuY2FwdGlvbixcbnRib2R5LFxudGZvb3QsXG50aGVhZCxcbnRyLFxudGgsXG50ZCB7XG4gICAgZm9udDogaW5oZXJpdDsgLy8gYXZvaWQgYm9sZCBpbiBzb21lIGJyb3dzZXJzIChlLmcuIHRoKVxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vLyBzdHlsZWxpbnQtZGlzYWJsZTogcmVxdWlyZWQgb3JkZXJcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJyZWFrcG9pbnQgTWF0Y2ggd2l0aCBKYXZhc2NyaXB0IHdpdGggJ2ZvbnQtZmFtaWx5LWhhY2snXG4gICAgICAgIElNUE9SVEFOVDogZXZlcnkgYnJlYWtwb2ludCBpcyB1c2VkIGluIG9yZGVyIHRvIGNvbnRyb2wgdGhlIHNvcnRpbmdcbiAgICAgICAgb2YgTWVkaWEgUXVlcmllcyB3aGVuIHdlIHVzZSBhIFwiQ29tYmluZSBNZWRpYSBRdWVyaWVzXCIgVG9vbCAodGhpc1xuICAgICAgICB3aWxsIGJlIHRoZSBmaXJzdCBcImhpdFwiIGZvciB0aGUgVG9vbCBhbmQgaXMgdGhlcmVmb3JlIHRoZSBsZWFkaW5nXG4gICAgICAgIHNvcnRpbmcvb3JkZXIhXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5odG1sIHtcbiAgICBmb250LWZhbWlseTogJ3h4cyc7XG5cbiAgICBAaW5jbHVkZSBicCh4cykge1xuICAgICAgICBmb250LWZhbWlseTogJ3hzJztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChzbSkge1xuICAgICAgICBmb250LWZhbWlseTogJ3NtJztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtZCkge1xuICAgICAgICBmb250LWZhbWlseTogJ21kJztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChsZykge1xuICAgICAgICBmb250LWZhbWlseTogJ2xnJztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicCh4bCkge1xuICAgICAgICBmb250LWZhbWlseTogJ3hsJztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicCh4eGwpIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICd4eGwnO1xuICAgIH1cbn1cblxuYm9keTphZnRlciB7XG4gICAgY29udGVudDogJ3h4cyc7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGJwKHhzKSB7XG4gICAgICAgIGNvbnRlbnQ6ICd4cyc7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAoc20pIHtcbiAgICAgICAgY29udGVudDogJ3NtJztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtZCkge1xuICAgICAgICBjb250ZW50OiAnbWQnO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKGxnKSB7XG4gICAgICAgIGNvbnRlbnQ6ICdsZyc7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAoeGwpIHtcbiAgICAgICAgY29udGVudDogJ3hsJztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicCh4eGwpIHtcbiAgICAgICAgY29udGVudDogJ3h4bCc7XG4gICAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBCcmVha3BvaW50IG1peGluIGFuZCBhbGlhc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICogJ2JyZWFrcG9pbnQoKScgbWl4aW5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ3xOdW1iZXJ9ICRxdWVyeSAtIHF1b3RlZCwgbG93ZXItY2FzZSBicmVha3BvaW50IG5hbWUgKGUuZy4gJ20nLCAnbCcpIG9yIHNwZWNpZmljIGJyZWFrcG9pbnQgc2l6ZSAoZS5nLiAxMDBweCwgMTB2dylcbiAqIEBwYXJhbSB7U3RyaW5nfE51bWJlcn0gJHF1ZXJ5LW1heCAtIHF1b3RlZCwgbG93ZXItY2FzZSBicmVha3BvaW50IG5hbWUgKGUuZy4gJ20nLCAnbCcpIG9yIHNwZWNpZmljIGJyZWFrcG9pbnQgc2l6ZSAoZS5nLiAxMDBweCwgMTB2dylcbiAqL1xuQG1peGluIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkcXVlcnktbWF4OiBmYWxzZSkge1xuICAgIEBpZiAoJHF1ZXJ5LW1heCA9PSBmYWxzZSkge1xuICAgICAgICBAaWYgKHR5cGVfb2YoJHF1ZXJ5KSAhPSBudW1iZXIpIHtcbiAgICAgICAgICAgICRxdWVyeTogbWFwX2dldCgkdG9vbGJveC1icmVha3BvaW50cywgJHF1ZXJ5KTtcblxuICAgICAgICAgICAgQGlmICgkcXVlcnkpIHtcbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkcXVlcnkpIHtcbiAgICAgICAgICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQGVycm9yICc9PiBFUlJPUjogQlJFQUtQT0lOVCBOT1QgRk9VTkQhIDw9IHwgWW91ciBCcmVha3BvaW50LU5hbWUgKCN7JHF1ZXJ5fSkgZGlkIG5vdCBtYXRjaCBhbnkgb2YgdGhlIHZhbHVlcyBpbiB0aGUgJHRvb2xib3gtYnJlYWtwb2ludHMgbWFwLic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHF1ZXJ5KSB7XG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQGlmICh0eXBlX29mKCRxdWVyeSkgIT0gbnVtYmVyKSB7XG4gICAgICAgICAgICAkcXVlcnk6IG1hcF9nZXQoJHRvb2xib3gtYnJlYWtwb2ludHMsICRxdWVyeSk7XG5cbiAgICAgICAgICAgIEBpZiAoJHF1ZXJ5ID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBAZXJyb3IgJz0+IEVSUk9SOiBCUkVBS1BPSU5UIE5PVCBGT1VORCEgPD0gfCBZb3VyIEJyZWFrcG9pbnQtTmFtZSAoI3skcXVlcnl9KSBkaWQgbm90IG1hdGNoIGFueSBvZiB0aGUgdmFsdWVzIGluIHRoZSAkZnctYnJlYWtwb2ludHMtc2l6ZXMgbWFwLic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKHR5cGVfb2YoJHF1ZXJ5LW1heCkgIT0gbnVtYmVyKSB7XG4gICAgICAgICAgICAkcXVlcnktbWF4OiBtYXBfZ2V0KCR0b29sYm94LWJyZWFrcG9pbnRzLCAkcXVlcnktbWF4KTtcblxuICAgICAgICAgICAgQGlmICgkcXVlcnktbWF4ID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBAZXJyb3IgJz0+IEVSUk9SOiBCUkVBS1BPSU5UIE5PVCBGT1VORCEgPD0gfCBZb3VyIEJyZWFrcG9pbnQtTmFtZSAoI3skcXVlcnl9KSBkaWQgbm90IG1hdGNoIGFueSBvZiB0aGUgdmFsdWVzIGluIHRoZSAkdG9vbGJveC1icmVha3BvaW50cyBtYXAuJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJHF1ZXJ5IDwgJHF1ZXJ5LW1heCkge1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHF1ZXJ5KSBhbmQgKG1heC13aWR0aDogJHF1ZXJ5LW1heCkge1xuICAgICAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBlcnJvciAnPT4gRVJST1I6IEJSRUFLUE9JTlQgTUlOLVZBTFVFIEhJR0hFUiBPUiBFUVVBTCBUSEVOIE1BWC1WQUxVRSA8PSB8IFlvdXIgQnJlYWtwb2ludCBtaW4gdmFsdWUgKCN7JHF1ZXJ5fSkgaXMgaGlnaGVyIG9yIGVxdWFsIHRoZW4geW91ciBicmVha3BvaW50IG1heC12YWx1ZSAoI3skcXVlcnktbWF4fSkuJztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiAnYnAoKScgYWxpYXMgZm9yICdicmVha3BvaW50KCknIG1peGluXG4gKi9cbkBtaXhpbiBicCgkYXJncy4uLikge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFyZ3MuLi4pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuIiwiOnJvb3Qge1xuICAgIC0tZ3JpZC13aWR0aDogMTAwJTtcbiAgICAtLWdyaWQtZ3V0dGVyOiBjYWxjKCN7JGdyaWQtZ3V0dGVyfSAvIDIpO1xuICAgIC0tZ3JpZC10ZW1wbGF0ZS1ncmlkOiByZXBlYXQoMTIsIDFmcik7XG4gICAgLy8gLS1ncmlkLXRlbXBsYXRlLWdyaWQtZnVsbDogbWlubWF4KDAsIDFmcikgcmVwZWF0KDEyLCBtaW5tYXgoMCwgY2FsYygodmFyKC0tZ3JpZC13aWR0aCkgLSAxMiAqIHZhcigtLWdyaWQtZ3V0dGVyKSkgLyAxMikpKSBtaW5tYXgoMCwgMWZyKTtcbiAgICAtLWdyaWQtdGVtcGxhdGUtZ3JpZC1mdWxsOiBtaW5tYXgoMCwgYXV0bykgcmVwZWF0KDEyLCBtaW5tYXgoMCwgY2FsYygodmFyKC0tZ3JpZC13aWR0aCkgLSAoMTMgKiB2YXIoLS1ncmlkLWd1dHRlcikpKSAvIDEyKSkpIG1pbm1heCgwLCBhdXRvKTtcbiAgICAtLWdyaWQtdGVtcGxhdGUtZ3JpZC1mdWxsLWlubmVyOiBtaW5tYXgoMCwgMWZyKSByZXBlYXQoMTIsIG1pbm1heCgwLCBjYWxjKCh2YXIoLS1ncmlkLXdpZHRoKSAtICgxMyAqIHZhcigtLWdyaWQtZ3V0dGVyKSkpIC8gMTIpKSkgbWlubWF4KDAsIDFmcik7XG4gICAgLS1ncmlkLXRlbXBsYXRlLTEyOiByZXBlYXQoMTIsIG1pbm1heCgwLCBjYWxjKHZhcigtLWdyaWQtd2lkdGgpIC8gMTIpKSk7XG5cbiAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHdpZHRoIGluICRncmlkLWZpeGVkLXdpZHRocyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIC0tZ3JpZC13aWR0aDogI3skd2lkdGh9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAoeHMpIHtcbiAgICAgICAgLS1ncmlkLWd1dHRlcjogI3skZ3JpZC1ndXR0ZXJ9O1xuICAgICAgICAtLWdyaWQtdGVtcGxhdGUtZ3JpZC1mdWxsOiBtaW5tYXgoMCwgYXV0bykgcmVwZWF0KDEyLCBtaW5tYXgoMCwgY2FsYygodmFyKC0tZ3JpZC13aWR0aCkgLSAoMTIgKiB2YXIoLS1ncmlkLWd1dHRlcikpKSAvIDEyKSkpIG1pbm1heCgwLCBhdXRvKTtcbiAgICAgICAgLS1ncmlkLXRlbXBsYXRlLWdyaWQtZnVsbC1pbm5lcjogbWlubWF4KDAsIDFmcikgcmVwZWF0KDEyLCBtaW5tYXgoMCwgY2FsYygodmFyKC0tZ3JpZC13aWR0aCkgLSAoMTIgKiB2YXIoLS1ncmlkLWd1dHRlcikpKSAvIDEyKSkpIG1pbm1heCgwLCAxZnIpO1xuICAgIH1cbn1cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERpc2FibGVkXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyByZXF1aXJlZDogX3Rvb2xzL21peGlucy9fbWl4aW5zLmRpc2FibGVkLXN0eWxlcy5zY3NzXG5cbmEsXG5idXR0b24sXG5maWVsZHNldCxcbmlucHV0LFxub3B0Z3JvdXAsXG5vcHRpb24sXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgJltkaXNhYmxlZF0sXG4gICAgJlthcmlhLWRpc2FibGVkPSd0cnVlJ10sXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIEBpbmNsdWRlIGRpc2FibGVkLXN0eWxlcygpO1xuICAgIH1cbn1cblxuW2Rpc2FibGVkXSxcblthcmlhLWRpc2FibGVkPSd0cnVlJ10sXG4uZGlzYWJsZWQge1xuICAgICsgLmMtZm9ybV9fc2VsZWN0LWFycm93LFxuICAgICsgYnV0dG9uLFxuICAgICsgbGFiZWwsXG4gICAgKyBsYWJlbDphZnRlcixcbiAgICArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGRpc2FibGVkLXN0eWxlcygpO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEaXNhYmxlZCBTdHlsZXMgKGZvciBpbnB1dHMsIGJ1dHRvbnMgZXRjLilcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtaXhpbiBkaXNhYmxlZC1zdHlsZXMge1xuICAgIG9wYWNpdHk6IC41O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFVzZXIgSW50ZXJmYWNlIC0gUHNldWRvIEVsZW1lbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyByZXF1aXJlZDogX3Rvb2xzL21peGlucy9fbWl4aW5zLmZvY3VzLW91dGxpbmUuc2Nzc1xuXG46Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7IC8vIHJlbWVtYmVyIHRvIGRlZmluZSBmb2N1cyBzdHlsZXMhXG4gICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgkZm9jdXMtY29sb3IpO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNldCBmb2N1cyBvdXRsaW5lXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyByZXF1aXJlZDogX3NldHRpbmdzL19zZXR0aW5ncy51aS5zY3NzXG5cbkBtaXhpbiBmb2N1cy1vdXRsaW5lKCRjb2xvcikge1xuICAgIC8vIGFjY2Vzc2libGUgZm9jdXMgc3RhdGVcbiAgICAvLyBjbGFzcyBzZXQgdmlhIGpzIGlmIHRhYiBrZXkgaXMgcHJlc3NlZFxuICAgIC5hY2Nlc3NpYmlsaXR5LW1vZGUgJiB7XG4gICAgICAgIG91dGxpbmU6ICRmb2N1cy13aWR0aCAkZm9jdXMtc3R5bGUgJGNvbG9yO1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgIH1cbn1cbiIsImh0bWwge1xuICAgIGZvbnQtc2l6ZTogMTRweDsgLy8gMTZweFxuXG4gICAgQGluY2x1ZGUgYnAoeHMpIHsgLy8gZXhhbXBsZTogc2V0IGZvbnQtc2l6ZSBmb3IgbGFyZ2Ugc2NyZWVuc1xuICAgICAgICBmb250LXNpemU6IDE1cHg7IC8vIDIwcHhcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtZCkgeyAvLyBleGFtcGxlOiBzZXQgZm9udC1zaXplIGZvciBsYXJnZSBzY3JlZW5zXG4gICAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLy8gMjBweFxuICAgIH1cbn1cbiIsIi8vIHJlcXVpcmVkOiBfc2V0dGluZ3MvX3NldHRpbmdzLmZvbnRzLnNjc3NcblxuJGJvZHktY29sb3I6IG1hcC1nZXQoJHRvb2xib3gtY29sb3JzLCAnZGVmYXVsdFR4dCcpO1xuXG5ib2R5IHtcbiAgICBAaW5jbHVkZSB0eXBvKCk7IC8vIG1peGluIHVzZXMgYmFzZSBmb250IGZhbWlseSwgc3R5bGUgYW5kIHdlaWdodCBhcyBkZWZhdWx0XG5cbiAgICBjb2xvcjogJGJvZHktY29sb3I7XG4gICAgbGluZS1oZWlnaHQ6IG50aChtYXAtZ2V0KCR0b29sYm94LXR5cG8tc2l6ZXMsICdtJyksIDIpOyAvLyBnZXQgbGluZS1oZWlnaHQgZGVmaW5lZCBpbiB0b29sYm94XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUeXBvZ3JhcGh5XG4gICAgICAgc2V0OlxuICAgICAgICBmb250LWZhbWlseVxuICAgICAgICBmb250LXN0eWxlXG4gICAgICAgIGZvbnQtd2VpZ2h0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyByZXF1aXJlZDogX3NldHRpbmdzL19zZXR0aW5ncy5mb250cy5zY3NzXG5cbi8vIG1peGluIHVzZXMgYmFzZSBmb250IGZhbWlseSwgc3R5bGUgYW5kIHdlaWdodCBhcyBkZWZhdWx0XG4vLyB1c2FnZTogQGluY2x1ZGUgdHlwbygkZmFtaWx5OiAkZm9udC1mYW1pbHksICRzdHlsZTogbm9ybWFsLCAkd2VpZ2h0OiAkZm9udC13ZWlnaHQpO1xuXG5AbWl4aW4gdHlwbygkZmFtaWx5OiBudWxsLCAkc3R5bGU6IG51bGwsICR3ZWlnaHQ6IG51bGwpIHtcbiAgICBAaWYgJGZhbWlseSA9PSBudWxsIHtcbiAgICAgICAgJGZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIH1cblxuICAgIEBpZiAkc3R5bGUgPT0gbnVsbCB7XG4gICAgICAgICRzdHlsZTogbm9ybWFsO1xuICAgIH1cblxuICAgIEBpZiAkd2VpZ2h0ID09IG51bGwge1xuICAgICAgICAkd2VpZ2h0OiA0MDA7XG4gICAgfVxuXG4gICAgZm9udC1mYW1pbHk6ICRmYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xufVxuIiwiJGxpbmstY29sb3I6IG1hcC1nZXQoJHRvb2xib3gtY29sb3JzLCAnYmxhY2snKTtcblxuYSB7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC8vIGh0dHBzOi8vMjR3YXlzLm9yZy8yMDA5L2RvbnQtbG9zZS15b3VyLWZvY3VzXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxufVxuXG4vLyBodHRwczovL2Nzcy10cmlja3MuY29tL2EtY29tcGxldGUtZ3VpZGUtdG8tbGlua3MtYW5kLWJ1dHRvbnMvXG5hOm5vdChbaHJlZl0pIHtcbiAgICAvLyBzdHlsZSBhIFwiZGlzYWJsZWRcIiBsaW5rXG59XG4iLCIkaGVhZGxpbmUtbWFyZ2luLWJvdHRvbTogLjVlbTtcbi8vJGhlYWRsaW5lLW1hcmdpbi10b3A6IDFlbTtcblxuXG5oMSB7XG4gICAgJjpub3QoW2NsYXNzXSkge1xuICAgICAgICBAaW5jbHVkZSBmb250KCd4eGwnKTtcbiAgICAgICAgQGluY2x1ZGUgdHlwbygkd2VpZ2h0OiAzMDApO1xuICAgIH1cbn1cblxuaDIge1xuICAgICY6bm90KFtjbGFzc10pIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgneGwnKTtcbiAgICAgICAgQGluY2x1ZGUgdHlwbygkd2VpZ2h0OiA2MDApO1xuICAgICAgICBjb2xvcjogYXBwLWNvbG9yKCdwcmkyJyk7XG4gICAgfVxufVxuXG5oMyB7XG4gICAgJjpub3QoW2NsYXNzXSkge1xuICAgICAgICBAaW5jbHVkZSBmb250KCdsJyk7XG4gICAgICAgIEBpbmNsdWRlIHR5cG8oJHdlaWdodDogNDAwKTtcbiAgICB9XG59XG5cbkBmb3IgJGhlYWRsaW5lSW5kZXggZnJvbSAxIHRocm91Z2ggNiB7XG4gICAgaCN7JGhlYWRsaW5lSW5kZXh9IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGhlYWRsaW5lLW1hcmdpbi1ib3R0b207XG4gICAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBGb250IG1peGluXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqXG4gKiAnZm9udCgpJyBtaXhpblxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIHF1b3RlZCwgbG93ZXItY2FzZSBjb2xvciBuYW1lIChlLmcuICd4cycsICdtJylcbiAqXG4gKiBAcmV0dXJuIHtBdHRyaWJ1dGVzfSBjYWxjdWxhdGVkIGZvbnQtc2l6ZSBiYXNlZCBvbiByYXRpbyBhbmQgbXVsdGlwbGllciBpbiAncmVtJyBhbmQgY29ycmVzcG9uZGluZyBsaW5lLWhlaWdodC5cbiAqL1xuQG1peGluIGZvbnQoJG5hbWUsICRsaW5lLWhlaWdodDogZmFsc2UpIHtcbiAgICAkdmFsdWVzOiBtYXBfZ2V0KCR0b29sYm94LXR5cG8tc2l6ZXMsICRuYW1lKTtcblxuICAgIEBpZiAoJHZhbHVlcykge1xuICAgICAgICBmb250LXNpemU6ICR0b29sYm94LXR5cG8tYmFzZSAqIHBvdygkdG9vbGJveC10eXBvLXJhdGlvLCBudGgoJHZhbHVlcywgMSkpO1xuICAgICAgICBAaWYgKCRsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbnRoKCR2YWx1ZXMsIDIpO1xuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBlcnJvciAnPT4gRVJST1I6IEZPTlQtU0laRSBOT1QgRk9VTkQhIDw9IHwgWW91ciBGb250LVNpemUtTmFtZSAoI3skbmFtZX0pIGRpZCBub3QgbWF0Y2ggYW55IG9mIHRoZSB2YWx1ZXMgaW4gdGhlICR0b29sYm94LXR5cG8tc2l6ZXMgbWFwLic7XG4gICAgfVxufVxuIiwiLy8gcmVxdWlyZWQ6IF9zZXR0aW5ncy9fc2V0dGluZ3Muc3BhY2Uuc2Nzc1xuXG4kYm9yZGVyLWNvbG9yOiBtYXBfZ2V0KCR0b29sYm94LWNvbG9ycywgJ2xpZ2h0MicpO1xuXG5ociB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZTtcbn1cbiIsIi8vIHJlcXVpcmVkOiBfc2V0dGluZ3MvX3NldHRpbmdzLmZvbnRzLnNjc3NcblxuaSxcbmNpdGUsXG5hZGRyZXNzLFxuZW0sXG5kZm4ge1xuICAgIEBpbmNsdWRlIHR5cG8oJHN0eWxlOiBpdGFsaWMpO1xufVxuIiwiLy8gcmVxdWlyZWQ6IF9zZXR0aW5ncy9fc2V0dGluZ3Muc3BhY2Uuc2Nzc1xuXG5wLFxuYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNwYWNpbmcgVmFyaWFibGVzIC0gVmVydGljYWwgUmh5dGhtIFVuaXRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFNwYWNlIGZvciBWZXJ0aWNhbCBSaHl0aG0gb2YgUGFnZVxuICovXG4kc3BhY2U6IDEuMjVyZW07XG4vLyByZW1pbmRlcjogaHR0cHM6Ly96ZWxsd2suY29tL2Jsb2cvcmVzcG9uc2l2ZS12ZXJ0aWNhbC1yaHl0aG0vXG5cbiRiYXNlVmFsdWU6IDAuNXJlbTtcbiR1dGlsaXR5LXNwYWNlczogKFxuICAgICAgICAneHMnOiAxLFxuICAgICAgICAnc21hbGwnOiAyLFxuICAgICAgICAnbWVkaXVtJzogMyxcbiAgICAgICAgJ2xhcmdlJzogNCwgLy8gZGVmYXVsdCBwYWRkaW5nXG4gICAgICAgICd4bGFyZ2UnOiA1LFxuICAgICAgICAneHhsYXJnZSc6IDgsXG4gICAgICAgICd4eHhsYXJnZSc6IDEyLFxuICAgICAgICAnZGVmYXVsdCc6IDE0LFxuICAgICAgICAneHh4eGxhcmdlJzogMTUsXG4pO1xuIiwiLy8gcmVxdWlyZWQ6IF9zZXR0aW5ncy9fc2V0dGluZ3MuZm9udHMuc2Nzc1xuXG5iLFxuc3Ryb25nIHtcbiAgICBAaW5jbHVkZSB0eXBvKCR3ZWlnaHQ6IDYwMCk7XG59XG4iLCIvKiBNYWduaWZpYyBQb3B1cCBDU1MgKi9cblxuQGltcG9ydCBcInNldHRpbmdzXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cbi8vIENvbnRlbnRzOlxuLy9cbi8vIDEuIEdlbmVyYWwgc3R5bGVzXG4vLyAgICAtIFRyYW5zbHVzY2VudCBvdmVybGF5XG4vLyAgICAtIENvbnRhaW5lcnMsIHdyYXBwZXJzXG4vLyAgICAtIEN1cnNvcnNcbi8vICAgIC0gSGVscGVyIGNsYXNzZXNcbi8vIDIuIEFwcGVhcmFuY2Vcbi8vICAgIC0gUHJlbG9hZGVyICYgdGV4dCB0aGF0IGRpc3BsYXlzIGVycm9yIG1lc3NhZ2VzXG4vLyAgICAtIENTUyByZXNldCBmb3IgYnV0dG9uc1xuLy8gICAgLSBDbG9zZSBpY29uXG4vLyAgICAtIFwiMSBvZiBYXCIgY291bnRlclxuLy8gICAgLSBOYXZpZ2F0aW9uIChsZWZ0L3JpZ2h0KSBhcnJvd3Ncbi8vICAgIC0gSWZyYW1lIGNvbnRlbnQgdHlwZSBzdHlsZXNcbi8vICAgIC0gSW1hZ2UgY29udGVudCB0eXBlIHN0eWxlc1xuLy8gICAgLSBNZWRpYSBxdWVyeSB3aGVyZSBzaXplIG9mIGFycm93cyBpcyByZWR1Y2VkXG4vLyAgICAtIElFNyBzdXBwb3J0XG4vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIDEuIEdlbmVyYWwgc3R5bGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gVHJhbnNsdXNjZW50IG92ZXJsYXlcbi5tZnAtYmcge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgMjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuXG4gIGJhY2tncm91bmQ6ICRtZnAtb3ZlcmxheS1jb2xvcjtcbiAgb3BhY2l0eTogJG1mcC1vdmVybGF5LW9wYWNpdHk7XG59XG5cbi8vIFdyYXBwZXIgZm9yIHBvcHVwXG4ubWZwLXdyYXAge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgMztcbiAgcG9zaXRpb246IGZpeGVkO1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAvLyBmaXhlcyB3ZWJraXQgYnVnIHRoYXQgY2FuIGNhdXNlIFwiZmFsc2VcIiBzY3JvbGxiYXJcbn1cblxuLy8gUm9vdCBjb250YWluZXJcbi5tZnAtY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcGFkZGluZzogMCAkbWZwLXBvcHVwLXBhZGRpbmctbGVmdDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLy8gVmVydGljYWwgY2VudGVyZXIgaGVscGVyXG4ubWZwLWNvbnRhaW5lciB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbn1cblxuLy8gUmVtb3ZlIHZlcnRpY2FsIGNlbnRlcmluZyB3aGVuIHBvcHVwIGhhcyBjbGFzcyBgbWZwLWFsaWduLXRvcGBcbi5tZnAtYWxpZ24tdG9wIHtcbiAgLm1mcC1jb250YWluZXIge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIFBvcHVwIGNvbnRlbnQgaG9sZGVyXG4ubWZwLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgNTtcbn1cbi5tZnAtaW5saW5lLWhvbGRlcixcbi5tZnAtYWpheC1ob2xkZXIge1xuICAubWZwLWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGN1cnNvcjogYXV0bztcbiAgfVxufVxuXG4vLyBDdXJzb3JzXG4ubWZwLWFqYXgtY3VyIHtcbiAgY3Vyc29yOiBwcm9ncmVzcztcbn1cbi5tZnAtem9vbS1vdXQtY3VyIHtcbiAgJiwgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG4gICAgY3Vyc29yOiAtbW96LXpvb20tb3V0O1xuICAgIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcbiAgICBjdXJzb3I6IHpvb20tb3V0O1xuICB9XG59XG4ubWZwLXpvb20ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICBjdXJzb3I6IC1tb3otem9vbS1pbjtcbiAgY3Vyc29yOiB6b29tLWluO1xufVxuLm1mcC1hdXRvLWN1cnNvciB7XG4gIC5tZnAtY29udGVudCB7XG4gICAgY3Vyc29yOiBhdXRvO1xuICB9XG59XG5cbi5tZnAtY2xvc2UsXG4ubWZwLWFycm93LFxuLm1mcC1wcmVsb2FkZXIsXG4ubWZwLWNvdW50ZXIge1xuICAtd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vLyBIaWRlIHRoZSBpbWFnZSBkdXJpbmcgdGhlIGxvYWRpbmdcbi5tZnAtbG9hZGluZyB7XG4gICYubWZwLWZpZ3VyZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBIZWxwZXIgY2xhc3MgdGhhdCBoaWRlcyBzdHVmZlxuQGlmICRtZnAtdXNlLXZpc3VhbGx5aGlkZGVuIHtcbiAgLy8gRnJvbSBIVE1MNSBCb2lsZXJwbGF0ZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL3Y0LjIuMC9kb2MvY3NzLm1kI3Zpc3VhbGx5aGlkZGVuXG4gIC5tZnAtaGlkZSB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIH1cbn0gQGVsc2Uge1xuICAubWZwLWhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gMi4gQXBwZWFyYW5jZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIFByZWxvYWRlciBhbmQgdGV4dCB0aGF0IGRpc3BsYXlzIGVycm9yIG1lc3NhZ2VzXG4ubWZwLXByZWxvYWRlciB7XG4gIGNvbG9yOiAkbWZwLWNvbnRyb2xzLXRleHQtY29sb3I7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IC0wLjhlbTtcbiAgbGVmdDogOHB4O1xuICByaWdodDogOHB4O1xuICB6LWluZGV4OiAkbWZwLXotaW5kZXgtYmFzZSArIDQ7XG4gIGEge1xuICAgIGNvbG9yOiAkbWZwLWNvbnRyb2xzLXRleHQtY29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJG1mcC1jb250cm9scy10ZXh0LWNvbG9yLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBIaWRlIHByZWxvYWRlciB3aGVuIGNvbnRlbnQgc3VjY2Vzc2Z1bGx5IGxvYWRlZFxuLm1mcC1zLXJlYWR5IHtcbiAgLm1mcC1wcmVsb2FkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gSGlkZSBjb250ZW50IHdoZW4gaXQgd2FzIG5vdCBsb2FkZWRcbi5tZnAtcy1lcnJvciB7XG4gIC5tZnAtY29udGVudCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBDU1MtcmVzZXQgZm9yIGJ1dHRvbnNcbmJ1dHRvbiB7XG4gICYubWZwLWNsb3NlLFxuICAmLm1mcC1hcnJvdyB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgNjtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICB9XG4gICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMFxuICB9XG59XG5cblxuLy8gQ2xvc2UgaWNvblxuLm1mcC1jbG9zZSB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6ICRtZnAtY29udHJvbHMtb3BhY2l0eTtcbiAgcGFkZGluZzogMCAwIDE4cHggMTBweDtcbiAgY29sb3I6ICRtZnAtY29udHJvbHMtY29sb3I7XG5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgQmFza2VydmlsbGUsIG1vbm9zcGFjZTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIHRvcDogMXB4O1xuICB9XG59XG4ubWZwLWNsb3NlLWJ0bi1pbiB7XG4gIC5tZnAtY2xvc2Uge1xuICAgIGNvbG9yOiAkbWZwLWlubmVyLWNsb3NlLWljb24tY29sb3I7XG4gIH1cbn1cbi5tZnAtaW1hZ2UtaG9sZGVyLFxuLm1mcC1pZnJhbWUtaG9sZGVyIHtcbiAgLm1mcC1jbG9zZSB7XG4gICAgY29sb3I6ICRtZnAtY29udHJvbHMtY29sb3I7XG4gICAgcmlnaHQ6IC02cHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgcGFkZGluZy1yaWdodDogNnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8vIFwiMSBvZiBYXCIgY291bnRlclxuLm1mcC1jb3VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBjb2xvcjogJG1mcC1jb250cm9scy10ZXh0LWNvbG9yO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vLyBOYXZpZ2F0aW9uIGFycm93c1xuQGlmICRtZnAtaW5jbHVkZS1hcnJvd3Mge1xuICAubWZwLWFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogJG1mcC1jb250cm9scy1vcGFjaXR5O1xuICAgIG1hcmdpbjogMDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNTVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiA5MHB4O1xuICAgIGhlaWdodDogMTEwcHg7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xuICAgICY6YWN0aXZlIHtcbiAgICAgIG1hcmdpbi10b3A6IC01NHB4O1xuICAgIH1cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICAgICAgYm9yZGVyOiBtZWRpdW0gaW5zZXQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG5cbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDEzcHg7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxM3B4O1xuICAgICAgdG9wOjhweDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAyMXB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjFweDtcbiAgICAgIG9wYWNpdHk6IDAuNztcbiAgICB9XG5cbiAgfVxuXG4gIC5tZnAtYXJyb3ctbGVmdCB7XG4gICAgbGVmdDogMDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMTdweCBzb2xpZCAkbWZwLWNvbnRyb2xzLWNvbG9yO1xuICAgICAgbWFyZ2luLWxlZnQ6IDMxcHg7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAyN3B4IHNvbGlkICRtZnAtY29udHJvbHMtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5tZnAtYXJyb3ctcmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICAgICY6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWxlZnQ6IDE3cHggc29saWQgJG1mcC1jb250cm9scy1jb2xvcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzOXB4XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAyN3B4IHNvbGlkICRtZnAtY29udHJvbHMtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gSWZyYW1lIGNvbnRlbnQgdHlwZVxuQGlmICRtZnAtaW5jbHVkZS1pZnJhbWUtdHlwZSB7XG4gIC5tZnAtaWZyYW1lLWhvbGRlciB7XG4gICAgcGFkZGluZy10b3A6ICRtZnAtaWZyYW1lLXBhZGRpbmctdG9wO1xuICAgIHBhZGRpbmctYm90dG9tOiAkbWZwLWlmcmFtZS1wYWRkaW5nLXRvcDtcbiAgICAubWZwLWNvbnRlbnQge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogJG1mcC1pZnJhbWUtbWF4LXdpZHRoO1xuICAgIH1cbiAgICAubWZwLWNsb3NlIHtcbiAgICAgIHRvcDogLTQwcHg7XG4gICAgfVxuICB9XG4gIC5tZnAtaWZyYW1lLXNjYWxlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy10b3A6ICRtZnAtaWZyYW1lLXJhdGlvICogMTAwJTtcbiAgICBpZnJhbWUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3gtc2hhZG93OiAkbWZwLXNoYWRvdztcbiAgICAgIGJhY2tncm91bmQ6ICRtZnAtaWZyYW1lLWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBJbWFnZSBjb250ZW50IHR5cGVcbkBpZiAkbWZwLWluY2x1ZGUtaW1hZ2UtdHlwZSB7XG5cbiAgLyogTWFpbiBpbWFnZSBpbiBwb3B1cCAqL1xuICBpbWcge1xuICAgICYubWZwLWltZyB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgcGFkZGluZzogJG1mcC1pbWFnZS1wYWRkaW5nLXRvcCAwICRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b207XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gIH1cblxuICAvKiBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2UgKi9cbiAgLm1mcC1maWd1cmUge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAkbWZwLWltYWdlLXBhZGRpbmctdG9wO1xuICAgICAgYm90dG9tOiAkbWZwLWltYWdlLXBhZGRpbmctYm90dG9tO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBib3gtc2hhZG93OiAkbWZwLXNoYWRvdztcbiAgICAgIGJhY2tncm91bmQ6ICRtZnAtaW1hZ2UtYmFja2dyb3VuZDtcbiAgICB9XG4gICAgc21hbGwge1xuICAgICAgY29sb3I6ICRtZnAtY2FwdGlvbi1zdWJ0aXRsZS1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgfVxuICAgIGZpZ3VyZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG4gIC5tZnAtYm90dG9tLWJhciB7XG4gICAgbWFyZ2luLXRvcDogLSRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b20gKyA0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjdXJzb3I6IGF1dG87XG4gIH1cbiAgLm1mcC10aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICBjb2xvcjogJG1mcC1jYXB0aW9uLXRpdGxlLWNvbG9yO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNnB4OyAvLyBsZWF2ZSBzb21lIHNwYWNlIGZvciBjb3VudGVyIGF0IHJpZ2h0IHNpZGVcbiAgfVxuXG4gIC5tZnAtaW1hZ2UtaG9sZGVyIHtcbiAgICAubWZwLWNvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5tZnAtZ2FsbGVyeSB7XG4gICAgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgICAgLm1mcC1maWd1cmUge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICBAaWYgJG1mcC1pbmNsdWRlLW1vYmlsZS1sYXlvdXQtZm9yLWltYWdlIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLCBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiAzMDBweCkge1xuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgYWxsIHBhZGRpbmdzIGFyb3VuZCB0aGUgaW1hZ2Ugb24gc21hbGwgc2NyZWVuXG4gICAgICAgKi9cbiAgICAgIC5tZnAtaW1nLW1vYmlsZSB7XG4gICAgICAgIC5tZnAtaW1hZ2UtaG9sZGVyIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgICYubWZwLWltZyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubWZwLWZpZ3VyZSB7XG4gICAgICAgICAgLy8gVGhlIHNoYWRvdyBiZWhpbmQgdGhlIGltYWdlXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNtYWxsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tZnAtYm90dG9tLWJhciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjYpO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgJjplbXB0eSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubWZwLWNvdW50ZXIge1xuICAgICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgIH1cbiAgICAgICAgLm1mcC1jbG9zZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBTY2FsZSBuYXZpZ2F0aW9uIGFycm93cyBhbmQgcmVkdWNlIHBhZGRpbmcgZnJvbSBzaWRlc1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgLm1mcC1hcnJvdyB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gIH1cbiAgLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMDtcbiAgfVxuICAubWZwLWFycm93LXJpZ2h0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJTtcbiAgfVxuICAubWZwLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAkbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU7XG4gICAgcGFkZGluZy1yaWdodDogJG1mcC1wb3B1cC1wYWRkaW5nLWxlZnQtbW9iaWxlO1xuICB9XG59XG5cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICBTZXR0aW5ncyAgICAgIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gb3ZlcmxheVxuJG1mcC1vdmVybGF5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAjMGIwYjBiICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3Igb2Ygb3ZlcmxheSBzY3JlZW5cbiRtZnAtb3ZlcmxheS1vcGFjaXR5OiAgICAgICAgICAgICAgICAgMC44ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgIC8vIE9wYWNpdHkgb2Ygb3ZlcmxheSBzY3JlZW5cbiRtZnAtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgICAgMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNikgIWRlZmF1bHQ7IC8vIFNoYWRvdyBvbiBpbWFnZSBvciBpZnJhbWVcblxuLy8gc3BhY2luZ1xuJG1mcC1wb3B1cC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICA4cHggIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gUGFkZGluZyBmcm9tIGxlZnQgYW5kIGZyb20gcmlnaHQgc2lkZVxuJG1mcC1wb3B1cC1wYWRkaW5nLWxlZnQtbW9iaWxlOiAgICAgICA2cHggIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2FtZSBhcyBhYm92ZSwgYnV0IGlzIGFwcGxpZWQgd2hlbiB3aWR0aCBvZiB3aW5kb3cgaXMgbGVzcyB0aGFuIDgwMHB4XG5cbiRtZnAtei1pbmRleC1iYXNlOiAgICAgICAgICAgICAgICAgICAgMTA0MCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEJhc2Ugei1pbmRleCBvZiBwb3B1cFxuXG4vLyBjb250cm9sc1xuJG1mcC1pbmNsdWRlLWFycm93czogICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gSW5jbHVkZSBzdHlsZXMgZm9yIG5hdiBhcnJvd3NcbiRtZnAtY29udHJvbHMtb3BhY2l0eTogICAgICAgICAgICAgICAgMC42NSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIE9wYWNpdHkgb2YgY29udHJvbHNcbiRtZnAtY29udHJvbHMtY29sb3I6ICAgICAgICAgICAgICAgICAgI0ZGRiAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbG9yIG9mIGNvbnRyb2xzXG4kbWZwLWNvbnRyb2xzLWJvcmRlci1jb2xvcjogICAgICAgICAgICMzRjNGM0YgIWRlZmF1bHQ7IFx0ICAgICAgICAgICAgICAgICAvLyBCb3JkZXIgY29sb3Igb2YgY29udHJvbHNcbiRtZnAtaW5uZXItY2xvc2UtaWNvbi1jb2xvcjogICAgICAgICAgIzMzMyAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbG9yIG9mIGNsb3NlIGJ1dHRvbiB3aGVuIGluc2lkZVxuJG1mcC1jb250cm9scy10ZXh0LWNvbG9yOiAgICAgICAgICAgICAjQ0NDICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3Igb2YgcHJlbG9hZGVyIGFuZCBcIjEgb2YgWFwiIGluZGljYXRvclxuJG1mcC1jb250cm9scy10ZXh0LWNvbG9yLWhvdmVyOiAgICAgICAjRkZGICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gSG92ZXIgY29sb3Igb2YgcHJlbG9hZGVyIGFuZCBcIjEgb2YgWFwiIGluZGljYXRvclxuXG4vLyBJZnJhbWUtdHlwZSBvcHRpb25zXG4kbWZwLWluY2x1ZGUtaWZyYW1lLXR5cGU6ICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBFbmFibGUgSWZyYW1lLXR5cGUgcG9wdXBzXG4kbWZwLWlmcmFtZS1wYWRkaW5nLXRvcDogICAgICAgICAgICAgIDQwcHggIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBJZnJhbWUgcGFkZGluZyB0b3BcbiRtZnAtaWZyYW1lLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEJhY2tncm91bmQgY29sb3Igb2YgaWZyYW1lc1xuJG1mcC1pZnJhbWUtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICA5MDBweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgLy8gTWF4aW11bSB3aWR0aCBvZiBpZnJhbWVzXG4kbWZwLWlmcmFtZS1yYXRpbzogICAgICAgICAgICAgICAgICAgIDkvMTYgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBSYXRpbyBvZiBpZnJhbWUgKDkvMTYgPSB3aWRlc2NyZWVuLCAzLzQgPSBzdGFuZGFyZCwgZXRjLilcblxuLy8gSW1hZ2UtdHlwZSBvcHRpb25zXG4kbWZwLWluY2x1ZGUtaW1hZ2UtdHlwZTogICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBFbmFibGUgSW1hZ2UtdHlwZSBwb3B1cHNcbiRtZnAtaW1hZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIzQ0NCAhZGVmYXVsdDtcbiRtZnAtaW1hZ2UtcGFkZGluZy10b3A6ICAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEltYWdlIHBhZGRpbmcgdG9wXG4kbWZwLWltYWdlLXBhZGRpbmctYm90dG9tOiAgICAgICAgICAgIDQwcHggIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBJbWFnZSBwYWRkaW5nIGJvdHRvbVxuJG1mcC1pbmNsdWRlLW1vYmlsZS1sYXlvdXQtZm9yLWltYWdlOiB0cnVlICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVtb3ZlcyBwYWRkaW5ncyBmcm9tIHRvcCBhbmQgYm90dG9tXG5cbi8vIEltYWdlIGNhcHRpb24gb3B0aW9uc1xuJG1mcC1jYXB0aW9uLXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAjRjNGM0YzICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgLy8gQ2FwdGlvbiB0aXRsZSBjb2xvclxuJG1mcC1jYXB0aW9uLXN1YnRpdGxlLWNvbG9yOiAgICAgICAgICAjQkRCREJEICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgLy8gQ2FwdGlvbiBzdWJ0aXRsZSBjb2xvclxuXG4vLyBBMTF5XG4kbWZwLXVzZS12aXN1YWxseWhpZGRlbjogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAvLyBIaWRlIGNvbnRlbnQgZnJvbSBicm93c2VycywgYnV0IG1ha2UgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyc1xuIiwiLyohXG4gKiBtbWVudS5qc1xuICogbW1lbnVqcy5jb21cbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEZyZWQgSGV1c3NjaGVuXG4gKiBmcmVic2l0ZS5ubFxuICpcbiAqIExpY2Vuc2U6IENDLUJZLU5DLTQuMFxuICogaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktbmMvNC4wL1xuICovXG5cbi8vXHRDb3JlXG5AaW1wb3J0ICdjb3JlL29uY2FudmFzL21tZW51Lm9uY2FudmFzJztcblxuLy9cdENvcmUgYWRkLW9uc1xuQGltcG9ydCAnY29yZS9vZmZjYW52YXMvbW1lbnUub2ZmY2FudmFzJztcbkBpbXBvcnQgJ2NvcmUvc2NyZWVucmVhZGVyL21tZW51LnNjcmVlbnJlYWRlcic7XG4vL0BpbXBvcnQgJ2NvcmUvc2Nyb2xsYnVnZml4L21tZW51LnNjcm9sbGJ1Z2ZpeCc7XG5cbi8vXHRBZGQtb25zXG5AaW1wb3J0ICdhZGRvbnMvYXV0b2hlaWdodC9tbWVudS5hdXRvaGVpZ2h0Jztcbi8vQGltcG9ydCAnYWRkb25zL2JhY2tidXR0b24vbW1lbnUuYmFja2J1dHRvbic7XG5AaW1wb3J0ICdhZGRvbnMvY29sdW1ucy9tbWVudS5jb2x1bW5zJztcbkBpbXBvcnQgJ2FkZG9ucy9jb3VudGVycy9tbWVudS5jb3VudGVycyc7XG5AaW1wb3J0ICdhZGRvbnMvZGl2aWRlcnMvbW1lbnUuZGl2aWRlcnMnO1xuQGltcG9ydCAnYWRkb25zL2RyYWcvbW1lbnUuZHJhZyc7XG5AaW1wb3J0ICdhZGRvbnMvZHJvcGRvd24vbW1lbnUuZHJvcGRvd24nO1xuLy9AaW1wb3J0ICdhZGRvbnMvZml4ZWRlbGVtZW50cy9tbWVudS5maXhlZGVsZW1lbnRzJztcbkBpbXBvcnQgJ2FkZG9ucy9pY29uYmFyL21tZW51Lmljb25iYXInO1xuQGltcG9ydCAnYWRkb25zL2ljb25wYW5lbHMvbW1lbnUuaWNvbnBhbmVscyc7XG5AaW1wb3J0ICdhZGRvbnMva2V5Ym9hcmRuYXZpZ2F0aW9uL21tZW51LmtleWJvYXJkbmF2aWdhdGlvbic7XG4vL0BpbXBvcnQgJ2FkZG9ucy9sYXp5c3VibWVudXMvbW1lbnUubGF6eXN1Ym1lbnVzJztcbkBpbXBvcnQgJ2FkZG9ucy9uYXZiYXJzL21tZW51Lm5hdmJhcnMnO1xuLy9AaW1wb3J0ICdhZGRvbnMvcGFnZXNjcm9sbC9tbWVudS5wYWdlc2Nyb2xsJztcbkBpbXBvcnQgJ2FkZG9ucy9zZWFyY2hmaWVsZC9tbWVudS5zZWFyY2hmaWVsZCc7XG5AaW1wb3J0ICdhZGRvbnMvc2VjdGlvbmluZGV4ZXIvbW1lbnUuc2VjdGlvbmluZGV4ZXInO1xuQGltcG9ydCAnYWRkb25zL3NldHNlbGVjdGVkL21tZW51LnNldHNlbGVjdGVkJztcbkBpbXBvcnQgJ2FkZG9ucy9zaWRlYmFyL21tZW51LnNpZGViYXInO1xuQGltcG9ydCAnYWRkb25zL3RvZ2dsZXMvbW1lbnUudG9nZ2xlcyc7XG5cbi8vXHRFeHRlbnNpb25zXG5cbkBpbXBvcnQgJ2V4dGVuc2lvbnMvYm9yZGVyc3R5bGUvbW1lbnUuYm9yZGVyc3R5bGUnO1xuQGltcG9ydCAnZXh0ZW5zaW9ucy9lZmZlY3RzL21tZW51LmVmZmVjdHMnO1xuQGltcG9ydCAnZXh0ZW5zaW9ucy9mdWxsc2NyZWVuL21tZW51LmZ1bGxzY3JlZW4nO1xuQGltcG9ydCAnZXh0ZW5zaW9ucy9saXN0dmlldy9tbWVudS5saXN0dmlldyc7XG5AaW1wb3J0ICdleHRlbnNpb25zL211bHRpbGluZS9tbWVudS5tdWx0aWxpbmUnO1xuQGltcG9ydCAnZXh0ZW5zaW9ucy9wYWdlZGltL21tZW51LnBhZ2VkaW0nO1xuQGltcG9ydCAnZXh0ZW5zaW9ucy9wb3B1cC9tbWVudS5wb3B1cCc7XG5AaW1wb3J0ICdleHRlbnNpb25zL3Bvc2l0aW9uaW5nL21tZW51LnBvc2l0aW9uaW5nJztcbkBpbXBvcnQgJ2V4dGVuc2lvbnMvc2hhZG93cy9tbWVudS5zaGFkb3dzJztcbkBpbXBvcnQgJ2V4dGVuc2lvbnMvdGhlbWVzL21tZW51LnRoZW1lcyc7XG5cbi8vXHRXcmFwcGVyc1xuLy9AaW1wb3J0ICd3cmFwcGVycy9hbmd1bGFyL21tZW51LmFuZ3VsYXInO1xuQGltcG9ydCAnd3JhcHBlcnMvYm9vdHN0cmFwL21tZW51LmJvb3RzdHJhcCc7XG4vL0BpbXBvcnQgJ3dyYXBwZXJzL21hZ2VudG8vbW1lbnUubWFnZW50byc7XG4vL0BpbXBvcnQgJ3dyYXBwZXJzL29sYXJrL21tZW51Lm9sYXJrJztcbi8vQGltcG9ydCAnd3JhcHBlcnMvdHVyYm9saW5rcy9tbWVudS50dXJib2xpbmtzJztcbi8vQGltcG9ydCAnd3JhcHBlcnMvd29yZHByZXNzL21tZW51LndvcmRwcmVzcyc7XG4iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMnLCAnLi4vLi4vaW5jbHVkZXMnLCAnLi4vLi4vdmFyaWFibGVzJztcblxuLy9cdFZhcmlhYmxlc1xuOnJvb3Qge1xuICAgIC8vXHRzaXplc1xuICAgIC0tbW0tbGluZS1oZWlnaHQ6ICN7JG1tX2xpbmVIZWlnaHR9O1xuICAgIC0tbW0tbGlzdGl0ZW0tc2l6ZTogI3skbW1fbGlzdGl0ZW1TaXplfTtcbiAgICAtLW1tLW5hdmJhci1zaXplOiAjeyRtbV9uYXZiYXJTaXplfTtcblxuICAgIC8vXHRwb3NpdGlvbmluZ1xuICAgIC0tbW0tb2Zmc2V0LXRvcDogI3skbW1fb2Zmc2V0VG9wfTtcbiAgICAtLW1tLW9mZnNldC1yaWdodDogI3skbW1fb2Zmc2V0UmlnaHR9O1xuICAgIC0tbW0tb2Zmc2V0LWJvdHRvbTogI3skbW1fb2Zmc2V0Qm90dG9tfTtcbiAgICAtLW1tLW9mZnNldC1sZWZ0OiAjeyRtbV9vZmZzZXRMZWZ0fTtcblxuICAgIC8vXHRjb2xvcnNcbiAgICAtLW1tLWNvbG9yLWJvcmRlcjogI3skbW1fYm9yZGVyQ29sb3J9O1xuICAgIC0tbW0tY29sb3ItYnV0dG9uOiAjeyRtbV9kaW1tZWRUZXh0Q29sb3J9O1xuICAgIC0tbW0tY29sb3ItdGV4dDogI3skbW1fdGV4dENvbG9yfTtcbiAgICAtLW1tLWNvbG9yLXRleHQtZGltbWVkOiAjeyRtbV9kaW1tZWRUZXh0Q29sb3J9O1xuICAgIC0tbW0tY29sb3ItYmFja2dyb3VuZDogI3skbW1fYmFja2dyb3VuZENvbG9yfTtcbiAgICAtLW1tLWNvbG9yLWJhY2tncm91bmQtaGlnaGxpZ2h0OiAjeyRtbV9oaWdobGlnaHRlZEJhY2tncm91bmRDb2xvcn07XG4gICAgLS1tbS1jb2xvci1iYWNrZ3JvdW5kLWVtcGhhc2lzOiAjeyRtbV9lbXBoYXNpemVkQmFja2dyb3VuZENvbG9yfTtcblxuICAgIC8vXHRtaXNjXG4gICAgLS1tbS1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cblxuLm1tLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubW0td3JhcHBlciB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQGltcG9ydCAnb25jYW52YXMubWVudScsICdvbmNhbnZhcy5tZW51LnJ0bCcsICdvbmNhbnZhcy5wYW5lbHMnLFxuICAgICdvbmNhbnZhcy5wYW5lbHMucnRsJywgJ29uY2FudmFzLnZlcnRpY2FsJywgJ29uY2FudmFzLmJ1dHRvbnMnLFxuICAgICdvbmNhbnZhcy5idXR0b25zLnJ0bCcsICdvbmNhbnZhcy5uYXZiYXInLCAnb25jYW52YXMubmF2YmFyLnJ0bCcsXG4gICAgJ29uY2FudmFzLmxpc3R2aWV3cycsICdvbmNhbnZhcy5saXN0dmlld3MucnRsJztcbiIsIi5tbS1tZW51IHtcbiAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgIHRvcDogJG1tX29mZnNldFRvcDtcbiAgICAgICAgcmlnaHQ6ICRtbV9vZmZzZXRSaWdodDtcbiAgICAgICAgYm90dG9tOiAkbW1fb2Zmc2V0Qm90dG9tO1xuICAgICAgICBsZWZ0OiAkbW1fb2Zmc2V0TGVmdDtcblxuICAgICAgICBiYWNrZ3JvdW5kOiAkbW1fYmFja2dyb3VuZENvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRtbV9ib3JkZXJDb2xvcjtcbiAgICAgICAgY29sb3I6ICRtbV90ZXh0Q29sb3I7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbW1fbGluZUhlaWdodDtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHZhcigtLW1tLW9mZnNldC10b3ApO1xuICAgIHJpZ2h0OiB2YXIoLS1tbS1vZmZzZXQtcmlnaHQpO1xuICAgIGJvdHRvbTogdmFyKC0tbW0tb2Zmc2V0LWJvdHRvbSk7XG4gICAgbGVmdDogdmFyKC0tbW0tb2Zmc2V0LWxlZnQpO1xuICAgIHotaW5kZXg6IDA7XG5cbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBhdXRvO1xuXG4gICAgYmFja2dyb3VuZDogdmFyKC0tbW0tY29sb3ItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tbS1jb2xvci1ib3JkZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1tbS1jb2xvci10ZXh0KTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbW0tbGluZS1oZWlnaHQpO1xuXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB2YXIoLS1tbS1jb2xvci1iYWNrZ3JvdW5kLWVtcGhhc2lzKTtcblxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbiAgICBhLFxuICAgIGE6bGluayxcbiAgICBhOmFjdGl2ZSxcbiAgICBhOnZpc2l0ZWQsXG4gICAgYTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxufVxuIiwiLy9cdEFuaW1hdGlvbnNcbiRtbV90cmFuc2l0aW9uRHVyYXRpb246IDAuNHMgIWRlZmF1bHQ7XG4kbW1fdHJhbnNpdGlvbkRlbGF5OiAwLjRzICFkZWZhdWx0O1xuJG1tX3RyYW5zaXRpb25GdW5jdGlvbjogZWFzZSAhZGVmYXVsdDtcblxuLy9cdENvbG9yc1xuJG1tX2JhY2tncm91bmRDb2xvcjogI2YzZjNmMyAhZGVmYXVsdDtcbiRtbV9ib3JkZXJDb2xvcjogcmdiYSgjMDAwLCAwLjEpICFkZWZhdWx0O1xuJG1tX2RpbW1lZFRleHRDb2xvcjogcmdiYSgjMDAwLCAwLjMpICFkZWZhdWx0O1xuJG1tX2VtcGhhc2l6ZWRCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoI2ZmZiwgMC40KSAhZGVmYXVsdDtcbiRtbV9oaWdobGlnaHRlZEJhY2tncm91bmRDb2xvcjogcmdiYSgjMDAwLCAwLjA1KSAhZGVmYXVsdDtcbiRtbV9uYXZiYXJDb2xvcjogcmdiYSgjMDAwLCAwLjMpICFkZWZhdWx0O1xuJG1tX3RleHRDb2xvcjogcmdiYSgjMDAwLCAwLjc1KSAhZGVmYXVsdDtcblxuLy9cdFBvc2l0aW9uaW5nXG4kbW1fb2Zmc2V0VG9wOiAwICFkZWZhdWx0O1xuJG1tX29mZnNldFJpZ2h0OiAwICFkZWZhdWx0O1xuJG1tX29mZnNldEJvdHRvbTogMCAhZGVmYXVsdDtcbiRtbV9vZmZzZXRMZWZ0OiAwICFkZWZhdWx0O1xuXG4vL1x0U2l6ZXNcbiRtbV9saXN0aXRlbVNpemU6IDQ0cHggIWRlZmF1bHQ7XG4kbW1fYnRuU2l6ZTogNTBweCAhZGVmYXVsdDtcbiRtbV9wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xuJG1tX2xpbmVIZWlnaHQ6IDIwcHggIWRlZmF1bHQ7XG5cbiRtbV9saXN0aXRlbUluZGVudDogJG1tX3BhZGRpbmcgKiAyICFkZWZhdWx0O1xuJG1tX25hdmJhclNpemU6ICRtbV9saXN0aXRlbVNpemUgIWRlZmF1bHQ7XG4kbW1fcGFuZWxQYWRkaW5nOiAkbW1fcGFkZGluZyAqIDIgIWRlZmF1bHQ7XG4kbW1fc3Vib3BlbldpZHRoOiAkbW1fYnRuU2l6ZSAhZGVmYXVsdDtcbiRtbV9zdWJwYW5lbE9mZnNldDogMzAlICFkZWZhdWx0O1xuXG4kbW1fbWVudVdpZHRoOiAwLjggIWRlZmF1bHQ7XG4kbW1fbWVudU1pbldpZHRoOiAyNDBweCAhZGVmYXVsdDtcbiRtbV9tZW51TWF4V2lkdGg6IDQ0MHB4ICFkZWZhdWx0O1xuJG1tX21lbnVIZWlnaHQ6IDAuOCAhZGVmYXVsdDtcbiRtbV9tZW51TWluSGVpZ2h0OiAxNDBweCAhZGVmYXVsdDtcbiRtbV9tZW51TWF4SGVpZ2h0OiA4ODBweCAhZGVmYXVsdDtcblxuJG1tX29wdF9zY3JlZW5yZWFkZXJcdDogdHJ1ZSAhZGVmYXVsdDtcblxuJG1tX2NvdW50ZXJXaWR0aDogJG1tX2J0blNpemUgIWRlZmF1bHQ7XG5cbiRtbV9kcm9wZG93blNoYWRvdzogMCAycHggMTBweCByZ2JhKCAjMDAwLCAwLjMgKSAhZGVmYXVsdDtcbiRtbV9kcm9wZG93blRpcFg6IDIwcHggIWRlZmF1bHQ7XG4kbW1fZHJvcGRvd25UaXBZOiAxMHB4ICFkZWZhdWx0O1xuXG4kbW1faWNvbmJhclNpemU6ICRtbV9idG5TaXplICFkZWZhdWx0O1xuXG4kbW1faWNvbnBhbmVsU2l6ZTogJG1tX2J0blNpemUgIWRlZmF1bHQ7XG5cbiRtbV9zZWN0aW9uSW5kZXhlclNpemU6IDIwcHggIWRlZmF1bHQ7XG5cbiRtbV9zaWRlYmFyQ29sbGFwc2VkU2l6ZTogJG1tX2J0blNpemUgIWRlZmF1bHQ7XG4kbW1fc2lkZWJhckV4cGFuZGVkU2l6ZTogJG1tX21lbnVNYXhXaWR0aCAhZGVmYXVsdDtcblxuJG1tX3RvZ2dsZUNoZWNrZWRDb2xvcjogIzRiZDk2MyAhZGVmYXVsdDtcbiRtbV90b2dnbGVIZWlnaHQ6ICRtbV9saXN0aXRlbVNpemUgLSAkbW1fcGFkZGluZyAhZGVmYXVsdDtcbiRtbV90b2dnbGVXaWR0aDogKCRtbV90b2dnbGVIZWlnaHQgKiAyKSAtICRtbV9wYWRkaW5nICFkZWZhdWx0O1xuJG1tX2NoZWNrSGVpZ2h0OiAkbW1fYnRuU2l6ZSAtICRtbV9wYWRkaW5nICFkZWZhdWx0O1xuJG1tX2NoZWNrV2lkdGg6ICRtbV9idG5TaXplIC0gJG1tX3BhZGRpbmcgIWRlZmF1bHQ7XG5cbiRtbV9mdWxsc2NyZWVuX2Z1bGw6IDEgIWRlZmF1bHQ7XG4kbW1fZnVsbHNjcmVlbl9taW46IDE0MHB4ICFkZWZhdWx0O1xuJG1tX2Z1bGxzY3JlZW5fbWF4OiAxMDAwMHB4ICFkZWZhdWx0O1xuXG4kbW1fcGFnZWRpbU9wYWNpdHk6IDAuMyAhZGVmYXVsdDtcbiRtbV9wYWdlZGltRGVsYXk6IDAuNHMgIWRlZmF1bHQ7XG4kbW1fcG9wdXBTaGFkb3c6IDAgMnB4IDEwcHggcmdiYSggIzAwMCwgMC4zICkgIWRlZmF1bHQ7IiwiQGlmICggJG1tX2luY2x1ZGVfcnRsICkge1xuXHRbZGlyPVwicnRsXCJdIC5tbS1tZW51IHtcblx0XHRkaXJlY3Rpb246IHJ0bDtcblx0fVxufSIsIiRtbV9tb2R1bGU6ICcubW0tcGFuZWwnO1xuXG4jeyRtbV9tb2R1bGV9IHtcbiAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRtbV9iYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJG1tX2JvcmRlckNvbG9yO1xuICAgICAgICBjb2xvcjogJG1tX3RleHRDb2xvcjtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGhlaWdodDogJG1tX2xpc3RpdGVtU2l6ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHotaW5kZXg6IDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBjb2xvcjogdmFyKC0tbW0tY29sb3ItdGV4dCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tbS1jb2xvci1ib3JkZXIpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW1tLWNvbG9yLWJhY2tncm91bmQpO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG1tX3RyYW5zaXRpb25EdXJhdGlvbiAkbW1fdHJhbnNpdGlvbkZ1bmN0aW9uO1xuXG4gICAgLy9cdEZpeGVzIGNzcyBmcm9tIG90aGVyIHN0eWxlcyBoaWRpbmcgc3VibWVudXNcbiAgICAmOm5vdCgubW0taGlkZGVuKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8vXHRCZWNhdXNlIHBhZGRpbmctYm90dG9tIGlzIGlnbm9yZWQgd2hlbiBhIERJViBpcyBzY3JvbGxhYmxlXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1tbS1saXN0aXRlbS1zaXplKTtcbiAgICB9XG5cbiAgICAmX29wZW5lZCB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAsIDApO1xuICAgIH1cblxuICAgICZfb3BlbmVkLXBhcmVudCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLSRtbV9zdWJwYW5lbE9mZnNldCwgMCwgMCk7XG4gICAgfVxuXG4gICAgJl9oaWdoZXN0IHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAmX25vYW5pbWF0aW9uIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAgICYjeyRtbV9tb2R1bGV9X29wZW5lZC1wYXJlbnQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tbS1wYW5lbHMgPiAmIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgfVxufVxuXG4jeyRtbV9tb2R1bGV9X19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAkbW1fcGFuZWxQYWRkaW5nICRtbV9wYW5lbFBhZGRpbmcgMDtcbn1cblxuLm1tLXBhbmVscyB7XG4gICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbW1fYmFja2dyb3VuZENvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRtbV9ib3JkZXJDb2xvcjtcbiAgICAgICAgY29sb3I6ICRtbV90ZXh0Q29sb3I7XG4gICAgfVxuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGJhY2tncm91bmQ6IHZhcigtLW1tLWNvbG9yLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbW0tY29sb3ItYm9yZGVyKTtcbiAgICBjb2xvcjogdmFyKC0tbW0tY29sb3ItdGV4dCk7XG59XG4iLCJAaWYgKCRtbV9pbmNsdWRlX3J0bCkge1xuICAgIFtkaXI9J3J0bCddIC5tbS1wYW5lbCB7XG4gICAgICAgICY6bm90KC5tbS1wYW5lbF9vcGVuZWQpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5tbS1wYW5lbF9vcGVuZWQtcGFyZW50IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAlLCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpZiAoJG1tX2luY2x1ZGVfdmVydGljYWwpIHtcbiAgICAubW0tbGlzdGl0ZW1fdmVydGljYWwgPiAubW0tcGFuZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogJG1tX3BhZGRpbmcgMCAkbW1fcGFkZGluZyAkbW1fcGFkZGluZztcblxuICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tbS1saXN0aXRlbV9vcGVuZWQgPiAubW0tcGFuZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAubW0tbGlzdGl0ZW1fdmVydGljYWwge1xuICAgICAgICA+IC5tbS1saXN0aXRlbV9fYnRuIHtcbiAgICAgICAgICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRtbV9saXN0aXRlbVNpemU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGhlaWdodDogdmFyKC0tbW0tbGlzdGl0ZW0tc2l6ZSk7XG4gICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAubW0tbGlzdGl0ZW06bGFzdC1jaGlsZDphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1tLWxpc3RpdGVtX29wZW5lZCB7XG4gICAgICAgID4gLm1tLWxpc3RpdGVtX19idG46YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKTtcbiAgICAgICAgICAgIHJpZ2h0OiAkbW1fbGlzdGl0ZW1JbmRlbnQgLSAxO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiJG1tX21vZHVsZTogJy5tbS1idG4nO1xuXG4jeyRtbV9tb2R1bGV9IHtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRtbV9idG5TaXplO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJG1tX2RpbW1lZFRleHRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLW1tLWNvbG9yLWJ1dHRvbik7XG4gICAgfVxufVxuXG4lbW1fYnRuX2Fycm93IHtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbn1cblxuI3skbW1fbW9kdWxlfSB7XG4gICAgJl9wcmV2OmJlZm9yZSB7XG4gICAgICAgIEBleHRlbmQgJW1tX2J0bl9hcnJvdztcbiAgICAgICAgQGluY2x1ZGUgbW1fYnRuX2Fycm93X3ByZXY7XG4gICAgfVxuXG4gICAgJl9uZXh0OmFmdGVyIHtcbiAgICAgICAgQGV4dGVuZCAlbW1fYnRuX2Fycm93O1xuICAgICAgICBAaW5jbHVkZSBtbV9idG5fYXJyb3dfbmV4dDtcbiAgICB9XG5cbiAgICAmX2Nsb3NlIHtcbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICByaWdodDogJG1tX2xpc3RpdGVtSW5kZW50IC0gMjtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgIHJpZ2h0OiAkbW1fbGlzdGl0ZW1JbmRlbnQgKyA1O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gQXJyb3cgYnV0dG9uc1xuQG1peGluIG1tX2J0bl9hcnJvd19wcmV2IHtcblx0dHJhbnNmb3JtOiByb3RhdGUoIC00NWRlZyApO1xuXHRsZWZ0OiAkbW1fbGlzdGl0ZW1JbmRlbnQgKyAzO1xuXHRyaWdodDogYXV0bztcbn1cblxuQG1peGluIG1tX2J0bl9hcnJvd19uZXh0IHtcblx0dHJhbnNmb3JtOiByb3RhdGUoIDEzNWRlZyApO1xuXHRyaWdodDogJG1tX2xpc3RpdGVtSW5kZW50ICsgMztcblx0bGVmdDogYXV0bztcbn1cblxuXG4vL1x0TWlzY1xuQG1peGluIG1tX2VsbGlwc2lzKCkge1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuQG1peGluIG1tX2NsZWFyZml4KCkge1xuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRjbGVhcjogYm90aDtcblx0fVxufVxuQG1peGluIG1tX29mZmNhbnZhc19zaXplKFxuICAgICRjbHM6ICcubW0tbWVudV9vZmZjYW52YXMnLFxuICAgICR3aWR0aDogJG1tX21lbnVXaWR0aCxcbiAgICAkbWluV2lkdGg6ICRtbV9tZW51TWluV2lkdGgsXG4gICAgJG1heFdpZHRoOiAkbW1fbWVudU1heFdpZHRoXG4pIHtcbiAgICAjeyRjbHN9IHtcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJHdpZHRoKTtcbiAgICAgICAgbWluLXdpZHRoOiAkbWluV2lkdGg7XG4gICAgICAgIG1heC13aWR0aDogJG1heFdpZHRoO1xuICAgIH1cblxuICAgIC5tbS13cmFwcGVyX29wZW5pbmcge1xuICAgICAgICAjeyRjbHN9Lm1tLW1lbnVfb3BlbmVkIH4gLm1tLXNsaWRlb3V0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoI3skd2lkdGggKiAxMDB9dncsIDAsIDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy9cdGFkanVzdCBmb3IgbWluLSBhbmQgbWF4LXdpZHRoXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJG1pbldpZHRoIC8gJHdpZHRoKSB7XG4gICAgICAgIC5tbS13cmFwcGVyX29wZW5pbmcge1xuICAgICAgICAgICAgI3skY2xzfS5tbS1tZW51X29wZW5lZCB+IC5tbS1zbGlkZW91dCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkbWluV2lkdGgsIDAsIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJG1heFdpZHRoIC8gJHdpZHRoKSB7XG4gICAgICAgIC5tbS13cmFwcGVyX29wZW5pbmcge1xuICAgICAgICAgICAgI3skY2xzfS5tbS1tZW51X29wZW5lZCB+IC5tbS1zbGlkZW91dCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkbWF4V2lkdGgsIDAsIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gbW1fY29sdW1uc19zaXplKCRucikge1xuICAgIFtjbGFzcyo9J21tLW1lbnVfY29sdW1ucy0nXSAubW0tcGFuZWxzID4gLm1tLXBhbmVsX2NvbHVtbnMtI3skbnJ9IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkbnIgKiAxMDAlLCAwLCAwKTtcbiAgICB9XG5cbiAgICAubW0tbWVudV9jb2x1bW5zLSN7JG5yfSAubW0tcGFuZWxzID4gLm1tLXBhbmVsIHtcbiAgICAgICAgei1pbmRleDogJG5yO1xuXG4gICAgICAgIEBpZiAoJG5yID4gMCkge1xuICAgICAgICAgICAgd2lkdGg6IGNlaWwoMTAwJSAvICRuciAqIDEwMCkgLyAxMDA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5tbS1wYW5lbF9vcGVuZWQpOm5vdCgubW0tcGFuZWxfb3BlbmVkLXBhcmVudCkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgoJG5yICsgMSkgKiAxMDAlLCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1tX29mZmNhbnZhc19zaXplKFxuICAgICAgICAnLm1tLW1lbnVfY29sdW1ucy0jeyRucn0nLFxuICAgICAgICAkbW1fbWVudVdpZHRoLFxuICAgICAgICAkbW1fbWVudU1pbldpZHRoLFxuICAgICAgICAkbW1fbWVudU1heFdpZHRoICogJG5yXG4gICAgKTtcbiAgICBAaW5jbHVkZSBtbV9wb3NpdGlvbl9yaWdodChcbiAgICAgICAgJy5tbS1tZW51X2NvbHVtbnMtI3skbnJ9JyxcbiAgICAgICAgJG1tX21lbnVXaWR0aCxcbiAgICAgICAgJG1tX21lbnVNaW5XaWR0aCxcbiAgICAgICAgJG1tX21lbnVNYXhXaWR0aCAqICRuclxuICAgICk7XG59XG5cbkBtaXhpbiBtbV9pY29ucGFuZWxfc2l6ZSgkbnIpIHtcbiAgICAubW0tcGFuZWxfaWNvbnBhbmVsLSN7JG5yfSB7XG4gICAgICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRtbV9pY29ucGFuZWxTaXplICogJG5yfSk7XG4gICAgICAgIH1cblxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gKHZhcigtLW1tLWljb25wYW5lbC1zaXplKSAqICN7JG5yfSkpO1xuICAgIH1cbn1cblxuQG1peGluIG1tX25hdmJhcl90YWJzX2JvcmRlcnMoICR0b3AsICRib3R0b20sICRsYXN0LCAkZmlyc3QgKSB7XG5cdC5tbS1uYXZiYXJzXyN7JHRvcH0ge1xuXHRcdC5tbS1uYXZiYXJfdGFiczpub3QoIDojeyRsYXN0fS1jaGlsZCApIHtcblx0XHRcdGJvcmRlci0jeyRib3R0b219LXdpZHRoOiAxcHg7XG5cdFx0XHRib3JkZXItI3skYm90dG9tfS1zdHlsZTogc29saWQ7XG5cdFx0fVxuXHRcdC5tbS1uYXZiYXJfX3RhYl9zZWxlY3RlZCB7XG5cdFx0XHRib3JkZXItI3skYm90dG9tfTogbm9uZTtcblx0XHRcdG1hcmdpbi0jeyRib3R0b219OiAtMXB4O1xuXHRcdH1cblx0XHQubW0tbmF2YmFyX3RhYnM6I3skZmlyc3R9LWNoaWxkIC5tbS1uYXZiYXJfX3RhYl9zZWxlY3RlZCB7XG5cdFx0XHRib3JkZXItI3skdG9wfTogbm9uZTtcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIG1tX2VmZmVjdF9saXN0aXRlbV9kZWxheSggJGkgKSB7XG5cdCY6bnRoLWNoaWxkKCAjeyRpfSApIHtcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiAoICRpICogNTBtcyApO1xuXHR9XG59XG4vL1x0UG9zaXRpb24gcmlnaHRcbkBtaXhpbiBtbV9wb3NpdGlvbl9yaWdodChcbiAgICAkY2xzOiAnJyxcbiAgICAkd2lkdGg6ICRtbV9tZW51V2lkdGgsXG4gICAgJG1pbldpZHRoOiAkbW1fbWVudU1pbldpZHRoLFxuICAgICRtYXhXaWR0aDogJG1tX21lbnVNYXhXaWR0aFxuKSB7XG4gICAgLm1tLXdyYXBwZXJfb3BlbmluZyB7XG4gICAgICAgICN7JGNsc30ubW0tbWVudV9wb3NpdGlvbi1yaWdodC5tbS1tZW51X29wZW5lZCB+IC5tbS1zbGlkZW91dCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCN7LSR3aWR0aCAqIDEwMH12dywgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvL1x0YWRqdXN0IGZvciBtaW4tIGFuZCBtYXgtd2lkdGhcbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkbWluV2lkdGggLyAkd2lkdGgpIHtcbiAgICAgICAgLm1tLXdyYXBwZXJfb3BlbmluZyB7XG4gICAgICAgICAgICAjeyRjbHN9Lm1tLW1lbnVfcG9zaXRpb24tcmlnaHQubW0tbWVudV9vcGVuZWQgfiAubW0tc2xpZGVvdXQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLSRtaW5XaWR0aCwgMCwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJG1heFdpZHRoIC8gJHdpZHRoKSB7XG4gICAgICAgIC5tbS13cmFwcGVyX29wZW5pbmcge1xuICAgICAgICAgICAgI3skY2xzfS5tbS1tZW51X3Bvc2l0aW9uLXJpZ2h0Lm1tLW1lbnVfb3BlbmVkIH4gLm1tLXNsaWRlb3V0IHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0kbWF4V2lkdGgsIDAsIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1x0UG9zaXRpb24gdG9wXG5AbWl4aW4gbW1fcG9zaXRpb25fdG9wKFxuICAgICRjbHM6ICcnLFxuICAgICRoZWlnaHQ6ICRtbV9tZW51SGVpZ2h0LFxuICAgICRtaW5IZWlnaHQ6ICRtbV9tZW51TWluSGVpZ2h0LFxuICAgICRtYXhIZWlnaHQ6ICRtbV9tZW51TWF4SGVpZ2h0XG4pIHtcbiAgICAjeyRjbHN9Lm1tLW1lbnVfcG9zaXRpb24tdG9wIHtcbiAgICAgICAgaGVpZ2h0OiAjeyRoZWlnaHQgKiAxMDB9dmg7XG4gICAgICAgIG1pbi1oZWlnaHQ6ICRtaW5IZWlnaHQ7XG4gICAgICAgIG1heC1oZWlnaHQ6ICRtYXhIZWlnaHQ7XG4gICAgfVxufVxuXG4vL1x0UG9zaXRpb24gYm90dG9tXG5AbWl4aW4gbW1fcG9zaXRpb25fYm90dG9tKFxuICAgICRjbHM6ICcnLFxuICAgICRoZWlnaHQ6ICRtbV9tZW51SGVpZ2h0LFxuICAgICRtaW5IZWlnaHQ6ICRtbV9tZW51TWluSGVpZ2h0LFxuICAgICRtYXhIZWlnaHQ6ICRtbV9tZW51TWF4SGVpZ2h0XG4pIHtcbiAgICAjeyRjbHN9Lm1tLW1lbnVfcG9zaXRpb24tYm90dG9tIHtcbiAgICAgICAgaGVpZ2h0OiAjeyRoZWlnaHQgKiAxMDB9dmg7XG4gICAgICAgIG1pbi1oZWlnaHQ6ICRtaW5IZWlnaHQ7XG4gICAgICAgIG1heC1oZWlnaHQ6ICRtYXhIZWlnaHQ7XG4gICAgfVxufVxuIiwiJG1tX21vZHVsZTogJy5tbS1idG4nO1xuXG5AaWYgKCAkbW1faW5jbHVkZV9ydGwgKSB7XG5cdFtkaXI9XCJydGxcIl0ge1xuXHRcdCN7JG1tX21vZHVsZX0ge1xuXHRcdFx0Jl9uZXh0OmFmdGVyIHtcblx0XHRcdFx0QGluY2x1ZGUgbW1fYnRuX2Fycm93X3ByZXY7XG5cdFx0XHR9XG5cdFx0XG5cblx0XHRcdCZfcHJldjpiZWZvcmUge1xuXHRcdFx0XHRAaW5jbHVkZSBtbV9idG5fYXJyb3dfbmV4dDtcblx0XHRcdH1cblxuXHRcdFx0Jl9jbG9zZSB7XG5cdFx0XHRcdCY6YmVmb3JlLFxuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRyaWdodDogYXV0bztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRsZWZ0OiAkbW1fbGlzdGl0ZW1JbmRlbnQgKyA1O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0bGVmdDogJG1tX2xpc3RpdGVtSW5kZW50IC0gMjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiJG1tX21vZHVsZTogJy5tbS1uYXZiYXInO1xuXG4jeyRtbV9tb2R1bGV9IHtcbiAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6ICRtbV9uYXZiYXJTaXplO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1tX2JvcmRlckNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbW1fYmFja2dyb3VuZENvbG9yO1xuICAgICAgICBjb2xvcjogJG1tX2RpbW1lZFRleHRDb2xvcjtcblxuICAgICAgICA+ICoge1xuICAgICAgICAgICAgbWluLWhlaWdodDogJG1tX25hdmJhclNpemU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1pbi1oZWlnaHQ6IHZhcigtLW1tLW5hdmJhci1zaXplKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbW0tY29sb3ItYm9yZGVyKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tbS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICBjb2xvcjogdmFyKC0tbW0tY29sb3ItdGV4dC1kaW1tZWQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkbW1fdHJhbnNpdGlvbkR1cmF0aW9uICRtbV90cmFuc2l0aW9uRnVuY3Rpb247XG5cbiAgICBAc3VwcG9ydHMgKHBvc2l0aW9uOiBzdGlja3kpIHtcbiAgICAgICAgJl9zdGlja3kge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+ICoge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cbn1cblxuI3skbW1fbW9kdWxlfV9fYnRuIHtcbiAgICBmbGV4LWdyb3c6IDA7XG59XG5cbiN7JG1tX21vZHVsZX1fX3RpdGxlIHtcblxuICAgIGZsZXg6IDEgMSA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRtbV9wYW5lbFBhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJG1tX3BhbmVsUGFkZGluZztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLy8gQ2VudGVyIHRoZSBjb250ZW50LlxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgPiBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgbW1fZWxsaXBzaXM7XG4gICAgfVxuXG4gICAgI3skbW1fbW9kdWxlfV9fYnRuOm5vdCgubW0taGlkZGVuKSArICYge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRtbV9idG5TaXplO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIC9DZW50ZXJcbn1cbiIsIiRtbV9tb2R1bGU6ICcubW0tbmF2YmFyJztcblxuQGlmICgkbW1faW5jbHVkZV9ydGwpIHtcbiAgICBbZGlyPSdydGwnXSB7XG4gICAgICAgICN7JG1tX21vZHVsZX0ge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiJG1tX21vZHVsZTogJy5tbS1saXN0aXRlbSc7XG5cbi5tbS1saXN0dmlldyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuI3skbW1fbW9kdWxlfSB7XG4gICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICBjb2xvcjogJG1tX3RleHRDb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbW1fYm9yZGVyQ29sb3I7XG4gICAgfVxuXG4gICAgY29sb3I6IHZhcigtLW1tLWNvbG9yLXRleHQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbW0tY29sb3ItYm9yZGVyKTtcblxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogJG1tX2xpc3RpdGVtSW5kZW50O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgIH1cblxuICAgIGEsXG4gICAgYTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG5cbiVtbV9saXN0aXRlbV9jb250ZW50IHtcbiAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgIHBhZGRpbmc6ICgkbW1fbGlzdGl0ZW1TaXplIC0gJG1tX2xpbmVIZWlnaHQpIC8gMjtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiBjYWxjKCh2YXIoLS1tbS1saXN0aXRlbS1zaXplKSAtIHZhcigtLW1tLWxpbmUtaGVpZ2h0KSkgLyAyKTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbn1cblxuI3skbW1fbW9kdWxlfV9fdGV4dCB7XG4gICAgQGV4dGVuZCAlbW1fbGlzdGl0ZW1fY29udGVudDtcbiAgICBAaW5jbHVkZSBtbV9lbGxpcHNpcztcblxuICAgIHBhZGRpbmctbGVmdDogJG1tX2xpc3RpdGVtSW5kZW50O1xuICAgIHBhZGRpbmctcmlnaHQ6ICRtbV9wYWRkaW5nO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LWJhc2lzOiAxMCU7XG59XG5cbiN7JG1tX21vZHVsZX1fX2J0biB7XG4gICAgQGV4dGVuZCAlbW1fbGlzdGl0ZW1fY29udGVudDtcblxuICAgIGJhY2tncm91bmQ6IHJnYmEoMywgMiwgMSwgMCk7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRtbV9zdWJvcGVuV2lkdGg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpub3QoLm1tLWxpc3RpdGVtX190ZXh0KSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICB9XG59XG5cbiN7JG1tX21vZHVsZX0ge1xuICAgICZfc2VsZWN0ZWQge1xuICAgICAgICA+ICN7JG1tX21vZHVsZX1fX3RleHQge1xuICAgICAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtbV9lbXBoYXNpemVkQmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tbS1jb2xvci1iYWNrZ3JvdW5kLWVtcGhhc2lzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfb3BlbmVkIHtcbiAgICAgICAgPiAjeyRtbV9tb2R1bGV9X19idG4sXG4gICAgICAgID4gLm1tLXBhbmVsIHtcbiAgICAgICAgICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbW1faGlnaGxpZ2h0ZWRCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLW1tLWNvbG9yLWJhY2tncm91bmQtaGlnaGxpZ2h0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIiRtbV9tb2R1bGU6ICcubW0tbGlzdGl0ZW0nO1xuXG5AaWYgKCAkbW1faW5jbHVkZV9ydGwgKSB7XG5cdFtkaXI9XCJydGxcIl0gIHtcblxuXHRcdC8vXHRpbnZlcnQgdGhlIGluZGVudCBvbiB0aGUgYm9yZGVyXG5cdFx0I3skbW1fbW9kdWxlfTphZnRlciB7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0cmlnaHQ6ICRtbV9saXN0aXRlbUluZGVudDtcblx0XHR9XG5cblx0XHQjeyRtbV9tb2R1bGV9X190ZXh0IHtcblx0XHRcdHBhZGRpbmctbGVmdDogJG1tX3BhZGRpbmc7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAkbW1fbGlzdGl0ZW1JbmRlbnQ7XG5cdFx0fVxuXG5cdFx0I3skbW1fbW9kdWxlfV9fYnRuIHtcblx0XHRcdHBhZGRpbmctbGVmdDogJG1tX3N1Ym9wZW5XaWR0aDtcblx0XHRcdGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuXHRcdFx0Ym9yZGVyLWxlZnQtc3R5bGU6IG5vbmU7XG5cblx0XHRcdCY6bm90KCAjeyRtbV9tb2R1bGV9X190ZXh0ICkge1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXG5cdFx0XHRcdGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuXHRcdFx0XHRib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMnLCAnLi4vLi4vaW5jbHVkZXMnLCAnLi4vLi4vdmFyaWFibGVzJztcblxuLy9cdEFuaW1hdGlvbnNcbi5tbS1wYWdlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm1tLXNsaWRlb3V0IHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG1tX3RyYW5zaXRpb25EdXJhdGlvbiAkbW1fdHJhbnNpdGlvbkZ1bmN0aW9uO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi8vXHRXcmFwcGVyXG4ubW0td3JhcHBlciB7XG4gICAgJl9vcGVuZWQge1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAubW0tcGFnZSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX2JhY2tncm91bmQge1xuICAgICAgICAubW0tcGFnZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1x0TWVudVxuLm1tLW1lbnVfb2ZmY2FudmFzIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogMDtcblxuICAgICY6bm90KC5tbS1tZW51X29wZW5lZCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgbW1fb2ZmY2FudmFzX3NpemU7XG5cbkBpZiAoJG1tX2luY2x1ZGVfb2ZmY2FudmFzX2Jsb2NrZXIpIHtcbiAgICAubW0td3JhcHBlcl9fYmxvY2tlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMywgMiwgMSwgMCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIC5tbS13cmFwcGVyX2Jsb2NraW5nIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBib2R5IHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAubW0td3JhcHBlcl9fYmxvY2tlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGltcG9ydCAnb2ZmY2FudmFzLnJ0bCc7XG4iLCJAaWYgKCAkbW1faW5jbHVkZV9ydGwgKSB7XG5cdFtkaXI9XCJydGxcIl0gLm1tLW1lbnVfb2ZmY2FudmFzIHtcblx0XHQvKmxlZnQ6IHVuc2V0O1xuXHRcdHJpZ2h0OiAwOyovXG5cdH1cbn1cbiIsIkBpbXBvcnQgXG5cdCcuLi8uLi9taXhpbnMnLFxuXHQnLi4vLi4vaW5jbHVkZXMnLFxuXHQnLi4vLi4vdmFyaWFibGVzJztcblxuXG4ubW0tc3Jvbmx5IHtcblx0Ym9yZGVyOiAwICFpbXBvcnRhbnQ7XG5cdGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KSAhaW1wb3J0YW50O1xuXHRjbGlwLXBhdGg6IGluc2V0KDUwJSkgIWltcG9ydGFudDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuXHR3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG5cdG1pbi13aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG5cdG1pbi1oZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcblx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG59IiwiQGltcG9ydCAnLi4vLi4vbWl4aW5zJywgJy4uLy4uL2luY2x1ZGVzJywgJy4uLy4uL3ZhcmlhYmxlcyc7XG5cbi5tbS1tZW51X2F1dG9oZWlnaHQge1xuICAgICY6bm90KC5tbS1tZW51X29mZmNhbnZhcykge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJi5tbS1tZW51X3Bvc2l0aW9uIHtcbiAgICAgICAgJi10b3AsXG4gICAgICAgICYtYm90dG9tIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IHBlcmNlbnRhZ2UoJG1tX21lbnVIZWlnaHQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1tZWFzdXJpbmcge1xuICAgICAgICAubW0tcGFuZWwge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tbS1wYW5lbHMgPiAubW0tcGFuZWwge1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJG1tX2luY2x1ZGVfdmVydGljYWwpIHtcbiAgICAgICAgICAgIC5tbS1saXN0aXRlbV92ZXJ0aWNhbDpub3QoLm1tLWxpc3RpdGVtX29wZW5lZCkgLm1tLXBhbmVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMnLCAnLi4vLi4vaW5jbHVkZXMnLCAnLi4vLi4vdmFyaWFibGVzJztcblxuW2NsYXNzKj0nbW0tbWVudV9jb2x1bW5zLSddIHtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aDtcblxuICAgIC5tbS1wYW5lbHMge1xuICAgICAgICA+IC5tbS1wYW5lbCB7XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoLCB0cmFuc2Zvcm07XG5cbiAgICAgICAgICAgICZfb3BlbmVkLFxuICAgICAgICAgICAgJl9vcGVuZWQtcGFyZW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5bY2xhc3MqPSdtbS1wYW5lbF9jb2x1bW5zLSddIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG59XG5cbi5tbS1tZW51X2NvbHVtbnMtMSAubW0tcGFuZWxfY29sdW1ucy0wLFxuLm1tLW1lbnVfY29sdW1ucy0yIC5tbS1wYW5lbF9jb2x1bW5zLTEsXG4ubW0tbWVudV9jb2x1bW5zLTMgLm1tLXBhbmVsX2NvbHVtbnMtMixcbi5tbS1tZW51X2NvbHVtbnMtNCAubW0tcGFuZWxfY29sdW1ucy0zIHtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG59XG5cbkBpbmNsdWRlIG1tX2NvbHVtbnNfc2l6ZSgwKTtcbkBpbmNsdWRlIG1tX2NvbHVtbnNfc2l6ZSgxKTtcbkBpbmNsdWRlIG1tX2NvbHVtbnNfc2l6ZSgyKTtcbkBpbmNsdWRlIG1tX2NvbHVtbnNfc2l6ZSgzKTtcbkBpbmNsdWRlIG1tX2NvbHVtbnNfc2l6ZSg0KTtcblxuQGlmICgkbW1faW5jbHVkZV9wb3NpdGlvbmluZ190b3Agb3IgJG1tX2luY2x1ZGVfcG9zaXRpb25pbmdfYm90dG9tKSB7XG4gICAgW2NsYXNzKj0nbW0tbWVudV9jb2x1bW5zLSddIHtcbiAgICAgICAgJi5tbS1tZW51X3Bvc2l0aW9uIHtcbiAgICAgICAgICAgICYtYm90dG9tLFxuICAgICAgICAgICAgJi10b3Age1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiAoJG1tX2luY2x1ZGVfcG9zaXRpb25pbmdfZnJvbnQpIHtcbiAgICAubW0td3JhcHBlcl9vcGVuaW5nIFtjbGFzcyo9J21tLW1lbnVfY29sdW1ucy0nXSB7XG4gICAgICAgICYubW0tbWVudV9wb3NpdGlvbiB7XG4gICAgICAgICAgICAmLWZyb250IHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aCwgbWluLXdpZHRoLCBtYXgtd2lkdGgsIHRyYW5zZm9ybTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL21peGlucycsICcuLi8uLi9pbmNsdWRlcycsICcuLi8uLi92YXJpYWJsZXMnO1xuXG4kbW1fbW9kdWxlOiAnLm1tLWNvdW50ZXInO1xuXG4jeyRtbV9tb2R1bGV9IHtcbiAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgIGNvbG9yOiAkbW1fZGltbWVkVGV4dENvbG9yO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogJG1tX3BhZGRpbmcgKiAyO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBjb2xvcjogdmFyKC0tbW0tY29sb3ItdGV4dC1kaW1tZWQpO1xufVxuXG5AaWYgKCRtbV9pbmNsdWRlX3NlYXJjaGZpZWxkKSB7XG4gICAgLm1tLWxpc3RpdGVtX25vc3ViaXRlbXMgPiAjeyRtbV9tb2R1bGV9IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBpbXBvcnQgJ2NvdW50ZXJzLnJ0bCc7XG4iLCJAaWYgKCRtbV9pbmNsdWRlX3J0bCkge1xuICAgIFtkaXI9J3J0bCddIC5tbS1jb3VudGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJG1tX3BhZGRpbmcgKiAyO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL21peGlucycsICcuLi8uLi9pbmNsdWRlcycsICcuLi8uLi92YXJpYWJsZXMnO1xuXG4kbW1fbW9kdWxlOiAnLm1tLWRpdmlkZXInO1xuXG4jeyRtbV9tb2R1bGV9IHtcbiAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWluLWhlaWdodDogJG1tX2xpbmVIZWlnaHQ7XG4gICAgICAgIHBhZGRpbmc6ICgoJG1tX2xpc3RpdGVtU2l6ZSAqIDAuNjUpIC0gJG1tX2xpbmVIZWlnaHQpICogMC41O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbW1fYmFja2dyb3VuZENvbG9yO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtbV9oaWdobGlnaHRlZEJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1tX2VsbGlwc2lzO1xuXG4gICAgQHN1cHBvcnRzIChwb3NpdGlvbjogc3RpY2t5KSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHRvcDogMDtcblxuICAgICAgICAubW0tbmF2YmFyX3N0aWNreTpub3QoLm1tLWhpZGRlbikgfiAubW0tbGlzdHZpZXcgJiB7XG4gICAgICAgICAgICB0b3A6IHZhcigtLW1tLW5hdmJhci1zaXplKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG1pbi1oZWlnaHQ6IHZhcigtLW1tLWxpbmUtaGVpZ2h0KTtcbiAgICBwYWRkaW5nOiBjYWxjKFxuICAgICAgICAoKHZhcigtLW1tLWxpc3RpdGVtLXNpemUpICogMC42NSkgLSB2YXIoLS1tbS1saW5lLWhlaWdodCkpICogMC41XG4gICAgKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkbW1fcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRtbV9saXN0aXRlbUluZGVudDtcblxuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbW0tY29sb3ItYmFja2dyb3VuZCk7XG5cbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG1tX3RyYW5zaXRpb25EdXJhdGlvbiAkbW1fdHJhbnNpdGlvbkZ1bmN0aW9uO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tbS1jb2xvci1iYWNrZ3JvdW5kLWhpZ2hsaWdodCk7XG4gICAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vbWl4aW5zJywgJy4uLy4uL2luY2x1ZGVzJywgJy4uLy4uL3ZhcmlhYmxlcyc7XG5cbi5tbS13cmFwcGVyX2RyYWdnaW5nIHtcbiAgICAubW0tbWVudSxcbiAgICAubW0tc2xpZGVvdXQge1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcyAhaW1wb3J0YW50O1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5tbS1tZW51IHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubW0td3JhcHBlcl9fYmxvY2tlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMnLCAnLi4vLi4vaW5jbHVkZXMnLCAnLi4vLi4vdmFyaWFibGVzJztcblxuQGlmICgkbW1faW5jbHVkZV9kcm9wZG93bikge1xuICAgIC5tbS1tZW51X2Ryb3Bkb3duIHtcbiAgICAgICAgYm94LXNoYWRvdzogJG1tX2Ryb3Bkb3duU2hhZG93O1xuICAgICAgICBoZWlnaHQ6IHBlcmNlbnRhZ2UoJG1tX21lbnVIZWlnaHQpO1xuICAgIH1cblxuICAgIC5tbS13cmFwcGVyX2Ryb3Bkb3duIHtcbiAgICAgICAgLm1tLXNsaWRlb3V0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJG1tX2luY2x1ZGVfb2ZmY2FudmFzX2Jsb2NrZXIpIHtcbiAgICAgICAgICAgIC5tbS13cmFwcGVyX19ibG9ja2VyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubW0tbWVudV9kcm9wZG93biB7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5tbS13cmFwcGVyX29wZW5lZDpub3QoLm1tLXdyYXBwZXJfb3BlbmluZykgLm1tLW1lbnVfZHJvcGRvd24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9cdFRpcFxuQGlmICgkbW1faW5jbHVkZV9kcm9wZG93bl90aXApIHtcbiAgICAubW0tbWVudV90aXAge1xuICAgICAgICAmLWxlZnQsXG4gICAgICAgICYtcmlnaHQsXG4gICAgICAgICYtdG9wLFxuICAgICAgICAmLWJvdHRvbSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkbW1fZHJvcGRvd25TaGFkb3c7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWxlZnQ6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IDIgKyAkbW1fZHJvcGRvd25UaXBYO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1yaWdodDpiZWZvcmUge1xuICAgICAgICAgICAgcmlnaHQ6IDIgKyAkbW1fZHJvcGRvd25UaXBYO1xuICAgICAgICB9XG5cbiAgICAgICAgJi10b3A6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogMiAtICRtbV9kcm9wZG93blRpcFk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWJvdHRvbTpiZWZvcmUge1xuICAgICAgICAgICAgYm90dG9tOiAyIC0gJG1tX2Ryb3Bkb3duVGlwWTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL21peGlucycsICcuLi8uLi9pbmNsdWRlcycsICcuLi8uLi92YXJpYWJsZXMnO1xuXG4kbW1fbW9kdWxlOiAnLm1tLWljb25iYXInO1xuXG46cm9vdCB7XG4gICAgLS1tbS1pY29uYmFyLXNpemU6ICN7JG1tX2ljb25iYXJTaXplfTtcbn1cblxuLm1tLW1lbnVfaWNvbmJhciB7XG4gICAgJi1sZWZ0IHtcbiAgICAgICAgLm1tLXBhbmVscyxcbiAgICAgICAgLm1tLW5hdmJhcnNfdG9wLFxuICAgICAgICAubW0tbmF2YmFyc19ib3R0b20ge1xuICAgICAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkbW1faWNvbmJhclNpemU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1tbS1pY29uYmFyLXNpemUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1yaWdodCB7XG4gICAgICAgIC5tbS1wYW5lbHMsXG4gICAgICAgIC5tbS1uYXZiYXJzX3RvcCxcbiAgICAgICAgLm1tLW5hdmJhcnNfYm90dG9tIHtcbiAgICAgICAgICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRtbV9pY29uYmFyU2l6ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1tbS1pY29uYmFyLXNpemUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jeyRtbV9tb2R1bGV9IHtcbiAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgIHdpZHRoOiAkbW1faWNvbmJhclNpemU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJG1tX2JvcmRlckNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbW1fYmFja2dyb3VuZENvbG9yO1xuICAgICAgICBjb2xvcjogJG1tX2RpbW1lZFRleHRDb2xvcjtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgLm1tLW1lbnVfaWNvbmJhci1sZWZ0ICYsXG4gICAgLm1tLW1lbnVfaWNvbmJhci1yaWdodCAmIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgIC5tbS1tZW51X2ljb25iYXItbGVmdCAmIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLm1tLW1lbnVfaWNvbmJhci1yaWdodCAmIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMjtcblxuICAgIHdpZHRoOiB2YXIoLS1tbS1pY29uYmFyLXNpemUpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIGJvcmRlcjogMCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLW1tLWNvbG9yLWJvcmRlcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbW0tY29sb3ItYmFja2dyb3VuZCk7XG4gICAgY29sb3I6IHZhcigtLW1tLWNvbG9yLXRleHQtZGltbWVkKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiN7JG1tX21vZHVsZX1fX3RvcCxcbiN7JG1tX21vZHVsZX1fX2JvdHRvbSB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG5cbiAgICA+ICoge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogKCRtbV9idG5TaXplIC8gNCkgMDtcbiAgICB9XG5cbiAgICBhLFxuICAgIGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuXG5AaWYgKCRtbV9pbmNsdWRlX2ljb25iYXJfdGFicykge1xuICAgICN7JG1tX21vZHVsZX1fX3RhYl9zZWxlY3RlZCB7XG4gICAgICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtbV9lbXBoYXNpemVkQmFja2dyb3VuZENvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tbW0tY29sb3ItYmFja2dyb3VuZC1lbXBoYXNpcyk7XG4gICAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vbWl4aW5zJywgJy4uLy4uL2luY2x1ZGVzJywgJy4uLy4uL3ZhcmlhYmxlcyc7XG5cbjpyb290IHtcbiAgICAtLW1tLWljb25wYW5lbC1zaXplOiAjeyRtbV9pY29ucGFuZWxTaXplfTtcbn1cblxuQGluY2x1ZGUgbW1faWNvbnBhbmVsX3NpemUoMSk7XG5AaW5jbHVkZSBtbV9pY29ucGFuZWxfc2l6ZSgyKTtcbkBpbmNsdWRlIG1tX2ljb25wYW5lbF9zaXplKDMpO1xuXG4ubW0tcGFuZWxfaWNvbnBhbmVsLWZpcnN0IHtcbiAgICB+IC5tbS1wYW5lbCB7XG4gICAgICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRtbV9pY29ucGFuZWxTaXplfSk7XG4gICAgICAgIH1cblxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tbW0taWNvbnBhbmVsLXNpemUpKTtcbiAgICB9XG59XG5cbi5tbS1tZW51X2ljb25wYW5lbCAubW0tcGFuZWxzIHtcbiAgICA+IC5tbS1wYW5lbCB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgd2lkdGg7XG5cbiAgICAgICAgJl9vcGVuZWQsXG4gICAgICAgICZfb3BlbmVkLXBhcmVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9vcGVuZWQtcGFyZW50IHtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdW5zZXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCgubW0tcGFuZWxfaWNvbnBhbmVsLWZpcnN0KTpub3QoLm1tLXBhbmVsX2ljb25wYW5lbC0wKSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW0tbWVudV9oaWRlbmF2YmFyIC5tbS1wYW5lbF9vcGVuZWQtcGFyZW50IC5tbS1uYXZiYXIsXG4ubW0tbWVudV9oaWRlZGl2aWRlciAubW0tcGFuZWxfb3BlbmVkLXBhcmVudCAubW0tZGl2aWRlciB7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuQGlmICgkbW1faW5jbHVkZV9pY29ucGFuZWxzX2Jsb2NrZXIpIHtcbiAgICAubW0tcGFuZWxfX2Jsb2NrZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDM7XG5cbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkbW1fdHJhbnNpdGlvbkR1cmF0aW9uICRtbV90cmFuc2l0aW9uRnVuY3Rpb247XG5cbiAgICAgICAgLm1tLXBhbmVsX29wZW5lZC1wYXJlbnQgJiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgICAgICBib3R0b206IC0xMDAwMDBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGltcG9ydCAnaWNvbnBhbmVscy5ydGwnO1xuIiwiQGlmICgkbW1faW5jbHVkZV9jb3VudGVycyBhbmQgJG1tX2luY2x1ZGVfaWNvbnBhbmVscykge1xuICAgIFtkaXI9J3J0bCddIC5tbS1tZW51X2ljb25wYW5lbCAubW0tcGFuZWxzIHtcbiAgICAgICAgPiAubW0tcGFuZWwge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCB3aWR0aDtcblxuICAgICAgICAgICAgJjpub3QoLm1tLXBhbmVsX2ljb25wYW5lbC1maXJzdCk6bm90KC5tbS1wYW5lbF9pY29ucGFuZWwtMCkge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL21peGlucycsICcuLi8uLi9pbmNsdWRlcycsICcuLi8uLi92YXJpYWJsZXMnO1xuXG4ubW0tbWVudV9rZXlib2FyZGZvY3VzIHtcbiAgICAmLFxuICAgICYubW0tbWVudV9vcGVuZWQgfiAubW0td3JhcHBlcl9fYmxvY2tlciB7XG4gICAgICAgIGE6Zm9jdXMge1xuICAgICAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtbV9lbXBoYXNpemVkQmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tbS1jb2xvci1iYWNrZ3JvdW5kLWVtcGhhc2lzKTtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tbS13cmFwcGVyX19ibG9ja2VyIHtcbiAgICAubW0tdGFic3RhcnQge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICAubW0tdGFiZW5kIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vbWl4aW5zJywgJy4uLy4uL2luY2x1ZGVzJywgJy4uLy4uL3ZhcmlhYmxlcyc7XG5cbiVtbV9uYXZiYXJzIHtcbn1cblxuQGlmICgkbW1faW5jbHVkZV9uYXZiYXJzX3RvcCkge1xuICAgIC5tbS1uYXZiYXJzX3RvcCB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgICAgIC5tbS1uYXZiYXI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgKCRtbV9pbmNsdWRlX25hdmJhcnNfYm90dG9tKSB7XG4gICAgLm1tLW5hdmJhcnNfYm90dG9tIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICAgICAgLm1tLW5hdmJhciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbW1fYm9yZGVyQ29sb3I7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLW1tLWNvbG9yLWJvcmRlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbXBvcnQgJ25hdmJhci5zZWFyY2hmaWVsZCcsICduYXZiYXIuYnJlYWRjcnVtYnMnLCAnbmF2YmFyLnRhYnMnO1xuIiwiQGlmICgkbW1faW5jbHVkZV9uYXZiYXJzX3NlYXJjaGZpZWxkKSB7XG4gICAgLm1tLW5hdmJhcl9fc2VhcmNoZmllbGQge1xuICAgICAgICAubW0tYnRuOm5vdCgubW0taGlkZGVuKSArICYgLm1tLXNlYXJjaGZpZWxkX19pbnB1dCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLm1tLXNlYXJjaGZpZWxkX19pbnB1dCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGlmICgkbW1faW5jbHVkZV9uYXZiYXJzX2JyZWFkY3J1bWJzKSB7XG4gICAgLm1tLW5hdmJhcl9fYnJlYWRjcnVtYnMge1xuICAgICAgICBAaW5jbHVkZSBtbV9lbGxpcHNpcztcblxuICAgICAgICBmbGV4OiAxIDEgNTAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgJG1tX3BhbmVsUGFkZGluZztcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAubW0tYnRuOm5vdCgubW0taGlkZGVuKSArICYge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiJG1tX21vZHVsZTogJy5tbS1uYXZiYXInO1xuXG5AaWYgKCRtbV9pbmNsdWRlX25hdmJhcnNfdGFicykge1xuICAgIC8vICBBbGwgdGFicy5cbiAgICAjeyRtbV9tb2R1bGV9X3RhYnMge1xuICAgICAgICA+ICoge1xuICAgICAgICAgICAgcGFkZGluZzogMCAkbW1fcGFkZGluZztcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gIFNlbGVjdGVkIHRhYi5cbiAgICAjeyRtbV9tb2R1bGV9X190YWJfc2VsZWN0ZWQge1xuICAgICAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbW1fYmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgY29sb3I6ICRtbV90ZXh0Q29sb3I7XG5cbiAgICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkbW1fYm9yZGVyQ29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkbW1fYm9yZGVyQ29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tbS1jb2xvci1iYWNrZ3JvdW5kKTtcblxuICAgICAgICAvLyBUT0RPOiBub3Qgc3BlY2lmaWMgZW5vdWdoIDovIG92ZXJyaWRlbiBieSAubW0tbWVudSBhIDovIDovIDovXG4gICAgICAgIGNvbG9yOiB2YXIoLS1tbS1jb2xvci10ZXh0KTtcbiAgICAgICAgLy8gL1RPRE9cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tbW0tY29sb3ItYm9yZGVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLW1tLWNvbG9yLWJvcmRlcik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vICBOYXZiYXJzIGF0IHRoZSB0b3AuXG5AaWYgKCRtbV9pbmNsdWRlX25hdmJhcnNfdG9wKSB7XG4gICAgLm1tLW5hdmJhcnNfdG9wIHtcbiAgICAgICAgI3skbW1fbW9kdWxlfV90YWJzIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAgQm9yZGVycy5cbiAgICAgICAgI3skbW1fbW9kdWxlfV90YWJzID4gKiB7XG4gICAgICAgICAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJG1tX2JvcmRlckNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1tbS1jb2xvci1ib3JkZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skbW1fbW9kdWxlfV9fdGFiX3NlbGVjdGVkIHtcbiAgICAgICAgICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkbW1fYm9yZGVyQ29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLW1tLWNvbG9yLWJvcmRlcik7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vICBCYWNrZ3JvdW5kc1xuICAgICAgICAmLm1tLW5hdmJhcnNfaGFzLXRhYnMge1xuICAgICAgICAgICAgI3skbW1fbW9kdWxlfSB7XG4gICAgICAgICAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbW1fZW1waGFzaXplZEJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tbS1jb2xvci1iYWNrZ3JvdW5kLWVtcGhhc2lzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skbW1fbW9kdWxlfV90YWJzIH4gI3skbW1fbW9kdWxlfSB7XG4gICAgICAgICAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbW1fYmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLW1tLWNvbG9yLWJhY2tncm91bmQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgKCRtbV9pbmNsdWRlX25hdmJhcnNfYm90dG9tKSB7XG4gICAgLm1tLW5hdmJhcnNfYm90dG9tIHtcbiAgICAgICAgI3skbW1fbW9kdWxlfV90YWJzIHtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyAgQm9yZGVycy5cbiAgICAgICAgI3skbW1fbW9kdWxlfV90YWJzID4gKiB7XG4gICAgICAgICAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJG1tX2JvcmRlckNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1tbS1jb2xvci1ib3JkZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skbW1fbW9kdWxlfV9fdGFiX3NlbGVjdGVkIHtcbiAgICAgICAgICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbW1fYm9yZGVyQ29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLW1tLWNvbG9yLWJvcmRlcik7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICAvLyAgQmFja2dyb3VuZHNcbiAgICAgICAgJi5tbS1uYXZiYXJzX2hhcy10YWJzIHtcbiAgICAgICAgICAgICN7JG1tX21vZHVsZX0ge1xuICAgICAgICAgICAgICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG1tX2JhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tbS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skbW1fbW9kdWxlfV90YWJzLFxuICAgICAgICAgICAgI3skbW1fbW9kdWxlfV90YWJzIH4gI3skbW1fbW9kdWxlfSB7XG4gICAgICAgICAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbW1fZW1waGFzaXplZEJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tbS1jb2xvci1iYWNrZ3JvdW5kLWVtcGhhc2lzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL21peGlucycsICcuLi8uLi9pbmNsdWRlcycsICcuLi8uLi92YXJpYWJsZXMnO1xuXG4kbW1fbW9kdWxlOiAnLm1tLXNlYXJjaGZpZWxkJztcblxuI3skbW1fbW9kdWxlfSB7XG4gICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICBoZWlnaHQ6ICRtbV9uYXZiYXJTaXplO1xuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIGhlaWdodDogJG1tX25hdmJhclNpemUgKiAwLjc7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJG1tX25hdmJhclNpemUgKiAwLjc7XG5cbiAgICAgICAgICAgICYsXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG1tX2hpZ2hsaWdodGVkQmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbW1fdGV4dENvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgaGVpZ2h0OiB2YXIoLS1tbS1uYXZiYXItc2l6ZSk7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgaW5wdXQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLW1tLW5hdmJhci1zaXplKSAqIDAuNyk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHVuc2V0O1xuICAgICAgICBtYXgtaGVpZ2h0OiB1bnNldDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwICRtbV9wYWRkaW5nO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogY2FsYyh2YXIoLS1tbS1uYXZiYXItc2l6ZSkgKiAwLjcpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgZm9udDogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuXG4gICAgICAgICYsXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tbW0tY29sb3ItYmFja2dyb3VuZC1oaWdobGlnaHQpO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLW1tLWNvbG9yLXRleHQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXQ6Oi1tcy1jbGVhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4jeyRtbV9tb2R1bGV9X19pbnB1dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwICRtbV9wYWRkaW5nO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5tbS1wYW5lbF9fbm9yZXN1bHRzbXNnIHtcbiAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgIGNvbG9yOiAkbW1fZGltbWVkVGV4dENvbG9yO1xuICAgIH1cblxuICAgIHBhZGRpbmc6ICRtbV9idG5TaXplIDA7XG4gICAgY29sb3I6IHZhcigtLW1tLWNvbG9yLXRleHQtZGltbWVkKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxNTAlO1xufVxuXG5AaWYgKCRtbV9pbmNsdWRlX3NlYXJjaGZpZWxkX2J0bikge1xuICAgICN7JG1tX21vZHVsZX1fX2J0biB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgIH1cbn1cblxuQGlmICgkbW1faW5jbHVkZV9zZWFyY2hmaWVsZF9zZWFyY2hwYW5lbCkge1xuICAgIC5tbS1wYW5lbF9zZWFyY2gge1xuICAgICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI3skbW1fbW9kdWxlfV9fY2FuY2VsIHtcbiAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRtbV9uYXZiYXJTaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRtbV9wYWRkaW5nO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMDBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLW1tLW5hdmJhci1zaXplKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgIHRyYW5zaXRpb246IG1hcmdpbiAkbW1fdHJhbnNpdGlvbkR1cmF0aW9uICRtbV90cmFuc2l0aW9uRnVuY3Rpb247XG4gICAgfVxuXG4gICAgI3skbW1fbW9kdWxlfV9fY2FuY2VsLWFjdGl2ZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG59XG5cbi8vIExpc3RpdGVtIHdpdGggbm8gc2VhcmNoIHJlc3VsdHMgaW4gdGhlIGNoaWxkIHBhbmVsLlxuLm1tLWxpc3RpdGVtX25vc3ViaXRlbXMge1xuICAgID4gLm1tLWxpc3RpdGVtX19idG4ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgID4gLm1tLWxpc3RpdGVtX190ZXh0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJG1tX3BhZGRpbmc7XG4gICAgfVxufVxuXG4vLyBMaXN0aXRlbSB3aXRoIG9ubHkgc2VhcmNoIHJlc3VsdHMgaW4gdGhlIGNoaWxkIHBhbmVsIChub3QgaW4gdGhlIGxpc3RpdGVtIGl0c2VsZikuXG4ubW0tbGlzdGl0ZW1fb25seXN1Yml0ZW1zIHtcbiAgICA+IC5tbS1saXN0aXRlbV9fdGV4dDpub3QoLm1tLWxpc3RpdGVtX19idG4pIHtcbiAgICAgICAgLy8gVGhpcyBzaG91bGQgKHNvcnQgb2YpIGRpc2FibGUgdGhlIGFuY2hvciBpbiB0aGUgbGlzdGl0ZW0uXG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMnLCAnLi4vLi4vaW5jbHVkZXMnLCAnLi4vLi4vdmFyaWFibGVzJztcblxuJG1tX21vZHVsZTogJy5tbS1zZWN0aW9uaW5kZXhlcic7XG5cbiN7JG1tX21vZHVsZX0ge1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRtbV9zZWN0aW9uSW5kZXhlclNpemU7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogLSRtbV9zZWN0aW9uSW5kZXhlclNpemU7XG4gICAgei1pbmRleDogNTtcblxuICAgIHRyYW5zaXRpb246IHJpZ2h0ICRtbV90cmFuc2l0aW9uRHVyYXRpb24gJG1tX3RyYW5zaXRpb25GdW5jdGlvbjtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcblxuICAgIGEge1xuICAgICAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgICAgICBjb2xvcjogJG1tX2RpbW1lZFRleHRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbG9yOiB2YXIoLS1tbS1jb2xvci10ZXh0LWRpbW1lZCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIH4gLm1tLXBhbmVsIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmX2FjdGl2ZSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgIH4gLm1tLXBhbmVsIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRtbV9zZWN0aW9uSW5kZXhlclNpemU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMnLCAnLi4vLi4vaW5jbHVkZXMnLCAnLi4vLi4vdmFyaWFibGVzJztcblxuLm1tLW1lbnVfc2VsZWN0ZWQge1xuICAgICYtaG92ZXIsXG4gICAgJi1wYXJlbnQge1xuICAgICAgICAubW0tbGlzdGl0ZW1fX3RleHQsXG4gICAgICAgIC5tbS1saXN0aXRlbV9fYnRuIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJG1tX3RyYW5zaXRpb25EdXJhdGlvblxuICAgICAgICAgICAgICAgICRtbV90cmFuc2l0aW9uRnVuY3Rpb247XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWhvdmVyIHtcbiAgICAgICAgLm1tLWxpc3R2aWV3OmhvdmVyID4gLm1tLWxpc3RpdGVtX3NlbGVjdGVkOm5vdCg6aG92ZXIpIHtcbiAgICAgICAgICAgID4gLm1tLWxpc3RpdGVtX190ZXh0IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tbS1saXN0aXRlbV9fdGV4dCxcbiAgICAgICAgLm1tLWxpc3RpdGVtX19idG4ge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbW1fZW1waGFzaXplZEJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tbS1jb2xvci1iYWNrZ3JvdW5kLWVtcGhhc2lzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtcGFyZW50IHtcbiAgICAgICAgLm1tLXBhbmVsX29wZW5lZC1wYXJlbnQgLm1tLWxpc3RpdGVtOm5vdCgubW0tbGlzdGl0ZW1fc2VsZWN0ZWQtcGFyZW50KSB7XG4gICAgICAgICAgICA+IC5tbS1saXN0aXRlbV9fdGV4dCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubW0tbGlzdGl0ZW1fc2VsZWN0ZWQtcGFyZW50IHtcbiAgICAgICAgICAgID4gLm1tLWxpc3RpdGVtX190ZXh0LFxuICAgICAgICAgICAgPiAubW0tbGlzdGl0ZW1fX2J0biB7XG4gICAgICAgICAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbW1fZW1waGFzaXplZEJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tbS1jb2xvci1iYWNrZ3JvdW5kLWVtcGhhc2lzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL21peGlucycsICcuLi8uLi9pbmNsdWRlcycsICcuLi8uLi92YXJpYWJsZXMnO1xuXG5AaWYgKCRtbV9pbmNsdWRlX3NpZGViYXJfY29sbGFwc2VkIG9yICRtbV9pbmNsdWRlX3NpZGViYXJfZXhwYW5kZWQpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIC0tbW0tc2lkZWJhci1jb2xsYXBzZWQtc2l6ZTogI3skbW1fc2lkZWJhckNvbGxhcHNlZFNpemV9O1xuICAgICAgICAtLW1tLXNpZGViYXItZXhwYW5kZWQtc2l6ZTogI3skbW1fc2lkZWJhckV4cGFuZGVkU2l6ZX07XG4gICAgfVxuXG4gICAgLm1tLXdyYXBwZXJfc2lkZWJhciB7XG4gICAgICAgICYtY29sbGFwc2VkLFxuICAgICAgICAmLWV4cGFuZGVkIHtcbiAgICAgICAgICAgIGJvZHkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1tLXNsaWRlb3V0IHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aCwgdHJhbnNmb3JtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubW0tcGFnZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1jb2xsYXBzZWQgLm1tLW1lbnVfc2lkZWJhci1jb2xsYXBzZWQsXG4gICAgICAgICYtZXhwYW5kZWQgLm1tLW1lbnVfc2lkZWJhci1leHBhbmRlZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGlmICgkbW1faW5jbHVkZV9zaWRlYmFyX2NvbGxhcHNlZCkge1xuICAgIC5tbS13cmFwcGVyX3NpZGViYXIge1xuICAgICAgICAmLWNvbGxhcHNlZCB7XG4gICAgICAgICAgICAubW0tc2xpZGVvdXQge1xuICAgICAgICAgICAgICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JG1tX3NpZGViYXJDb2xsYXBzZWRTaXplfSk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJG1tX3NpZGViYXJDb2xsYXBzZWRTaXplLCAwLCAwKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tbW0tc2lkZWJhci1jb2xsYXBzZWQtc2l6ZSkpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QodmFyKC0tbW0tc2lkZWJhci1jb2xsYXBzZWQtc2l6ZSksIDAsIDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm5vdCgubW0td3JhcHBlcl9vcGVuaW5nKSB7XG4gICAgICAgICAgICAgICAgLm1tLW1lbnVfaGlkZW5hdmJhciAubW0tbmF2YmFyLFxuICAgICAgICAgICAgICAgIC5tbS1tZW51X2hpZGVkaXZpZGVyIC5tbS1kaXZpZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiAoJG1tX2luY2x1ZGVfc2lkZWJhcl9leHBhbmRlZCkge1xuICAgIC5tbS13cmFwcGVyX3NpZGViYXIge1xuICAgICAgICAmLWV4cGFuZGVkIHtcbiAgICAgICAgICAgIC5tbS1tZW51X3NpZGViYXItZXhwYW5kZWQge1xuICAgICAgICAgICAgICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRtbV9zaWRlYmFyRXhwYW5kZWRTaXplO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1tbS1zaWRlYmFyLWV4cGFuZGVkLXNpemUpO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwMDAwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuXG4gICAgICAgICAgICAgICAgQGlmICgkbW1faW5jbHVkZV9zaGFkb3dzX3BhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgJi5tbS1tZW51X3BhZ2VzaGFkb3c6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJG1tX2luY2x1ZGVfb2ZmY2FudmFzX2Jsb2NrZXIpIHtcbiAgICAgICAgICAgICAgICAmLm1tLXdyYXBwZXJfYmxvY2tpbmcge1xuICAgICAgICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAgICAgICBib2R5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm1tLXdyYXBwZXJfX2Jsb2NrZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm5vdCgubW0td3JhcHBlcl9zaWRlYmFyLWNsb3NlZCkge1xuICAgICAgICAgICAgICAgIC5tbS1tZW51X3NpZGViYXItZXhwYW5kZWQubW0tbWVudV9vcGVuZWQge1xuICAgICAgICAgICAgICAgICAgICB+IC5tbS1zbGlkZW91dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JG1tX3NpZGViYXJFeHBhbmRlZFNpemV9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbW1fc2lkZWJhckV4cGFuZGVkU2l6ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1tbS1zaWRlYmFyLWV4cGFuZGVkLXNpemUpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tbW0tc2lkZWJhci1leHBhbmRlZC1zaXplKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiAoJG1tX2luY2x1ZGVfc2lkZWJhcl9ibG9ja2VyKSB7XG4gICAgLm1tLW1lbnVfX2Jsb2NrZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDMsIDIsIDEsIDApO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDM7XG5cbiAgICAgICAgLm1tLW1lbnVfb3BlbmVkICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGltcG9ydCAnc2lkZWJhci5ydGwnO1xuIiwiQGlmICggJG1tX2luY2x1ZGVfcnRsICkge1xuXHRAaWYgKCAkbW1faW5jbHVkZV9zaWRlYmFyX2NvbGxhcHNlZCApIHtcblx0XHRbZGlyPVwicnRsXCJdIHtcblx0XHRcdCYubW0td3JhcHBlcl9zaWRlYmFyLWNvbGxhcHNlZCB7XG5cdFx0XHRcdC5tbS1zbGlkZW91dCB7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgMCwgMCApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0QGlmICggJG1tX2luY2x1ZGVfc2lkZWJhcl9leHBhbmRlZCApIHtcblx0XHRbZGlyPVwicnRsXCJdIHtcblx0XHRcdCYubW0td3JhcHBlcl9zaWRlYmFyLWV4cGFuZGVkIC5tbS1zbGlkZW91dCB7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoIDAsIDAsIDAgKTtcblx0XHRcdH1cblxuXHRcdFx0Ji5tbS13cmFwcGVyX3NpZGViYXItZXhwYW5kZWQ6bm90KCAubW0td3JhcHBlcl9zaWRlYmFyLWNsb3NlZCApIHtcblx0XHRcdFx0Lm1tLW1lbnVfc2lkZWJhci1leHBhbmRlZC5tbS1tZW51X29wZW5lZCB7XG5cdFx0XHRcdFx0fiAubW0tc2xpZGVvdXQge1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgMCwgMCApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiQGltcG9ydCAnLi4vLi4vbWl4aW5zJywgJy4uLy4uL2luY2x1ZGVzJywgJy4uLy4uL3ZhcmlhYmxlcyc7XG5cbkBpZiAoJG1tX2luY2x1ZGVfdG9nZ2xlcykge1xuICAgIGlucHV0Lm1tLXRvZ2dsZSB7XG4gICAgICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICgkbW1fbGlzdGl0ZW1TaXplIC0gJG1tX3RvZ2dsZUhlaWdodCkgLyAyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG1tX2JvcmRlckNvbG9yO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG1tX2JhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWluLXdpZHRoOiAkbW1fdG9nZ2xlV2lkdGg7XG4gICAgICAgIHdpZHRoOiAkbW1fdG9nZ2xlV2lkdGg7XG4gICAgICAgIGhlaWdodDogJG1tX3RvZ2dsZUhlaWdodDtcbiAgICAgICAgbWFyZ2luOiAwICRtbV9wYWRkaW5nO1xuICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKCh2YXIoLS1tbS1saXN0aXRlbS1zaXplKSAtICN7JG1tX3RvZ2dsZUhlaWdodH0pIC8gMik7XG4gICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tbS1jb2xvci1ib3JkZXIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbW1fdG9nZ2xlSGVpZ2h0O1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAkbW1fdG9nZ2xlSGVpZ2h0IC0gMjtcbiAgICAgICAgICAgIGhlaWdodDogJG1tX3RvZ2dsZUhlaWdodCAtIDI7XG4gICAgICAgICAgICBtYXJnaW46IDFweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRtbV90b2dnbGVIZWlnaHQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tbS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG1tX3RvZ2dsZUNoZWNrZWRDb2xvcjtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkbW1fdG9nZ2xlV2lkdGggLSAkbW1fdG9nZ2xlSGVpZ2h0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGlmICgkbW1faW5jbHVkZV9jaGVja3MpIHtcbiAgICBpbnB1dC5tbS1jaGVjayB7XG4gICAgICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICgkbW1fbGlzdGl0ZW1TaXplIC0gJG1tX2NoZWNrSGVpZ2h0KSAvIDI7XG4gICAgICAgIH1cblxuICAgICAgICBhcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogJG1tX2NoZWNrV2lkdGg7XG4gICAgICAgIGhlaWdodDogJG1tX2NoZWNrSGVpZ2h0O1xuICAgICAgICBtYXJnaW46IDAgJG1tX3BhZGRpbmc7XG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGMoKHZhcigtLW1tLWxpc3RpdGVtLXNpemUpIC0gI3skbW1fY2hlY2tIZWlnaHR9KSAvIDIpO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAyMCU7XG4gICAgICAgICAgICBtYXJnaW46IDI1JSAwIDAgMjAlO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbW0tY29sb3ItdGV4dCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbXBvcnQgJ3RvZ2dsZXMucnRsJztcbiIsIkBpZiAoICRtbV9pbmNsdWRlX3J0bCApIHtcblx0QGlmICggJG1tX2luY2x1ZGVfdG9nZ2xlcyApIHtcblx0XHRbZGlyPVwicnRsXCJdIGlucHV0Lm1tLXRvZ2dsZTpjaGVja2VkIH4gbGFiZWwubW0tdG9nZ2xlOmJlZm9yZSB7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHR9XG5cdH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL21peGlucycsICcuLi8uLi9pbmNsdWRlcycsICcuLi8uLi92YXJpYWJsZXMnO1xuXG5AaWYgKCRtbV9pbmNsdWRlX2JvcmRlcnN0eWxlX25vbmUpIHtcbiAgICAubW0tbWVudV9ib3JkZXItbm9uZSB7XG4gICAgICAgIC5tbS1saXN0aXRlbTphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgKCRtbV9pbmNsdWRlX2JvcmRlcnN0eWxlX2Z1bGwpIHtcbiAgICAubW0tbWVudV9ib3JkZXItZnVsbCB7XG4gICAgICAgIC5tbS1saXN0aXRlbTphZnRlciB7XG4gICAgICAgICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMnLCAnLi4vLi4vaW5jbHVkZXMnLCAnLi4vLi4vdmFyaWFibGVzJztcblxuQGlmICgkbW1faW5jbHVkZV9lZmZlY3RzX21lbnVzbGlkZSkge1xuICAgIC8vXHRTbGlkZSBtZW51XG4gICAgJG1lbnU6ICcubW0tbWVudV9meC1tZW51LXNsaWRlJztcbiAgICAjeyRtZW51fSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkbW1fdHJhbnNpdGlvbkR1cmF0aW9uICRtbV90cmFuc2l0aW9uRnVuY3Rpb247XG4gICAgfVxuXG4gICAgLy9cdFNsaWRlIG1lbnUgTGVmdFxuICAgIC5tbS13cmFwcGVyX29wZW5lZCAjeyRtZW51fSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLSRtbV9zdWJwYW5lbE9mZnNldCwgMCwgMCk7XG4gICAgfVxuXG4gICAgLm1tLXdyYXBwZXJfb3BlbmluZyAjeyRtZW51fSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAsIDApO1xuICAgIH1cblxuICAgIC8vXHRTbGlkZSBtZW51IFJpZ2h0XG4gICAgJG1lbnVyaWdodDogJyN7JG1lbnV9Lm1tLW1lbnVfcG9zaXRpb24tcmlnaHQnO1xuICAgIC5tbS13cmFwcGVyX29wZW5lZCAjeyRtZW51cmlnaHR9IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkbW1fc3VicGFuZWxPZmZzZXQsIDAsIDApO1xuICAgIH1cblxuICAgIC5tbS13cmFwcGVyX29wZW5pbmcgI3skbWVudXJpZ2h0fSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAsIDApO1xuICAgIH1cbn1cblxuQGlmICgkbW1faW5jbHVkZV9lZmZlY3RzX3BhbmVsc25vbmUpIHtcbiAgICAvL1x0Tm8gZWZmZWN0IHBhbmVsc1xuICAgIC5tbS1tZW51X2Z4LXBhbmVscy1ub25lIC5tbS1wYW5lbCxcbiAgICAubW0tcGFuZWxfZngtbm9uZSB7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG5vbmU7XG5cbiAgICAgICAgJi5tbS1wYW5lbF9vcGVuZWQtcGFyZW50IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiAoJG1tX2luY2x1ZGVfZWZmZWN0c19wYW5lbHNzbGlkZSkge1xuICAgIC8vXHRTbGlkZSBwYW5lbHNcbiAgICAubW0tbWVudV9meC1wYW5lbHMtc2xpZGUtMCAubW0tcGFuZWxfb3BlbmVkLXBhcmVudCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxuXG4gICAgLm1tLW1lbnVfZngtcGFuZWxzLXNsaWRlLTEwMCAubW0tcGFuZWxfb3BlbmVkLXBhcmVudCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL21peGlucycsICcuLi8uLi9pbmNsdWRlcycsICcuLi8uLi92YXJpYWJsZXMnO1xuXG4vL1x0SnVzdGlmaWVkIGxpc3R2aWV3c1xuQGlmICgkbW1faW5jbHVkZV9saXN0dmlld19qdXN0aWZ5KSB7XG4gICAgLm1tLW1lbnVfbGlzdHZpZXctanVzdGlmeSAubW0tcGFuZWxzID4gLm1tLXBhbmVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1tLWxpc3R2aWV3IHtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tbS1saXN0aXRlbSB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRtbV9idG5TaXplOyAvKiBmb3IgU2FmYXJpIDooICovXG4gICAgICAgIH1cblxuICAgICAgICAubW0tbGlzdGl0ZW1fX3RleHQge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXHRJbnNldCBsaXN0c1xuQGlmICgkbW1faW5jbHVkZV9saXN0dmlld19pbnNldCkge1xuICAgIC5tbS1saXN0dmlld19pbnNldCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IGluc2lkZSBkaXNjO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMFxuICAgICAgICAgICAgKCRtbV9wYWRkaW5nICsgJG1tX2xpc3RpdGVtSW5kZW50KVxuICAgICAgICAgICAgKCRtbV9wYWRkaW5nICogMS41KVxuICAgICAgICAgICAgKCRtbV9wYWRkaW5nICsgJG1tX2xpc3RpdGVtSW5kZW50KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIC5tbS1saXN0aXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAoJG1tX3BhZGRpbmcgKiAwLjUpIDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMnLCAnLi4vLi4vaW5jbHVkZXMnLCAnLi4vLi4vdmFyaWFibGVzJztcblxuLm1tLW1lbnVfbXVsdGlsaW5lIHtcbiAgICAubW0tbGlzdGl0ZW1fX3RleHQge1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgXG5cdCcuLi8uLi9taXhpbnMnLFxuXHQnLi4vLi4vaW5jbHVkZXMnLFxuXHQnLi4vLi4vdmFyaWFibGVzJztcblxuXG5AaWYgKCAkbW1faW5jbHVkZV9wYWdlZGltX2RlZmF1bHQgb3IgJG1tX2luY2x1ZGVfcGFnZWRpbV9ibGFjayBvciAkbW1faW5jbHVkZV9wYWdlZGltX3doaXRlICkge1xuXHRbY2xhc3MqPVwibW0tbWVudV9wYWdlZGltXCJdLm1tLW1lbnVfb3BlbmVkIHtcblx0XHR+IC5tbS13cmFwcGVyX19ibG9ja2VyIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0fVxuXHR9XG5cblx0Lm1tLXdyYXBwZXJfb3BlbmluZyBbY2xhc3MqPVwibW0tbWVudV9wYWdlZGltXCJdLm1tLW1lbnVfb3BlbmVkIHtcblx0XHR+IC5tbS13cmFwcGVyX19ibG9ja2VyIHtcblx0XHRcdG9wYWNpdHk6ICRtbV9wYWdlZGltT3BhY2l0eTtcblx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgJG1tX3RyYW5zaXRpb25EdXJhdGlvbiAkbW1fdHJhbnNpdGlvbkZ1bmN0aW9uICRtbV9wYWdlZGltRGVsYXk7XG5cdFx0fVxuXHR9XG5cblx0Lm1tLW1lbnVfb3BlbmVkIHtcblx0XHRAaWYgKCAkbW1faW5jbHVkZV9wYWdlZGltX2RlZmF1bHQgKSB7XG5cdFx0XHQmLm1tLW1lbnVfcGFnZWRpbSB+IC5tbS13cmFwcGVyX19ibG9ja2VyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogaW5oZXJpdDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAaWYgKCAkbW1faW5jbHVkZV9wYWdlZGltX2JsYWNrICkge1xuXHRcdFx0Ji5tbS1tZW51X3BhZ2VkaW0tYmxhY2sgfiAubW0td3JhcHBlcl9fYmxvY2tlciB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICMwMDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QGlmICggJG1tX2luY2x1ZGVfcGFnZWRpbV93aGl0ZSApIHtcblx0XHRcdCYubW0tbWVudV9wYWdlZGltLXdoaXRlIH4gLm1tLXdyYXBwZXJfX2Jsb2NrZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIkBpbXBvcnQgJy4uLy4uL21peGlucycsICcuLi8uLi9pbmNsdWRlcycsICcuLi8uLi92YXJpYWJsZXMnO1xuXG4ubW0tbWVudV9wb3B1cCB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkbW1fdHJhbnNpdGlvbkR1cmF0aW9uICRtbV90cmFuc2l0aW9uRnVuY3Rpb247XG4gICAgb3BhY2l0eTogMDtcblxuICAgIGJveC1zaGFkb3c6ICRtbV9wb3B1cFNoYWRvdztcbiAgICBoZWlnaHQ6IHBlcmNlbnRhZ2UoJG1tX21lbnVIZWlnaHQpO1xuICAgIG1pbi1oZWlnaHQ6ICRtbV9tZW51TWluSGVpZ2h0O1xuICAgIG1heC1oZWlnaHQ6ICRtbV9tZW51TWF4SGVpZ2h0O1xuXG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcblxuICAgICYubW0tbWVudV9vcGVuZWQge1xuICAgICAgICB+IC5tbS1zbGlkZW91dCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICB+IC5tbS13cmFwcGVyX19ibG9ja2VyIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1tLXdyYXBwZXJfb3BlbmluZyAmIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMnLCAnLi4vLi4vaW5jbHVkZXMnLCAnLi4vLi4vdmFyaWFibGVzJztcblxuQGlmICgkbW1faW5jbHVkZV9wb3NpdGlvbmluZ19yaWdodCkge1xuICAgIC5tbS1tZW51X3Bvc2l0aW9uIHtcbiAgICAgICAgJi1yaWdodCB7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbW1fcG9zaXRpb25fcmlnaHQ7XG59XG5cbkBpZiAoXG4gICAgJG1tX2luY2x1ZGVfcG9zaXRpb25pbmdfZnJvbnQgb3JcbiAgICAgICAgJG1tX2luY2x1ZGVfcG9zaXRpb25pbmdfdG9wIG9yXG4gICAgICAgICRtbV9pbmNsdWRlX3Bvc2l0aW9uaW5nX2JvdHRvbVxuKSB7XG4gICAgLm1tLW1lbnVfcG9zaXRpb24ge1xuICAgICAgICAmLWZyb250LFxuICAgICAgICAmLXRvcCxcbiAgICAgICAgJi1ib3R0b20ge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRtbV90cmFuc2l0aW9uRHVyYXRpb24gJG1tX3RyYW5zaXRpb25GdW5jdGlvbjtcblxuICAgICAgICAgICAgJi5tbS1tZW51X29wZW5lZCB7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAgICAgICAgIH4gLm1tLXNsaWRlb3V0IHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfiAubW0td3JhcHBlcl9fYmxvY2tlciB7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICgkbW1faW5jbHVkZV9wb3NpdGlvbmluZ19mcm9udCkge1xuICAgICAgICAubW0tbWVudV9wb3NpdGlvbiB7XG4gICAgICAgICAgICAmLWZyb250IHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcblxuICAgICAgICAgICAgICAgIEBpZiAoJG1tX2luY2x1ZGVfcG9zaXRpb25pbmdfcmlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgJi5tbS1tZW51X3Bvc2l0aW9uLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCRtbV9pbmNsdWRlX3Bvc2l0aW9uaW5nX3RvcCBvciAkbW1faW5jbHVkZV9wb3NpdGlvbmluZ19ib3R0b20pIHtcbiAgICAgICAgLm1tLW1lbnVfcG9zaXRpb24ge1xuICAgICAgICAgICAgJi10b3AsXG4gICAgICAgICAgICAmLWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoJG1tX2luY2x1ZGVfcG9zaXRpb25pbmdfdG9wKSB7XG4gICAgICAgIC5tbS1tZW51X3Bvc2l0aW9uIHtcbiAgICAgICAgICAgICYtdG9wIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtbV9wb3NpdGlvbl90b3A7XG4gICAgfVxuXG4gICAgQGlmICgkbW1faW5jbHVkZV9wb3NpdGlvbmluZ19ib3R0b20pIHtcbiAgICAgICAgLm1tLW1lbnVfcG9zaXRpb24ge1xuICAgICAgICAgICAgJi1ib3R0b20ge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1tX3Bvc2l0aW9uX2JvdHRvbTtcbiAgICB9XG5cbiAgICAubW0td3JhcHBlcl9vcGVuaW5nIHtcbiAgICAgICAgLm1tLW1lbnVfcG9zaXRpb24ge1xuICAgICAgICAgICAgJi1mcm9udCxcbiAgICAgICAgICAgICYtdG9wLFxuICAgICAgICAgICAgJi1ib3R0b20ge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMnLCAnLi4vLi4vaW5jbHVkZXMnLCAnLi4vLi4vdmFyaWFibGVzJztcblxuQGlmICgkbW1faW5jbHVkZV9zaGFkb3dzX3BhZ2UpIHtcbiAgICAubW0tbWVudV9zaGFkb3ctcGFnZSB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMjAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgIHRvcDogLTEwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigtMjBweCAwLCAwIDAsIDAgMTAwJSwgLTIwcHggMTAwJSk7XG5cbiAgICAgICAgICAgIGJveC1zaGFkb3c6IHZhcigtLW1tLXNoYWRvdyk7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRtbV9pbmNsdWRlX3Bvc2l0aW9uaW5nX3JpZ2h0KSB7XG4gICAgICAgICAgICAmLm1tLW1lbnVfcG9zaXRpb24tcmlnaHQ6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDIwcHggMCwgNDBweCAwLCA0MHB4IDEwMCUsIDIwcHggMTAwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRtbV9pbmNsdWRlX3Bvc2l0aW9uaW5nX2Zyb250KSB7XG4gICAgICAgICAgICAmLm1tLW1lbnVfcG9zaXRpb24tZnJvbnQ6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGlmICgkbW1faW5jbHVkZV9zaGFkb3dzX21lbnUpIHtcbiAgICAubW0tbWVudV9zaGFkb3ctbWVudSB7XG4gICAgICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLW1tLXNoYWRvdyk7XG4gICAgfVxufVxuXG5AaWYgKCRtbV9pbmNsdWRlX3NoYWRvd3NfcGFuZWxzKSB7XG4gICAgLm1tLW1lbnVfc2hhZG93LXBhbmVscyAubW0tcGFuZWxzID4gLm1tLXBhbmVsIHtcbiAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgICAgICB9XG5cbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tbW0tc2hhZG93KTtcbiAgICB9XG59XG4iLCJAaW1wb3J0IFxuXHQnLi4vLi4vbWl4aW5zJyxcblx0Jy4uLy4uL2luY2x1ZGVzJyxcblx0Jy4uLy4uL3ZhcmlhYmxlcyc7XG5cblxuQGlmICggJG1tX2luY2x1ZGVfdGhlbWVzX3doaXRlICkge1xuXHQubW0tbWVudV90aGVtZS13aGl0ZSB7XG5cdFx0LS1tbS1jb2xvci1ib3JkZXIgXHRcdFx0XHQ6IHJnYmEoIDAsMCwwLCAwLjEgKTtcblx0XHQtLW1tLWNvbG9yLWJ1dHRvblx0XHRcdFx0OiByZ2JhKCAwLDAsMCwgMC4zICk7XG5cdFx0LS1tbS1jb2xvci10ZXh0IFx0XHRcdFx0OiByZ2JhKCAwLDAsMCwgMC43ICk7XG5cdFx0LS1tbS1jb2xvci10ZXh0LWRpbW1lZFx0XHRcdDogcmdiYSggMCwwLDAsIDAuMyApO1xuXHRcdC0tbW0tY29sb3ItYmFja2dyb3VuZCBcdFx0XHQ6ICNmZmY7XG5cdFx0LS1tbS1jb2xvci1iYWNrZ3JvdW5kLWhpZ2hsaWdodFx0OiByZ2JhKCAwLDAsMCwgMC4wNiApO1xuXHRcdC0tbW0tY29sb3ItYmFja2dyb3VuZC1lbXBoYXNpc1x0OiByZ2JhKCAwLDAsMCwgMC4wMyApO1xuXHRcdC0tbW0tc2hhZG93XHRcdFx0XHRcdFx0OiAwIDAgMTBweCByZ2JhKCAwLDAsMCwgMC4yICk7XG5cdH1cbn1cblxuQGlmICggJG1tX2luY2x1ZGVfdGhlbWVzX2RhcmsgKSB7XG5cdC5tbS1tZW51X3RoZW1lLWRhcmsge1xuXHRcdC0tbW0tY29sb3ItYm9yZGVyIFx0XHRcdFx0OiByZ2JhKCAwLDAsMCwgMC4zICk7XG5cdFx0LS1tbS1jb2xvci1idXR0b25cdFx0XHRcdDogcmdiYSggMjU1LDI1NSwyNTUsIDAuNCApO1xuXHRcdC0tbW0tY29sb3ItdGV4dCBcdFx0XHRcdDogcmdiYSggMjU1LDI1NSwyNTUsIDAuODUgKTtcblx0XHQtLW1tLWNvbG9yLXRleHQtZGltbWVkXHRcdFx0OiByZ2JhKCAyNTUsMjU1LDI1NSwgMC40ICk7XG5cdFx0LS1tbS1jb2xvci1iYWNrZ3JvdW5kIFx0XHRcdDogIzMzMztcblx0XHQtLW1tLWNvbG9yLWJhY2tncm91bmQtaGlnaGxpZ2h0XHQ6IHJnYmEoIDI1NSwyNTUsMjU1LCAwLjA4ICk7XG5cdFx0LS1tbS1jb2xvci1iYWNrZ3JvdW5kLWVtcGhhc2lzXHQ6IHJnYmEoIDAsMCwwLCAwLjEgKTtcblx0XHQtLW1tLXNoYWRvd1x0XHRcdFx0XHRcdDogMCAwIDIwcHggcmdiYSggMCwwLDAsIDAuNSApO1xuXHR9XG59XG5cbkBpZiAoICRtbV9pbmNsdWRlX3RoZW1lc19ibGFjayApIHtcblx0Lm1tLW1lbnVfdGhlbWUtYmxhY2sge1xuXHRcdC0tbW0tY29sb3ItYm9yZGVyIFx0XHRcdFx0OiByZ2JhKCAyNTUsMjU1LDI1NSwgMC4yNSApO1xuXHRcdC0tbW0tY29sb3ItYnV0dG9uXHRcdFx0XHQ6IHJnYmEoIDI1NSwyNTUsMjU1LCAwLjQgKTtcblx0XHQtLW1tLWNvbG9yLXRleHQgXHRcdFx0XHQ6IHJnYmEoIDI1NSwyNTUsMjU1LCAwLjc1ICk7XG5cdFx0LS1tbS1jb2xvci10ZXh0LWRpbW1lZFx0XHRcdDogcmdiYSggMjU1LDI1NSwyNTUsIDAuNCApO1xuXHRcdC0tbW0tY29sb3ItYmFja2dyb3VuZCBcdFx0XHQ6ICMwMDA7XG5cdFx0LS1tbS1jb2xvci1iYWNrZ3JvdW5kLWhpZ2hsaWdodFx0OiByZ2JhKCAyNTUsMjU1LDI1NSwgMC4yICk7XG5cdFx0LS1tbS1jb2xvci1iYWNrZ3JvdW5kLWVtcGhhc2lzXHQ6IHJnYmEoIDI1NSwyNTUsMjU1LCAwLjE1ICk7XG5cdFx0LS1tbS1zaGFkb3dcdFx0XHRcdFx0XHQ6IG5vbmVcblx0fVxufVxuIiwiYm9keS5tb2RhbC1vcGVuIC5tbS1zbGlkZW91dCB7XG4gICAgei1pbmRleDogdW5zZXQ7XG59IiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1hZ25pZmljIFBvcHVwIGN1c3RvbWl6ZWQgLSBwcmVmaXggLmN1c3RvbS1saWdodGJveFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJGxpZ2h0Ym94LWJnLWNvbG9yOiBtYXAtZ2V0KCR0b29sYm94LWNvbG9ycywgJ2JsYWNrJyk7XG4kbGlnaHRib3gtY29sb3ItZm9jdXM6IG1hcC1nZXQoJHRvb2xib3gtY29sb3JzLCAnd2hpdGUnKTtcbiRsaWdodGJveC1jb250cm9sLXBvc2l0aW9uLXNtYWxsOiAxMHB4O1xuJGxpZ2h0Ym94LWNvbnRyb2wtcG9zaXRpb24tbGFyZ2U6IDNyZW07XG4kbGlnaHRib3gtbGluZS1oZWlnaHQ6IG50aChtYXAtZ2V0KCR0b29sYm94LXR5cG8tc2l6ZXMsICdtJyksIDIpO1xuJGxpZ2h0Ym94LXRleHQtY29sb3I6IG1hcC1nZXQoJHRvb2xib3gtY29sb3JzLCAnd2hpdGUnKTtcbiRsaWdodGJveC10ZXh0LW1heC13aWR0aDogNzgwcHg7XG5cbi8qKlxuICogUmVzZXRcbiAqL1xuLm1mcC1jbG9zZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgZm9udDogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJGxpZ2h0Ym94LWNvbG9yLWZvY3VzKTtcbiAgICB9XG59XG5cbi5tZnAtYXJyb3ctbGVmdCxcbi5tZnAtYXJyb3ctcmlnaHQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG5pbWcubWZwLWltZyB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBMaWdodGJveFxuICovXG4ubWZwLWJnIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRib3gtYmctY29sb3I7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLyoqXG4gKiBMaWdodGJveCBpbWFnZSBjb250YWluZXJcbiAqL1xuLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gICAgLyoqXG4gICAgICogU2V0IG1heCB3aWR0aCBmb3IgbGlnaHRib3ggY29udGVudFxuICAgICAqL1xuICAgIC5tZnAtY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggMDtcblxuICAgICAgICBAaW5jbHVkZSBicCh4bCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWZwLWZpZ3VyZTphZnRlciB7XG4gICAgICAgIGJvdHRvbTogNTBweDtcbiAgICAgICAgdG9wOiA1MHB4O1xuICAgIH1cbn1cblxuLyoqXG4gKiBJbWFnZSB3cmFwcGVyIHRvIHBsYWNlIGNvcHlyaWdodCB0ZXh0XG4gKi9cbi5jdXN0b20tbGlnaHRib3hfX2ltZy13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qKlxuICogQ29weXJpZ2h0IHRleHQgYW5kIGNhcHRpb24gdGV4dFxuICovXG4uY3VzdG9tLWxpZ2h0Ym94X19jb3B5cmlnaHQge1xuICAgIEBpbmNsdWRlIGNvcHlyaWdodCgpO1xufVxuXG4uY3VzdG9tLWxpZ2h0Ym94X19jb3B5cmlnaHQsXG4ubWZwLWJvdHRvbS1iYXIsXG4ubWZwLXRpdGxlIHtcbiAgICBsaW5lLWhlaWdodDogJGxpZ2h0Ym94LWxpbmUtaGVpZ2h0O1xufVxuXG4ubWZwLWJvdHRvbS1iYXIge1xuICAgIG1hcmdpbi10b3A6IC00MHB4O1xufVxuXG4ubWZwLXRpdGxlIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6ICRsaWdodGJveC10ZXh0LW1heC13aWR0aDtcbn1cblxuLm1mcC10aXRsZSxcbi5tZnAtY291bnRlciB7XG4gICAgY29sb3I6ICRsaWdodGJveC10ZXh0LWNvbG9yO1xufVxuXG4vKipcbiAqIEdhbGxlcnlcbiAqL1xuLm1mcC1nYWxsZXJ5IHtcbiAgICAuYy1idXR0b24taWNvbi1vbmx5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB6LWluZGV4OiA5OTk5O1xuICAgIH1cbn1cblxuLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICBsZWZ0OiAkbGlnaHRib3gtY29udHJvbC1wb3NpdGlvbi1zbWFsbDtcblxuICAgIEBpbmNsdWRlIGJwKGxnKSB7XG4gICAgICAgIGxlZnQ6ICRsaWdodGJveC1jb250cm9sLXBvc2l0aW9uLWxhcmdlO1xuICAgIH1cbn1cblxuLm1mcC1hcnJvdy1yaWdodCB7XG4gICAgcmlnaHQ6ICRsaWdodGJveC1jb250cm9sLXBvc2l0aW9uLXNtYWxsO1xuXG4gICAgQGluY2x1ZGUgYnAobGcpIHtcbiAgICAgICAgcmlnaHQ6ICRsaWdodGJveC1jb250cm9sLXBvc2l0aW9uLWxhcmdlO1xuICAgIH1cbn1cblxuLm1mcC1jb3VudGVyIHtcbiAgICBmb250LXNpemU6IDFyZW07XG59XG5cbi5tZnAtYXJyb3ctbGVmdCxcbi5tZnAtYXJyb3ctcmlnaHQge1xuICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCRsaWdodGJveC1jb2xvci1mb2N1cyk7XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEltYWdlIENvcHlyaWdodCBUZXh0IC0gdmVydGljYWwgbGVmdCB0byB0b3BcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtaXhpbiBjb3B5cmlnaHQge1xuICAgIGJvdHRvbTogMDtcbiAgICBjb2xvcjogbWFwLWdldCgkdG9vbGJveC1jb2xvcnMsICd3aGl0ZScpO1xuICAgIGZvbnQtc2l6ZTogMTRweDsgLy8gZml4IGZvbnQtc2l6ZVxuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlKDE4MGRlZyk7IC8vIHJlcXVpcmVkOiB0cmFuc2xhdGUzZDsgYXZvaWQgc2lkZSBlZmZlY3RzIG9uIGhvdmVyXG4gICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKG1hcC1nZXQoJHRvb2xib3gtY29sb3JzLCAnYmxhY2snKSwgLjYpO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogNnB4IDRweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LW9yaWVudGF0aW9uOiBzaWRld2F5cztcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgbW1lbnUgY3VzdG9taXplZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuOnJvb3Qge1xuICAgIC0tYmxhY2s6ICMwMDA7XG4gICAgLS1saWdodDE6ICNlZWU7XG4gICAgLS1saWdodDI6ICNjY2M7XG4gICAgLS1wcmkxOiAje2FwcC1jb2xvcigncHJpMScpfTtcbiAgICAtLXByaTI6ICN7YXBwLWNvbG9yKCdkYXJrR3JlZW4nKX07XG4gICAgLS1wcmkyTGlnaHQ6ICMzQjc4QkQ7XG4gICAgLS10ZXh0LWNvbG9yOiN7YXBwLWNvbG9yKCd3aGl0ZScpfTtcbiAgICAvLyBjdXN0b21pemUgbW1lbnUgY29sb3JzXG4gICAgLS1tbS1jb2xvci1iYWNrZ3JvdW5kOiB2YXIoLS1wcmkyKTtcbiAgICAtLW1tLWNvbG9yLWJhY2tncm91bmQtZW1waGFzaXM6ICN7YXBwLWNvbG9yKCdsaWdodEdyZWVuJyl9O1xuICAgIC0tbW0tY29sb3ItYm9yZGVyOiAje2FwcC1jb2xvcignbGlnaHRHcmVlbicpfTtcbiAgICAtLW1tLWNvbG9yLWJ1dHRvbjogdmFyKC0tYmxhY2spO1xuICAgIC0tbW0tY29sb3ItdGV4dDogdmFyKC0tdGV4dC1jb2xvcik7XG4gICAgLS1tbS1jb2xvci10ZXh0LWRpbW1lZDogdmFyKC0tYmxhY2spO1xufVxuXG4ubW0tbmF2YmFyX190aXRsZSA+IHNwYW4ge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07IC8vIGF2b2lkIHRleHQgY3JvcHBpbmcgb24gbGFyZ2Ugc2NyZWVuc1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi8vIGZvY3VzXG4uYWNjZXNzaWJpbGl0eS1tb2RlIHtcbiAgICAubW0tbWVudV9rZXlib2FyZGZvY3VzIGE6Zm9jdXMsXG4gICAgLm1tLW1lbnVfa2V5Ym9hcmRmb2N1cy5tbS1tZW51X29wZW5lZCB+IC5tbS13cmFwcGVyX19ibG9ja2VyIGE6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAtMXB4IC0ycHggMCAycHggIzAwMCwgaW5zZXQgMXB4IDFweCAwIDJweCAjMDAwO1xuICAgIH1cbn1cblxuXG4uYy1tZW51LW1tX19saXN0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgLm1tLXdyYXBwZXJfb3BlbmVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuYy1tZW51LW1tX19pdGVtIHtcblxuICAgICAgICAmLm1tLWxpc3RpdGVtX3NlbGVjdGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmkyKTtcbiAgICAgICAgfVxuICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmkyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4ubW0tbWVudV9vZmZjYW52YXMge1xuICAgIG1heC13aWR0aDogNDQwcHg7XG4gICAgbWluLXdpZHRoOiAyNDBweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmMtbWVudS1tbS1tZXRhIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgLm1tLW5hdmJhciAmIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAubW0tbmF2YmFyICYge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuXG4gICAgICAgICY6bGluayB7XG4gICAgICAgICAgICAubW0tbWVudV9vZmZjYW52YXMgJiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLW1tLWNvbG9yLXRleHQpO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogYXBwLWNvbG9yKCdsaWdodEdyZWVuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDIwcHg7XG4gICAgfVxufVxuXG4ubW0tbmF2YmFyc190b3Age1xuXG4gICAgLm1tLW5hdmJhciA+ICoge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDIzcHg7XG5cbiAgICAgICAgJi5tbS1uYXZiYXJfX3RpdGxlIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyM3B4O1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLW1tLWNvbG9yLXRleHQpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tbS1uYXZiYXIgPiBzcGFuOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5jLW1tZW51LW1tIHtcblxuICAgICAgICAmX19jbG9zZSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpMik7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xuICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogODBweDtcblxuICAgICAgICAgICAgLmhpZGRlbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2Nsb3NlLWljb24ge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tbS1jb2xvci10ZXh0KTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19sb2dvLWhvbGRlciB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1tLW5hdmJhcnNfYm90dG9tIHtcbiAgICAubW0tbmF2YmFyIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAxMnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW0tbmF2YmFyX19idG4ge1xuICAgICY6bm90KC5tbS1oaWRkZW4pIHtcbiAgICAgICAgKyAubW0tbmF2YmFyX190aXRsZSB7XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1tbS1jb2xvci10ZXh0KTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tbS1idG5fcHJldiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogODBweDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmkxKTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgbGVmdDogMjNweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCB2YXIoLS1wcmkxKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTRweDtcbiAgICB9XG59XG5cbi5tbS1idG5fbmV4dCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItbGVmdDogc29saWQgMXB4IHZhcigtLXByaTIpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDgwcHg7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLW1tLWNvbG9yLXRleHQpO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAyM3B4O1xuICAgICAgICB3aWR0aDogMzZweDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgdmFyKC0tbW0tY29sb3ItdGV4dCk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNsaWNrIFNsaWRlciBjdXN0b21pemVkXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kc2xpZGVyLWRvdC1ib3JkZXItY29sb3I6IG1hcF9nZXQoJHRvb2xib3gtY29sb3JzLCAncHJpMScpO1xuJHNsaWRlci1kb3QtYm9yZGVyLWNvbG9yLWFjdGl2ZTogbWFwX2dldCgkdG9vbGJveC1jb2xvcnMsICdwcmkxJyk7XG4kc2xpZGVyLWRvdC1jb2xvcjogbWFwX2dldCgkdG9vbGJveC1jb2xvcnMsICdwcmkxJyk7XG4kc2xpZGVyLWRvdC1jb2xvci1hY3RpdmU6IHRyYW5zcGFyZW50O1xuJHNsaWRlci1kb3Qtc2l6ZTogOHB4O1xuJHNsaWRlci1kb3Qtc2l6ZS1hY3RpdmU6IDEycHg7XG5cbi8vIGF2b2lkIGVycm9ycywgZmlsZXMgZG8gbm90IGV4aXN0IGluIHByb2plY3Rcbi5zbGljay1sb2FkaW5nIC5zbGljay1saXN0IHtcbiAgICAvL2JhY2tncm91bmQ6ICNmZmYgdXJsKCcuL2FqYXgtbG9hZGVyLmdpZicpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi8qKlxuICogRG90IG5hdmlnYXRpb25cbiAqL1xuLnNsaWNrLWRvdHMge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICBtYXJnaW46IDAgNHB4O1xuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItZG90LWNvbG9yO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkc2xpZGVyLWRvdC1ib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICBoZWlnaHQ6ICRzbGlkZXItZG90LXNpemU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiAkc2xpZGVyLWRvdC1zaXplO1xuICAgIH1cblxuICAgIC5zbGljay1hY3RpdmUge1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1kb3QtY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2xpZGVyLWRvdC1ib3JkZXItY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgaGVpZ2h0OiAkc2xpZGVyLWRvdC1zaXplLWFjdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAkc2xpZGVyLWRvdC1zaXplLWFjdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHcmlkXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyByZXF1aXJlZDogX3NldHRpbmdzL19zZXR0aW5ncy5ncmlkLnNjc3Ncbi8vIHRvZG86IGltcGxlbWVudCBucG0gcGFja2FnZSBvZiBOSkEgZ3JpZCBzeXN0ZW0gaWYgYXZhaWxhYmxlXG5cbi8qKlxuICogQWxpZ25tZW50XG4gKi9cbiRncmlkLXJvdy1hbGlnbm1lbnQtaG9yaXpvbnRhbDogKFxuICAgICdzdGFydCc6IGZsZXgtc3RhcnQsXG4gICAgJ2NlbnRlcic6IGNlbnRlcixcbiAgICAnZW5kJzogZmxleC1lbmQsXG4gICAgJ2Fyb3VuZCc6IHNwYWNlLWFyb3VuZCxcbiAgICAnYmV0d2Vlbic6IHNwYWNlLWJldHdlZW5cbik7XG5cbiRncmlkLXJvdy1hbGlnbm1lbnQtdmVydGljYWw6IChcbiAgICAndG9wJzogZmxleC1zdGFydCxcbiAgICAnbWlkZGxlJzogY2VudGVyLFxuICAgICdib3R0b20nOiBmbGV4LWVuZFxuKTtcblxuLyoqXG4gKiBHcmlkIFN0eWxlc1xuICovXG4uby1hcnRpY2xlIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGNhbGMoMTAwJSAtICgjeyRncmlkLWd1dHRlcn0gKiAyKSApIDFmcjtcblxuICAgIEBlYWNoICRicmVha3BvaW50LCAkd2lkdGggaW4gJGdyaWQtZml4ZWQtd2lkdGhzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgY2FsYygjeyR3aWR0aH0gLSAoI3skZ3JpZC1ndXR0ZXJ9ICogMikgKSAxZnI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmID4gKiB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIH1cblxuICAgIC5vLWZ1bGwtYmxlZWQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyA0O1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHcmlkXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyByZXF1aXJlZDogX3NldHRpbmdzL19zZXR0aW5ncy5ncmlkLnNjc3Ncbi8vIHRvZG86IGltcGxlbWVudCBucG0gcGFja2FnZSBvZiBOSkEgZ3JpZCBzeXN0ZW0gaWYgYXZhaWxhYmxlXG5cbi8qKlxuICogQWxpZ25tZW50XG4gKi9cbiRncmlkLXJvdy1hbGlnbm1lbnQtaG9yaXpvbnRhbDogKFxuICAgICdzdGFydCc6IGZsZXgtc3RhcnQsXG4gICAgJ2NlbnRlcic6IGNlbnRlcixcbiAgICAnZW5kJzogZmxleC1lbmQsXG4gICAgJ2Fyb3VuZCc6IHNwYWNlLWFyb3VuZCxcbiAgICAnYmV0d2Vlbic6IHNwYWNlLWJldHdlZW5cbik7XG5cbiRncmlkLXJvdy1hbGlnbm1lbnQtdmVydGljYWw6IChcbiAgICAndG9wJzogZmxleC1zdGFydCxcbiAgICAnbWlkZGxlJzogY2VudGVyLFxuICAgICdib3R0b20nOiBmbGV4LWVuZFxuKTtcblxuLyoqXG4gKiBHcmlkIFN0eWxlc1xuICovXG4uby1ncmlkIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1ndXR0ZXIvMjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1ndXR0ZXIvMjtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBlYWNoICRicmVha3BvaW50LCAkd2lkdGggaW4gJGdyaWQtZml4ZWQtd2lkdGhzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1mbHVpZCB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHcmlkIFJvd3NcbiAgICAgKi9cbiAgICAmX19yb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJGdyaWQtZ3V0dGVyLzI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSRncmlkLWd1dHRlci8yO1xuXG4gICAgICAgIEBlYWNoICRpZGVudGlmaWVyLCAkdmFsdWUgaW4gJGdyaWQtcm93LWFsaWdubWVudC1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgICYtLSN7JGlkZW50aWZpZXJ9IHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRicmVha3BvaW50TmFtZSwgJGJyZWFrcG9pbnRTaXplIGluICR0b29sYm94LWJyZWFrcG9pbnRzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnROYW1lKSB7XG4gICAgICAgICAgICAgICAgQGVhY2ggJGlkZW50aWZpZXIsICR2YWx1ZSBpbiAkZ3JpZC1yb3ctYWxpZ25tZW50LWhvcml6b250YWwge1xuICAgICAgICAgICAgICAgICAgICAmLS0jeyRpZGVudGlmaWVyfVxcQCN7JGJyZWFrcG9pbnROYW1lfSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRpZGVudGlmaWVyLCAkdmFsdWUgaW4gJGdyaWQtcm93LWFsaWdubWVudC12ZXJ0aWNhbCB7XG4gICAgICAgICAgICAmLS0jeyRpZGVudGlmaWVyfSB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRicmVha3BvaW50TmFtZSwgJGJyZWFrcG9pbnRTaXplIGluICR0b29sYm94LWJyZWFrcG9pbnRzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnROYW1lKSB7XG4gICAgICAgICAgICAgICAgQGVhY2ggJGlkZW50aWZpZXIsICR2YWx1ZSBpbiAkZ3JpZC1yb3ctYWxpZ25tZW50LXZlcnRpY2FsIHtcbiAgICAgICAgICAgICAgICAgICAgJi0tI3skaWRlbnRpZmllcn1cXEAjeyRicmVha3BvaW50TmFtZX0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdyaWQgQ29sc1xuICAgICAqL1xuICAgIFtjbGFzcyo9J28tZ3JpZF9fY29sXFw6J10ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWd1dHRlci8yO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1ndXR0ZXIvMjtcbiAgICB9XG5cbiAgICAmX19jb2wge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWd1dHRlcjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGdyaWQtZ3V0dGVyO1xuXG4gICAgICAgIEBlYWNoICRicmVha3BvaW50TmFtZSwgJGJyZWFrcG9pbnRTaXplIGluICR0b29sYm94LWJyZWFrcG9pbnRzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnROYW1lKSB7XG4gICAgICAgICAgICAgICAgJi0tZmlyc3RcXEAjeyRicmVha3BvaW50TmFtZX0ge1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnROYW1lLCAkYnJlYWtwb2ludFNpemUgaW4gJHRvb2xib3gtYnJlYWtwb2ludHMge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludE5hbWUpIHtcbiAgICAgICAgICAgICAgICAmLS1sYXN0XFxAI3skYnJlYWtwb2ludE5hbWV9IHtcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEdyaWQgQ29scyBPZmZzZXRcbiAgICAgICAgICovXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29scyB7XG4gICAgICAgICAgICAmLS1vZmZzZXRcXDojeyRpfSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICgoJGkgKiAxMDApIC8gJGdyaWQtY29scykgKiAxJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRicmVha3BvaW50TmFtZSwgJGJyZWFrcG9pbnRTaXplIGluICR0b29sYm94LWJyZWFrcG9pbnRzIHtcbiAgICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29scyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludE5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgJi0tb2Zmc2V0XFw6I3skaX1cXEAjeyRicmVha3BvaW50TmFtZX0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICgoJGkgKiAxMDApIC8gJGdyaWQtY29scykgKiAxJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29scyB7XG4gICAgICAgICAgICAmXFw6I3skaX0ge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6ICgoJGkgKiAxMDApIC8gJGdyaWQtY29scykgKiAxJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICgoJGkgKiAxMDApIC8gJGdyaWQtY29scykgKiAxJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRicmVha3BvaW50TmFtZSwgJGJyZWFrcG9pbnRTaXplIGluICR0b29sYm94LWJyZWFrcG9pbnRzIHtcbiAgICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29scyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludE5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgJlxcOiN7JGl9XFxAI3skYnJlYWtwb2ludE5hbWV9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6ICgoJGkgKiAxMDApIC8gJGdyaWQtY29scykgKiAxJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogKCgkaSAqIDEwMCkgLyAkZ3JpZC1jb2xzKSAqIDElO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZmlyc3Qge1xuICAgICAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGFzdCB7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHcmlkIFZhcmlhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb2xzXG4gKlxuICogTnVtYmVyIG9mIGdyaWQgY29scyB0byBiZSB1c2VkXG4gKi9cbiRncmlkLWNvbHM6IDEyO1xuXG4vKipcbiAqIEd1dHRlclxuICpcbiAqIFNpemUgaW4gJ3B4JyBvbiBlYWNoIHNpZGUgb2YgdGhlIGNvbHNcbiAqL1xuJGdyaWQtZ3V0dGVyOiAyMHB4O1xuXG4vKipcbiAqIEZpeGVkIHdpZHRoJ3NcbiAqL1xuJGdyaWQtZml4ZWQtd2lkdGhzOiAoXG4gICAgICAgICd4cyc6IDk0JSxcbiAgICAgICAgJ3NtJzogOTAlLFxuICAgICAgICAnbWQnOiA4NCUsXG4gICAgICAgICdsZyc6IDg4JSxcbiAgICAgICAgJ3hsJzogMTI0MHB4LFxuICAgICAgICAneHhsJzogMTI0MHB4XG4pO1xuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmFzdGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uby1yYXN0ZXIge1xuICAgICZcXDpjb2wtMS0xMi0xIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1ncmlkLXRlbXBsYXRlLWdyaWQtZnVsbCk7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tZ3JpZC1ndXR0ZXIpO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiAnbGVmdCBtYWluIG1haW4gbWFpbiBtYWluIG1haW4gbWFpbiBtYWluIG1haW4gbWFpbiBtYWluIG1haW4gbWFpbiByaWdodCc7XG5cbiAgICAgICAgJiA+ICoge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIvc3BhbiAxMjtcbiAgICAgICAgfVxuXG4gICAgICAgICYgPiAuby1yYXN0ZXItZnVsbC1ibGVlZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGxlZnQgLyByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKCdtZCcpIHtcbiAgICAgICAgICAgICYgPiAqIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMy9zcGFuIDEwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJlxcOmNvbC0xMiB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgMWZyKTtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1ncmlkLWd1dHRlcik7XG4gICAgfVxuXG4gICAgJlxcOmNlbGwtc3BhbjRtZCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDEyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1kKSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiA0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fd3JhcC1tYWluIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIvc3BhbiAxMjtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1ncmlkLXRlbXBsYXRlLTEyKTtcbiAgICAgICAgZ3JpZC1nYXA6IHZhcigtLWdyaWQtZ3V0dGVyKTtcblxuICAgICAgICAmW2RhdGEtd3JhcC1tYWluXSB7XG4gICAgICAgICAgICAmID4gKiB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvc3BhbiAxMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS13cmFwLW1haW49XCIyLTEwXCJdIHtcbiAgICAgICAgICAgICYgPiAqIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMi9zcGFuIDEwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltkYXRhLXdyYXAtbWFpbi1tZF0ge1xuICAgICAgICAgICAgJiA+ICoge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxL3NwYW4gMTI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicCgnbWQnKSB7XG4gICAgICAgICAgICAmW2RhdGEtd3JhcC1tYWluLW1kPVwiMi0xMFwiXSB7XG4gICAgICAgICAgICAgICAgJiA+ICoge1xuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMi9zcGFuIDIwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJltkYXRhLXdyYXAtbWFpbi1tZD1cInNwYW4tM1wiXSB7XG4gICAgICAgICAgICAgICAgJiA+ICoge1xuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAzO1xuXG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZbZGF0YS13cmFwLW1haW4tbWQ9XCJzcGFuLTRcIl0ge1xuICAgICAgICAgICAgICAgICYgPiAqIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZbZGF0YS13cmFwLW1haW4tbWQ9XCJzcGFuLTZcIl0ge1xuICAgICAgICAgICAgICAgICYgPiAqIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCbG9jayBMaW5rXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1ibG9jay1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJ1cmdlciBTaWduXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBidXJnZXIgYW5pbWF0aW9uOlxuLy8gWzFdIGlmIG5vIG1tZW51IHBsdWdpbjogc2V0IGNsYXNzIGlmIG1lbnUgaXMgb3BlbiB2aWEganNcbi8vIFsyXSByZW1vdmUgY2xhc3MgaWYgbW1lbnUgcGx1Z2luIGlzIG5vdCB1c2VkXG5cbiRidXJnZXItbGluZS1jb2xvcjogbWFwLWdldCgkdG9vbGJveC1jb2xvcnMsICd3aGl0ZScpO1xuJGJ1cmdlci1saW5lLWhlaWdodDogNHB4O1xuJGJ1cmdlci1saW5lLXdpZHRoOiAzMHB4O1xuJGJ1cmdlci1oZWlnaHQ6IDE4cHg7XG5cbi5jLWJ1dHRvbi5jLWJ1dHRvbi0tYnVyZ2VyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgdG9wOiAzMHB4O1xufVxuXG4uYy1idXJnZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAkYnVyZ2VyLWhlaWdodDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6ICRidXJnZXItbGluZS13aWR0aDtcblxuICAgIC5jLXRyaWdnZXItbW0gJiwgLy8gWzJdXG4gICAgLmMtdHJpZ2dlci1tZW51LW1haW4gJiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICZfX2xpbmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnVyZ2VyLWxpbmUtY29sb3I7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6ICRidXJnZXItbGluZS1oZWlnaHQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xuICAgICAgICB3aWR0aDogJGJ1cmdlci1saW5lLXdpZHRoO1xuXG4gICAgICAgICYtLXRvcCB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlKDApO1xuXG4gICAgICAgICAgICAubW0td3JhcHBlcl9vcGVuZWQgJiwgLy8gWzJdXG4gICAgICAgICAgICAubWVudS1pcy1vcGVuICYgeyAvLyBbMV1cbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBhcHAtY29sb3IoJ3ByaTEnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWNlbnRlciB7XG4gICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgIC5tbS13cmFwcGVyX29wZW5lZCAmLCAvLyBbMl1cbiAgICAgICAgICAgIC5tZW51LWlzLW9wZW4gJiB7IC8vIFsxXVxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4xcyBlYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tYm90dG9tIHtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUoMCk7XG5cbiAgICAgICAgICAgIC5tbS13cmFwcGVyX29wZW5lZCAmLCAvLyBbMl1cbiAgICAgICAgICAgIC5tZW51LWlzLW9wZW4gJiB7IC8vIFsxXVxuICAgICAgICAgICAgICAgIGJvdHRvbTogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGFwcC1jb2xvcigncHJpMScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJ1dHRvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIHJlcXVpcmVkOiBfdG9vbHMvbWl4aW5zL19taXhpbnMuYnV0dG9uLWJhc2ljLnNjc3Ncbi8vIHJlcXVpcmVkOiBfdG9vbHMvbWl4aW5zL19taXhpbnMuYnV0dG9uLXN0eWxlLnNjc3NcblxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcbiRidXR0b24tZm9udC1zaXplOiAxcmVtO1xuJGJ1dHRvbi1saW5lLWhlaWdodDogMy4xO1xuJGJ1dHRvbi1wYWRkaW5nOiAxZW07XG4kYnV0dG9uLXNpemUtc21hbGw6IC4ycmVtO1xuJGJ1dHRvbi1zaXplLWxhcmdlOiAuMnJlbTtcbiRidXR0b24tdHJhbnNpdGlvbjogYWxsIC4zcztcbiRidXR0b24tZ3JvdXAtc3BhY2U6IDFyZW07XG4kYnV0dG9uLWJvcmRlci1zaXplOiAycHg7XG5cbiRidXR0b25zOiAoXG4gICAgICAgICdtYWluJzogKFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogYXBwLWNvbG9yKCdwcmkxTGlnaHQnKSxcbiAgICAgICAgICAgICAgICBib3JkZXJDb2xvcjogdHJhbnNwYXJlbnQsXG4gICAgICAgICAgICAgICAgY29sb3I6IGFwcC1jb2xvcigncHJpMScpLFxuICAgICAgICAgICAgLy8gaG92ZXJcbiAgICAgICAgICAgICAgICBob3ZlckJhY2tncm91bmRDb2xvcjogYXBwLWNvbG9yKCdwcmkxTGlnaHQnKSxcbiAgICAgICAgICAgICAgICBob3ZlckJvcmRlckNvbG9yOiB0cmFuc3BhcmVudCxcbiAgICAgICAgICAgICAgICBob3ZlckNvbG9yOiBhcHAtY29sb3IoJ3ByaTEnKSxcbiAgICAgICAgKSxcbiAgICAgICAgJ3NlY29uZCc6IChcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGFwcC1jb2xvcignYmxhY2snLCAwLjIpLFxuICAgICAgICAgICAgICAgIGJvcmRlckNvbG9yOiB0cmFuc3BhcmVudCxcbiAgICAgICAgICAgICAgICBjb2xvcjogYXBwLWNvbG9yKCd3aGl0ZScpLFxuICAgICAgICAgICAgLy8gaG92ZXJcbiAgICAgICAgICAgICAgICBob3ZlckJhY2tncm91bmRDb2xvcjogYXBwLWNvbG9yKCdibGFjaycsIDApLFxuICAgICAgICAgICAgICAgIGhvdmVyQm9yZGVyQ29sb3I6IHRyYW5zcGFyZW50LFxuICAgICAgICAgICAgICAgIGhvdmVyQ29sb3I6IGFwcC1jb2xvcignd2hpdGUnKSxcbiAgICAgICAgKSxcbiAgICAgICAgJ2dob3N0JzogKFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogdHJhbnNwYXJlbnQsXG4gICAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6IG1hcC1nZXQoJHRvb2xib3gtY29sb3JzLCAncHJpMScpLFxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0b29sYm94LWNvbG9ycywgJ3ByaTEnKSxcbiAgICAgICAgICAgIC8vIGhvdmVyXG4gICAgICAgICAgICAgICAgaG92ZXJCYWNrZ3JvdW5kQ29sb3I6IHRyYW5zcGFyZW50LFxuICAgICAgICAgICAgICAgIGhvdmVyQm9yZGVyQ29sb3I6IGRhcmtlbihtYXAtZ2V0KCR0b29sYm94LWNvbG9ycywgJ3ByaTEnKSwgMjAlKSxcbiAgICAgICAgICAgICAgICBob3ZlckNvbG9yOiBkYXJrZW4obWFwLWdldCgkdG9vbGJveC1jb2xvcnMsICdwcmkxJyksIDIwJSlcbiAgICAgICAgKVxuKTtcblxuLmMtYnV0dG9uLFxuLmMtYnV0dG9uLWljb24tb25seSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWJhc2ljKCk7XG59XG5cbi5jLWJ1dHRvbiB7XG5cbiAgICAuYy1hcnRpY2xlICYge1xuICAgICAgICBtYXJnaW46IDAgJGdyaWQtZ3V0dGVyIDEuM2VtIDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTW9kaWZpZXIgLSBCdXR0b24gU3R5bGVzXG4gICAgICovXG4gICAgQGVhY2ggJGJ1dHRvbk1vZGlmaWVyLCAkbnVsbCBpbiAkYnV0dG9ucyB7XG4gICAgICAgICYtLSN7JGJ1dHRvbk1vZGlmaWVyfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJ1dHRvbk1vZGlmaWVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNpemluZ1xuICAgICAqL1xuICAgICYtLXNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiBjYWxjKCN7JGJ1dHRvbi1mb250LXNpemV9IC0gI3skYnV0dG9uLXNpemUtc21hbGx9KTtcbiAgICB9XG5cbiAgICAmLS1sYXJnZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogY2FsYygjeyRidXR0b24tZm9udC1zaXplfSArICN7JGJ1dHRvbi1zaXplLWxhcmdlfSk7XG4gICAgfVxuXG4gICAgJi0tZXhwYW5kZWQgeyAvLyBmdWxsIHNjcmVlbiB3aWR0aFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJi0tbWFpbixcbiAgICAmLS1zZWNvbmQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArICgjeyRidXR0b24tYm9yZGVyLXNpemV9ICogMykpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjNzIGVhc2UtaW4tb3V0LCBoZWlnaHQgLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogc29saWQgMnB4IG1hcC1nZXQoJHRvb2xib3gtY29sb3JzLCAncHJpMScpO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogc29saWQgMnB4IG1hcC1nZXQoJHRvb2xib3gtY29sb3JzLCAncHJpMScpO1xuICAgICAgICAgICAgcmlnaHQ6IC0kYnV0dG9uLWJvcmRlci1zaXplKjI7XG4gICAgICAgICAgICB0b3A6IC0kYnV0dG9uLWJvcmRlci1zaXplKjI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAycHggbWFwLWdldCgkdG9vbGJveC1jb2xvcnMsICdwcmkxJyk7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogc29saWQgMnB4IG1hcC1nZXQoJHRvb2xib3gtY29sb3JzLCAncHJpMScpO1xuICAgICAgICAgICAgYm90dG9tOiAtJGJ1dHRvbi1ib3JkZXItc2l6ZSoyO1xuICAgICAgICAgICAgbGVmdDogLSRidXR0b24tYm9yZGVyLXNpemUqMjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgKCN7JGJ1dHRvbi1ib3JkZXItc2l6ZX0gKiA0KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogSWNvbiBvbmx5XG4gKi9cbi5jLWJ1dHRvbi1pY29uLW9ubHkge1xuICAgIC5vLWljb24tZm9udDpiZWZvcmUsIC8vIGlmIHN0YW5kYWxvbmUgZWxlbWVudCBpbnNpZGVcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIC8vIHJlcXVpcmVkOiBjZW50ZXJzIHZlcnRpY2FsbHlcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qKlxuICogR3JvdXBcbiAqL1xuLmMtYnV0dG9uLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tbGVmdDogLSRidXR0b24tZ3JvdXAtc3BhY2UvMjtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kYnV0dG9uLWdyb3VwLXNwYWNlLzI7XG5cbiAgICAuYy1idXR0b24sXG4gICAgLmMtYnV0dG9uLWljb24tb25seSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRidXR0b24tZ3JvdXAtc3BhY2U7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkYnV0dG9uLWdyb3VwLXNwYWNlLzI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGJ1dHRvbi1ncm91cC1zcGFjZS8yO1xuICAgIH1cblxuICAgICYtLWNlbnRlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgICYtLXJpZ2h0IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQnV0dG9uIEJhc2ljIFN0eWxlIE1peGluXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWl4aW4gYnV0dG9uLWJhc2ljIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6ICRidXR0b24tZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWxpbmUtaGVpZ2h0O1xuICAgIHBhZGRpbmc6IDAgJGJ1dHRvbi1wYWRkaW5nO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQnV0dG9uIFN0eWxlIE1peGluXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AZnVuY3Rpb24gZ2V0LWJ0bi1zdHlsZSgkc3R5bGUsICRhdHRyKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KG1hcC1nZXQoJGJ1dHRvbnMsICRzdHlsZSksICRhdHRyKTtcbn1cblxuQG1peGluIGJ1dHRvbi1zdHlsZSgkc3R5bGUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnZXQtYnRuLXN0eWxlKCRzdHlsZSwgYmFja2dyb3VuZENvbG9yKTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBnZXQtYnRuLXN0eWxlKCRzdHlsZSwgYm9yZGVyQ29sb3IpO1xuICAgIGNvbG9yOiBnZXQtYnRuLXN0eWxlKCRzdHlsZSwgY29sb3IpO1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIC4zcztcblxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlcixcbiAgICAmLmFjdGl2ZSxcbiAgICAmLmN1cnJlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnZXQtYnRuLXN0eWxlKCRzdHlsZSwgaG92ZXJCYWNrZ3JvdW5kQ29sb3IpO1xuICAgICAgICBib3JkZXItY29sb3I6IGdldC1idG4tc3R5bGUoJHN0eWxlLCBob3ZlckJvcmRlckNvbG9yKTtcbiAgICAgICAgY29sb3I6IGdldC1idG4tc3R5bGUoJHN0eWxlLCBob3ZlckNvbG9yKTtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29weXJpZ2h0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyByZXF1aXJlZDogX3Rvb2xzL21peGlucy9fbWl4aW5zLmNvcHlyaWdodC5zY3NzXG5cbi5jLWNvcHlyaWdodCB7XG4gICAgQGluY2x1ZGUgY29weXJpZ2h0KCk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRmlndXJlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyByZXF1aXJlZDogX3Rvb2xzL21peGlucy9fbWl4aW5zLmZvY3VzLXJpbmctaW5uZXIuc2Nzc1xuXG4kZmlndXJlLWljb24tYmctY29sb3I6IG1hcC1nZXQoJHRvb2xib3gtY29sb3JzLCAnd2hpdGUnKTtcbiRmaWd1cmUtaWNvbi1jb2xvcjogbWFwLWdldCgkdG9vbGJveC1jb2xvcnMsICd3aGl0ZScpO1xuJGZpZ3VyZS1pY29uLXNpemU6IDFyZW07XG4kZmlndXJlLWljb24tc3BhY2U6IC41cmVtO1xuXG4uYy1maWd1cmUge1xuICAgICZfX2lubmVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICZfX292ZXJsYXkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKG1hcC1nZXQoJHRvb2xib3gtY29sb3JzLCAnYmxhY2snKSwgLjQpO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC40cyBlYXNlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgZm9jdXMtcmluZy1pbm5lcigpO1xuXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgLmMtZmlndXJlX19vdmVybGF5IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpZ2NhcHRpb24ge1xuICAgICAgICBAaW5jbHVkZSBmaWdjYXB0aW9uKCk7XG4gICAgfVxuXG4gICAgLmMtaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gaWNvbiBvbiBpbWFnZVxuXG4gICAgW2NsYXNzKj0nby1pY29uLWZvbnQnXSB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29sb3I6ICRmaWd1cmUtaWNvbi1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkZmlndXJlLWljb24tc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JGZpZ3VyZS1pY29uLXNpemV9ICsgI3skZmlndXJlLWljb24tc3BhY2V9ICogMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogY2FsYygjeyRmaWd1cmUtaWNvbi1zaXplfSArICN7JGZpZ3VyZS1pY29uLXNwYWNlfSAqIDIpO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEobWFwLWdldCgkdG9vbGJveC1jb2xvcnMsICdibGFjaycpLCAuNik7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZmlndXJlLWljb24tc3BhY2U7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2V0IGFuIGlubmVyIGZvY3VzIHJpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIHJlcXVpcmVkOiBfc2V0dGluZ3MvX3NldHRpbmdzLnVpLnNjc3NcblxuQG1peGluIGZvY3VzLXJpbmctaW5uZXIge1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXI6ICRmb2N1cy1vdXRsaW5lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFVzZXIgSW50ZXJmYWNlIFZhcmlhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJGZvY3VzLWNvbG9yOiBtYXAtZ2V0KCR0b29sYm94LWNvbG9ycywgJ2JsYWNrJyk7XG4kZm9jdXMtc3R5bGU6IGRhc2hlZDtcbiRmb2N1cy13aWR0aDogM3B4O1xuJGZvY3VzLW91dGxpbmU6ICRmb2N1cy13aWR0aCAkZm9jdXMtc3R5bGUgJGZvY3VzLWNvbG9yO1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZpZ2NhcHRpb24gU3R5bGUgTWl4aW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtaXhpbiBmaWdjYXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2UvNDtcbiAgICBAaW5jbHVkZSBmb250KCdzJyk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9vdGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kZm9vdGVyLWNvbG9yOiBtYXAtZ2V0KCR0b29sYm94LWNvbG9ycywgJ3doaXRlJyk7XG4kZm9vdGVyLWJnLWNvbG9yOiBtYXAtZ2V0KCR0b29sYm94LWNvbG9ycywgJ2RhcmtHcmVlbicpO1xuXG4uYy1mb290ZXIge1xuICAgIGJhY2tncm91bmQ6ICRmb290ZXItYmctY29sb3I7XG4gICAgJl9fYm90dG9tIHtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAkZm9vdGVyLWNvbG9yO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgfVxuICAgICAgICAuYy1tZW51LWZvb3RlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIvc3BhbiAxMjtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLWdhcDogMjBweDtcblxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoIGF1dG8tZml0LCBtaW5tYXgoMTAwcHgsIDFmcikgKTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICZfX2xpbmsge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBhcHAtY29sb3IoJ3doaXRlJyk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogYXBwLWNvbG9yKCdwcmkxJyk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNjUlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDEuMmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicChzbSkge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyLyBzcGFuIDg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmMtbWVudS1mb290ZXItbWV0YSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMi8gc3BhbiA4O1xuXG4gICAgICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogYXBwLWNvbG9yKCd3aGl0ZScpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGFwcC1jb2xvcigncHJpMScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlYWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gcmVxdWlyZWQ6IF9zZXR0aW5ncy9fc2V0dGluZ3Muc3BhY2Uuc2Nzc1xuXG4kaGVhZGVyLWNvbG9yOiBtYXAtZ2V0KCR0b29sYm94LWNvbG9ycywgJ3ByaTEnKTtcbiRoZWFkZXItYmctY29sb3I6IG1hcC1nZXQoJHRvb2xib3gtY29sb3JzLCAnbGlnaHRHcmVlbicpO1xuJGhlYWRlci1ib3JkZXI6IDA7XG5cbiR0ZWFzZXItY29sb3I6IG1hcC1nZXQoJHRvb2xib3gtY29sb3JzLCAnd2hpdGUnKTtcbiR0ZWFzZXItYmctY29sb3I6IG1hcC1nZXQoJHRvb2xib3gtY29sb3JzLCAnZGFya0dyZWVuJyk7XG5cbi5jLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1hZ2VzL2hlYWRlci5qcGdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLWJnLWNvbG9yO1xuICAgIGJvcmRlci1ib3R0b206ICRoZWFkZXItYm9yZGVyO1xuICAgIGJvcmRlci10b3A6ICRoZWFkZXItYm9yZGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWluLWhlaWdodDogNTAwcHg7XG5cbiAgICAmX19pbm5lciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyL3NwYW4gMTI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgJi5jLWxvZ28ge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNzZweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYy10ZWFzZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA3MHB4O1xuICAgICAgICAgICAgbGVmdDogMzBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0ZWFzZXItYmctY29sb3I7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDI2OHB4O1xuICAgICAgICAgICAgY29sb3I6ICR0ZWFzZXItY29sb3I7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdZKC01ZGVnKTtcblxuICAgICAgICAgICAgJl9faW5uZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2tld1koNWRlZyk7XG5cbiAgICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjRyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jLXRyaWdnZXItbW0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbn1cbiIsIi5jLWltZyB7XG5cbiAgICAvKipcbiAgICAgKiBMYXp5IGxvYWRpbmdcbiAgICAgKi9cblxuICAgIC8vIGhpZGUgbGF6eWxvYWQgaW1hZ2UgLSB3ZSBwcm92aWRlIGEgbm9zY3JpcHQgaW1hZ2UgZmFsbGJhY2tcbiAgICAubm8tanMgJiB7XG4gICAgICAgICYubGF6eWxvYWQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGJsdXJyeSBpbWFnZSB1bnRpbCBsb2FkZWRcbiAgICBodG1sOm5vdCgubm8tanMpICYge1xuICAgICAgICAmLmxhenlsb2FkIHtcbiAgICAgICAgICAgIGZpbHRlcjogYmx1cig1cHgpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogZmlsdGVyIDQwMG1zO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5sYXp5bG9hZGVkIHtcbiAgICAgICAgICAgIGZpbHRlcjogYmx1cigwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBLaWNrZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWtpY2tlciB7XG4gICAgQGluY2x1ZGUgZm9udCgncycpO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIElFOiByZW1vdmUgdW5kZXJsaW5lIG9uIHBzZXVkbyBlbGVtZW50c1xuICAgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvODgyMDI4Ni9ob3ctdG8tcmVtb3ZlLW9ubHktdW5kZXJsaW5lLWZyb20tYWJlZm9yZS8yMTkwMjU2NiMyMTkwMjU2NlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1peGluIHJlbW92ZS11bmRlcmxpbmUge1xuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIsXG4gICAgJjpob3ZlcjpiZWZvcmUsXG4gICAgJjpob3ZlcjphZnRlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTGluayBTdHlsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIHJlcXVpcmVkOiBfdG9vbHMvbWl4aW5zL19taXhpbnMuYnV0dG9uLWJhc2ljLnNjc3Ncbi8vIHJlcXVpcmVkOiBfdG9vbHMvbWl4aW5zL19taXhpbnMuZmFuY3ktdW5kZXJsaW5lLnNjc3Ncbi8vIHJlcXVpcmVkOiBfdG9vbHMvbWl4aW5zL19taXhpbnMucmVtb3ZlLXVuZGVybGluZS5zY3NzXG5cbi5jLWxpbmssXG4uYy1saW5rLWljb24tb25seSB7XG4gICAgQGluY2x1ZGUgcmVtb3ZlLXVuZGVybGluZSgpO1xuXG4gICAgLm8taWNvbi1mb250IHtcbiAgICAgICAgQGluY2x1ZGUgcmVtb3ZlLXVuZGVybGluZSgpO1xuICAgIH1cbn1cblxuLmMtbGluay0tZmFuY3kge1xuICAgIEBpbmNsdWRlIGZhbmN5LXVuZGVybGluZSgpO1xufVxuXG4uYy1saW5rLWljb24tb25seSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgLy8gSUU6IHJlcXVpcmVkXG59XG5cbi5vLWljb24tZm9udC0tYXJyb3ctcmlnaHQge1xuXG59XG5cbi5jLWFydGljbGUge1xuICAgIGEge1xuICAgICAgICAmOm5vdChbY2xhc3NdKSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBmb250LWljb246IHVybCgnLi4vLi4vLi4vdmVjdG9ycy9hcnJvd19ncmVlbi5zdmcnKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBpY29uLWZvbnQtc3R5bGVzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRmFuY3kgdW5kZXJsaW5lIHN0eWxlcyBmb3IgbGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWl4aW4gZmFuY3ktdW5kZXJsaW5lIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoY3VycmVudENvbG9yLCBjdXJyZW50Q29sb3IpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMCAycHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSBjdWJpYy1iZXppZXIoMCwgLjUsIDAsIDEpIC4zcztcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAycHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQWRkaXRpb25hbCBzdHlsZXMgZm9yIHRoZSBpY29uIGZvbnQgKHJlcXVpcmVkKVxuICAgdXNlIGl0IGluIGNvbWJpbmF0aW9uIHdpdGggdGhlICdmb250LWljb24nIHByb3BlcnR5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWl4aW4gaWNvbi1mb250LXN0eWxlcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvLyBiZXR0ZXIgZm9udCByZW5kZXJpbmdcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHNwZWFrOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExvZ29cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWxvZ28ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIHN2ZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGZpbGw6ICNmZmY7XG5cbiAgICAgICAgLmljb25fbG9nby10eHQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAoc20pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNZWRpYVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJG1lZGlhLWJnLWNvbG9yOiByZ2JhKG1hcC1nZXQoJHRvb2xib3gtY29sb3JzLCAncHJpMScpLCAuNik7XG4kbWVkaWEtYmctY29sb3ItaG92ZXI6IHJnYmEobWFwLWdldCgkdG9vbGJveC1jb2xvcnMsICdwcmkxJyksIC4yKTtcbiRtZWRpYS10ZXh0LWNvbG9yOiBtYXAtZ2V0KCR0b29sYm94LWNvbG9ycywgJ3doaXRlJyk7XG4kbWVkaWEtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnM7XG5cbi5jLW1lZGlhIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGlhLWJnLWNvbG9yO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkbWVkaWEtdHJhbnNpdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXI6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGlhLWJnLWNvbG9yLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW1hZ2UgYXNwZWN0IHJhdGlvXG4gICAgICovXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oMTZweCwgOXB4KTtcbiAgICB9XG5cbiAgICAmX19maWdjYXB0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgZmlnY2FwdGlvbigpO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBjb2xvcjogJG1lZGlhLXRleHQtY29sb3I7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAubm8tanMgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyAvLyBuby1qcyBoaW50IGFwcGVhcnMgaW5zdGVhZFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogaUZyYW1lXG4gICAgICovXG4gICAgLmMtaWZyYW1lLXZpZGVvIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGlhLWJnLWNvbG9yLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5pZnJhbWUtbG9hZGVkIHtcbiAgICAgICAgLmMtaWZyYW1lLXZpZGVvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmMtbWVkaWFfX2NvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQXNwZWN0LXJhdGlvIG1peGluXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqXG4gKiAnYXNwZWN0LXJhdGlvJyBtaXhpblxuICpcbiAqIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSB3aWR0aCBvZiBjb250YWluZXIgKGUuZy4gMTAwcHgpXG4gKiBAcGFyYW0ge051bWJlcn0gJGhlaWdodCAtIGhlaWdodCBvZiBjb250YWluZXIgKGUuZy4gNjBweClcbiAqL1xuQG1peGluIGFzcGVjdC1yYXRpbygkd2lkdGgsICRoZWlnaHQpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy10b3A6ICgkaGVpZ2h0IC8gJHdpZHRoKSAqIDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgID4gKiB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTY3JvbGwgdG8gVG9wIEJ1dHRvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtc2Nyb2xsLXRvLXRvcCB7XG4gICAgLmMtYXBwICYge1xuICAgICAgICBib3R0b206IDFyZW07XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRyaWdnZXIgTWVudSBNYWluXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kdHJpZ2dlci1tZW51LW1haW4tc2l6ZTogM3JlbTtcblxuLmMtdHJpZ2dlci1tbSwgLy8gcmVtb3ZlIGlmIG1tZW51IHBsdWdpbiBpcyBub3QgdXNlZFxuLmMtdHJpZ2dlci1tZW51LW1haW4ge1xuICAgIGhlaWdodDogJHRyaWdnZXItbWVudS1tYWluLXNpemU7XG4gICAgd2lkdGg6ICR0cmlnZ2VyLW1lbnUtbWFpbi1zaXplO1xuXG4gICAgLm5vLWpzICYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHYWxsZXJ5ICYgR2FsbGVyeSBTbGlkZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRnYWxsZXJ5LWJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuJGdhbGxlcnktaW1hZ2Utd2lkdGgtc21hbGw6IDUwJTtcbiRnYWxsZXJ5LWltYWdlLXdpZHRoLWxhcmdlOiAzMy4zMzMlO1xuJGdhbGxlcnktc2xpZGVyLW5hdi1oZWlnaHQ6IDJyZW07XG4kZ2FsbGVyeS1zbGlkZXItbmF2LWRvdHMtc3BhY2U6IDEuNXJlbTtcbiRnYWxsZXJ5LXNsaWRlci1uYXYtYXJyb3ctc2l6ZTogMS4xMjVyZW07XG5cbi8qKlxuICogR2FsbGVyeVxuICovXG5cbi5jLWdhbGxlcnkge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIC8vIGlubmVyIGNvbnRhaW5lclxuICAgICZfX2lubmVyIHtcbiAgICAgICAgLy8gaGlkZSBvbmx5IGlmIHNsaWRlciBtb2RlXG4gICAgICAgIEBpbmNsdWRlIGJwKDAsIG1hcC1nZXQoJHRvb2xib3gtYnJlYWtwb2ludHMsICd4cycpIC0gMSkgeyAvLyBtaW4td2lkdGgsIG1heC13aWR0aFxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgLm5vLWpzICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoeHMpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gaW1hZ2VzXG4gICAgLmMtZmlndXJlIHtcbiAgICAgICAgQGluY2x1ZGUgYnAoeHMpIHtcbiAgICAgICAgICAgIGJvcmRlcjogJGdhbGxlcnktYm9yZGVyO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogJGdhbGxlcnktaW1hZ2Utd2lkdGgtc21hbGw7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicChtZCkge1xuICAgICAgICAgICAgd2lkdGg6ICRnYWxsZXJ5LWltYWdlLXdpZHRoLWxhcmdlO1xuXG4gICAgICAgICAgICAucGFnZS1sYXlvdXQtMmNvbCAuYy1tYWluX19hcnRpY2xlICYge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkZ2FsbGVyeS1pbWFnZS13aWR0aC1zbWFsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uby1qcyAmIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRnYWxsZXJ5LWJvcmRlcjtcbiAgICAgICAgICAgIGJvcmRlci10b3A6ICRnYWxsZXJ5LWJvcmRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGN1c3RvbWl6ZWQgbmF2aWdhdGlvbiBvbmx5IG1vYmlsZSFcblxuICAgIC8vIG5hdmlnYXRpb25cbiAgICAuYy1idXR0b24taWNvbi1vbmx5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC8vIHByZXZpb3VzIG5leHQgYnV0dG9uXG4gICAgLnNsaWNrLXByZXYge1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC5zbGljay1uZXh0IHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLmpzLWdhbGxlcnktcGFnaW5nIHsgLy8gY3VzdG9tIG5hdiBvZiBzbGljayBzbGlkZXIgcGx1Z2luXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAgICAgJi5zbGljay1hY3RpdmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIEdhbGxlcnkgTmF2aWdhdGlvblxuICovXG5cbi5jLWdhbGxlcnktbmF2IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAkZ2FsbGVyeS1zbGlkZXItbmF2LWhlaWdodDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luOiAuNXJlbSAwO1xuXG4gICAgLy8gZG90c1xuICAgICZfX2RvdHMge1xuICAgICAgICBwYWRkaW5nOiAwICRnYWxsZXJ5LXNsaWRlci1uYXYtZG90cy1zcGFjZTtcbiAgICB9XG5cbiAgICAuc2xpY2stZG90cyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBwcmV2aW91cyBuZXh0IGJ1dHRvblxuICAgICZfX3ByZXYsXG4gICAgJl9fbmV4dCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGdhbGxlcnktc2xpZGVyLW5hdi1hcnJvdy1zaXplO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gc2hvdyBuYXYgb25seSBpZiBpbml0XG4gICAgLmMtZ2FsbGVyeSBbZGF0YS1zbGljaz0naW5pdCddIH4gJixcbiAgICAuYy1nYWxsZXJ5LS1zbGlkZXIgLmluaXQgfiAmIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG59XG5cbi8qKlxuICogR2FsbGVyeSBTbGlkZXJcbiAqL1xuXG4uYy1nYWxsZXJ5LS1zbGlkZXIge1xuICAgIC8vIGhpZGUgaW1hZ2VzIHVudGlsIGpzIGlzIHJlYWR5IC8gaW5pdCBjbGFzcyBpcyBzZXRcbiAgICAuanMgJiB7XG4gICAgICAgIC5jLWZpZ3VyZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmluaXQgLmMtZmlndXJlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDbGVhcmZpeCBtaXhpblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICsgJ2NsZWFyZml4JyBtaXhpblxuICovXG5AbWl4aW4gY2xlYXJmaXgge1xuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZXJvIEltYWdlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyByZXF1aXJlZDogX3Rvb2xzL21peGlucy9fbWl4aW5zLmNvdmVyLWltZy5zY3NzXG5cblxuLmMtaGVyby1lbGVtZW50IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGdyaWQtY29sdW1uOiAxLyBzcGFuIDE0O1xuICAgIGdyaWQtY29sdW1uLWdhcDogIHZhcigtLWdyaWQtZ3V0dGVyKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0byAxZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1ncmlkLXRlbXBsYXRlLWdyaWQtZnVsbC1pbm5lcik7XG5cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBncmlkLWNvbHVtbjogMi9zcGFuIDEzO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSB3b3JkLWJyZWFrO1xuICAgIH1cblxuICAgICZfX2ltYWdlLXdyYXAge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMTQ7XG4gICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAyO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBncmlkLWNvbHVtbjogMi8xMztcbiAgICAgICAgZ3JpZC1yb3c6IDM7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jLWJ1dHRvbiB7XG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKGxnKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAxZnI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tZ3JpZC10ZW1wbGF0ZS1ncmlkLWZ1bGwtaW5uZXIpO1xuXG4gICAgICAgICZfX2ltYWdlLXdyYXAge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyA5O1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDI7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogOSAvIDEzO1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faGVhZGluZyB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogNi9zcGFuIDc7XG4gICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICAgIG1hcmdpbjogNTBweCAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBXb3JkIGJyZWFrIC0gd3JhcHBpbmcgbG9uZyB3b3Jkc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1peGluIHdvcmQtYnJlYWsge1xuICAgIGh5cGhlbnM6IGF1dG87XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICAvLyBhY3RpdmF0ZSBpZiBJRSAxMSBoYXN0IHRvIGJlIHN1cHBvcnRlZCB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IC8vIHN1cHBvcnRzIGl0IGFzIGEgbGVnYWN5IGFsaWFzIGZvciB0aGUgcHJvcGVyIFwib3ZlcmZsb3ctd3JhcFwiIHN5bnRheFxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFF1b3RlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1xdW90ZSB7XG4gICAgJl9faW5uZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICAgICAgcGFkZGluZzogMXJlbSAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fY2FwdGlvbiBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLm8taWNvbi1mb250IHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNlY3Rpb24gV3JhcHBlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXNlY3Rpb24td3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogYXBwLWNvbG9yKCdsaWdodDEnKTtcbiAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgIHBhZGRpbmc6IDAgMCBzcGFjZSgneHh4eGxhcmdlJyk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGV4dFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gcmVxdWlyZWQ6IF90b29scy9taXhpbnMvX21peGlucy5uYXJyb3cuc2Nzc1xuXG4kbGlnaHQtYmc6IG1hcC1nZXQoJHRvb2xib3gtY29sb3JzLCAnbGlnaHRHcmVlbicpO1xuJGRhcmstYmc6IG1hcC1nZXQoJHRvb2xib3gtY29sb3JzLCAnZGFya0dyZWVuJyk7XG5cbi5jLXRleHQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAzMHB4O1xuXG4gICAgJi5mbG93ZXItYmcge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi8uLi9pbWFnZXMvZmxvd2VyLWJnLnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXG4gICAgICAgIC5xdW90ZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWVkMzlmO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMTBweCAwIDAgMCAjYWVkMzlmLCAtMTBweCAwIDAgMCAjYWVkMzlmO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5saWdodC1iZyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1iZztcblxuICAgICAgICBoZWFkZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3WSgtNWRlZyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0b29sYm94LWNvbG9ycywgJ2RhcmtHcmVlbicpO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMDNweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdG9vbGJveC1jb2xvcnMsICd3aGl0ZScpO1xuICAgICAgICAgICAgbWFyZ2luOiAxNXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuZGFyay1iZyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWJnO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkdG9vbGJveC1jb2xvcnMsICd3aGl0ZScpO1xuICAgICAgICBoZWFkZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3WSgtNWRlZyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0b29sYm94LWNvbG9ycywgJ3doaXRlJyk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwM3B4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTo0MHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgbWFyZ2luOiAxNXB4O1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRvb2xib3gtY29sb3JzLCAnZGFya0dyZWVuJyk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRleHQgTWVkaWFcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIHJlcXVpcmVkOiBfc2V0dGluZ3MvX3NldHRpbmdzLmdyaWQuc2Nzc1xuLy8gcmVxdWlyZWQ6IF9zZXR0aW5ncy9fc2V0dGluZ3Muc3BhY2Uuc2Nzc1xuLy8gcmVxdWlyZWQ6IF90b29scy9mdW5jdGlvbnMvX2Z1bmN0aW9ucy5nZXRXaWR0aC5zY3NzXG5cbi8vIGRlZmF1bHQgc3R5bGVzXG4uYy10ZXh0bWVkaWEge1xuICAgIC8vIG1hcmdpbiB0byBjb250ZW50XG4gICAgLmMtZmlndXJlLFxuICAgIC5jLW1lZGlhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlO1xuICAgIH1cbn1cblxuLy8gbGF5b3V0IHN0eWxlc1xuLmMtdGV4dG1lZGlhX19pbm5lciB7XG4gICAgLy8gbWVkaWEgYmVsb3dcbiAgICAmLS1iZWxvdyB7XG4gICAgICAgIC5jLXRleHRtZWRpYV9fdGV4dCB7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jLXRleHRtZWRpYV9fbWVkaWEge1xuICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIH1cblxuICAgICAgICAuYy10ZXh0bWVkaWFfX2NvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBtZWRpYSBmbG9hdCBsZWZ0XG4gICAgJi0tZmxvYXQtbGVmdCxcbiAgICAmLS1mbG9hdC1sZWZ0LXNtYWxsIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICAgICAgICBAaW5jbHVkZSBicChtZCkge1xuICAgICAgICAgICAgLmMtdGV4dG1lZGlhX19jb250ZW50IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLSRncmlkLWd1dHRlci8yO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRncmlkLWd1dHRlci8yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYy10ZXh0bWVkaWFfX21lZGlhIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEyICogNCkpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdyaWQtZ3V0dGVyLzI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jLXRleHRtZWRpYV9fbWVkaWEsXG4gICAgICAgICAgICAuYy10ZXh0bWVkaWFfX3RleHQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGdyaWQtZ3V0dGVyLzI7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGdyaWQtZ3V0dGVyLzI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1mbG9hdC1sZWZ0LXNtYWxsIHtcbiAgICAgICAgLmMtdGV4dG1lZGlhX19tZWRpYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicChtZCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBnZXR3aWR0aCgxMiwgNCk7IC8vIGNhbGMoKCgxMDAlIC8gMTIpICogNCkgPSA0IGNvbHMgb2YgMTIgZ3JpZCA9IDMwJVxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdyaWQtZ3V0dGVyLzI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQWNjZXNzaWJpbGl0eVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnUtYWNjZXNzaWJpbGl0eSB7XG4gICAgLy8gdmlzdWFsbHkgaGlkZGVuLCBidXQgcmVhZGFibGUgZm9yIHNjcmVlbiByZWFkZXJcbiAgICBAaW5jbHVkZSBhY2Nlc3NpYmlsaXR5KCk7XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEFjY2Vzc2liaWxpdHkgbWl4aW5cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqICdhY2Nlc3NpYmlsaXR5JyBtaXhpblxuICovXG5AbWl4aW4gYWNjZXNzaWJpbGl0eSB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyByZXF1aXJlZDogX3NldHRpbmdzL19zZXR0aW5ncy5zcGFjZS5zY3NzXG4vLyByZXF1aXJlZDogX3Rvb2xzL2Z1bmN0aW9ucy9fZnVuY3Rpb25zLmdldFdpZHRoLnNjc3Ncbi8vIHJlcXVpcmVkOiBfdG9vbHMvbWl4aW5zL19taXhpbnMuZ3JpZC1yZWxlYXNlLnNjc3NcblxuJGNvbG9yLXByb3BlcnRpZXM6IChcbiAgICAnYmFja2dyb3VuZC1jb2xvcic6IGJnLFxuICAgICdib3JkZXItY29sb3InOiBibyxcbiAgICAnY29sb3InOiBjXG4pO1xuXG4udS1jb2xvciB7XG5cbiAgICAvLyBkZWZpbmUgY29sb3JzXG4gICAgQGVhY2ggJHByb3BlcnR5LCAkcHJvcGVydHlOYW1lIGluICRjb2xvci1wcm9wZXJ0aWVzIHtcbiAgICAgICAgJi0jeyRwcm9wZXJ0eU5hbWV9IHtcbiAgICAgICAgICAgIEBlYWNoICRjb2xvck5hbWUsICRjb2xvclZhbHVlIGluICR0b29sYm94LWNvbG9ycyB7XG4gICAgICAgICAgICAgICAgJlxcOiN7JGNvbG9yTmFtZX0ge1xuICAgICAgICAgICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICRjb2xvclZhbHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogRGVmYXVsdCBjb25maWd1cmF0aW9uIHZhbHVlcy5cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIEJyZWFrcG9pbnQgaWRlbnRpZmllcnMgYW5kIHNpemVzLlxuICpcbiAqIEB0eXBlIHtNYXB9XG4gKi9cbiR0b29sYm94LWJyZWFrcG9pbnRzOiAoXG4gICAgICAgICd4cyc6IDUwMHB4LFxuICAgICAgICAnc20nOiA3MDBweCxcbiAgICAgICAgJ21kJzogOTAwcHgsXG4gICAgICAgICdsZyc6IDExMDBweCxcbiAgICAgICAgJ3hsJzogMTMwMHB4LFxuICAgICAgICAneHhsJzogMTcwMHB4XG4pO1xuXG4vKipcbiAqIENvbG9yIGlkZW50aWZpZXJzIGFuZCB2YWx1ZXMuXG4gKlxuICogQHR5cGUge01hcH1cbiAqL1xuJHRvb2xib3gtY29sb3JzOiAoXG4gICAgLy8gUHJpbWFyeVxuICAgICAgICAnZGFya0dyZWVuJzogIzJhNGMyYixcbiAgICAgICAgJ2xpZ2h0R3JlZW4nOiAjZTZmMWUyLFxuICAgICAgICAncHJpMSc6ICMwMDlGMzksXG4gICAgICAgICdwcmkyJzogIzAwNEQ5NSxcbiAgICAgICAgJ3ByaTFMaWdodCc6ICNFOUY2RUIsXG4gICAgICAgICdwcmkyRGFyayc6ICMwMDNFNzcsXG4gICAgLy8gTGlnaHRcbiAgICAgICAgJ2xpZ2h0MSc6ICNGMkYyRjIsXG4gICAgICAgICdtaWQxJzogIzk5OUNBMSxcbiAgICAgICAgJ2RlZmF1bHRUeHQnOiAjMzYzODQwLFxuICAgICAgICAnYmxhY2snOiAjMDAwLFxuICAgICAgICAnd2hpdGUnOiAjZmZmLFxuKTtcblxuLyoqXG4gKiBUeXBvZ3JhcGh5IGJhc2UgZm9udC1zaXplLlxuICpcbiAqIEB0eXBlIHtJbnRlZ2VyfSAocmVtLCBlbSwgcHgsIHB0LCAlKVxuICovXG4kdG9vbGJveC10eXBvLWJhc2U6IDFyZW07IC8vIGJhc2UgZm9udCBzaXplIGZvciAnbScgaW4gJHRvb2xib3gtdHlwby1zaXplc1xuXG4vKipcbiAqIFR5cG9ncmFwaHkgcmF0aW8uXG4gKlxuICogQHR5cGUge0ludGVnZXJ9XG4gKi9cbiR0b29sYm94LXR5cG8tcmF0aW86IDEuNjE4O1xuXG4vKipcbiAqIFR5cG9ncmFwaHkgc2l6ZXMuXG4gKlxuICogQHR5cGUge01hcH1cbiAqL1xuJHRvb2xib3gtdHlwby1zaXplczogKFxuICAgICAgICAncyc6ICgtMSwgMS40KSxcbiAgICAgICAgJ20nOiAoMCwgMS40KSxcbiAgICAgICAgJ2wnOiAoMSwgMS4xNiksXG4gICAgICAgICd4bCc6ICgyLCAxLjEpLFxuICAgICAgICAneHhsJzogKDMsIDEuMDYyKSxcbiAgICAgICAgJ3h4eGwnOiAoNCwgMS4wNjIpXG4pO1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNwYWNpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIHJlcXVpcmVkOiBfdG9vbHMvZnVuY3Rpb25zL19mdW5jdGlvbnMudmVydGljYWwtcmh5dGhtLnNjc3NcblxuLyoqXG4gKiBDb21wb25lbnQgbWFyZ2luIGJvdHRvbSAoc3BhY2UgYWZ0ZXIgZWFjaCBjb21wb25lbnQpXG4gKi9cblxuXG5cbi51LXNwYWNlIHtcbiAgICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICR1dGlsaXR5LXNwYWNlcyB7XG4gICAgICAgICYtdG9wXFw6I3skbmFtZX0ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGJhc2VWYWx1ZSokdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbjpyb290IHtcbiAgICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICR1dGlsaXR5LXNwYWNlcyB7XG4gICAgICAgIC0tc3BhY2luZy0jeyRuYW1lfTogY2FsYygjeyR2YWx1ZX0gKiAxMHB4KTtcbiAgICB9XG59XG5cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFR5cG9ncmFwaHlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIHJlcXVpcmVkOiBfc2V0dGluZ3MvX3NldHRpbmdzLnNwYWNlLnNjc3Ncbi8vIHJlcXVpcmVkOiBfc2V0dGluZ3MvX3NldHRpbmdzLmZvbnRzLnNjc3Ncbi8vIHJlcXVpcmVkOiBfdG9vbHMvbWl4aW5zL19taXhpbnMud29yZC1icmVhay5zY3NzXG5cbi8qKlxuICogRm9udCBXZWlnaHRcbiAqL1xuLnUtdHlwbyB7XG4gICAgJlxcOmxpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgdHlwbygkd2VpZ2h0OiAxMDApO1xuICAgIH1cblxuICAgICZcXDpyZWd1bGFyIHtcbiAgICAgICAgQGluY2x1ZGUgdHlwbygpO1xuICAgIH1cblxuICAgICZcXDppdGFsaWMge1xuICAgICAgICBAaW5jbHVkZSB0eXBvKCRzdHlsZTogaXRhbGljKTtcbiAgICB9XG5cbiAgICAmXFw6Ym9sZCB7XG4gICAgICAgIEBpbmNsdWRlIHR5cG8oJHdlaWdodDogNjAwKTtcbiAgICB9XG59XG5cbi8qKlxuICogRm9udCBTaXplXG4gKi9cbkBlYWNoICRmb250LXNpemUsICRudWxsIGluICR0b29sYm94LXR5cG8tc2l6ZXMge1xuICAgIC51LXR5cG9cXDojeyRmb250LXNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgkZm9udC1zaXplKTtcbiAgICB9XG59XG5cbi8qKlxuICogTW9iaWxlIGZvbnQgc2l6ZSBhZGp1c3RtZW50c1xuICogQ2hlY2sgZm9yIGVhY2ggcHJvamVjdCB0aGlzIGlzIG9ubHkgYSBzdWdnZXN0aW9uXG4gKi9cbi51LXR5cG9cXDp4eHhsLFxuLnUtdHlwb1xcOnh4bCB7XG4gICAgQGluY2x1ZGUgd29yZC1icmVhaygpO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==*/
