/*!************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/css/app.scss ***!
  \************************************************************************************************************************************************************************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@300;500;700&display=swap);
/*!****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/css/app.scss (1) ***!
  \****************************************************************************************************************************************************************************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&display=swap);
/*!****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/css/app.scss (2) ***!
  \****************************************************************************************************************************************************************************************************************************************************************************/
@import url(https://cdn-uicons.flaticon.com/uicons-regular-rounded/css/uicons-regular-rounded.css);
/*!****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/dropzone.css ***!
  \****************************************************************************************************************/
/*
 * The MIT License
 * Copyright (c) 2012 Matias Meno <m@tias.me>
 */

@-webkit-keyframes passing-through {
    0% {
        opacity: 0;
        -webkit-transform: translateY(40px);
        -moz-transform: translateY(40px);
        -ms-transform: translateY(40px);
        -o-transform: translateY(40px);
        transform: translateY(40px);
    }
    30%,
    70% {
        opacity: 1;
        -webkit-transform: translateY(0px);
        -moz-transform: translateY(0px);
        -ms-transform: translateY(0px);
        -o-transform: translateY(0px);
        transform: translateY(0px);
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(-40px);
        -moz-transform: translateY(-40px);
        -ms-transform: translateY(-40px);
        -o-transform: translateY(-40px);
        transform: translateY(-40px);
    }
}

@-moz-keyframes passing-through {
    0% {
        opacity: 0;
        -webkit-transform: translateY(40px);
        -moz-transform: translateY(40px);
        -ms-transform: translateY(40px);
        -o-transform: translateY(40px);
        transform: translateY(40px);
    }
    30%,
    70% {
        opacity: 1;
        -webkit-transform: translateY(0px);
        -moz-transform: translateY(0px);
        -ms-transform: translateY(0px);
        -o-transform: translateY(0px);
        transform: translateY(0px);
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(-40px);
        -moz-transform: translateY(-40px);
        -ms-transform: translateY(-40px);
        -o-transform: translateY(-40px);
        transform: translateY(-40px);
    }
}

@keyframes passing-through {
    0% {
        opacity: 0;
        -webkit-transform: translateY(40px);
        -moz-transform: translateY(40px);
        -ms-transform: translateY(40px);
        -o-transform: translateY(40px);
        transform: translateY(40px);
    }
    30%,
    70% {
        opacity: 1;
        -webkit-transform: translateY(0px);
        -moz-transform: translateY(0px);
        -ms-transform: translateY(0px);
        -o-transform: translateY(0px);
        transform: translateY(0px);
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(-40px);
        -moz-transform: translateY(-40px);
        -ms-transform: translateY(-40px);
        -o-transform: translateY(-40px);
        transform: translateY(-40px);
    }
}

@-webkit-keyframes slide-in {
    0% {
        opacity: 0;
        -webkit-transform: translateY(40px);
        -moz-transform: translateY(40px);
        -ms-transform: translateY(40px);
        -o-transform: translateY(40px);
        transform: translateY(40px);
    }
    30% {
        opacity: 1;
        -webkit-transform: translateY(0px);
        -moz-transform: translateY(0px);
        -ms-transform: translateY(0px);
        -o-transform: translateY(0px);
        transform: translateY(0px);
    }
}

@-moz-keyframes slide-in {
    0% {
        opacity: 0;
        -webkit-transform: translateY(40px);
        -moz-transform: translateY(40px);
        -ms-transform: translateY(40px);
        -o-transform: translateY(40px);
        transform: translateY(40px);
    }
    30% {
        opacity: 1;
        -webkit-transform: translateY(0px);
        -moz-transform: translateY(0px);
        -ms-transform: translateY(0px);
        -o-transform: translateY(0px);
        transform: translateY(0px);
    }
}

@keyframes slide-in {
    0% {
        opacity: 0;
        -webkit-transform: translateY(40px);
        -moz-transform: translateY(40px);
        -ms-transform: translateY(40px);
        -o-transform: translateY(40px);
        transform: translateY(40px);
    }
    30% {
        opacity: 1;
        -webkit-transform: translateY(0px);
        -moz-transform: translateY(0px);
        -ms-transform: translateY(0px);
        -o-transform: translateY(0px);
        transform: translateY(0px);
    }
}

@-webkit-keyframes pulse {
    0% {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1);
    }
    10% {
        -webkit-transform: scale(1.1);
        -moz-transform: scale(1.1);
        -ms-transform: scale(1.1);
        -o-transform: scale(1.1);
        transform: scale(1.1);
    }
    20% {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1);
    }
}

@-moz-keyframes pulse {
    0% {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1);
    }
    10% {
        -webkit-transform: scale(1.1);
        -moz-transform: scale(1.1);
        -ms-transform: scale(1.1);
        -o-transform: scale(1.1);
        transform: scale(1.1);
    }
    20% {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes pulse {
    0% {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1);
    }
    10% {
        -webkit-transform: scale(1.1);
        -moz-transform: scale(1.1);
        -ms-transform: scale(1.1);
        -o-transform: scale(1.1);
        transform: scale(1.1);
    }
    20% {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1);
    }
}

.dropzone,
.dropzone * {
    box-sizing: border-box;
}

.dropzone {
    min-height: 150px;
    border: 6px dashed rgba(0, 0, 0, 0.1);
    background: white;
    padding: 1em;
}

.dropzone.dz-clickable {
    cursor: pointer;
}

.dropzone.dz-clickable * {
    cursor: default;
}

.dropzone.dz-clickable .dz-message,
.dropzone.dz-clickable .dz-message * {
    cursor: pointer;
}

.dropzone.dz-started .dz-message {
    display: none;
}

.dropzone.dz-drag-hover {
    border-style: solid;
}

.dropzone.dz-drag-hover .dz-message {
    opacity: 0.5;
}

.dropzone .dz-message {
    text-align: center;
    margin: 2em 0;
}

.dropzone .dz-preview {
    position: relative;
    display: flex;
    align-items: center;
    vertical-align: top;
    margin: 0;
    border: 1px solid #e5e5e5;
    border-radius: 6px;
    padding: 0 15px;
    margin: 15px 0;
}

.dropzone .dz-preview:hover {
    z-index: 1000;
}

.dropzone .dz-preview:hover .dz-details {
    opacity: 1;
}

.dropzone .dz-preview.dz-file-preview .dz-details {
    opacity: 1;
}

.dropzone .dz-preview.dz-image-preview {
    background: white;
}

.dropzone .dz-preview.dz-image-preview .dz-details {
    -webkit-transition: opacity 0.2s linear;
    -moz-transition: opacity 0.2s linear;
    -ms-transition: opacity 0.2s linear;
    -o-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
}

.dropzone .dz-preview .dz-remove {
    font-size: 14px;
    text-align: center;
    display: inline-block;
    cursor: pointer!important;
    position: absolute;
    right: 68px;
}

.dropzone .dz-preview .dz-remove i {
    cursor: pointer!important;
}

.dropzone .dz-preview .dz-remove:hover {
    text-decoration: underline;
}

.dropzone .dz-preview .dz-details {
    z-index: 20;
    opacity: 1;
    font-size: 13px;
    min-width: 75%;
    max-width: 75%;
    padding: .1em 1em;
    text-align: center;
    color: rgba(0, 0, 0, 0.9);
    line-height: 150%;
    /* display: inline-block; */
    max-width: 50%;
    display: flex;
    align-items: center;
}

.dropzone .dz-preview .dz-details .dz-size {
    display: inline-block;
    max-width: 50%;
}

.dropzone .dz-preview .dz-details .dz-filename {
    white-space: nowrap;
    display: inline-block;
    max-width: 50%;
}

.dropzone .dz-preview .dz-details .dz-filename:not(:hover) {
    /* overflow: hidden;
    text-overflow: ellipsis; */
}

.dropzone .dz-preview .dz-details .dz-filename span,
.dropzone .dz-preview .dz-details .dz-size span,
.dropzone .dz-preview .dz-details .dz-dim span {
    padding: 0 0.4em;
}

.dropzone .dz-preview .dz-image {
    border-radius: 0;
    overflow: hidden;
    /* width: 100%; */
    height: auto;
    min-width: 100px;
    min-height: 100px;
    position: relative;
    display: inline-block;
    z-index: 10;
    font-size: 16px;
    background: none;
}

.dropzone .dz-preview .dz-image img,
.dropzone .dz-preview .dz-image i {
    display: block;
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
    vertical-align: middle;
}

.dropzone .dz-preview.dz-success .dz-success-mark {
    -webkit-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
    -moz-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
    -ms-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
    -o-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
    animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
}

.dropzone .dz-preview.dz-error .dz-error-mark {
    opacity: 1;
    -webkit-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
    -moz-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
    -ms-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
    -o-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
    animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
}

.dropzone .dz-preview .dz-success-mark,
.dropzone .dz-preview .dz-error-mark {
    pointer-events: none;
    opacity: 0;
    z-index: 500;
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    margin-left: -27px;
    margin-top: -27px;
}

.dropzone .dz-preview .dz-success-mark svg,
.dropzone .dz-preview .dz-error-mark svg {
    display: block;
    width: 54px;
    height: 54px;
}

.dropzone .dz-preview.dz-processing .dz-progress {
    opacity: 1;
    -webkit-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -ms-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    transition: all 0.2s linear;
}

.dropzone .dz-preview.dz-complete .dz-progress {
    opacity: 0;
    -webkit-transition: opacity 0.4s ease-in;
    -moz-transition: opacity 0.4s ease-in;
    -ms-transition: opacity 0.4s ease-in;
    -o-transition: opacity 0.4s ease-in;
    transition: opacity 0.4s ease-in;
}

.dropzone .dz-preview:not(.dz-processing) .dz-progress {
    -webkit-animation: pulse 6s ease infinite;
    -moz-animation: pulse 6s ease infinite;
    -ms-animation: pulse 6s ease infinite;
    -o-animation: pulse 6s ease infinite;
    animation: pulse 6s ease infinite;
}

.dropzone .dz-preview .dz-progress {
    opacity: 1;
    z-index: 1000;
    pointer-events: none;
    position: absolute;
    height: 16px;
    left: 50%;
    top: 50%;
    margin-top: -8px;
    width: 80px;
    margin-left: -40px;
    background: rgba(255, 255, 255, 0.9);
    -webkit-transform: scale(1);
    border-radius: 8px;
    overflow: hidden;
}

.dropzone .dz-preview .dz-progress .dz-upload {
    background: #333;
    background: linear-gradient(to bottom, #666, #444);
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 0;
    -webkit-transition: width 300ms ease-in-out;
    -moz-transition: width 300ms ease-in-out;
    -ms-transition: width 300ms ease-in-out;
    -o-transition: width 300ms ease-in-out;
    transition: width 300ms ease-in-out;
}

.dropzone .dz-preview.dz-error .dz-error-message {
    display: block;
}

.dropzone .dz-preview.dz-error:hover .dz-error-message {
    opacity: 1;
    pointer-events: auto;
}

.dropzone .dz-preview .dz-error-message {
    pointer-events: none;
    z-index: 1000;
    position: absolute;
    display: block;
    display: none;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    -moz-transition: opacity 0.3s ease;
    -ms-transition: opacity 0.3s ease;
    -o-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    border-radius: 8px;
    font-size: 13px;
    top: 130px;
    left: -10px;
    width: 140px;
    background: #be2626;
    background: linear-gradient(to bottom, #be2626, #a92222);
    padding: 0.5em 1.2em;
    color: white;
}

.dropzone .dz-preview .dz-error-message:after {
    content: '';
    position: absolute;
    top: -6px;
    left: 64px;
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #be2626;
}

.dropzone .filedownload {
    text-align: center;
    display: inline-block;
    cursor: pointer!important;
    position: absolute;
    right: 25px;
}

.dropzone .filedownload i {
    cursor: pointer!important;
}

.dropzone .dz-preview .dz-edit {
    font-size: 14px;
    text-align: center;
    display: inline-block;
    cursor: pointer!important;
    position: absolute;
    right: 111px;
}

.dropzone .dz-preview .dz-edit i {
    cursor: pointer!important;
}

.dropzone .dz-preview .dz-edit:hover {
    text-decoration: underline;
}

.dropzone .dz-preview .dz-details .dz-dim {
    display: inline-block;
}
/*!****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/css/app.scss (3) ***!
  \****************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
@keyframes gira {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/* empleo
@include grid('grid-template-rows', '1fr 2fr', 10px, 20px); -----filas
@include grid('grid-template-columns', 'repeat(3, auto)', 1rem, 1.5rem); ---- columnas*/
* {
  -webkit-overflow-scrolling: touch;
}
*:focus {
  outline: none;
}

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

html {
  box-sizing: border-box;
  scroll-behavior: smooth;
}

body {
  font-family: "Roboto", sans-serif;
  margin: 0;
  color: #222;
  font-weight: 400;
  background-color: #fcfcfc;
  counter-reset: section;
}

a, a:hover, a:visited {
  text-decoration: none;
}

a:hover {
  color: #000;
}

img {
  max-width: 100%;
  height: auto;
}

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

.fa {
  font: normal normal normal 18px FontAwesome !important;
}

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

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

.alert-box {
  z-index: 999;
}

.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  width: 100%;
}
.embed-container iframe, .embed-container object, .embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  bottom: auto;
  right: auto;
  width: 100%;
  height: 100%;
  display: block;
}

@keyframes fadein {
  0% {
    opacity: 0.1;
  }
  100% {
    opacity: 1;
  }
}
/*
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
*/
/* 
    Created on : 06-mar-2015, 10:09:29
    Author     : Aritz
*/
meta.foundation-version {
  font-family: "/5.5.1/";
}

meta.foundation-mq-small {
  font-family: "/only screen/";
  width: 0;
}

meta.foundation-mq-small-only {
  font-family: "/only screen and (max-width: 40em)/";
  width: 0;
}

meta.foundation-mq-medium {
  font-family: "/only screen and (min-width:40.063em)/";
  width: 40.063em;
}

meta.foundation-mq-medium-only {
  font-family: "/only screen and (min-width:40.063em) and (max-width:64em)/";
  width: 40.063em;
}

meta.foundation-mq-large {
  font-family: "/only screen and (min-width:64.063em)/";
  width: 64.063em;
}

meta.foundation-mq-large-only {
  font-family: "/only screen and (min-width:64.063em) and (max-width:90em)/";
  width: 64.063em;
}

meta.foundation-mq-xlarge {
  font-family: "/only screen and (min-width:90.063em)/";
  width: 90.063em;
}

meta.foundation-mq-xlarge-only {
  font-family: "/only screen and (min-width:90.063em) and (max-width:120em)/";
  width: 90.063em;
}

meta.foundation-mq-xxlarge {
  font-family: "/only screen and (min-width:120.063em)/";
  width: 120.063em;
}

meta.foundation-data-attribute-namespace {
  font-family: false;
}

html,
body {
  height: 100%;
}

html {
  box-sizing: border-box;
}

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

html,
body {
  font-size: 100%;
}

body {
  background: #fcfcfc;
  color: #222;
  padding: 0;
  margin: 0;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.5;
  position: relative;
  cursor: auto;
}

a:hover {
  cursor: pointer;
}

img {
  max-width: 100%;
  height: auto;
}

img {
  -ms-interpolation-mode: bicubic;
}

#map_canvas img,
#map_canvas embed,
#map_canvas object,
.map_canvas img,
.map_canvas embed,
.map_canvas object {
  max-width: none !important;
}

.left {
  float: left !important;
}

.right {
  float: right !important;
}

.clearfix:before, .clearfix:after {
  content: " ";
  display: table;
}
.clearfix:after {
  clear: both;
}

.hide {
  display: none;
}

.invisible {
  visibility: hidden;
}

.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  display: inline-block;
  vertical-align: middle;
}

textarea {
  height: auto;
  min-height: 50px;
}

select {
  width: 100%;
}

.row {
  width: 100%;
  margin: 0 auto;
  max-width: 62.5rem;
}
.row:before, .row:after {
  content: " ";
  display: table;
}
.row:after {
  clear: both;
}
.row.collapse > .column,
.row.collapse > .columns {
  padding-left: 0;
  padding-right: 0;
}
.row.collapse .row {
  margin-left: 0;
  margin-right: 0;
}
.row .row {
  width: auto;
  margin: 0 -0.9375rem;
  max-width: none;
}
.row .row:before, .row .row:after {
  content: " ";
  display: table;
}
.row .row:after {
  clear: both;
}
.row .row.collapse {
  width: auto;
  margin: 0;
  max-width: none;
}
.row .row.collapse:before, .row .row.collapse:after {
  content: " ";
  display: table;
}
.row .row.collapse:after {
  clear: both;
}

.column,
.columns {
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
  width: 100%;
  float: left;
}

[class*=column] + [class*=column]:last-child {
  float: right;
}

[class*=column] + [class*=column].end {
  float: left;
}

@media only screen {
  .small-push-0 {
    position: relative;
    left: 0;
    right: auto;
  }
  .small-pull-0 {
    position: relative;
    right: 0;
    left: auto;
  }
  .small-push-1 {
    position: relative;
    left: 8.3333333333%;
    right: auto;
  }
  .small-pull-1 {
    position: relative;
    right: 8.3333333333%;
    left: auto;
  }
  .small-push-2 {
    position: relative;
    left: 16.6666666667%;
    right: auto;
  }
  .small-pull-2 {
    position: relative;
    right: 16.6666666667%;
    left: auto;
  }
  .small-push-3 {
    position: relative;
    left: 25%;
    right: auto;
  }
  .small-pull-3 {
    position: relative;
    right: 25%;
    left: auto;
  }
  .small-push-4 {
    position: relative;
    left: 33.3333333333%;
    right: auto;
  }
  .small-pull-4 {
    position: relative;
    right: 33.3333333333%;
    left: auto;
  }
  .small-push-5 {
    position: relative;
    left: 41.6666666667%;
    right: auto;
  }
  .small-pull-5 {
    position: relative;
    right: 41.6666666667%;
    left: auto;
  }
  .small-push-6 {
    position: relative;
    left: 50%;
    right: auto;
  }
  .small-pull-6 {
    position: relative;
    right: 50%;
    left: auto;
  }
  .small-push-7 {
    position: relative;
    left: 58.3333333333%;
    right: auto;
  }
  .small-pull-7 {
    position: relative;
    right: 58.3333333333%;
    left: auto;
  }
  .small-push-8 {
    position: relative;
    left: 66.6666666667%;
    right: auto;
  }
  .small-pull-8 {
    position: relative;
    right: 66.6666666667%;
    left: auto;
  }
  .small-push-9 {
    position: relative;
    left: 75%;
    right: auto;
  }
  .small-pull-9 {
    position: relative;
    right: 75%;
    left: auto;
  }
  .small-push-10 {
    position: relative;
    left: 83.3333333333%;
    right: auto;
  }
  .small-pull-10 {
    position: relative;
    right: 83.3333333333%;
    left: auto;
  }
  .small-push-11 {
    position: relative;
    left: 91.6666666667%;
    right: auto;
  }
  .small-pull-11 {
    position: relative;
    right: 91.6666666667%;
    left: auto;
  }
  .column,
.columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left;
  }
  .small-1 {
    width: 8.3333333333%;
  }
  .small-2 {
    width: 16.6666666667%;
  }
  .small-3 {
    width: 25%;
  }
  .small-4 {
    width: 33.3333333333%;
  }
  .small-5 {
    width: 41.6666666667%;
  }
  .small-6 {
    width: 50%;
  }
  .small-7 {
    width: 58.3333333333%;
  }
  .small-8 {
    width: 66.6666666667%;
  }
  .small-9 {
    width: 75%;
  }
  .small-10 {
    width: 83.3333333333%;
  }
  .small-11 {
    width: 91.6666666667%;
  }
  .small-12 {
    width: 100%;
  }
  .small-offset-0 {
    margin-left: 0 !important;
  }
  .small-offset-1 {
    margin-left: 8.3333333333% !important;
  }
  .small-offset-2 {
    margin-left: 16.6666666667% !important;
  }
  .small-offset-3 {
    margin-left: 25% !important;
  }
  .small-offset-4 {
    margin-left: 33.3333333333% !important;
  }
  .small-offset-5 {
    margin-left: 41.6666666667% !important;
  }
  .small-offset-6 {
    margin-left: 50% !important;
  }
  .small-offset-7 {
    margin-left: 58.3333333333% !important;
  }
  .small-offset-8 {
    margin-left: 66.6666666667% !important;
  }
  .small-offset-9 {
    margin-left: 75% !important;
  }
  .small-offset-10 {
    margin-left: 83.3333333333% !important;
  }
  .small-offset-11 {
    margin-left: 91.6666666667% !important;
  }
  .small-reset-order {
    margin-left: 0;
    margin-right: 0;
    left: auto;
    right: auto;
    float: left;
  }
  .column.small-centered,
.columns.small-centered {
    margin-left: auto;
    margin-right: auto;
    float: none;
  }
  .column.small-uncentered,
.columns.small-uncentered {
    margin-left: 0;
    margin-right: 0;
    float: left;
  }
  .column.small-centered:last-child,
.columns.small-centered:last-child {
    float: none;
  }
  .column.small-uncentered:last-child,
.columns.small-uncentered:last-child {
    float: left;
  }
  .column.small-uncentered.opposite,
.columns.small-uncentered.opposite {
    float: right;
  }
  .row.small-collapse > .column,
.row.small-collapse > .columns {
    padding-left: 0;
    padding-right: 0;
  }
  .row.small-collapse .row {
    margin-left: 0;
    margin-right: 0;
  }
  .row.small-uncollapse > .column,
.row.small-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left;
  }
}
@media only screen and (min-width:40.063em) {
  .medium-push-0 {
    position: relative;
    left: 0;
    right: auto;
  }
  .medium-pull-0 {
    position: relative;
    right: 0;
    left: auto;
  }
  .medium-push-1 {
    position: relative;
    left: 8.3333333333%;
    right: auto;
  }
  .medium-pull-1 {
    position: relative;
    right: 8.3333333333%;
    left: auto;
  }
  .medium-push-2 {
    position: relative;
    left: 16.6666666667%;
    right: auto;
  }
  .medium-pull-2 {
    position: relative;
    right: 16.6666666667%;
    left: auto;
  }
  .medium-push-3 {
    position: relative;
    left: 25%;
    right: auto;
  }
  .medium-pull-3 {
    position: relative;
    right: 25%;
    left: auto;
  }
  .medium-push-4 {
    position: relative;
    left: 33.3333333333%;
    right: auto;
  }
  .medium-pull-4 {
    position: relative;
    right: 33.3333333333%;
    left: auto;
  }
  .medium-push-5 {
    position: relative;
    left: 41.6666666667%;
    right: auto;
  }
  .medium-pull-5 {
    position: relative;
    right: 41.6666666667%;
    left: auto;
  }
  .medium-push-6 {
    position: relative;
    left: 50%;
    right: auto;
  }
  .medium-pull-6 {
    position: relative;
    right: 50%;
    left: auto;
  }
  .medium-push-7 {
    position: relative;
    left: 58.3333333333%;
    right: auto;
  }
  .medium-pull-7 {
    position: relative;
    right: 58.3333333333%;
    left: auto;
  }
  .medium-push-8 {
    position: relative;
    left: 66.6666666667%;
    right: auto;
  }
  .medium-pull-8 {
    position: relative;
    right: 66.6666666667%;
    left: auto;
  }
  .medium-push-9 {
    position: relative;
    left: 75%;
    right: auto;
  }
  .medium-pull-9 {
    position: relative;
    right: 75%;
    left: auto;
  }
  .medium-push-10 {
    position: relative;
    left: 83.3333333333%;
    right: auto;
  }
  .medium-pull-10 {
    position: relative;
    right: 83.3333333333%;
    left: auto;
  }
  .medium-push-11 {
    position: relative;
    left: 91.6666666667%;
    right: auto;
  }
  .medium-pull-11 {
    position: relative;
    right: 91.6666666667%;
    left: auto;
  }
  .column,
.columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left;
  }
  .medium-1 {
    width: 8.3333333333%;
  }
  .medium-2 {
    width: 16.6666666667%;
  }
  .medium-3 {
    width: 25%;
  }
  .medium-4 {
    width: 33.3333333333%;
  }
  .medium-5 {
    width: 41.6666666667%;
  }
  .medium-6 {
    width: 50%;
  }
  .medium-7 {
    width: 58.3333333333%;
  }
  .medium-8 {
    width: 66.6666666667%;
  }
  .medium-9 {
    width: 75%;
  }
  .medium-10 {
    width: 83.3333333333%;
  }
  .medium-11 {
    width: 91.6666666667%;
  }
  .medium-12 {
    width: 100%;
  }
  .medium-offset-0 {
    margin-left: 0 !important;
  }
  .medium-offset-1 {
    margin-left: 8.3333333333% !important;
  }
  .medium-offset-2 {
    margin-left: 16.6666666667% !important;
  }
  .medium-offset-3 {
    margin-left: 25% !important;
  }
  .medium-offset-4 {
    margin-left: 33.3333333333% !important;
  }
  .medium-offset-5 {
    margin-left: 41.6666666667% !important;
  }
  .medium-offset-6 {
    margin-left: 50% !important;
  }
  .medium-offset-7 {
    margin-left: 58.3333333333% !important;
  }
  .medium-offset-8 {
    margin-left: 66.6666666667% !important;
  }
  .medium-offset-9 {
    margin-left: 75% !important;
  }
  .medium-offset-10 {
    margin-left: 83.3333333333% !important;
  }
  .medium-offset-11 {
    margin-left: 91.6666666667% !important;
  }
  .medium-reset-order {
    margin-left: 0;
    margin-right: 0;
    left: auto;
    right: auto;
    float: left;
  }
  .column.medium-centered,
.columns.medium-centered {
    margin-left: auto;
    margin-right: auto;
    float: none;
  }
  .column.medium-uncentered,
.columns.medium-uncentered {
    margin-left: 0;
    margin-right: 0;
    float: left;
  }
  .column.medium-centered:last-child,
.columns.medium-centered:last-child {
    float: none;
  }
  .column.medium-uncentered:last-child,
.columns.medium-uncentered:last-child {
    float: left;
  }
  .column.medium-uncentered.opposite,
.columns.medium-uncentered.opposite {
    float: right;
  }
  .row.medium-collapse > .column,
.row.medium-collapse > .columns {
    padding-left: 0;
    padding-right: 0;
  }
  .row.medium-collapse .row {
    margin-left: 0;
    margin-right: 0;
  }
  .row.medium-uncollapse > .column,
.row.medium-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left;
  }
  .push-0 {
    position: relative;
    left: 0;
    right: auto;
  }
  .pull-0 {
    position: relative;
    right: 0;
    left: auto;
  }
  .push-1 {
    position: relative;
    left: 8.3333333333%;
    right: auto;
  }
  .pull-1 {
    position: relative;
    right: 8.3333333333%;
    left: auto;
  }
  .push-2 {
    position: relative;
    left: 16.6666666667%;
    right: auto;
  }
  .pull-2 {
    position: relative;
    right: 16.6666666667%;
    left: auto;
  }
  .push-3 {
    position: relative;
    left: 25%;
    right: auto;
  }
  .pull-3 {
    position: relative;
    right: 25%;
    left: auto;
  }
  .push-4 {
    position: relative;
    left: 33.3333333333%;
    right: auto;
  }
  .pull-4 {
    position: relative;
    right: 33.3333333333%;
    left: auto;
  }
  .push-5 {
    position: relative;
    left: 41.6666666667%;
    right: auto;
  }
  .pull-5 {
    position: relative;
    right: 41.6666666667%;
    left: auto;
  }
  .push-6 {
    position: relative;
    left: 50%;
    right: auto;
  }
  .pull-6 {
    position: relative;
    right: 50%;
    left: auto;
  }
  .push-7 {
    position: relative;
    left: 58.3333333333%;
    right: auto;
  }
  .pull-7 {
    position: relative;
    right: 58.3333333333%;
    left: auto;
  }
  .push-8 {
    position: relative;
    left: 66.6666666667%;
    right: auto;
  }
  .pull-8 {
    position: relative;
    right: 66.6666666667%;
    left: auto;
  }
  .push-9 {
    position: relative;
    left: 75%;
    right: auto;
  }
  .pull-9 {
    position: relative;
    right: 75%;
    left: auto;
  }
  .push-10 {
    position: relative;
    left: 83.3333333333%;
    right: auto;
  }
  .pull-10 {
    position: relative;
    right: 83.3333333333%;
    left: auto;
  }
  .push-11 {
    position: relative;
    left: 91.6666666667%;
    right: auto;
  }
  .pull-11 {
    position: relative;
    right: 91.6666666667%;
    left: auto;
  }
}
@media only screen and (min-width:64.063em) {
  .large-push-0 {
    position: relative;
    left: 0;
    right: auto;
  }
  .large-pull-0 {
    position: relative;
    right: 0;
    left: auto;
  }
  .large-push-1 {
    position: relative;
    left: 8.3333333333%;
    right: auto;
  }
  .large-pull-1 {
    position: relative;
    right: 8.3333333333%;
    left: auto;
  }
  .large-push-2 {
    position: relative;
    left: 16.6666666667%;
    right: auto;
  }
  .large-pull-2 {
    position: relative;
    right: 16.6666666667%;
    left: auto;
  }
  .large-push-3 {
    position: relative;
    left: 25%;
    right: auto;
  }
  .large-pull-3 {
    position: relative;
    right: 25%;
    left: auto;
  }
  .large-push-4 {
    position: relative;
    left: 33.3333333333%;
    right: auto;
  }
  .large-pull-4 {
    position: relative;
    right: 33.3333333333%;
    left: auto;
  }
  .large-push-5 {
    position: relative;
    left: 41.6666666667%;
    right: auto;
  }
  .large-pull-5 {
    position: relative;
    right: 41.6666666667%;
    left: auto;
  }
  .large-push-6 {
    position: relative;
    left: 50%;
    right: auto;
  }
  .large-pull-6 {
    position: relative;
    right: 50%;
    left: auto;
  }
  .large-push-7 {
    position: relative;
    left: 58.3333333333%;
    right: auto;
  }
  .large-pull-7 {
    position: relative;
    right: 58.3333333333%;
    left: auto;
  }
  .large-push-8 {
    position: relative;
    left: 66.6666666667%;
    right: auto;
  }
  .large-pull-8 {
    position: relative;
    right: 66.6666666667%;
    left: auto;
  }
  .large-push-9 {
    position: relative;
    left: 75%;
    right: auto;
  }
  .large-pull-9 {
    position: relative;
    right: 75%;
    left: auto;
  }
  .large-push-10 {
    position: relative;
    left: 83.3333333333%;
    right: auto;
  }
  .large-pull-10 {
    position: relative;
    right: 83.3333333333%;
    left: auto;
  }
  .large-push-11 {
    position: relative;
    left: 91.6666666667%;
    right: auto;
  }
  .large-pull-11 {
    position: relative;
    right: 91.6666666667%;
    left: auto;
  }
  .column,
.columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left;
  }
  .large-1 {
    width: 8.3333333333%;
  }
  .large-2 {
    width: 16.6666666667%;
  }
  .large-3 {
    width: 25%;
  }
  .large-4 {
    width: 33.3333333333%;
  }
  .large-5 {
    width: 41.6666666667%;
  }
  .large-6 {
    width: 50%;
  }
  .large-7 {
    width: 58.3333333333%;
  }
  .large-8 {
    width: 66.6666666667%;
  }
  .large-9 {
    width: 75%;
  }
  .large-10 {
    width: 83.3333333333%;
  }
  .large-11 {
    width: 91.6666666667%;
  }
  .large-12 {
    width: 100%;
  }
  .large-offset-0 {
    margin-left: 0 !important;
  }
  .large-offset-1 {
    margin-left: 8.3333333333% !important;
  }
  .large-offset-2 {
    margin-left: 16.6666666667% !important;
  }
  .large-offset-3 {
    margin-left: 25% !important;
  }
  .large-offset-4 {
    margin-left: 33.3333333333% !important;
  }
  .large-offset-5 {
    margin-left: 41.6666666667% !important;
  }
  .large-offset-6 {
    margin-left: 50% !important;
  }
  .large-offset-7 {
    margin-left: 58.3333333333% !important;
  }
  .large-offset-8 {
    margin-left: 66.6666666667% !important;
  }
  .large-offset-9 {
    margin-left: 75% !important;
  }
  .large-offset-10 {
    margin-left: 83.3333333333% !important;
  }
  .large-offset-11 {
    margin-left: 91.6666666667% !important;
  }
  .large-reset-order {
    margin-left: 0;
    margin-right: 0;
    left: auto;
    right: auto;
    float: left;
  }
  .column.large-centered,
.columns.large-centered {
    margin-left: auto;
    margin-right: auto;
    float: none;
  }
  .column.large-uncentered,
.columns.large-uncentered {
    margin-left: 0;
    margin-right: 0;
    float: left;
  }
  .column.large-centered:last-child,
.columns.large-centered:last-child {
    float: none;
  }
  .column.large-uncentered:last-child,
.columns.large-uncentered:last-child {
    float: left;
  }
  .column.large-uncentered.opposite,
.columns.large-uncentered.opposite {
    float: right;
  }
  .row.large-collapse > .column,
.row.large-collapse > .columns {
    padding-left: 0;
    padding-right: 0;
  }
  .row.large-collapse .row {
    margin-left: 0;
    margin-right: 0;
  }
  .row.large-uncollapse > .column,
.row.large-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left;
  }
  .push-0 {
    position: relative;
    left: 0;
    right: auto;
  }
  .pull-0 {
    position: relative;
    right: 0;
    left: auto;
  }
  .push-1 {
    position: relative;
    left: 8.3333333333%;
    right: auto;
  }
  .pull-1 {
    position: relative;
    right: 8.3333333333%;
    left: auto;
  }
  .push-2 {
    position: relative;
    left: 16.6666666667%;
    right: auto;
  }
  .pull-2 {
    position: relative;
    right: 16.6666666667%;
    left: auto;
  }
  .push-3 {
    position: relative;
    left: 25%;
    right: auto;
  }
  .pull-3 {
    position: relative;
    right: 25%;
    left: auto;
  }
  .push-4 {
    position: relative;
    left: 33.3333333333%;
    right: auto;
  }
  .pull-4 {
    position: relative;
    right: 33.3333333333%;
    left: auto;
  }
  .push-5 {
    position: relative;
    left: 41.6666666667%;
    right: auto;
  }
  .pull-5 {
    position: relative;
    right: 41.6666666667%;
    left: auto;
  }
  .push-6 {
    position: relative;
    left: 50%;
    right: auto;
  }
  .pull-6 {
    position: relative;
    right: 50%;
    left: auto;
  }
  .push-7 {
    position: relative;
    left: 58.3333333333%;
    right: auto;
  }
  .pull-7 {
    position: relative;
    right: 58.3333333333%;
    left: auto;
  }
  .push-8 {
    position: relative;
    left: 66.6666666667%;
    right: auto;
  }
  .pull-8 {
    position: relative;
    right: 66.6666666667%;
    left: auto;
  }
  .push-9 {
    position: relative;
    left: 75%;
    right: auto;
  }
  .pull-9 {
    position: relative;
    right: 75%;
    left: auto;
  }
  .push-10 {
    position: relative;
    left: 83.3333333333%;
    right: auto;
  }
  .pull-10 {
    position: relative;
    right: 83.3333333333%;
    left: auto;
  }
  .push-11 {
    position: relative;
    left: 91.6666666667%;
    right: auto;
  }
  .pull-11 {
    position: relative;
    right: 91.6666666667%;
    left: auto;
  }
}
.accordion {
  margin-bottom: 0;
}
.accordion:before, .accordion:after {
  content: " ";
  display: table;
}
.accordion:after {
  clear: both;
}
.accordion .accordion-navigation,
.accordion dd {
  display: block;
  margin-bottom: 0 !important;
}
.accordion .accordion-navigation.active > a,
.accordion dd.active > a {
  background: #e8e8e8;
}
.accordion .accordion-navigation > a,
.accordion dd > a {
  background: #EFEFEF;
  color: #222222;
  padding: 1rem;
  display: block;
  font-family: "Roboto", sans-serif;
  font-size: 1rem;
}
.accordion .accordion-navigation > a:hover,
.accordion dd > a:hover {
  background: #e3e3e3;
}
.accordion .accordion-navigation > .content,
.accordion dd > .content {
  display: none;
  padding: 0.9375rem;
}
.accordion .accordion-navigation > .content.active,
.accordion dd > .content.active {
  display: block;
  background: #FFFFFF;
}

.alert-box {
  border-style: solid;
  border-width: 1px;
  display: block;
  font-weight: normal;
  margin-bottom: 1.25rem;
  position: relative;
  padding: 0.875rem 1.5rem 0.875rem 0.875rem;
  font-size: 0.8125rem;
  transition: opacity 300ms ease-out;
  background-color: #008CBA;
  border-color: #0078a0;
  color: #FFFFFF;
}
.alert-box .close {
  font-size: 1.375rem;
  padding: 0 6px 4px;
  line-height: 0.9;
  position: absolute;
  top: 50%;
  margin-top: -0.6875rem;
  right: 0.25rem;
  color: #333333;
  opacity: 0.3;
  background: inherit;
}
.alert-box .close:hover, .alert-box .close:focus {
  opacity: 0.5;
}
.alert-box.radius {
  border-radius: 3px;
}
.alert-box.round {
  border-radius: 1000px;
}
.alert-box.success {
  background-color: #43AC6A;
  border-color: #3a945b;
  color: #FFFFFF;
}
.alert-box.alert {
  background-color: #f04124;
  border-color: #de2d0f;
  color: #FFFFFF;
}
.alert-box.secondary {
  background-color: #e7e7e7;
  border-color: #c7c7c7;
  color: #4f4f4f;
}
.alert-box.warning {
  background-color: #f08a24;
  border-color: #de770f;
  color: #FFFFFF;
}
.alert-box.info {
  background-color: #a0d3e8;
  border-color: #74bfdd;
  color: #4f4f4f;
}
.alert-box.alert-close {
  opacity: 0;
}

[class*=block-grid-] {
  display: block;
  padding: 0;
  margin: 0 -0.625rem;
}
[class*=block-grid-]:before, [class*=block-grid-]:after {
  content: " ";
  display: table;
}
[class*=block-grid-]:after {
  clear: both;
}
[class*=block-grid-] > li {
  display: block;
  height: auto;
  float: left;
  padding: 0 0.625rem 1.25rem;
}

@media only screen {
  .small-block-grid-1 > li {
    width: 100%;
    list-style: none;
  }
  .small-block-grid-1 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-1 > li:nth-of-type(1n+1) {
    clear: both;
  }
  .small-block-grid-2 > li {
    width: 50%;
    list-style: none;
  }
  .small-block-grid-2 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-2 > li:nth-of-type(2n+1) {
    clear: both;
  }
  .small-block-grid-3 > li {
    width: 33.3333333333%;
    list-style: none;
  }
  .small-block-grid-3 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-3 > li:nth-of-type(3n+1) {
    clear: both;
  }
  .small-block-grid-4 > li {
    width: 25%;
    list-style: none;
  }
  .small-block-grid-4 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-4 > li:nth-of-type(4n+1) {
    clear: both;
  }
  .small-block-grid-5 > li {
    width: 20%;
    list-style: none;
  }
  .small-block-grid-5 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-5 > li:nth-of-type(5n+1) {
    clear: both;
  }
  .small-block-grid-6 > li {
    width: 16.6666666667%;
    list-style: none;
  }
  .small-block-grid-6 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-6 > li:nth-of-type(6n+1) {
    clear: both;
  }
  .small-block-grid-7 > li {
    width: 14.2857142857%;
    list-style: none;
  }
  .small-block-grid-7 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-7 > li:nth-of-type(7n+1) {
    clear: both;
  }
  .small-block-grid-8 > li {
    width: 12.5%;
    list-style: none;
  }
  .small-block-grid-8 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-8 > li:nth-of-type(8n+1) {
    clear: both;
  }
  .small-block-grid-9 > li {
    width: 11.1111111111%;
    list-style: none;
  }
  .small-block-grid-9 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-9 > li:nth-of-type(9n+1) {
    clear: both;
  }
  .small-block-grid-10 > li {
    width: 10%;
    list-style: none;
  }
  .small-block-grid-10 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-10 > li:nth-of-type(10n+1) {
    clear: both;
  }
  .small-block-grid-11 > li {
    width: 9.0909090909%;
    list-style: none;
  }
  .small-block-grid-11 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-11 > li:nth-of-type(11n+1) {
    clear: both;
  }
  .small-block-grid-12 > li {
    width: 8.3333333333%;
    list-style: none;
  }
  .small-block-grid-12 > li:nth-of-type(1n) {
    clear: none;
  }
  .small-block-grid-12 > li:nth-of-type(12n+1) {
    clear: both;
  }
}
@media only screen and (min-width:40.063em) {
  .medium-block-grid-1 > li {
    width: 100%;
    list-style: none;
  }
  .medium-block-grid-1 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-1 > li:nth-of-type(1n+1) {
    clear: both;
  }
  .medium-block-grid-2 > li {
    width: 50%;
    list-style: none;
  }
  .medium-block-grid-2 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-2 > li:nth-of-type(2n+1) {
    clear: both;
  }
  .medium-block-grid-3 > li {
    width: 33.3333333333%;
    list-style: none;
  }
  .medium-block-grid-3 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-3 > li:nth-of-type(3n+1) {
    clear: both;
  }
  .medium-block-grid-4 > li {
    width: 25%;
    list-style: none;
  }
  .medium-block-grid-4 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-4 > li:nth-of-type(4n+1) {
    clear: both;
  }
  .medium-block-grid-5 > li {
    width: 20%;
    list-style: none;
  }
  .medium-block-grid-5 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-5 > li:nth-of-type(5n+1) {
    clear: both;
  }
  .medium-block-grid-6 > li {
    width: 16.6666666667%;
    list-style: none;
  }
  .medium-block-grid-6 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-6 > li:nth-of-type(6n+1) {
    clear: both;
  }
  .medium-block-grid-7 > li {
    width: 14.2857142857%;
    list-style: none;
  }
  .medium-block-grid-7 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-7 > li:nth-of-type(7n+1) {
    clear: both;
  }
  .medium-block-grid-8 > li {
    width: 12.5%;
    list-style: none;
  }
  .medium-block-grid-8 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-8 > li:nth-of-type(8n+1) {
    clear: both;
  }
  .medium-block-grid-9 > li {
    width: 11.1111111111%;
    list-style: none;
  }
  .medium-block-grid-9 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-9 > li:nth-of-type(9n+1) {
    clear: both;
  }
  .medium-block-grid-10 > li {
    width: 10%;
    list-style: none;
  }
  .medium-block-grid-10 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-10 > li:nth-of-type(10n+1) {
    clear: both;
  }
  .medium-block-grid-11 > li {
    width: 9.0909090909%;
    list-style: none;
  }
  .medium-block-grid-11 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-11 > li:nth-of-type(11n+1) {
    clear: both;
  }
  .medium-block-grid-12 > li {
    width: 8.3333333333%;
    list-style: none;
  }
  .medium-block-grid-12 > li:nth-of-type(1n) {
    clear: none;
  }
  .medium-block-grid-12 > li:nth-of-type(12n+1) {
    clear: both;
  }
}
@media only screen and (min-width:64.063em) {
  .large-block-grid-1 > li {
    width: 100%;
    list-style: none;
  }
  .large-block-grid-1 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-1 > li:nth-of-type(1n+1) {
    clear: both;
  }
  .large-block-grid-2 > li {
    width: 50%;
    list-style: none;
  }
  .large-block-grid-2 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-2 > li:nth-of-type(2n+1) {
    clear: both;
  }
  .large-block-grid-3 > li {
    width: 33.3333333333%;
    list-style: none;
  }
  .large-block-grid-3 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-3 > li:nth-of-type(3n+1) {
    clear: both;
  }
  .large-block-grid-4 > li {
    width: 25%;
    list-style: none;
  }
  .large-block-grid-4 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-4 > li:nth-of-type(4n+1) {
    clear: both;
  }
  .large-block-grid-5 > li {
    width: 20%;
    list-style: none;
  }
  .large-block-grid-5 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-5 > li:nth-of-type(5n+1) {
    clear: both;
  }
  .large-block-grid-6 > li {
    width: 16.6666666667%;
    list-style: none;
  }
  .large-block-grid-6 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-6 > li:nth-of-type(6n+1) {
    clear: both;
  }
  .large-block-grid-7 > li {
    width: 14.2857142857%;
    list-style: none;
  }
  .large-block-grid-7 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-7 > li:nth-of-type(7n+1) {
    clear: both;
  }
  .large-block-grid-8 > li {
    width: 12.5%;
    list-style: none;
  }
  .large-block-grid-8 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-8 > li:nth-of-type(8n+1) {
    clear: both;
  }
  .large-block-grid-9 > li {
    width: 11.1111111111%;
    list-style: none;
  }
  .large-block-grid-9 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-9 > li:nth-of-type(9n+1) {
    clear: both;
  }
  .large-block-grid-10 > li {
    width: 10%;
    list-style: none;
  }
  .large-block-grid-10 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-10 > li:nth-of-type(10n+1) {
    clear: both;
  }
  .large-block-grid-11 > li {
    width: 9.0909090909%;
    list-style: none;
  }
  .large-block-grid-11 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-11 > li:nth-of-type(11n+1) {
    clear: both;
  }
  .large-block-grid-12 > li {
    width: 8.3333333333%;
    list-style: none;
  }
  .large-block-grid-12 > li:nth-of-type(1n) {
    clear: none;
  }
  .large-block-grid-12 > li:nth-of-type(12n+1) {
    clear: both;
  }
}
.breadcrumbs {
  display: block;
  padding: 0.5625rem 0.875rem 0.5625rem;
  overflow: hidden;
  margin-left: 0;
  list-style: none;
  border-style: solid;
  border-width: 1px;
  background-color: #f4f4f4;
  border-color: gainsboro;
  border-radius: 3px;
}
.breadcrumbs > * {
  margin: 0;
  float: left;
  font-size: 0.6875rem;
  line-height: 0.6875rem;
  text-transform: uppercase;
  color: #008CBA;
}
.breadcrumbs > *:hover a, .breadcrumbs > *:focus a {
  text-decoration: underline;
}
.breadcrumbs > * a {
  color: #008CBA;
}
.breadcrumbs > *.current {
  cursor: default;
  color: #333333;
}
.breadcrumbs > *.current a {
  cursor: default;
  color: #333333;
}
.breadcrumbs > *.current:hover, .breadcrumbs > *.current:hover a, .breadcrumbs > *.current:focus, .breadcrumbs > *.current:focus a {
  text-decoration: none;
}
.breadcrumbs > *.unavailable {
  color: #999999;
}
.breadcrumbs > *.unavailable a {
  color: #999999;
}
.breadcrumbs > *.unavailable:hover, .breadcrumbs > *.unavailable:hover a, .breadcrumbs > *.unavailable:focus,
.breadcrumbs > *.unavailable a:focus {
  text-decoration: none;
  color: #999999;
  cursor: not-allowed;
}
.breadcrumbs > *:before {
  content: "/";
  color: #AAAAAA;
  margin: 0 0.75rem;
  position: relative;
  top: 1px;
}
.breadcrumbs > *:first-child:before {
  content: " ";
  margin: 0;
}

/* Accessibility - hides the forward slash */
[aria-label=breadcrumbs] [aria-hidden=true]:after {
  content: "/";
}

button, .button {
  border-style: solid;
  border-width: 0;
  cursor: pointer;
  font-family: "Roboto", sans-serif;
  font-weight: normal;
  line-height: normal;
  margin: 0 0 1.25rem;
  position: relative;
  text-decoration: none;
  text-align: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  display: inline-block;
  padding: 1rem 2rem 1.0625rem 2rem;
  font-size: 1rem;
  background-color: #fed100;
  border-color: #cba700;
  color: #FFFFFF;
  transition: background-color 300ms ease-out;
}
button:hover, button:focus, .button:hover, .button:focus {
  background-color: #cba700;
}
button:hover, button:focus, .button:hover, .button:focus {
  color: #FFFFFF;
}
button.secondary, .button.secondary {
  background-color: #e7e7e7;
  border-color: #b9b9b9;
  color: #333333;
}
button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus {
  background-color: #b9b9b9;
}
button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus {
  color: #333333;
}
button.success, .button.success {
  background-color: #43AC6A;
  border-color: #368a55;
  color: #FFFFFF;
}
button.success:hover, button.success:focus, .button.success:hover, .button.success:focus {
  background-color: #368a55;
}
button.success:hover, button.success:focus, .button.success:hover, .button.success:focus {
  color: #FFFFFF;
}
button.alert, .button.alert {
  background-color: #f04124;
  border-color: #cf2a0e;
  color: #FFFFFF;
}
button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus {
  background-color: #cf2a0e;
}
button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus {
  color: #FFFFFF;
}
button.warning, .button.warning {
  background-color: #f08a24;
  border-color: #cf6e0e;
  color: #FFFFFF;
}
button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus {
  background-color: #cf6e0e;
}
button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus {
  color: #FFFFFF;
}
button.info, .button.info {
  background-color: #a0d3e8;
  border-color: #61b6d9;
  color: #333333;
}
button.info:hover, button.info:focus, .button.info:hover, .button.info:focus {
  background-color: #61b6d9;
}
button.info:hover, button.info:focus, .button.info:hover, .button.info:focus {
  color: #FFFFFF;
}
button.large, .button.large {
  padding: 1.125rem 2.25rem 1.1875rem 2.25rem;
  font-size: 1.25rem;
}
button.small, .button.small {
  padding: 0.875rem 1.75rem 0.9375rem 1.75rem;
  font-size: 0.8125rem;
}
button.tiny, .button.tiny {
  padding: 0.3125rem 0.625rem 0.375rem 0.625rem;
  font-size: 0.6875rem;
}
button.expand, .button.expand {
  padding-right: 0;
  padding-left: 0;
  width: 100%;
}
button.left-align, .button.left-align {
  text-align: left;
  text-indent: 0.75rem;
}
button.right-align, .button.right-align {
  text-align: right;
  padding-right: 0.75rem;
}
button.radius, .button.radius {
  border-radius: 3px;
}
button.round, .button.round {
  border-radius: 1000px;
}
button.disabled, button[disabled], .button.disabled, .button[disabled] {
  background-color: #fed100;
  border-color: #cba700;
  color: #FFFFFF;
  cursor: default;
  opacity: 0.7;
  box-shadow: none;
}
button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
  background-color: #cba700;
}
button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
  color: #FFFFFF;
}
button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
  background-color: #fed100;
}
button.disabled.secondary, button[disabled].secondary, .button.disabled.secondary, .button[disabled].secondary {
  background-color: #e7e7e7;
  border-color: #b9b9b9;
  color: #333333;
  cursor: default;
  opacity: 0.7;
  box-shadow: none;
}
button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
  background-color: #b9b9b9;
}
button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
  color: #333333;
}
button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
  background-color: #e7e7e7;
}
button.disabled.success, button[disabled].success, .button.disabled.success, .button[disabled].success {
  background-color: #43AC6A;
  border-color: #368a55;
  color: #FFFFFF;
  cursor: default;
  opacity: 0.7;
  box-shadow: none;
}
button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
  background-color: #368a55;
}
button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
  color: #FFFFFF;
}
button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
  background-color: #43AC6A;
}
button.disabled.alert, button[disabled].alert, .button.disabled.alert, .button[disabled].alert {
  background-color: #f04124;
  border-color: #cf2a0e;
  color: #FFFFFF;
  cursor: default;
  opacity: 0.7;
  box-shadow: none;
}
button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
  background-color: #cf2a0e;
}
button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
  color: #FFFFFF;
}
button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
  background-color: #f04124;
}
button.disabled.warning, button[disabled].warning, .button.disabled.warning, .button[disabled].warning {
  background-color: #f08a24;
  border-color: #cf6e0e;
  color: #FFFFFF;
  cursor: default;
  opacity: 0.7;
  box-shadow: none;
}
button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
  background-color: #cf6e0e;
}
button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
  color: #FFFFFF;
}
button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
  background-color: #f08a24;
}
button.disabled.info, button[disabled].info, .button.disabled.info, .button[disabled].info {
  background-color: #a0d3e8;
  border-color: #61b6d9;
  color: #333333;
  cursor: default;
  opacity: 0.7;
  box-shadow: none;
}
button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus {
  background-color: #61b6d9;
}
button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus {
  color: #FFFFFF;
}
button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus {
  background-color: #a0d3e8;
}

button::-moz-focus-inner {
  border: 0;
  padding: 0;
}

@media only screen and (min-width:40.063em) {
  button, .button {
    display: inline-block;
  }
}
.button-group {
  list-style: none;
  margin: 0;
  left: 0;
  margin-right: 50%;
  transform: translate(50%, 0);
}
.button-group:before, .button-group:after {
  content: " ";
  display: table;
}
.button-group:after {
  clear: both;
}
.button-group.even-2 li {
  display: inline-block;
  margin: 0 -2px;
  width: 50%;
}
.button-group.even-2 li > button,
.button-group.even-2 li .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.even-2 li:first-child button,
.button-group.even-2 li:first-child .button {
  border-left: 0;
}
.button-group.even-2 li button,
.button-group.even-2 li .button {
  width: 100%;
}
.button-group.even-3 li {
  display: inline-block;
  margin: 0 -2px;
  width: 33.3333333333%;
}
.button-group.even-3 li > button,
.button-group.even-3 li .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.even-3 li:first-child button,
.button-group.even-3 li:first-child .button {
  border-left: 0;
}
.button-group.even-3 li button,
.button-group.even-3 li .button {
  width: 100%;
}
.button-group.even-4 li {
  display: inline-block;
  margin: 0 -2px;
  width: 25%;
}
.button-group.even-4 li > button,
.button-group.even-4 li .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.even-4 li:first-child button,
.button-group.even-4 li:first-child .button {
  border-left: 0;
}
.button-group.even-4 li button,
.button-group.even-4 li .button {
  width: 100%;
}
.button-group.even-5 li {
  display: inline-block;
  margin: 0 -2px;
  width: 20%;
}
.button-group.even-5 li > button,
.button-group.even-5 li .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.even-5 li:first-child button,
.button-group.even-5 li:first-child .button {
  border-left: 0;
}
.button-group.even-5 li button,
.button-group.even-5 li .button {
  width: 100%;
}
.button-group.even-6 li {
  display: inline-block;
  margin: 0 -2px;
  width: 16.6666666667%;
}
.button-group.even-6 li > button,
.button-group.even-6 li .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.even-6 li:first-child button,
.button-group.even-6 li:first-child .button {
  border-left: 0;
}
.button-group.even-6 li button,
.button-group.even-6 li .button {
  width: 100%;
}
.button-group.even-7 li {
  display: inline-block;
  margin: 0 -2px;
  width: 14.2857142857%;
}
.button-group.even-7 li > button,
.button-group.even-7 li .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.even-7 li:first-child button,
.button-group.even-7 li:first-child .button {
  border-left: 0;
}
.button-group.even-7 li button,
.button-group.even-7 li .button {
  width: 100%;
}
.button-group.even-8 li {
  display: inline-block;
  margin: 0 -2px;
  width: 12.5%;
}
.button-group.even-8 li > button,
.button-group.even-8 li .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.even-8 li:first-child button,
.button-group.even-8 li:first-child .button {
  border-left: 0;
}
.button-group.even-8 li button,
.button-group.even-8 li .button {
  width: 100%;
}
.button-group > li {
  display: inline-block;
  margin: 0 -2px;
}
.button-group > li > button,
.button-group > li .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group > li:first-child button,
.button-group > li:first-child .button {
  border-left: 0;
}
.button-group.stack > li {
  display: block;
  margin: 0;
  float: none;
}
.button-group.stack > li > button,
.button-group.stack > li .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.stack > li:first-child button,
.button-group.stack > li:first-child .button {
  border-left: 0;
}
.button-group.stack > li > button,
.button-group.stack > li .button {
  border-top: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
  border-left-width: 0;
  margin: 0;
  display: block;
}
.button-group.stack > li > button {
  width: 100%;
}
.button-group.stack > li:first-child button,
.button-group.stack > li:first-child .button {
  border-top: 0;
}
.button-group.stack-for-small > li {
  display: inline-block;
  margin: 0 -2px;
}
.button-group.stack-for-small > li > button,
.button-group.stack-for-small > li .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.stack-for-small > li:first-child button,
.button-group.stack-for-small > li:first-child .button {
  border-left: 0;
}
@media only screen and (max-width: 40em) {
  .button-group.stack-for-small > li {
    display: block;
    margin: 0;
  }
  .button-group.stack-for-small > li > button,
.button-group.stack-for-small > li .button {
    border-left: 1px solid;
    border-color: rgba(255, 255, 255, 0.5);
  }
  .button-group.stack-for-small > li:first-child button,
.button-group.stack-for-small > li:first-child .button {
    border-left: 0;
  }
  .button-group.stack-for-small > li > button,
.button-group.stack-for-small > li .button {
    border-top: 1px solid;
    border-color: rgba(255, 255, 255, 0.5);
    border-left-width: 0;
    margin: 0;
    display: block;
  }
  .button-group.stack-for-small > li > button {
    width: 100%;
  }
  .button-group.stack-for-small > li:first-child button,
.button-group.stack-for-small > li:first-child .button {
    border-top: 0;
  }
}
.button-group.radius > * {
  display: inline-block;
  margin: 0 -2px;
}
.button-group.radius > * > button,
.button-group.radius > * .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.radius > *:first-child button,
.button-group.radius > *:first-child .button {
  border-left: 0;
}
.button-group.radius > *, .button-group.radius > * > a, .button-group.radius > * > button, .button-group.radius > * > .button {
  border-radius: 0;
}
.button-group.radius > *:first-child, .button-group.radius > *:first-child > a, .button-group.radius > *:first-child > button, .button-group.radius > *:first-child > .button {
  -webkit-border-bottom-left-radius: 3px;
  -webkit-border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}
.button-group.radius > *:last-child, .button-group.radius > *:last-child > a, .button-group.radius > *:last-child > button, .button-group.radius > *:last-child > .button {
  -webkit-border-bottom-right-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
.button-group.radius.stack > * {
  display: block;
  margin: 0;
}
.button-group.radius.stack > * > button,
.button-group.radius.stack > * .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.radius.stack > *:first-child button,
.button-group.radius.stack > *:first-child .button {
  border-left: 0;
}
.button-group.radius.stack > * > button,
.button-group.radius.stack > * .button {
  border-top: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
  border-left-width: 0;
  margin: 0;
  display: block;
}
.button-group.radius.stack > * > button {
  width: 100%;
}
.button-group.radius.stack > *:first-child button,
.button-group.radius.stack > *:first-child .button {
  border-top: 0;
}
.button-group.radius.stack > *, .button-group.radius.stack > * > a, .button-group.radius.stack > * > button, .button-group.radius.stack > * > .button {
  border-radius: 0;
}
.button-group.radius.stack > *:first-child, .button-group.radius.stack > *:first-child > a, .button-group.radius.stack > *:first-child > button, .button-group.radius.stack > *:first-child > .button {
  -webkit-top-left-radius: 3px;
  -webkit-top-right-radius: 3px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
.button-group.radius.stack > *:last-child, .button-group.radius.stack > *:last-child > a, .button-group.radius.stack > *:last-child > button, .button-group.radius.stack > *:last-child > .button {
  -webkit-bottom-left-radius: 3px;
  -webkit-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
}
@media only screen and (min-width:40.063em) {
  .button-group.radius.stack-for-small > * {
    display: inline-block;
    margin: 0 -2px;
  }
  .button-group.radius.stack-for-small > * > button,
.button-group.radius.stack-for-small > * .button {
    border-left: 1px solid;
    border-color: rgba(255, 255, 255, 0.5);
  }
  .button-group.radius.stack-for-small > *:first-child button,
.button-group.radius.stack-for-small > *:first-child .button {
    border-left: 0;
  }
  .button-group.radius.stack-for-small > *, .button-group.radius.stack-for-small > * > a, .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * > .button {
    border-radius: 0;
  }
  .button-group.radius.stack-for-small > *:first-child, .button-group.radius.stack-for-small > *:first-child > a, .button-group.radius.stack-for-small > *:first-child > button, .button-group.radius.stack-for-small > *:first-child > .button {
    -webkit-border-bottom-left-radius: 3px;
    -webkit-border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    border-top-left-radius: 3px;
  }
  .button-group.radius.stack-for-small > *:last-child, .button-group.radius.stack-for-small > *:last-child > a, .button-group.radius.stack-for-small > *:last-child > button, .button-group.radius.stack-for-small > *:last-child > .button {
    -webkit-border-bottom-right-radius: 3px;
    -webkit-border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    border-top-right-radius: 3px;
  }
}
@media only screen and (max-width: 40em) {
  .button-group.radius.stack-for-small > * {
    display: block;
    margin: 0;
  }
  .button-group.radius.stack-for-small > * > button,
.button-group.radius.stack-for-small > * .button {
    border-left: 1px solid;
    border-color: rgba(255, 255, 255, 0.5);
  }
  .button-group.radius.stack-for-small > *:first-child button,
.button-group.radius.stack-for-small > *:first-child .button {
    border-left: 0;
  }
  .button-group.radius.stack-for-small > * > button,
.button-group.radius.stack-for-small > * .button {
    border-top: 1px solid;
    border-color: rgba(255, 255, 255, 0.5);
    border-left-width: 0;
    margin: 0;
    display: block;
  }
  .button-group.radius.stack-for-small > * > button {
    width: 100%;
  }
  .button-group.radius.stack-for-small > *:first-child button,
.button-group.radius.stack-for-small > *:first-child .button {
    border-top: 0;
  }
  .button-group.radius.stack-for-small > *, .button-group.radius.stack-for-small > * > a, .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * > .button {
    border-radius: 0;
  }
  .button-group.radius.stack-for-small > *:first-child, .button-group.radius.stack-for-small > *:first-child > a, .button-group.radius.stack-for-small > *:first-child > button, .button-group.radius.stack-for-small > *:first-child > .button {
    -webkit-top-left-radius: 3px;
    -webkit-top-right-radius: 3px;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
  }
  .button-group.radius.stack-for-small > *:last-child, .button-group.radius.stack-for-small > *:last-child > a, .button-group.radius.stack-for-small > *:last-child > button, .button-group.radius.stack-for-small > *:last-child > .button {
    -webkit-bottom-left-radius: 3px;
    -webkit-bottom-right-radius: 3px;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
  }
}
.button-group.round > * {
  display: inline-block;
  margin: 0 -2px;
}
.button-group.round > * > button,
.button-group.round > * .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.round > *:first-child button,
.button-group.round > *:first-child .button {
  border-left: 0;
}
.button-group.round > *, .button-group.round > * > a, .button-group.round > * > button, .button-group.round > * > .button {
  border-radius: 0;
}
.button-group.round > *:first-child, .button-group.round > *:first-child > a, .button-group.round > *:first-child > button, .button-group.round > *:first-child > .button {
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px;
}
.button-group.round > *:last-child, .button-group.round > *:last-child > a, .button-group.round > *:last-child > button, .button-group.round > *:last-child > .button {
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px;
}
.button-group.round.stack > * {
  display: block;
  margin: 0;
}
.button-group.round.stack > * > button,
.button-group.round.stack > * .button {
  border-left: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
}
.button-group.round.stack > *:first-child button,
.button-group.round.stack > *:first-child .button {
  border-left: 0;
}
.button-group.round.stack > * > button,
.button-group.round.stack > * .button {
  border-top: 1px solid;
  border-color: rgba(255, 255, 255, 0.5);
  border-left-width: 0;
  margin: 0;
  display: block;
}
.button-group.round.stack > * > button {
  width: 100%;
}
.button-group.round.stack > *:first-child button,
.button-group.round.stack > *:first-child .button {
  border-top: 0;
}
.button-group.round.stack > *, .button-group.round.stack > * > a, .button-group.round.stack > * > button, .button-group.round.stack > * > .button {
  border-radius: 0;
}
.button-group.round.stack > *:first-child, .button-group.round.stack > *:first-child > a, .button-group.round.stack > *:first-child > button, .button-group.round.stack > *:first-child > .button {
  -webkit-top-left-radius: 1rem;
  -webkit-top-right-radius: 1rem;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}
.button-group.round.stack > *:last-child, .button-group.round.stack > *:last-child > a, .button-group.round.stack > *:last-child > button, .button-group.round.stack > *:last-child > .button {
  -webkit-bottom-left-radius: 1rem;
  -webkit-bottom-right-radius: 1rem;
  border-bottom-left-radius: 1rem;
  border-bottom-right-radius: 1rem;
}
@media only screen and (min-width:40.063em) {
  .button-group.round.stack-for-small > * {
    display: inline-block;
    margin: 0 -2px;
  }
  .button-group.round.stack-for-small > * > button,
.button-group.round.stack-for-small > * .button {
    border-left: 1px solid;
    border-color: rgba(255, 255, 255, 0.5);
  }
  .button-group.round.stack-for-small > *:first-child button,
.button-group.round.stack-for-small > *:first-child .button {
    border-left: 0;
  }
  .button-group.round.stack-for-small > *, .button-group.round.stack-for-small > * > a, .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * > .button {
    border-radius: 0;
  }
  .button-group.round.stack-for-small > *:first-child, .button-group.round.stack-for-small > *:first-child > a, .button-group.round.stack-for-small > *:first-child > button, .button-group.round.stack-for-small > *:first-child > .button {
    -webkit-border-bottom-left-radius: 1000px;
    -webkit-border-top-left-radius: 1000px;
    border-bottom-left-radius: 1000px;
    border-top-left-radius: 1000px;
  }
  .button-group.round.stack-for-small > *:last-child, .button-group.round.stack-for-small > *:last-child > a, .button-group.round.stack-for-small > *:last-child > button, .button-group.round.stack-for-small > *:last-child > .button {
    -webkit-border-bottom-right-radius: 1000px;
    -webkit-border-top-right-radius: 1000px;
    border-bottom-right-radius: 1000px;
    border-top-right-radius: 1000px;
  }
}
@media only screen and (max-width: 40em) {
  .button-group.round.stack-for-small > * {
    display: block;
    margin: 0;
  }
  .button-group.round.stack-for-small > * > button,
.button-group.round.stack-for-small > * .button {
    border-left: 1px solid;
    border-color: rgba(255, 255, 255, 0.5);
  }
  .button-group.round.stack-for-small > *:first-child button,
.button-group.round.stack-for-small > *:first-child .button {
    border-left: 0;
  }
  .button-group.round.stack-for-small > * > button,
.button-group.round.stack-for-small > * .button {
    border-top: 1px solid;
    border-color: rgba(255, 255, 255, 0.5);
    border-left-width: 0;
    margin: 0;
    display: block;
  }
  .button-group.round.stack-for-small > * > button {
    width: 100%;
  }
  .button-group.round.stack-for-small > *:first-child button,
.button-group.round.stack-for-small > *:first-child .button {
    border-top: 0;
  }
  .button-group.round.stack-for-small > *, .button-group.round.stack-for-small > * > a, .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * > .button {
    border-radius: 0;
  }
  .button-group.round.stack-for-small > *:first-child, .button-group.round.stack-for-small > *:first-child > a, .button-group.round.stack-for-small > *:first-child > button, .button-group.round.stack-for-small > *:first-child > .button {
    -webkit-top-left-radius: 1rem;
    -webkit-top-right-radius: 1rem;
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
  }
  .button-group.round.stack-for-small > *:last-child, .button-group.round.stack-for-small > *:last-child > a, .button-group.round.stack-for-small > *:last-child > button, .button-group.round.stack-for-small > *:last-child > .button {
    -webkit-bottom-left-radius: 1rem;
    -webkit-bottom-right-radius: 1rem;
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
  }
}

.button-bar:before, .button-bar:after {
  content: " ";
  display: table;
}
.button-bar:after {
  clear: both;
}
.button-bar .button-group {
  float: left;
  margin-right: 0.625rem;
}
.button-bar .button-group div {
  overflow: hidden;
}

/* Clearing Styles */
.clearing-thumbs, [data-clearing] {
  margin-bottom: 0;
  margin-left: 0;
  list-style: none;
}
.clearing-thumbs:before, .clearing-thumbs:after, [data-clearing]:before, [data-clearing]:after {
  content: " ";
  display: table;
}
.clearing-thumbs:after, [data-clearing]:after {
  clear: both;
}
.clearing-thumbs li, [data-clearing] li {
  float: left;
  margin-right: 10px;
}
.clearing-thumbs[class*=block-grid-] li, [data-clearing][class*=block-grid-] li {
  margin-right: 0;
}

.clearing-blackout {
  background: #333333;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 998;
}
.clearing-blackout .clearing-close {
  display: block;
}

.clearing-container {
  position: relative;
  z-index: 998;
  height: 100%;
  overflow: hidden;
  margin: 0;
}

.clearing-touch-label {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #AAAAAA;
  font-size: 0.6em;
}

.visible-img {
  height: 95%;
  position: relative;
}
.visible-img img {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  -moz-transform: translateY(-50%) translateX(-50%);
  -ms-transform: translateY(-50%) translateX(-50%);
  -o-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
  max-height: 100%;
  max-width: 100%;
}

.clearing-caption {
  color: #CCCCCC;
  font-size: 0.875em;
  line-height: 1.3;
  margin-bottom: 0;
  text-align: center;
  bottom: 0;
  background: #333333;
  width: 100%;
  padding: 10px 30px 20px;
  position: absolute;
  left: 0;
}

.clearing-close {
  z-index: 999;
  padding-left: 20px;
  padding-top: 10px;
  font-size: 30px;
  line-height: 1;
  color: #CCCCCC;
  display: none;
}
.clearing-close:hover, .clearing-close:focus {
  color: #CCCCCC;
}

.clearing-assembled .clearing-container {
  height: 100%;
}
.clearing-assembled .clearing-container .carousel > ul {
  display: none;
}

.clearing-feature li {
  display: none;
}
.clearing-feature li.clearing-featured-img {
  display: block;
}

@media only screen and (min-width:40.063em) {
  .clearing-main-prev,
.clearing-main-next {
    position: absolute;
    height: 100%;
    width: 40px;
    top: 0;
  }
  .clearing-main-prev > span,
.clearing-main-next > span {
    position: absolute;
    top: 50%;
    display: block;
    width: 0;
    height: 0;
    border: solid 12px;
  }
  .clearing-main-prev > span:hover,
.clearing-main-next > span:hover {
    opacity: 0.8;
  }
  .clearing-main-prev {
    left: 0;
  }
  .clearing-main-prev > span {
    left: 5px;
    border-color: transparent;
    border-right-color: #CCCCCC;
  }
  .clearing-main-next {
    right: 0;
  }
  .clearing-main-next > span {
    border-color: transparent;
    border-left-color: #CCCCCC;
  }
  .clearing-main-prev.disabled,
.clearing-main-next.disabled {
    opacity: 0.3;
  }
  .clearing-assembled .clearing-container .carousel {
    background: rgba(51, 51, 51, 0.8);
    height: 120px;
    margin-top: 10px;
    text-align: center;
  }
  .clearing-assembled .clearing-container .carousel > ul {
    display: inline-block;
    z-index: 999;
    height: 100%;
    position: relative;
    float: none;
  }
  .clearing-assembled .clearing-container .carousel > ul li {
    display: block;
    width: 120px;
    min-height: inherit;
    float: left;
    overflow: hidden;
    margin-right: 0;
    padding: 0;
    position: relative;
    cursor: pointer;
    opacity: 0.4;
    clear: none;
  }
  .clearing-assembled .clearing-container .carousel > ul li.fix-height img {
    height: 100%;
    max-width: none;
  }
  .clearing-assembled .clearing-container .carousel > ul li a.th {
    border: none;
    box-shadow: none;
    display: block;
  }
  .clearing-assembled .clearing-container .carousel > ul li img {
    cursor: pointer !important;
    width: 100% !important;
  }
  .clearing-assembled .clearing-container .carousel > ul li.visible {
    opacity: 1;
  }
  .clearing-assembled .clearing-container .carousel > ul li:hover {
    opacity: 0.8;
  }
  .clearing-assembled .clearing-container .visible-img {
    background: #333333;
    overflow: hidden;
    height: 85%;
  }
  .clearing-close {
    position: absolute;
    top: 10px;
    right: 20px;
    padding-left: 0;
    padding-top: 0;
  }
}
/* Foundation Dropdowns */
.f-dropdown {
  position: absolute;
  left: -9999px;
  list-style: none;
  margin-left: 0;
  outline: none;
  display: none;
  width: 100%;
  max-height: none;
  height: auto;
  background: #FFFFFF;
  border: solid 1px #cccccc;
  font-size: 0.875rem;
  z-index: 89;
  margin-top: 2px;
  max-width: 200px;
}
.f-dropdown.open {
  display: block;
}
.f-dropdown > *:first-child {
  margin-top: 0;
}
.f-dropdown > *:last-child {
  margin-bottom: 0;
}
.f-dropdown:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  border-color: transparent transparent #FFFFFF transparent;
  border-bottom-style: solid;
  position: absolute;
  top: -12px;
  left: 10px;
  z-index: 89;
}
.f-dropdown:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: inset 7px;
  border-color: transparent transparent #cccccc transparent;
  border-bottom-style: solid;
  position: absolute;
  top: -14px;
  left: 9px;
  z-index: 88;
}
.f-dropdown.right:before {
  left: auto;
  right: 10px;
}
.f-dropdown.right:after {
  left: auto;
  right: 9px;
}
.f-dropdown.drop-right {
  position: absolute;
  left: -9999px;
  list-style: none;
  margin-left: 0;
  outline: none;
  display: none;
  width: 100%;
  max-height: none;
  height: auto;
  background: #FFFFFF;
  border: solid 1px #cccccc;
  font-size: 0.875rem;
  z-index: 89;
  margin-top: 0;
  margin-left: 2px;
  max-width: 200px;
}
.f-dropdown.drop-right.open {
  display: block;
}
.f-dropdown.drop-right > *:first-child {
  margin-top: 0;
}
.f-dropdown.drop-right > *:last-child {
  margin-bottom: 0;
}
.f-dropdown.drop-right:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  border-color: transparent #FFFFFF transparent transparent;
  border-right-style: solid;
  position: absolute;
  top: 10px;
  left: -12px;
  z-index: 89;
}
.f-dropdown.drop-right:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: inset 7px;
  border-color: transparent #cccccc transparent transparent;
  border-right-style: solid;
  position: absolute;
  top: 9px;
  left: -14px;
  z-index: 88;
}
.f-dropdown.drop-left {
  position: absolute;
  left: -9999px;
  list-style: none;
  margin-left: 0;
  outline: none;
  display: none;
  width: 100%;
  max-height: none;
  height: auto;
  background: #FFFFFF;
  border: solid 1px #cccccc;
  font-size: 0.875rem;
  z-index: 89;
  margin-top: 0;
  margin-left: -2px;
  max-width: 200px;
}
.f-dropdown.drop-left.open {
  display: block;
}
.f-dropdown.drop-left > *:first-child {
  margin-top: 0;
}
.f-dropdown.drop-left > *:last-child {
  margin-bottom: 0;
}
.f-dropdown.drop-left:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  border-color: transparent transparent transparent #FFFFFF;
  border-left-style: solid;
  position: absolute;
  top: 10px;
  right: -12px;
  left: auto;
  z-index: 89;
}
.f-dropdown.drop-left:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: inset 7px;
  border-color: transparent transparent transparent #cccccc;
  border-left-style: solid;
  position: absolute;
  top: 9px;
  right: -14px;
  left: auto;
  z-index: 88;
}
.f-dropdown.drop-top {
  position: absolute;
  left: -9999px;
  list-style: none;
  margin-left: 0;
  outline: none;
  display: none;
  width: 100%;
  max-height: none;
  height: auto;
  background: #FFFFFF;
  border: solid 1px #cccccc;
  font-size: 0.875rem;
  z-index: 89;
  margin-top: -2px;
  margin-left: 0;
  max-width: 200px;
}
.f-dropdown.drop-top.open {
  display: block;
}
.f-dropdown.drop-top > *:first-child {
  margin-top: 0;
}
.f-dropdown.drop-top > *:last-child {
  margin-bottom: 0;
}
.f-dropdown.drop-top:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  border-color: #FFFFFF transparent transparent transparent;
  border-top-style: solid;
  position: absolute;
  top: auto;
  bottom: -12px;
  left: 10px;
  right: auto;
  z-index: 89;
}
.f-dropdown.drop-top:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: inset 7px;
  border-color: #cccccc transparent transparent transparent;
  border-top-style: solid;
  position: absolute;
  top: auto;
  bottom: -14px;
  left: 9px;
  right: auto;
  z-index: 88;
}
.f-dropdown li {
  font-size: 0.875rem;
  cursor: pointer;
  line-height: 1.125rem;
  margin: 0;
}
.f-dropdown li:hover, .f-dropdown li:focus {
  background: #EEEEEE;
}
.f-dropdown li.radius {
  border-radius: 3px;
}
.f-dropdown li a {
  display: block;
  padding: 0.5rem;
  color: #555555;
}
.f-dropdown.content {
  position: absolute;
  left: -9999px;
  list-style: none;
  margin-left: 0;
  outline: none;
  display: none;
  padding: 1.25rem;
  width: 100%;
  height: auto;
  max-height: none;
  background: #FFFFFF;
  border: solid 1px #cccccc;
  font-size: 0.875rem;
  z-index: 89;
  max-width: 200px;
}
.f-dropdown.content.open {
  display: block;
}
.f-dropdown.content > *:first-child {
  margin-top: 0;
}
.f-dropdown.content > *:last-child {
  margin-bottom: 0;
}
.f-dropdown.tiny {
  max-width: 200px;
}
.f-dropdown.small {
  max-width: 300px;
}
.f-dropdown.medium {
  max-width: 500px;
}
.f-dropdown.large {
  max-width: 800px;
}
.f-dropdown.mega {
  width: 100% !important;
  max-width: 100% !important;
}
.f-dropdown.mega.open {
  left: 0 !important;
}

.dropdown.button,
button.dropdown {
  position: relative;
  outline: none;
  padding-right: 3.5625rem;
}
.dropdown.button::after,
button.dropdown::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  display: block;
  border-style: solid;
  border-color: #FFFFFF transparent transparent transparent;
  top: 50%;
}
.dropdown.button::after,
button.dropdown::after {
  border-width: 0.375rem;
  right: 1.40625rem;
  margin-top: -0.15625rem;
}
.dropdown.button::after,
button.dropdown::after {
  border-color: #FFFFFF transparent transparent transparent;
}
.dropdown.button.tiny,
button.dropdown.tiny {
  padding-right: 2.625rem;
}
.dropdown.button.tiny:after,
button.dropdown.tiny:after {
  border-width: 0.375rem;
  right: 1.125rem;
  margin-top: -0.125rem;
}
.dropdown.button.tiny::after,
button.dropdown.tiny::after {
  border-color: #FFFFFF transparent transparent transparent;
}
.dropdown.button.small,
button.dropdown.small {
  padding-right: 3.0625rem;
}
.dropdown.button.small::after,
button.dropdown.small::after {
  border-width: 0.4375rem;
  right: 1.3125rem;
  margin-top: -0.125rem;
}
.dropdown.button.small::after,
button.dropdown.small::after {
  border-color: #FFFFFF transparent transparent transparent;
}
.dropdown.button.large,
button.dropdown.large {
  padding-right: 3.625rem;
}
.dropdown.button.large::after,
button.dropdown.large::after {
  border-width: 0.3125rem;
  right: 1.71875rem;
  margin-top: -0.15625rem;
}
.dropdown.button.large::after,
button.dropdown.large::after {
  border-color: #FFFFFF transparent transparent transparent;
}
.dropdown.button.secondary:after,
button.dropdown.secondary:after {
  border-color: #333333 transparent transparent transparent;
}

.flex-video {
  position: relative;
  padding-top: 1.5625rem;
  padding-bottom: 67.5%;
  height: 0;
  margin-bottom: 1rem;
  overflow: hidden;
}
.flex-video.widescreen {
  padding-bottom: 56.34%;
}
.flex-video.vimeo {
  padding-top: 0;
}
.flex-video iframe,
.flex-video object,
.flex-video embed,
.flex-video video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Standard Forms */
form {
  margin: 0 0 1rem;
}

/* Using forms within rows, we need to set some defaults */
form .row .row {
  margin: 0 -0.5rem;
}
form .row .row .column,
form .row .row .columns {
  padding: 0 0.5rem;
}
form .row .row.collapse {
  margin: 0;
}
form .row .row.collapse .column,
form .row .row.collapse .columns {
  padding: 0;
}
form .row .row.collapse input {
  -webkit-border-bottom-right-radius: 0;
  -webkit-border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
form .row input.column,
form .row input.columns,
form .row textarea.column,
form .row textarea.columns {
  padding-left: 0.5rem;
}

/* Label Styles */
label {
  font-size: 0.75rem;
  color: #4d4d4d;
  cursor: pointer;
  display: block;
  font-weight: normal;
  line-height: 1.5;
  margin: 0 0.3125rem 0 0;
  padding: 0.25em 0 0.3em 0;
  /* Styles for required inputs */
}
label.right {
  float: none !important;
  text-align: right;
}
label.inline {
  margin: 0 0 1rem 0;
  padding: 0.5625rem 0;
}
label small {
  text-transform: capitalize;
  color: #676767;
}

/* Attach elements to the beginning or end of an input */
.prefix,
.postfix {
  display: block;
  position: relative;
  z-index: 2;
  text-align: center;
  width: 100%;
  padding-top: 0;
  padding-bottom: 0;
  border-style: solid;
  border-width: 1px;
  overflow: visible;
  font-size: 0.75rem;
  height: 1.55rem;
  line-height: 2.25rem;
}

/* Adjust padding, alignment and radius if pre/post element is a button */
.postfix.button {
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  border: none;
}

.prefix.button {
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  border: none;
}

.prefix.button.radius {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 3px;
  -webkit-border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}

.postfix.button.radius {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}

.prefix.button.round {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px;
}

.postfix.button.round {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px;
}

/* Separate prefix and postfix styles when on span or label so buttons keep their own */
span.prefix,
label.prefix {
  background: #f2f2f2;
  border-right: none;
  color: #333333;
  border-color: #cccccc;
}

span.postfix,
label.postfix {
  background: #f2f2f2;
  border-left: none;
  color: #333333;
  border-color: #cccccc;
}

/* We use this to get basic styling on all basic form elements */
input[type=text], input[type=password], input[type=date], input[type=datetime], input[type=datetime-local], input[type=month], input[type=week], input[type=email], input[type=number], input[type=search], input[type=tel], input[type=time], input[type=url], input[type=color], textarea {
  -webkit-appearance: none;
  border-radius: 0;
  background-color: #FFFFFF;
  font-family: inherit;
  border-style: solid;
  border-width: 1px;
  border-color: #cccccc;
  display: block;
  font-size: 0.75rem;
  padding: 0.25rem;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: border-color 0.15s linear, background 0.15s linear;
  -moz-transition: border-color 0.15s linear, background 0.15s linear;
  -ms-transition: border-color 0.15s linear, background 0.15s linear;
  -o-transition: border-color 0.15s linear, background 0.15s linear;
  transition: border-color 0.15s linear, background 0.15s linear;
}
input[type=text]:focus, input[type=password]:focus, input[type=date]:focus, input[type=datetime]:focus, input[type=datetime-local]:focus, input[type=month]:focus, input[type=week]:focus, input[type=email]:focus, input[type=number]:focus, input[type=search]:focus, input[type=tel]:focus, input[type=time]:focus, input[type=url]:focus, input[type=color]:focus, textarea:focus {
  background: #fafafa;
  border-color: #999999;
  outline: none;
}
input[type=text]:disabled, input[type=password]:disabled, input[type=date]:disabled, input[type=datetime]:disabled, input[type=datetime-local]:disabled, input[type=month]:disabled, input[type=week]:disabled, input[type=email]:disabled, input[type=number]:disabled, input[type=search]:disabled, input[type=tel]:disabled, input[type=time]:disabled, input[type=url]:disabled, input[type=color]:disabled, textarea:disabled {
  background-color: #DDDDDD;
  cursor: default;
}
input[type=text][disabled], input[type=text][readonly], fieldset[disabled] input[type=text], input[type=password][disabled], input[type=password][readonly], fieldset[disabled] input[type=password], input[type=date][disabled], input[type=date][readonly], fieldset[disabled] input[type=date], input[type=datetime][disabled], input[type=datetime][readonly], fieldset[disabled] input[type=datetime], input[type=datetime-local][disabled], input[type=datetime-local][readonly], fieldset[disabled] input[type=datetime-local], input[type=month][disabled], input[type=month][readonly], fieldset[disabled] input[type=month], input[type=week][disabled], input[type=week][readonly], fieldset[disabled] input[type=week], input[type=email][disabled], input[type=email][readonly], fieldset[disabled] input[type=email], input[type=number][disabled], input[type=number][readonly], fieldset[disabled] input[type=number], input[type=search][disabled], input[type=search][readonly], fieldset[disabled] input[type=search], input[type=tel][disabled], input[type=tel][readonly], fieldset[disabled] input[type=tel], input[type=time][disabled], input[type=time][readonly], fieldset[disabled] input[type=time], input[type=url][disabled], input[type=url][readonly], fieldset[disabled] input[type=url], input[type=color][disabled], input[type=color][readonly], fieldset[disabled] input[type=color], textarea[disabled], textarea[readonly], fieldset[disabled] textarea {
  background-color: #DDDDDD;
  cursor: default;
}
input[type=text].radius, input[type=password].radius, input[type=date].radius, input[type=datetime].radius, input[type=datetime-local].radius, input[type=month].radius, input[type=week].radius, input[type=email].radius, input[type=number].radius, input[type=search].radius, input[type=tel].radius, input[type=time].radius, input[type=url].radius, input[type=color].radius, textarea.radius {
  border-radius: 3px;
}

form .row .prefix-radius.row.collapse input,
form .row .prefix-radius.row.collapse textarea,
form .row .prefix-radius.row.collapse select,
form .row .prefix-radius.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
form .row .prefix-radius.row.collapse .prefix {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 3px;
  -webkit-border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}
form .row .postfix-radius.row.collapse input,
form .row .postfix-radius.row.collapse textarea,
form .row .postfix-radius.row.collapse select,
form .row .postfix-radius.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 3px;
  -webkit-border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}
form .row .postfix-radius.row.collapse .postfix {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
form .row .prefix-round.row.collapse input,
form .row .prefix-round.row.collapse textarea,
form .row .prefix-round.row.collapse select,
form .row .prefix-round.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px;
}
form .row .prefix-round.row.collapse .prefix {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px;
}
form .row .postfix-round.row.collapse input,
form .row .postfix-round.row.collapse textarea,
form .row .postfix-round.row.collapse select,
form .row .postfix-round.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px;
}
form .row .postfix-round.row.collapse .postfix {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px;
}

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

/* Respect enforced amount of rows for textarea */
textarea[rows] {
  height: auto;
}

/* Not allow resize out of parent */
textarea {
  max-width: 100%;
}

/* Add height value for select elements to match text input height */
select {
  -webkit-appearance: none !important;
  border-radius: 0;
  background-color: #FFFFFF;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABzSURBVHgBbcyxDYAgFATQw1jZ6CiuYO8OMoK1FFT2OgFxAhND7woOZIL8HyJIvORIuDwAKHpvMPrm0XEr+LzLE5VvignRrqyha8mjcyuEMAF3qMNjoPVdiIj3h+mQjB2usHokJOZ++8IUcyL6D2Flh3x+AHyOIT+6xNhOAAAAAElFTkSuQmCC);
  background-position: 90% center;
  background-repeat: no-repeat;
  border-style: solid;
  border-width: 1px;
  border-color: #cccccc;
  font-size: 0.8125rem;
  font-family: "Roboto", sans-serif;
  color: rgb(0, 0, 0);
  line-height: normal;
  border-radius: 0;
  height: 1.5625rem;
}
select::-ms-expand {
  display: none;
}
select.radius {
  border-radius: 3px;
}
select:disabled {
  background-color: #DDDDDD;
  cursor: default;
}
select[multiple] {
  height: auto;
}

/* Adjust margin for form elements below */
input[type=file],
input[type=checkbox],
input[type=radio] {
  margin: 0 0 1rem 0;
}

input[type=checkbox] + label,
input[type=radio] + label {
  display: inline-block;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0;
  vertical-align: baseline;
}

/* Normalize file input width */
input[type=file] {
  width: 100%;
}

/* HTML5 Number spinners settings */
/* We add basic fieldset styling */
fieldset {
  border: 1px solid #DDDDDD;
  padding: 2.1875rem 0.625rem 0.625rem 0.625rem;
  margin: 0.625rem 0;
  position: relative;
}
fieldset legend {
  font-weight: bold;
  background: #FFFFFF;
  padding: 0.125rem 0.1875rem;
  margin: 0;
  margin-left: -0.1875rem;
  position: absolute;
  top: 0;
  left: 0.1875rem;
  background: #e7e7e7;
  width: 100%;
}

/* Error Handling */
[data-abide] .error small.error,
[data-abide] .error span.error,
[data-abide] span.error,
[data-abide] small.error {
  display: block;
  padding: 0.375rem 0.5625rem 0.5625rem;
  margin-top: -1px;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: normal;
  font-style: italic;
  background: #f04124;
  color: #FFFFFF;
}
[data-abide] span.error,
[data-abide] small.error {
  display: none;
}

span.error,
small.error {
  display: block;
  padding: 0.375rem 0.5625rem 0.5625rem;
  margin-top: -1px;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: normal;
  font-style: italic;
  background: #f04124;
  color: #FFFFFF;
}

.error input,
.error textarea,
.error select {
  margin-bottom: 0;
}
.error input[type=checkbox],
.error input[type=radio] {
  margin-bottom: 1rem;
}
.error label,
.error label.error {
  color: #f04124;
}
.error small.error {
  display: block;
  padding: 0.375rem 0.5625rem 0.5625rem;
  margin-top: -1px;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: normal;
  font-style: italic;
  background: #f04124;
  color: #FFFFFF;
}
.error > label > small {
  color: #676767;
  background: transparent;
  padding: 0;
  text-transform: capitalize;
  font-style: normal;
  font-size: 60%;
  margin: 0;
  display: inline;
}
.error span.error-message {
  display: block;
}

input.error,
textarea.error,
select.error {
  margin-bottom: 0;
}

label.error {
  color: #f04124;
}

.icon-bar {
  width: 100%;
  font-size: 0;
  display: inline-block;
  background: #333333;
}
.icon-bar > * {
  text-align: center;
  font-size: 1rem;
  width: 25%;
  margin: 0 auto;
  display: block;
  padding: 1.25rem;
  float: left;
}
.icon-bar > * i, .icon-bar > * img {
  display: block;
  margin: 0 auto;
}
.icon-bar > * i + label, .icon-bar > * img + label {
  margin-top: 0.0625rem;
}
.icon-bar > * i {
  font-size: 1.875rem;
  vertical-align: middle;
}
.icon-bar > * img {
  width: 1.875rem;
  height: 1.875rem;
}
.icon-bar.label-right > * i, .icon-bar.label-right > * img {
  margin: 0 0.0625rem 0 0;
  display: inline-block;
}
.icon-bar.label-right > * i + label, .icon-bar.label-right > * img + label {
  margin-top: 0;
}
.icon-bar.label-right > * label {
  display: inline-block;
}
.icon-bar.vertical.label-right > * {
  text-align: left;
}
.icon-bar.vertical, .icon-bar.small-vertical {
  height: 100%;
  width: auto;
}
.icon-bar.vertical .item, .icon-bar.small-vertical .item {
  width: auto;
  margin: auto;
  float: none;
}
@media only screen and (min-width:40.063em) {
  .icon-bar.medium-vertical {
    height: 100%;
    width: auto;
  }
  .icon-bar.medium-vertical .item {
    width: auto;
    margin: auto;
    float: none;
  }
}
@media only screen and (min-width:64.063em) {
  .icon-bar.large-vertical {
    height: 100%;
    width: auto;
  }
  .icon-bar.large-vertical .item {
    width: auto;
    margin: auto;
    float: none;
  }
}
.icon-bar > * {
  font-size: 1rem;
  padding: 1.25rem;
}
.icon-bar > * i + label, .icon-bar > * img + label {
  margin-top: 0.0625rem;
}
.icon-bar > * i {
  font-size: 1.875rem;
}
.icon-bar > * img {
  width: 1.875rem;
  height: 1.875rem;
}
.icon-bar > * label {
  color: #FFFFFF;
}
.icon-bar > * i {
  color: #FFFFFF;
}
.icon-bar > a:hover {
  background: #008CBA;
}
.icon-bar > a:hover label {
  color: #FFFFFF;
}
.icon-bar > a:hover i {
  color: #FFFFFF;
}
.icon-bar > a.active {
  background: #008CBA;
}
.icon-bar > a.active label {
  color: #FFFFFF;
}
.icon-bar > a.active i {
  color: #FFFFFF;
}
.icon-bar .item.disabled {
  opacity: 0.7;
  cursor: not-allowed;
  pointer-events: none;
}
.icon-bar .item.disabled > * {
  opacity: 0.7;
  cursor: not-allowed;
}

.icon-bar.two-up .item {
  width: 50%;
}
.icon-bar.two-up.vertical .item, .icon-bar.two-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.063em) {
  .icon-bar.two-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.063em) {
  .icon-bar.two-up.large-vertical .item {
    width: auto;
  }
}
.icon-bar.three-up .item {
  width: 33.3333%;
}
.icon-bar.three-up.vertical .item, .icon-bar.three-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.063em) {
  .icon-bar.three-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.063em) {
  .icon-bar.three-up.large-vertical .item {
    width: auto;
  }
}
.icon-bar.four-up .item {
  width: 25%;
}
.icon-bar.four-up.vertical .item, .icon-bar.four-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.063em) {
  .icon-bar.four-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.063em) {
  .icon-bar.four-up.large-vertical .item {
    width: auto;
  }
}
.icon-bar.five-up .item {
  width: 20%;
}
.icon-bar.five-up.vertical .item, .icon-bar.five-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.063em) {
  .icon-bar.five-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.063em) {
  .icon-bar.five-up.large-vertical .item {
    width: auto;
  }
}
.icon-bar.six-up .item {
  width: 16.66667%;
}
.icon-bar.six-up.vertical .item, .icon-bar.six-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.063em) {
  .icon-bar.six-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.063em) {
  .icon-bar.six-up.large-vertical .item {
    width: auto;
  }
}
.icon-bar.seven-up .item {
  width: 14.28571%;
}
.icon-bar.seven-up.vertical .item, .icon-bar.seven-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.063em) {
  .icon-bar.seven-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.063em) {
  .icon-bar.seven-up.large-vertical .item {
    width: auto;
  }
}
.icon-bar.eight-up .item {
  width: 12.5%;
}
.icon-bar.eight-up.vertical .item, .icon-bar.eight-up.small-vertical .item {
  width: auto;
}
@media only screen and (min-width:40.063em) {
  .icon-bar.eight-up.medium-vertical .item {
    width: auto;
  }
}
@media only screen and (min-width:64.063em) {
  .icon-bar.eight-up.large-vertical .item {
    width: auto;
  }
}

.inline-list {
  margin: 0 auto 1.0625rem auto;
  margin-left: -1.375rem;
  margin-right: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
}
.inline-list > li {
  list-style: none;
  float: left;
  margin-left: 1.375rem;
  display: block;
}
.inline-list > li > * {
  display: block;
} /* Foundation Joyride */
.joyride-list {
  display: none;
}

/* Default styles for the container */
.joyride-tip-guide {
  display: none;
  position: absolute;
  background: #333333;
  color: #FFFFFF;
  z-index: 101;
  top: 0;
  left: 2.5%;
  font-family: inherit;
  font-weight: normal;
  width: 95%;
}

.lt-ie9 .joyride-tip-guide {
  max-width: 800px;
  left: 50%;
  margin-left: -400px;
}

.joyride-content-wrapper {
  width: 100%;
  padding: 1.125rem 1.25rem 1.5rem;
}
.joyride-content-wrapper .button {
  margin-bottom: 0 !important;
}
.joyride-content-wrapper .joyride-prev-tip {
  margin-right: 10px;
}

/* Add a little css triangle pip, older browser just miss out on the fanciness of it */
.joyride-tip-guide .joyride-nub {
  display: block;
  position: absolute;
  left: 22px;
  width: 0;
  height: 0;
  border: 10px solid #333333;
}
.joyride-tip-guide .joyride-nub.top {
  border-top-style: solid;
  border-color: #333333;
  border-top-color: transparent !important;
  border-left-color: transparent !important;
  border-right-color: transparent !important;
  top: -20px;
}
.joyride-tip-guide .joyride-nub.bottom {
  border-bottom-style: solid;
  border-color: #333333 !important;
  border-bottom-color: transparent !important;
  border-left-color: transparent !important;
  border-right-color: transparent !important;
  bottom: -20px;
}
.joyride-tip-guide .joyride-nub.right {
  right: -20px;
}
.joyride-tip-guide .joyride-nub.left {
  left: -20px;
}

/* Typography */
.joyride-tip-guide h1,
.joyride-tip-guide h2,
.joyride-tip-guide h3,
.joyride-tip-guide h4,
.joyride-tip-guide h5,
.joyride-tip-guide h6 {
  line-height: 1.25;
  margin: 0;
  font-weight: bold;
  color: #FFFFFF;
}

.joyride-tip-guide p {
  margin: 0 0 1.125rem 0;
  font-size: 0.875rem;
  line-height: 1.3;
}

.joyride-timer-indicator-wrap {
  width: 50px;
  height: 3px;
  border: solid 1px #555555;
  position: absolute;
  right: 1.0625rem;
  bottom: 1rem;
}

.joyride-timer-indicator {
  display: block;
  width: 0;
  height: inherit;
  background: #666666;
}

.joyride-close-tip {
  position: absolute;
  right: 12px;
  top: 10px;
  color: #777777 !important;
  text-decoration: none;
  font-size: 24px;
  font-weight: normal;
  line-height: 0.5 !important;
}
.joyride-close-tip:hover, .joyride-close-tip:focus {
  color: #EEEEEE !important;
}

.joyride-modal-bg {
  position: fixed;
  height: 100%;
  width: 100%;
  background: transparent;
  background: rgba(0, 0, 0, 0.5);
  z-index: 100;
  display: none;
  top: 0;
  left: 0;
  cursor: pointer;
}

.joyride-expose-wrapper {
  background-color: #FFFFFF;
  position: absolute;
  border-radius: 3px;
  z-index: 102;
  box-shadow: 0 0 15px #FFFFFF;
}

.joyride-expose-cover {
  background: transparent;
  border-radius: 3px;
  position: absolute;
  z-index: 9999;
  top: 0;
  left: 0;
}

/* Styles for screens that are at least 768px; */
@media only screen and (min-width:40.063em) {
  .joyride-tip-guide {
    width: 300px;
    left: inherit;
  }
  .joyride-tip-guide .joyride-nub.bottom {
    border-color: #333333 !important;
    border-bottom-color: transparent !important;
    border-left-color: transparent !important;
    border-right-color: transparent !important;
    bottom: -20px;
  }
  .joyride-tip-guide .joyride-nub.right {
    border-color: #333333 !important;
    border-top-color: transparent !important;
    border-right-color: transparent !important;
    border-bottom-color: transparent !important;
    top: 22px;
    left: auto;
    right: -20px;
  }
  .joyride-tip-guide .joyride-nub.left {
    border-color: #333333 !important;
    border-top-color: transparent !important;
    border-left-color: transparent !important;
    border-bottom-color: transparent !important;
    top: 22px;
    left: -20px;
    right: auto;
  }
}
.keystroke,
kbd {
  background-color: #ededed;
  border-color: #dddddd;
  color: #222222;
  border-style: solid;
  border-width: 1px;
  margin: 0;
  font-family: "Consolas", "Menlo", "Courier", monospace;
  font-size: inherit;
  padding: 0.125rem 0.25rem 0;
  border-radius: 3px;
}

.label {
  font-weight: normal;
  font-family: "Roboto", sans-serif;
  text-align: center;
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
  display: inline-block;
  position: relative;
  margin-bottom: auto;
  padding: 0.25rem 0.5rem 0.25rem;
  font-size: 0.6875rem;
  background-color: #008CBA;
  color: #FFFFFF;
}
.label.radius {
  border-radius: 3px;
}
.label.round {
  border-radius: 1000px;
}
.label.alert {
  background-color: #f04124;
  color: #FFFFFF;
}
.label.warning {
  background-color: #f08a24;
  color: #FFFFFF;
}
.label.success {
  background-color: #43AC6A;
  color: #FFFFFF;
}
.label.secondary {
  background-color: #e7e7e7;
  color: #333333;
}
.label.info {
  background-color: #a0d3e8;
  color: #333333;
}

[data-magellan-expedition], [data-magellan-expedition-clone] {
  background: #FFFFFF;
  z-index: 50;
  min-width: 100%;
  padding: 10px;
}
[data-magellan-expedition] .sub-nav, [data-magellan-expedition-clone] .sub-nav {
  margin-bottom: 0;
}
[data-magellan-expedition] .sub-nav dd, [data-magellan-expedition-clone] .sub-nav dd {
  margin-bottom: 0;
}
[data-magellan-expedition] .sub-nav a, [data-magellan-expedition-clone] .sub-nav a {
  line-height: 1.8em;
}

@-webkit-keyframes rotate {
  from {
    -webkit-transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
  }
}
@-moz-keyframes rotate {
  from {
    -moz-transform: rotate(0deg);
  }
  to {
    -moz-transform: rotate(360deg);
  }
}
@-o-keyframes rotate {
  from {
    -o-transform: rotate(0deg);
  }
  to {
    -o-transform: rotate(360deg);
  }
}
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/* Orbit Graceful Loading */
.slideshow-wrapper {
  position: relative;
}
.slideshow-wrapper ul {
  list-style-type: none;
  margin: 0;
}
.slideshow-wrapper ul li,
.slideshow-wrapper ul li .orbit-caption {
  display: none;
}
.slideshow-wrapper ul li:first-child {
  display: block;
}
.slideshow-wrapper .orbit-container {
  background-color: transparent;
}
.slideshow-wrapper .orbit-container li {
  display: block;
}
.slideshow-wrapper .orbit-container li .orbit-caption {
  display: block;
}
.slideshow-wrapper .orbit-container .orbit-bullets li {
  display: inline-block;
}
.slideshow-wrapper .preloader {
  display: block;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -20px;
  margin-left: -20px;
  border: solid 3px;
  border-color: #555555 #FFFFFF;
  border-radius: 1000px;
  animation-name: rotate;
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

.orbit-container {
  overflow: hidden;
  width: 100%;
  position: relative;
  background: none;
}
.orbit-container .orbit-slides-container {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  -webkit-transform: translateZ(0);
}
.orbit-container .orbit-slides-container img {
  display: block;
  max-width: 100%;
}
.orbit-container .orbit-slides-container > * {
  position: absolute;
  top: 0;
  width: 100%;
  margin-left: 100%;
}
.orbit-container .orbit-slides-container > *:first-child {
  margin-left: 0;
}
.orbit-container .orbit-slides-container > * .orbit-caption {
  position: absolute;
  bottom: 0;
  background-color: rgba(51, 51, 51, 0.8);
  color: #FFFFFF;
  width: 100%;
  padding: 0.625rem 0.875rem;
  font-size: 0.875rem;
}
.orbit-container .orbit-slide-number {
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 12px;
  color: #FFFFFF;
  background: rgba(0, 0, 0, 0);
  z-index: 10;
}
.orbit-container .orbit-slide-number span {
  font-weight: 700;
  padding: 0.3125rem;
}
.orbit-container .orbit-timer {
  position: absolute;
  top: 12px;
  right: 10px;
  height: 6px;
  width: 100px;
  z-index: 10;
}
.orbit-container .orbit-timer .orbit-progress {
  height: 3px;
  background-color: rgba(255, 255, 255, 0.3);
  display: block;
  width: 0;
  position: relative;
  right: 20px;
  top: 5px;
}
.orbit-container .orbit-timer > span {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  width: 11px;
  height: 14px;
  border: solid 4px #FFFFFF;
  border-top: none;
  border-bottom: none;
}
.orbit-container .orbit-timer.paused > span {
  right: -4px;
  top: 0;
  width: 11px;
  height: 14px;
  border: inset 8px;
  border-left-style: solid;
  border-color: transparent;
  border-left-color: #FFFFFF;
}
.orbit-container .orbit-timer.paused > span.dark {
  border-left-color: #333333;
}
.orbit-container:hover .orbit-timer > span {
  display: block;
}
.orbit-container .orbit-prev,
.orbit-container .orbit-next {
  position: absolute;
  top: 45%;
  margin-top: -25px;
  width: 36px;
  height: 60px;
  line-height: 50px;
  color: white;
  background-color: transparent;
  text-indent: -9999px !important;
  z-index: 10;
}
.orbit-container .orbit-prev:hover,
.orbit-container .orbit-next:hover {
  background-color: rgba(0, 0, 0, 0.3);
}
.orbit-container .orbit-prev > span,
.orbit-container .orbit-next > span {
  position: absolute;
  top: 50%;
  margin-top: -10px;
  display: block;
  width: 0;
  height: 0;
  border: inset 10px;
}
.orbit-container .orbit-prev {
  left: 0;
}
.orbit-container .orbit-prev > span {
  border-right-style: solid;
  border-color: transparent;
  border-right-color: #FFFFFF;
}
.orbit-container .orbit-prev:hover > span {
  border-right-color: #FFFFFF;
}
.orbit-container .orbit-next {
  right: 0;
}
.orbit-container .orbit-next > span {
  border-color: transparent;
  border-left-style: solid;
  border-left-color: #FFFFFF;
  left: 50%;
  margin-left: -4px;
}
.orbit-container .orbit-next:hover > span {
  border-left-color: #FFFFFF;
}

.orbit-bullets-container {
  text-align: center;
}

.orbit-bullets {
  margin: 0 auto 30px auto;
  overflow: hidden;
  position: relative;
  top: 10px;
  float: none;
  text-align: center;
  display: block;
}
.orbit-bullets li {
  cursor: pointer;
  display: inline-block;
  width: 0.5625rem;
  height: 0.5625rem;
  background: #CCCCCC;
  float: none;
  margin-right: 6px;
  border-radius: 1000px;
}
.orbit-bullets li.active {
  background: #999999;
}
.orbit-bullets li:last-child {
  margin-right: 0;
}

.touch .orbit-container .orbit-prev,
.touch .orbit-container .orbit-next {
  display: none;
}
.touch .orbit-bullets {
  display: none;
}

@media only screen and (min-width:40.063em) {
  .touch .orbit-container .orbit-prev,
.touch .orbit-container .orbit-next {
    display: inherit;
  }
  .touch .orbit-bullets {
    display: block;
  }
}
@media only screen and (max-width: 40em) {
  .orbit-stack-on-small .orbit-slides-container {
    height: auto !important;
  }
  .orbit-stack-on-small .orbit-slides-container > * {
    position: relative;
    margin: 0 !important;
    opacity: 1 !important;
  }
  .orbit-stack-on-small .orbit-slide-number {
    display: none;
  }
  .orbit-timer {
    display: none;
  }
  .orbit-next, .orbit-prev {
    display: none;
  }
  .orbit-bullets {
    display: none;
  }
}
ul.pagination {
  display: block;
  min-height: 1.5rem;
  margin-left: -0.3125rem;
}
ul.pagination li {
  height: 1.5rem;
  color: #222222;
  font-size: 0.875rem;
  margin-left: 0.3125rem;
}
ul.pagination li a, ul.pagination li button {
  display: block;
  padding: 0.0625rem 0.625rem 0.0625rem;
  color: #999999;
  background: none;
  border-radius: 3px;
  font-weight: normal;
  font-size: 1em;
  line-height: inherit;
  transition: background-color 300ms ease-out;
}
ul.pagination li:hover a,
ul.pagination li a:focus, ul.pagination li:hover button,
ul.pagination li button:focus {
  background: #e6e6e6;
}
ul.pagination li.unavailable a, ul.pagination li.unavailable button {
  cursor: default;
  color: #999999;
}
ul.pagination li.unavailable:hover a, ul.pagination li.unavailable a:focus, ul.pagination li.unavailable:hover button, ul.pagination li.unavailable button:focus {
  background: transparent;
}
ul.pagination li.current a, ul.pagination li.current button {
  background: #008CBA;
  color: #FFFFFF;
  font-weight: bold;
  cursor: default;
}
ul.pagination li.current a:hover, ul.pagination li.current a:focus, ul.pagination li.current button:hover, ul.pagination li.current button:focus {
  background: #008CBA;
}
ul.pagination li {
  float: left;
  display: block;
}

/* Pagination centred wrapper */
.pagination-centered {
  text-align: center;
}
.pagination-centered ul.pagination li {
  float: none;
  display: inline-block;
}

/* Panels */
.panel {
  border-style: solid;
  border-width: 1px;
  border-color: #d8d8d8;
  margin-bottom: 1.25rem;
  padding: 1.25rem;
  background: #f2f2f2;
  color: #333333;
}
.panel > :first-child {
  margin-top: 0;
}
.panel > :last-child {
  margin-bottom: 0;
}
.panel h1,
.panel h2,
.panel h3,
.panel h4,
.panel h5,
.panel h6,
.panel p,
.panel li,
.panel dl {
  color: #333333;
}
.panel h1,
.panel h2,
.panel h3,
.panel h4,
.panel h5,
.panel h6 {
  line-height: 1;
  margin-bottom: 0.625rem;
}
.panel h1.subheader,
.panel h2.subheader,
.panel h3.subheader,
.panel h4.subheader,
.panel h5.subheader,
.panel h6.subheader {
  line-height: 1.4;
}
.panel.callout {
  border-style: solid;
  border-width: 1px;
  border-color: #b6edff;
  margin-bottom: 1.25rem;
  padding: 1.25rem;
  background: #ecfaff;
  color: #333333;
}
.panel.callout > :first-child {
  margin-top: 0;
}
.panel.callout > :last-child {
  margin-bottom: 0;
}
.panel.callout h1,
.panel.callout h2,
.panel.callout h3,
.panel.callout h4,
.panel.callout h5,
.panel.callout h6,
.panel.callout p,
.panel.callout li,
.panel.callout dl {
  color: #333333;
}
.panel.callout h1,
.panel.callout h2,
.panel.callout h3,
.panel.callout h4,
.panel.callout h5,
.panel.callout h6 {
  line-height: 1;
  margin-bottom: 0.625rem;
}
.panel.callout h1.subheader,
.panel.callout h2.subheader,
.panel.callout h3.subheader,
.panel.callout h4.subheader,
.panel.callout h5.subheader,
.panel.callout h6.subheader {
  line-height: 1.4;
}
.panel.callout a:not(.button) {
  color: #008CBA;
}
.panel.callout a:not(.button):hover, .panel.callout a:not(.button):focus {
  color: #0078a0;
}
.panel.radius {
  border-radius: 3px;
}

/* Pricing Tables */
.pricing-table {
  border: solid 1px #DDDDDD;
  margin-left: 0;
  margin-bottom: 1.25rem;
}
.pricing-table * {
  list-style: none;
  line-height: 1;
}
.pricing-table .title {
  background-color: #333333;
  padding: 0.9375rem 1.25rem;
  text-align: center;
  color: #EEEEEE;
  font-weight: normal;
  font-size: 1rem;
  font-family: "Roboto", sans-serif;
}
.pricing-table .price {
  background-color: #F6F6F6;
  padding: 0.9375rem 1.25rem;
  text-align: center;
  color: #333333;
  font-weight: normal;
  font-size: 2rem;
  font-family: "Roboto", sans-serif;
}
.pricing-table .description {
  background-color: #FFFFFF;
  padding: 0.9375rem;
  text-align: center;
  color: #777777;
  font-size: 0.75rem;
  font-weight: normal;
  line-height: 1.4;
  border-bottom: dotted 1px #DDDDDD;
}
.pricing-table .bullet-item {
  background-color: #FFFFFF;
  padding: 0.9375rem;
  text-align: center;
  color: #333333;
  font-size: 0.875rem;
  font-weight: normal;
  border-bottom: dotted 1px #DDDDDD;
}
.pricing-table .cta-button {
  background-color: #FFFFFF;
  text-align: center;
  padding: 1.25rem 1.25rem 0;
}

/* Progress Bar */
.progress {
  background-color: #F6F6F6;
  height: 1.5625rem;
  border: 1px solid white;
  padding: 0.125rem;
  margin-bottom: 0.625rem;
}
.progress .meter {
  background: #008CBA;
  height: 100%;
  display: block;
}
.progress.secondary .meter {
  background: #e7e7e7;
  height: 100%;
  display: block;
}
.progress.success .meter {
  background: #43AC6A;
  height: 100%;
  display: block;
}
.progress.alert .meter {
  background: #f04124;
  height: 100%;
  display: block;
}
.progress.radius {
  border-radius: 3px;
}
.progress.radius .meter {
  border-radius: 2px;
}
.progress.round {
  border-radius: 1000px;
}
.progress.round .meter {
  border-radius: 999px;
}

.range-slider {
  position: relative;
  border: 1px solid #DDDDDD;
  margin: 1.25rem 0;
  -ms-touch-action: none;
  touch-action: none;
  display: block;
  width: 100%;
  height: 1rem;
  background: #FAFAFA;
}
.range-slider.vertical-range {
  position: relative;
  border: 1px solid #DDDDDD;
  margin: 1.25rem 0;
  -ms-touch-action: none;
  touch-action: none;
  display: inline-block;
  width: 1rem;
  height: 12.5rem;
}
.range-slider.vertical-range .range-slider-handle {
  margin-top: 0;
  margin-left: -0.5rem;
  position: absolute;
  bottom: -10.5rem;
}
.range-slider.vertical-range .range-slider-active-segment {
  width: 0.875rem;
  height: auto;
  bottom: 0;
}
.range-slider.radius {
  background: #FAFAFA;
  border-radius: 3px;
}
.range-slider.radius .range-slider-handle {
  background: #008CBA;
  border-radius: 3px;
}
.range-slider.radius .range-slider-handle:hover {
  background: #007ba4;
}
.range-slider.round {
  background: #FAFAFA;
  border-radius: 1000px;
}
.range-slider.round .range-slider-handle {
  background: #008CBA;
  border-radius: 1000px;
}
.range-slider.round .range-slider-handle:hover {
  background: #007ba4;
}
.range-slider.disabled, .range-slider[disabled] {
  background: #FAFAFA;
  cursor: not-allowed;
  opacity: 0.7;
}
.range-slider.disabled .range-slider-handle, .range-slider[disabled] .range-slider-handle {
  background: #008CBA;
  cursor: default;
  opacity: 0.7;
}
.range-slider.disabled .range-slider-handle:hover, .range-slider[disabled] .range-slider-handle:hover {
  background: #007ba4;
}

.range-slider-active-segment {
  display: inline-block;
  position: absolute;
  height: 0.875rem;
  background: #e5e5e5;
}

.range-slider-handle {
  display: inline-block;
  position: absolute;
  z-index: 1;
  top: -0.3125rem;
  width: 2rem;
  height: 1.375rem;
  border: 1px solid none;
  cursor: pointer;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  background: #008CBA;
}
.range-slider-handle:hover {
  background: #007ba4;
}

.reveal-modal-bg {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #000000;
  background: rgba(0, 0, 0, 0.45);
  z-index: 1004;
  display: none;
  left: 0;
}

.reveal-modal {
  visibility: hidden;
  display: none;
  position: absolute;
  z-index: 1005;
  width: 100%;
  top: 0;
  border-radius: 3px;
  left: 0;
  background-color: #FFFFFF;
  padding: 1.875rem;
  border: solid 1px #666666;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
}
@media only screen and (max-width: 40em) {
  .reveal-modal {
    min-height: 100vh;
  }
}
.reveal-modal .column, .reveal-modal .columns {
  min-width: 0;
}
.reveal-modal > :first-child {
  margin-top: 0;
}
.reveal-modal > :last-child {
  margin-bottom: 0;
}
@media only screen and (min-width:40.063em) {
  .reveal-modal {
    width: 80%;
    max-width: 62.5rem;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
}
@media only screen and (min-width:40.063em) {
  .reveal-modal {
    top: 6.25rem;
  }
}
.reveal-modal.radius {
  border-radius: 3px;
}
.reveal-modal.round {
  border-radius: 1000px;
}
.reveal-modal.collapse {
  padding: 0;
}
.reveal-modal.tiny {
  padding: 1.875rem;
}
@media only screen and (min-width:40.063em) {
  .reveal-modal.tiny {
    width: 30%;
    max-width: 62.5rem;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
}
@media only screen and (min-width:40.063em) {
  .reveal-modal.small {
    width: 40%;
    max-width: 62.5rem;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
}
@media only screen and (min-width:40.063em) {
  .reveal-modal.medium {
    width: 60%;
    max-width: 62.5rem;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
}
@media only screen and (min-width:40.063em) {
  .reveal-modal.large {
    width: 70%;
    max-width: 62.5rem;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
}
@media only screen and (min-width:40.063em) {
  .reveal-modal.xlarge {
    width: 95%;
    max-width: 62.5rem;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
}
.reveal-modal.full {
  top: 0;
  left: 0;
  height: 100%;
  height: 100vh;
  min-height: 100vh;
  max-width: none !important;
  margin-left: 0 !important;
}
@media only screen and (min-width:40.063em) {
  .reveal-modal.full {
    width: 100%;
    max-width: 62.5rem;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
}
.reveal-modal.toback {
  z-index: 1003;
}
.reveal-modal .close-reveal-modal {
  font-size: 2.5rem;
  line-height: 1;
  position: absolute;
  top: 0.625rem;
  right: 1.375rem;
  color: #AAAAAA;
  font-weight: bold;
  cursor: pointer;
}

.side-nav {
  display: block;
  margin: 0;
  padding: 0.875rem 0;
  list-style-type: none;
  list-style-position: outside;
  font-family: "Roboto", sans-serif;
}
.side-nav li {
  margin: 0 0 0.4375rem 0;
  font-size: 0.875rem;
  font-weight: normal;
}
.side-nav li a:not(.button) {
  display: block;
  color: #008CBA;
  margin: 0;
  padding: 0.4375rem 0.875rem;
}
.side-nav li a:not(.button):hover, .side-nav li a:not(.button):focus {
  background: hsla(0deg, 0%, 0%, 0.025);
  color: #1cc7ff;
}
.side-nav li a:not(.button):active {
  color: #1cc7ff;
}
.side-nav li.active > a:first-child:not(.button) {
  color: #1cc7ff;
  font-weight: normal;
  font-family: "Roboto", sans-serif;
}
.side-nav li.divider {
  border-top: 1px solid;
  height: 0;
  padding: 0;
  list-style: none;
  border-top-color: white;
}
.side-nav li.heading {
  color: #008CBA;
  font-size: 0.875rem;
  font-weight: bold;
  text-transform: uppercase;
}

.split.button {
  position: relative;
  padding-right: 5.0625rem;
}
.split.button span {
  display: block;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  border-left: solid 1px;
}
.split.button span:after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  display: block;
  border-style: inset;
  top: 50%;
  left: 50%;
}
.split.button span:active {
  background-color: rgba(0, 0, 0, 0.1);
}
.split.button span {
  border-left-color: rgba(255, 255, 255, 0.5);
}
.split.button span {
  width: 3.09375rem;
}
.split.button span:after {
  border-top-style: solid;
  border-width: 0.375rem;
  top: 48%;
  margin-left: -0.375rem;
}
.split.button span:after {
  border-color: #FFFFFF transparent transparent transparent;
}
.split.button.secondary span {
  border-left-color: rgba(255, 255, 255, 0.5);
}
.split.button.secondary span:after {
  border-color: #FFFFFF transparent transparent transparent;
}
.split.button.alert span {
  border-left-color: rgba(255, 255, 255, 0.5);
}
.split.button.success span {
  border-left-color: rgba(255, 255, 255, 0.5);
}
.split.button.tiny {
  padding-right: 3.75rem;
}
.split.button.tiny span {
  width: 2.25rem;
}
.split.button.tiny span:after {
  border-top-style: solid;
  border-width: 0.375rem;
  top: 48%;
  margin-left: -0.375rem;
}
.split.button.small {
  padding-right: 4.375rem;
}
.split.button.small span {
  width: 2.625rem;
}
.split.button.small span:after {
  border-top-style: solid;
  border-width: 0.4375rem;
  top: 48%;
  margin-left: -0.375rem;
}
.split.button.large {
  padding-right: 5.5rem;
}
.split.button.large span {
  width: 3.4375rem;
}
.split.button.large span:after {
  border-top-style: solid;
  border-width: 0.3125rem;
  top: 48%;
  margin-left: -0.375rem;
}
.split.button.expand {
  padding-left: 2rem;
}
.split.button.secondary span:after {
  border-color: #333333 transparent transparent transparent;
}
.split.button.radius span {
  -webkit-border-bottom-right-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
.split.button.round span {
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px;
}
.split.button.no-pip span:before {
  border-style: none;
}
.split.button.no-pip span:after {
  border-style: none;
}
.split.button.no-pip span > i {
  top: 50%;
  display: block;
  position: absolute;
  left: 50%;
  margin-left: -0.28889em;
  margin-top: -0.48889em;
}

.sub-nav {
  display: block;
  width: auto;
  overflow: hidden;
  margin-bottom: -0.25rem 0 1.125rem;
  padding-top: 0.25rem;
}
.sub-nav dt {
  text-transform: uppercase;
}
.sub-nav dt,
.sub-nav dd,
.sub-nav li {
  float: left;
  margin-left: 1rem;
  margin-bottom: 0;
  font-family: "Roboto", sans-serif;
  font-weight: normal;
  font-size: 0.875rem;
  color: #999999;
}
.sub-nav dt a,
.sub-nav dd a,
.sub-nav li a {
  text-decoration: none;
  color: #999999;
  padding: 0.1875rem 1rem;
}
.sub-nav dt a:hover,
.sub-nav dd a:hover,
.sub-nav li a:hover {
  color: #737373;
}
.sub-nav dt.active a,
.sub-nav dd.active a,
.sub-nav li.active a {
  border-radius: 3px;
  font-weight: normal;
  background: #008CBA;
  padding: 0.1875rem 1rem;
  cursor: default;
  color: #FFFFFF;
}
.sub-nav dt.active a:hover,
.sub-nav dd.active a:hover,
.sub-nav li.active a:hover {
  background: #0078a0;
}

.switch {
  padding: 0;
  border: none;
  position: relative;
  outline: 0;
  margin-bottom: 1.5rem;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.switch label {
  display: block;
  margin-bottom: 1rem;
  position: relative;
  color: transparent;
  background: #DDDDDD;
  text-indent: 100%;
  width: 4rem;
  height: 2rem;
  cursor: pointer;
  transition: left 0.15s ease-out;
}
.switch input {
  opacity: 0;
  position: absolute;
  top: 9px;
  left: 10px;
  padding: 0;
}
.switch input + label {
  margin-left: 0;
  margin-right: 0;
}
.switch label:after {
  content: "";
  display: block;
  background: #FFFFFF;
  position: absolute;
  top: 0.25rem;
  left: 0.25rem;
  width: 1.5rem;
  height: 1.5rem;
  -webkit-transition: left 0.15s ease-out;
  -moz-transition: left 0.15s ease-out;
  -o-transition: translate3d(0, 0, 0);
  transition: left 0.15s ease-out;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.switch input:checked + label {
  background: #008CBA;
}
.switch input:checked + label:after {
  left: 2.25rem;
}
.switch label {
  width: 4rem;
  height: 2rem;
}
.switch label:after {
  width: 1.5rem;
  height: 1.5rem;
}
.switch input:checked + label:after {
  left: 2.25rem;
}
.switch label {
  color: transparent;
  background: #DDDDDD;
}
.switch label:after {
  background: #FFFFFF;
}
.switch input:checked + label {
  background: #008CBA;
}
.switch.large label {
  width: 5rem;
  height: 2.5rem;
}
.switch.large label:after {
  width: 2rem;
  height: 2rem;
}
.switch.large input:checked + label:after {
  left: 2.75rem;
}
.switch.small label {
  width: 3.5rem;
  height: 1.75rem;
}
.switch.small label:after {
  width: 1.25rem;
  height: 1.25rem;
}
.switch.small input:checked + label:after {
  left: 2rem;
}
.switch.tiny label {
  width: 3rem;
  height: 1.5rem;
}
.switch.tiny label:after {
  width: 1rem;
  height: 1rem;
}
.switch.tiny input:checked + label:after {
  left: 1.75rem;
}
.switch.radius label {
  border-radius: 4px;
}
.switch.radius label:after {
  border-radius: 3px;
}
.switch.round {
  border-radius: 1000px;
}
.switch.round label {
  border-radius: 2rem;
}
.switch.round label:after {
  border-radius: 2rem;
}

table {
  background: #FFFFFF;
  margin-bottom: 1.25rem;
  border: solid 1px #DDDDDD;
  table-layout: auto;
}
table caption {
  background: transparent;
  color: #222222;
  font-size: 1rem;
  font-weight: bold;
}
table thead {
  background: #F5F5F5;
}
table thead tr th,
table thead tr td {
  padding: 0.5rem 0.625rem 0.625rem;
  font-size: 0.875rem;
  font-weight: bold;
  color: #222222;
}
table tfoot {
  background: #F5F5F5;
}
table tfoot tr th,
table tfoot tr td {
  padding: 0.5rem 0.625rem 0.625rem;
  font-size: 0.875rem;
  font-weight: bold;
  color: #222222;
}
table tr th,
table tr td {
  padding: 0.5625rem 0.625rem;
  font-size: 0.875rem;
  color: #222222;
  text-align: left;
}
table tr.even, table tr.alt, table tr:nth-of-type(even) {
  background: #F9F9F9;
}
table thead tr th,
table tfoot tr th,
table tfoot tr td,
table tbody tr th,
table tbody tr td,
table tr td {
  display: table-cell;
  line-height: 1.125rem;
}

.tabs {
  margin-bottom: 0 !important;
  margin-left: 0;
}
.tabs:before, .tabs:after {
  content: " ";
  display: table;
}
.tabs:after {
  clear: both;
}
.tabs dd,
.tabs .tab-title {
  position: relative;
  margin-bottom: 0 !important;
  list-style: none;
  float: left;
}
.tabs dd > a,
.tabs .tab-title > a {
  display: block;
  background-color: #EFEFEF;
  color: #222222;
  padding: 1rem 2rem;
  font-family: "Roboto", sans-serif;
  font-size: 1rem;
}
.tabs dd > a:hover,
.tabs .tab-title > a:hover {
  background-color: #e1e1e1;
}
.tabs dd > a:focus,
.tabs .tab-title > a:focus {
  outline: none;
}
.tabs dd.active a,
.tabs .tab-title.active a {
  background-color: #FFFFFF;
  color: #222222;
}
.tabs.radius dd:first-child a,
.tabs.radius .tab:first-child a {
  -webkit-border-bottom-left-radius: 3px;
  -webkit-border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}
.tabs.radius dd:last-child a,
.tabs.radius .tab:last-child a {
  -webkit-border-bottom-right-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
.tabs.vertical dd,
.tabs.vertical .tab-title {
  position: inherit;
  float: none;
  display: block;
  top: auto;
}

.tabs-content {
  margin-bottom: 1.5rem;
  width: 100%;
}
.tabs-content:before, .tabs-content:after {
  content: " ";
  display: table;
}
.tabs-content:after {
  clear: both;
}
.tabs-content > .content {
  display: none;
  float: left;
  padding: 0.9375rem 0;
  width: 100%;
}
.tabs-content > .content.active {
  display: block;
  float: none;
}
.tabs-content > .content.contained {
  padding: 0.9375rem;
}
.tabs-content.vertical {
  display: block;
}
.tabs-content.vertical > .content {
  padding: 0 0.9375rem;
}

@media only screen and (min-width:40.063em) {
  .tabs.vertical {
    width: 20%;
    max-width: 20%;
    float: left;
    margin: 0 0 1.25rem;
  }
  .tabs-content.vertical {
    width: 80%;
    max-width: 80%;
    float: left;
    margin-left: -1px;
    padding-left: 1rem;
  }
}
.no-js .tabs-content > .content {
  display: block;
  float: none;
}

/* Image Thumbnails */
.th {
  line-height: 0;
  display: inline-block;
  border: solid 4px #FFFFFF;
  max-width: 100%;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
  transition: all 200ms ease-out;
}
.th:hover, .th:focus {
  box-shadow: 0 0 6px 1px rgba(0, 140, 186, 0.5);
}
.th.radius {
  border-radius: 3px;
}

/* Tooltips */
.has-tip {
  border-bottom: dotted 1px #CCCCCC;
  cursor: help;
  font-weight: bold;
  color: #333333;
}
.has-tip:hover, .has-tip:focus {
  border-bottom: dotted 1px #003f54;
  color: #008CBA;
}
.has-tip.tip-left, .has-tip.tip-right {
  float: none !important;
}

.tooltip {
  display: none;
  position: absolute;
  z-index: 1006;
  font-weight: normal;
  font-size: 0.875rem;
  line-height: 1.3;
  padding: 0.75rem;
  max-width: 300px;
  left: 50%;
  width: 100%;
  color: #FFFFFF;
  background: #333333;
}
.tooltip > .nub {
  display: block;
  left: 5px;
  position: absolute;
  width: 0;
  height: 0;
  border: solid 5px;
  border-color: transparent transparent #333333 transparent;
  top: -10px;
  pointer-events: none;
}
.tooltip > .nub.rtl {
  left: auto;
  right: 5px;
}
.tooltip.radius {
  border-radius: 3px;
}
.tooltip.round {
  border-radius: 1000px;
}
.tooltip.round > .nub {
  left: 2rem;
}
.tooltip.opened {
  color: #008CBA !important;
  border-bottom: dotted 1px #003f54 !important;
}

.tap-to-close {
  display: block;
  font-size: 0.625rem;
  color: #777777;
  font-weight: normal;
}

@media only screen and (min-width:40.063em) {
  .tooltip > .nub {
    border-color: transparent transparent #333333 transparent;
    top: -10px;
  }
  .tooltip.tip-top > .nub {
    border-color: #333333 transparent transparent transparent;
    top: auto;
    bottom: -10px;
  }
  .tooltip.tip-left, .tooltip.tip-right {
    float: none !important;
  }
  .tooltip.tip-left > .nub {
    border-color: transparent transparent transparent #333333;
    right: -10px;
    left: auto;
    top: 50%;
    margin-top: -5px;
  }
  .tooltip.tip-right > .nub {
    border-color: transparent #333333 transparent transparent;
    right: auto;
    left: -10px;
    top: 50%;
    margin-top: -5px;
  }
}
meta.foundation-mq-topbar {
  font-family: "/only screen and (min-width:40.063em)/";
  width: 40.063em;
}

/* Wrapped around .top-bar to contain to grid width */
.contain-to-grid {
  width: 100%;
  background: #333333;
}
.contain-to-grid .top-bar {
  margin-bottom: 0;
}

.fixed {
  width: 100%;
  left: 0;
  position: fixed;
  top: 0;
  z-index: 99;
}
.fixed.expanded:not(.top-bar) {
  overflow-y: auto;
  height: auto;
  width: 100%;
  max-height: 100%;
}
.fixed.expanded:not(.top-bar) .title-area {
  position: fixed;
  width: 100%;
  z-index: 99;
}
.fixed.expanded:not(.top-bar) .top-bar-section {
  z-index: 98;
  margin-top: 1.875rem;
}

.top-bar {
  overflow: hidden;
  height: 1.875rem;
  line-height: 1.875rem;
  position: relative;
  background: #333333;
  margin-bottom: 0;
}
.top-bar ul {
  margin-bottom: 0;
  list-style: none;
}
.top-bar .row {
  max-width: none;
}
.top-bar form,
.top-bar input {
  margin-bottom: 0;
}
.top-bar input {
  height: 1.75rem;
  padding-top: 0.35rem;
  padding-bottom: 0.35rem;
  font-size: 0.75rem;
}
.top-bar .button,
.top-bar button {
  padding-top: 0.4125rem;
  padding-bottom: 0.4125rem;
  margin-bottom: 0;
  font-size: 0.75rem;
}
@media only screen and (max-width: 40em) {
  .top-bar .button,
.top-bar button {
    position: relative;
    top: -1px;
  }
}
.top-bar .title-area {
  position: relative;
  margin: 0;
}
.top-bar .name {
  height: 1.875rem;
  margin: 0;
  font-size: 16px;
}
.top-bar .name h1,
.top-bar .name h2,
.top-bar .name h3,
.top-bar .name h4,
.top-bar .name p,
.top-bar .name span {
  line-height: 1.875rem;
  font-size: 1.0625rem;
  margin: 0;
}
.top-bar .name h1 a,
.top-bar .name h2 a,
.top-bar .name h3 a,
.top-bar .name h4 a,
.top-bar .name p a,
.top-bar .name span a {
  font-weight: normal;
  color: #FFFFFF;
  width: 75%;
  display: block;
  padding: 0 0.625rem;
}
.top-bar .toggle-topbar {
  position: absolute;
  right: 0;
  top: 0;
}
.top-bar .toggle-topbar a {
  color: #FFFFFF;
  text-transform: uppercase;
  font-size: 0.8125rem;
  font-weight: bold;
  position: relative;
  display: block;
  padding: 0 0.625rem;
  height: 1.875rem;
  line-height: 1.875rem;
}
.top-bar .toggle-topbar.menu-icon {
  top: 50%;
  margin-top: -16px;
}
.top-bar .toggle-topbar.menu-icon a {
  height: 34px;
  line-height: 33px;
  padding: 0 2.1875rem 0 0.625rem;
  color: #FFFFFF;
  position: relative;
}
.top-bar .toggle-topbar.menu-icon a span::after {
  content: "";
  position: absolute;
  display: block;
  height: 0;
  top: 50%;
  margin-top: -8px;
  right: 0.625rem;
  box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF;
  width: 16px;
}
.top-bar .toggle-topbar.menu-icon a span:hover:after {
  box-shadow: 0 0 0 1px "", 0 7px 0 1px "", 0 14px 0 1px "";
}
.top-bar.expanded {
  height: auto;
  background: transparent;
}
.top-bar.expanded .title-area {
  background: #333333;
}
.top-bar.expanded .toggle-topbar a {
  color: #888888;
}
.top-bar.expanded .toggle-topbar a span::after {
  box-shadow: 0 0 0 1px #888888, 0 7px 0 1px #888888, 0 14px 0 1px #888888;
}

.top-bar-section {
  left: 0;
  position: relative;
  width: auto;
  transition: left 300ms ease-out;
}
.top-bar-section ul {
  padding: 0;
  width: 100%;
  height: auto;
  display: block;
  font-size: 16px;
  margin: 0;
}
.top-bar-section .divider,
.top-bar-section [role=separator] {
  border-top: solid 1px #1a1a1a;
  clear: both;
  height: 1px;
  width: 100%;
}
.top-bar-section ul li {
  background: #333333;
}
.top-bar-section ul li > a {
  display: block;
  width: 100%;
  color: #FFFFFF;
  padding: 12px 0 12px 0;
  padding-left: 0.625rem;
  font-family: "Roboto", sans-serif;
  font-size: 0.8125rem;
  font-weight: normal;
  text-transform: none;
}
.top-bar-section ul li > a.button {
  font-size: 0.8125rem;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  background-color: #008CBA;
  border-color: #007095;
  color: #FFFFFF;
}
.top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus {
  background-color: #007095;
}
.top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus {
  color: #FFFFFF;
}
.top-bar-section ul li > a.button.secondary {
  background-color: #e7e7e7;
  border-color: #b9b9b9;
  color: #333333;
}
.top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus {
  background-color: #b9b9b9;
}
.top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus {
  color: #333333;
}
.top-bar-section ul li > a.button.success {
  background-color: #43AC6A;
  border-color: #368a55;
  color: #FFFFFF;
}
.top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus {
  background-color: #368a55;
}
.top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus {
  color: #FFFFFF;
}
.top-bar-section ul li > a.button.alert {
  background-color: #f04124;
  border-color: #cf2a0e;
  color: #FFFFFF;
}
.top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus {
  background-color: #cf2a0e;
}
.top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus {
  color: #FFFFFF;
}
.top-bar-section ul li > a.button.warning {
  background-color: #f08a24;
  border-color: #cf6e0e;
  color: #FFFFFF;
}
.top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus {
  background-color: #cf6e0e;
}
.top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus {
  color: #FFFFFF;
}
.top-bar-section ul li > button {
  font-size: 0.8125rem;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  background-color: #008CBA;
  border-color: #007095;
  color: #FFFFFF;
}
.top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus {
  background-color: #007095;
}
.top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus {
  color: #FFFFFF;
}
.top-bar-section ul li > button.secondary {
  background-color: #e7e7e7;
  border-color: #b9b9b9;
  color: #333333;
}
.top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus {
  background-color: #b9b9b9;
}
.top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus {
  color: #333333;
}
.top-bar-section ul li > button.success {
  background-color: #43AC6A;
  border-color: #368a55;
  color: #FFFFFF;
}
.top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus {
  background-color: #368a55;
}
.top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus {
  color: #FFFFFF;
}
.top-bar-section ul li > button.alert {
  background-color: #f04124;
  border-color: #cf2a0e;
  color: #FFFFFF;
}
.top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus {
  background-color: #cf2a0e;
}
.top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus {
  color: #FFFFFF;
}
.top-bar-section ul li > button.warning {
  background-color: #f08a24;
  border-color: #cf6e0e;
  color: #FFFFFF;
}
.top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus {
  background-color: #cf6e0e;
}
.top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus {
  color: #FFFFFF;
}
.top-bar-section ul li:hover:not(.has-form) > a {
  background-color: #555555;
  background: #333333;
  color: #FFFFFF;
}
.top-bar-section ul li.active > a {
  background: #008CBA;
  color: #FFFFFF;
}
.top-bar-section ul li.active > a:hover {
  background: #0078a0;
  color: #FFFFFF;
}
.top-bar-section .has-form {
  padding: 0.625rem;
}
.top-bar-section .has-dropdown {
  position: relative;
}
.top-bar-section .has-dropdown > a:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: inset 5px;
  border-color: transparent transparent transparent rgba(255, 255, 255, 0.4);
  border-left-style: solid;
  margin-right: 0.625rem;
  margin-top: -4.5px;
  position: absolute;
  top: 50%;
  right: 0;
}
.top-bar-section .has-dropdown.moved {
  position: static;
}
.top-bar-section .has-dropdown.moved > .dropdown {
  display: block;
  position: static !important;
  height: auto;
  width: auto;
  overflow: visible;
  clip: auto;
  position: absolute !important;
  width: 100%;
}
.top-bar-section .has-dropdown.moved > a:after {
  display: none;
}
.top-bar-section .dropdown {
  padding: 0;
  position: absolute;
  left: 100%;
  top: 0;
  z-index: 99;
  display: block;
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
}
.top-bar-section .dropdown li {
  width: 100%;
  height: auto;
}
.top-bar-section .dropdown li a {
  font-weight: normal;
  padding: 8px 0.625rem;
}
.top-bar-section .dropdown li a.parent-link {
  font-weight: normal;
}
.top-bar-section .dropdown li.title h5, .top-bar-section .dropdown li.parent-link {
  margin-bottom: 0;
  margin-top: 0;
  font-size: 1.125rem;
}
.top-bar-section .dropdown li.title h5 a, .top-bar-section .dropdown li.parent-link a {
  color: #FFFFFF;
  display: block;
}
.top-bar-section .dropdown li.title h5 a:hover, .top-bar-section .dropdown li.parent-link a:hover {
  background: none;
}
.top-bar-section .dropdown li.has-form {
  padding: 8px 0.625rem;
}
.top-bar-section .dropdown li .button,
.top-bar-section .dropdown li button {
  top: auto;
}
.top-bar-section .dropdown label {
  padding: 8px 0.625rem 2px;
  margin-bottom: 0;
  text-transform: uppercase;
  color: #777777;
  font-weight: bold;
  font-size: 0.625rem;
}

.js-generated {
  display: block;
}

@media only screen and (min-width:40.063em) {
  .top-bar {
    background: #333333;
    overflow: visible;
  }
  .top-bar:before, .top-bar:after {
    content: " ";
    display: table;
  }
  .top-bar:after {
    clear: both;
  }
  .top-bar .toggle-topbar {
    display: none;
  }
  .top-bar .title-area {
    float: left;
  }
  .top-bar .name h1 a,
.top-bar .name h2 a,
.top-bar .name h3 a,
.top-bar .name h4 a,
.top-bar .name h5 a,
.top-bar .name h6 a {
    width: auto;
  }
  .top-bar input,
.top-bar .button,
.top-bar button {
    font-size: 0.875rem;
    position: relative;
    height: 1.75rem;
    top: 0.0625rem;
  }
  .top-bar.expanded {
    background: #333333;
  }
  .contain-to-grid .top-bar {
    max-width: 62.5rem;
    margin: 0 auto;
    margin-bottom: 0;
  }
  .top-bar-section {
    transition: none 0 0;
    left: 0 !important;
  }
  .top-bar-section ul {
    width: auto;
    height: auto !important;
    display: inline;
  }
  .top-bar-section ul li {
    float: left;
  }
  .top-bar-section ul li .js-generated {
    display: none;
  }
  .top-bar-section li.hover > a:not(.button) {
    background-color: #555555;
    background: #333333;
    color: #FFFFFF;
  }
  .top-bar-section li:not(.has-form) a:not(.button) {
    padding: 0 0.625rem;
    line-height: 1.875rem;
    background: #333333;
  }
  .top-bar-section li:not(.has-form) a:not(.button):hover {
    background-color: #555555;
    background: #333333;
  }
  .top-bar-section li.active:not(.has-form) a:not(.button) {
    padding: 0 0.625rem;
    line-height: 1.875rem;
    color: #FFFFFF;
    background: #008CBA;
  }
  .top-bar-section li.active:not(.has-form) a:not(.button):hover {
    background: #0078a0;
    color: #FFFFFF;
  }
  .top-bar-section .has-dropdown > a {
    padding-right: 1.875rem !important;
  }
  .top-bar-section .has-dropdown > a:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: rgba(255, 255, 255, 0.4) transparent transparent transparent;
    border-top-style: solid;
    margin-top: -2.5px;
    top: 0.9375rem;
  }
  .top-bar-section .has-dropdown.moved {
    position: relative;
  }
  .top-bar-section .has-dropdown.moved > .dropdown {
    display: block;
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
  }
  .top-bar-section .has-dropdown.hover > .dropdown, .top-bar-section .has-dropdown.not-click:hover > .dropdown {
    display: block;
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
    position: absolute !important;
  }
  .top-bar-section .has-dropdown > a:focus + .dropdown {
    display: block;
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
    position: absolute !important;
  }
  .top-bar-section .has-dropdown .dropdown li.has-dropdown > a:after {
    border: none;
    top: 1.125rem;
    margin-top: -1px;
    right: 0;
    line-height: 1.2;
    transform: rotate(270deg);
    content: "";
  }
  .top-bar-section .dropdown {
    left: 0;
    top: auto;
    background: transparent;
    min-width: 100%;
  }
  .top-bar-section .dropdown li a {
    color: #FFFFFF;
    line-height: 1.875rem;
    white-space: nowrap;
    padding: 12px 0.625rem;
    background: #333333;
  }
  .top-bar-section .dropdown li:not(.has-form):not(.active) > a:not(.button) {
    color: #FFFFFF;
    background: #333333;
  }
  .top-bar-section .dropdown li:not(.has-form):not(.active):hover > a:not(.button) {
    color: #FFFFFF;
    background-color: #555555;
    background: #333333;
  }
  .top-bar-section .dropdown li label {
    white-space: nowrap;
    background: #333333;
  }
  .top-bar-section .dropdown li .dropdown {
    left: 100%;
    top: 0;
  }
  .top-bar-section > ul > .divider, .top-bar-section > ul > [role=separator] {
    border-bottom: none;
    border-top: none;
    border-right: solid 1px #4e4e4e;
    clear: none;
    height: 1.875rem;
    width: 0;
  }
  .top-bar-section .has-form {
    background: #333333;
    padding: 0 0.625rem;
    height: 1.875rem;
  }
  .top-bar-section .right li .dropdown {
    left: auto;
    right: 0;
  }
  .top-bar-section .right li .dropdown li .dropdown {
    right: 100%;
  }
  .top-bar-section .left li .dropdown {
    right: auto;
    left: 0;
  }
  .top-bar-section .left li .dropdown li .dropdown {
    left: 100%;
  }
  .no-js .top-bar-section ul li:hover > a {
    background-color: #555555;
    background: #333333;
    color: #FFFFFF;
  }
  .no-js .top-bar-section ul li:active > a {
    background: #008CBA;
    color: #FFFFFF;
  }
  .no-js .top-bar-section .has-dropdown:hover > .dropdown {
    display: block;
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
    position: absolute !important;
  }
  .no-js .top-bar-section .has-dropdown > a:focus + .dropdown {
    display: block;
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
    position: absolute !important;
  }
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  .top-bar.expanded .top-bar-section .has-dropdown.moved > .dropdown {
    clip: initial;
  }
  .top-bar.expanded .top-bar-section .dropdown {
    clip: initial;
  }
  .top-bar.expanded .top-bar-section .has-dropdown:not(.moved) > ul {
    padding: 0;
  }
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  .top-bar.expanded .top-bar-section .has-dropdown.moved > .dropdown {
    clip: initial;
  }
  .top-bar.expanded .top-bar-section .dropdown {
    clip: initial;
  }
  .top-bar.expanded .top-bar-section .has-dropdown:not(.moved) > ul {
    padding: 0;
  }
}
.text-left {
  text-align: left !important;
}

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

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

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

@media only screen and (max-width: 40em) {
  .small-only-text-left {
    text-align: left !important;
  }
  .small-only-text-right {
    text-align: right !important;
  }
  .small-only-text-center {
    text-align: center !important;
  }
  .small-only-text-justify {
    text-align: justify !important;
  }
}
@media only screen {
  .small-text-left {
    text-align: left !important;
  }
  .small-text-right {
    text-align: right !important;
  }
  .small-text-center {
    text-align: center !important;
  }
  .small-text-justify {
    text-align: justify !important;
  }
}
@media only screen and (min-width:40.063em) and (max-width:64em) {
  .medium-only-text-left {
    text-align: left !important;
  }
  .medium-only-text-right {
    text-align: right !important;
  }
  .medium-only-text-center {
    text-align: center !important;
  }
  .medium-only-text-justify {
    text-align: justify !important;
  }
}
@media only screen and (min-width:40.063em) {
  .medium-text-left {
    text-align: left !important;
  }
  .medium-text-right {
    text-align: right !important;
  }
  .medium-text-center {
    text-align: center !important;
  }
  .medium-text-justify {
    text-align: justify !important;
  }
}
@media only screen and (min-width:64.063em) and (max-width:90em) {
  .large-only-text-left {
    text-align: left !important;
  }
  .large-only-text-right {
    text-align: right !important;
  }
  .large-only-text-center {
    text-align: center !important;
  }
  .large-only-text-justify {
    text-align: justify !important;
  }
}
@media only screen and (min-width:64.063em) {
  .large-text-left {
    text-align: left !important;
  }
  .large-text-right {
    text-align: right !important;
  }
  .large-text-center {
    text-align: center !important;
  }
  .large-text-justify {
    text-align: justify !important;
  }
}
@media only screen and (min-width:90.063em) and (max-width:120em) {
  .xlarge-only-text-left {
    text-align: left !important;
  }
  .xlarge-only-text-right {
    text-align: right !important;
  }
  .xlarge-only-text-center {
    text-align: center !important;
  }
  .xlarge-only-text-justify {
    text-align: justify !important;
  }
}
@media only screen and (min-width:90.063em) {
  .xlarge-text-left {
    text-align: left !important;
  }
  .xlarge-text-right {
    text-align: right !important;
  }
  .xlarge-text-center {
    text-align: center !important;
  }
  .xlarge-text-justify {
    text-align: justify !important;
  }
}
@media only screen and (min-width:120.063em) and (max-width:99999999em) {
  .xxlarge-only-text-left {
    text-align: left !important;
  }
  .xxlarge-only-text-right {
    text-align: right !important;
  }
  .xxlarge-only-text-center {
    text-align: center !important;
  }
  .xxlarge-only-text-justify {
    text-align: justify !important;
  }
}
@media only screen and (min-width:120.063em) {
  .xxlarge-text-left {
    text-align: left !important;
  }
  .xxlarge-text-right {
    text-align: right !important;
  }
  .xxlarge-text-center {
    text-align: center !important;
  }
  .xxlarge-text-justify {
    text-align: justify !important;
  }
}
/* Typography resets */
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

/* Default Link Styles */
a {
  color: #008CBA;
  text-decoration: none;
  line-height: inherit;
}
a:hover, a:focus {
  color: #0078a0;
}
a img {
  border: none;
}

/* Default paragraph styles */
p {
  font-family: inherit;
  font-weight: normal;
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 1.25rem;
  text-rendering: optimizeLegibility;
}
p.lead {
  font-size: 1.21875rem;
  line-height: 1.6;
}
p aside {
  font-size: 0.875rem;
  line-height: 1.35;
  font-style: italic;
}

/* Default header styles */
h1, h2, h3, h4, h5, h6 {
  font-family: "Roboto", sans-serif;
  font-weight: normal;
  font-style: normal;
  color: #222222;
  text-rendering: optimizeLegibility;
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  line-height: 1.4;
}
h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
  font-size: 60%;
  color: #6f6f6f;
  line-height: 0;
}

h1 {
  font-size: 2.125rem;
}

h2 {
  font-size: 1.6875rem;
}

h3 {
  font-size: 1.375rem;
}

h4 {
  font-size: 1.125rem;
}

h5 {
  font-size: 1.125rem;
}

h6 {
  font-size: 1rem;
}

.subheader {
  line-height: 1.4;
  color: #6f6f6f;
  font-weight: normal;
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
}

hr {
  border: solid #DDDDDD;
  border-width: 1px 0 0;
  clear: both;
  margin: 1.25rem 0 1.1875rem;
  height: 0;
}

/* Helpful Typography Defaults */
em,
i {
  font-style: italic;
  line-height: inherit;
}

strong,
b {
  font-weight: bold;
  line-height: inherit;
}

small {
  font-size: 60%;
  line-height: inherit;
}

code {
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #333333;
  background-color: #f8f8f8;
  border-width: 1px;
  border-style: solid;
  border-color: #dfdfdf;
  padding: 0.125rem 0.3125rem 0.0625rem;
}

/* Lists */
ul,
ol,
dl {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 1.25rem;
  list-style-position: outside;
  font-family: inherit;
}

ul {
  margin-left: 1.1rem;
}
ul.no-bullet {
  margin-left: 0;
}
ul.no-bullet li ul,
ul.no-bullet li ol {
  margin-left: 1.25rem;
  margin-bottom: 0;
  list-style: none;
}

/* Unordered Lists */
ul li ul,
ul li ol {
  margin-left: 1.25rem;
  margin-bottom: 0;
}
ul.square li ul, ul.circle li ul, ul.disc li ul {
  list-style: inherit;
}
ul.square {
  list-style-type: square;
  margin-left: 1.1rem;
}
ul.circle {
  list-style-type: circle;
  margin-left: 1.1rem;
}
ul.disc {
  list-style-type: disc;
  margin-left: 1.1rem;
}
ul.no-bullet {
  list-style: none;
}

/* Ordered Lists */
ol {
  margin-left: 1.4rem;
}
ol li ul,
ol li ol {
  margin-left: 1.25rem;
  margin-bottom: 0;
}

/* Definition Lists */
dl dt {
  margin-bottom: 0.3rem;
  font-weight: bold;
}
dl dd {
  margin-bottom: 0.75rem;
}

/* Abbreviations */
abbr,
acronym {
  text-transform: uppercase;
  font-size: 90%;
  color: #222;
  cursor: help;
}

abbr {
  text-transform: none;
}
abbr[title] {
  border-bottom: 1px dotted #DDDDDD;
}

/* Blockquotes */
blockquote {
  margin: 0 0 1.25rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #DDDDDD;
}
blockquote cite {
  display: block;
  font-size: 0.8125rem;
  color: #555555;
}
blockquote cite:before {
  content: "— ";
}
blockquote cite a,
blockquote cite a:visited {
  color: #555555;
}

blockquote,
blockquote p {
  line-height: 1.6;
  color: #6f6f6f;
}

/* Microformats */
.vcard {
  display: inline-block;
  margin: 0 0 1.25rem 0;
  border: 1px solid #DDDDDD;
  padding: 0.625rem 0.75rem;
}
.vcard li {
  margin: 0;
  display: block;
}
.vcard .fn {
  font-weight: bold;
  font-size: 0.9375rem;
}

.vevent .summary {
  font-weight: bold;
}
.vevent abbr {
  cursor: default;
  text-decoration: none;
  font-weight: bold;
  border: none;
  padding: 0 0.0625rem;
}

@media only screen and (min-width:40.063em) {
  h1, h2, h3, h4, h5, h6 {
    line-height: 1.4;
  }
  h1 {
    font-size: 2.75rem;
  }
  h2 {
    font-size: 2.3125rem;
  }
  h3 {
    font-size: 1.6875rem;
  }
  h4 {
    font-size: 1.4375rem;
  }
  h5 {
    font-size: 1.125rem;
  }
  h6 {
    font-size: 1rem;
  }
}
.off-canvas-wrap {
  -webkit-backface-visibility: hidden;
  position: relative;
  width: 100%;
  overflow: hidden;
}
.off-canvas-wrap.move-right, .off-canvas-wrap.move-left {
  min-height: 100%;
  -webkit-overflow-scrolling: touch;
}

.inner-wrap {
  position: relative;
  width: 100%;
  -webkit-transition: -webkit-transform 500ms ease;
  -moz-transition: -moz-transform 500ms ease;
  -ms-transition: -ms-transform 500ms ease;
  -o-transition: -o-transform 500ms ease;
  transition: transform 500ms ease;
}
.inner-wrap:before, .inner-wrap:after {
  content: " ";
  display: table;
}
.inner-wrap:after {
  clear: both;
}

.tab-bar {
  -webkit-backface-visibility: hidden;
  background: #333333;
  color: #FFFFFF;
  height: 2.8125rem;
  line-height: 2.8125rem;
  position: relative;
}
.tab-bar h1, .tab-bar h2, .tab-bar h3, .tab-bar h4, .tab-bar h5, .tab-bar h6 {
  color: #FFFFFF;
  font-weight: bold;
  line-height: 2.8125rem;
  margin: 0;
}
.tab-bar h1, .tab-bar h2, .tab-bar h3, .tab-bar h4 {
  font-size: 1.125rem;
}

.left-small {
  width: 2.8125rem;
  height: 2.8125rem;
  position: absolute;
  top: 0;
  border-right: solid 1px #1a1a1a;
  left: 0;
}

.right-small {
  width: 2.8125rem;
  height: 2.8125rem;
  position: absolute;
  top: 0;
  border-left: solid 1px #1a1a1a;
  right: 0;
}

.tab-bar-section {
  padding: 0 0.625rem;
  position: absolute;
  text-align: center;
  height: 2.8125rem;
  top: 0;
}
@media only screen and (min-width:40.063em) {
  .tab-bar-section.left {
    text-align: left;
  }
  .tab-bar-section.right {
    text-align: right;
  }
}
.tab-bar-section.left {
  left: 0;
  right: 2.8125rem;
}
.tab-bar-section.right {
  left: 2.8125rem;
  right: 0;
}
.tab-bar-section.middle {
  left: 2.8125rem;
  right: 2.8125rem;
}

.tab-bar .menu-icon {
  text-indent: 2.1875rem;
  width: 2.8125rem;
  height: 2.8125rem;
  display: block;
  padding: 0;
  color: #FFFFFF;
  position: relative;
  transform: translate3d(0, 0, 0);
}
.tab-bar .menu-icon span::after {
  content: "";
  position: absolute;
  display: block;
  height: 0;
  top: 50%;
  margin-top: -0.5rem;
  left: 0.90625rem;
  box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF;
  width: 1rem;
}
.tab-bar .menu-icon span:hover:after {
  box-shadow: 0 0 0 1px #b3b3b3, 0 7px 0 1px #b3b3b3, 0 14px 0 1px #b3b3b3;
}

.left-off-canvas-menu {
  -webkit-backface-visibility: hidden;
  width: 15.625rem;
  top: 0;
  bottom: 0;
  position: absolute;
  overflow-x: hidden;
  overflow-y: auto;
  background: #333333;
  z-index: 1001;
  box-sizing: content-box;
  transition: transform 500ms ease 0s;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  -webkit-transform: translate3d(-100%, 0, 0);
  -moz-transform: translate3d(-100%, 0, 0);
  -ms-transform: translate(-100%, 0);
  -ms-transform: translate3d(-100%, 0, 0);
  -o-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  left: 0;
}
.left-off-canvas-menu * {
  -webkit-backface-visibility: hidden;
}

.right-off-canvas-menu {
  -webkit-backface-visibility: hidden;
  width: 15.625rem;
  top: 0;
  bottom: 0;
  position: absolute;
  overflow-x: hidden;
  overflow-y: auto;
  background: #333333;
  z-index: 1001;
  box-sizing: content-box;
  transition: transform 500ms ease 0s;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  -webkit-transform: translate3d(100%, 0, 0);
  -moz-transform: translate3d(100%, 0, 0);
  -ms-transform: translate(100%, 0);
  -ms-transform: translate3d(100%, 0, 0);
  -o-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
  right: 0;
}
.right-off-canvas-menu * {
  -webkit-backface-visibility: hidden;
}

ul.off-canvas-list {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
ul.off-canvas-list li label {
  display: block;
  padding: 0.3rem 0.9375rem;
  color: #999999;
  text-transform: uppercase;
  font-size: 0.75rem;
  font-weight: bold;
  background: #444444;
  border-top: 1px solid #5e5e5e;
  border-bottom: none;
  margin: 0;
}
ul.off-canvas-list li a {
  display: block;
  padding: 0.6666666667rem;
  color: rgba(255, 255, 255, 0.7);
  border-bottom: 1px solid #262626;
  transition: background 300ms ease;
}
ul.off-canvas-list li a:hover {
  background: #242424;
}
ul.off-canvas-list li a:active {
  background: #242424;
}

.move-right > .inner-wrap {
  -webkit-transform: translate3d(15.625rem, 0, 0);
  -moz-transform: translate3d(15.625rem, 0, 0);
  -ms-transform: translate(15.625rem, 0);
  -ms-transform: translate3d(15.625rem, 0, 0);
  -o-transform: translate3d(15.625rem, 0, 0);
  transform: translate3d(15.625rem, 0, 0);
}
.move-right .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  transition: background 300ms ease;
  cursor: pointer;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  display: block;
  position: absolute;
  background: rgba(255, 255, 255, 0.2);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1002;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
@media only screen and (min-width:40.063em) {
  .move-right .exit-off-canvas:hover {
    background: rgba(255, 255, 255, 0.05);
  }
}

.move-left > .inner-wrap {
  -webkit-transform: translate3d(-15.625rem, 0, 0);
  -moz-transform: translate3d(-15.625rem, 0, 0);
  -ms-transform: translate(-15.625rem, 0);
  -ms-transform: translate3d(-15.625rem, 0, 0);
  -o-transform: translate3d(-15.625rem, 0, 0);
  transform: translate3d(-15.625rem, 0, 0);
}
.move-left .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  transition: background 300ms ease;
  cursor: pointer;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  display: block;
  position: absolute;
  background: rgba(255, 255, 255, 0.2);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1002;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
@media only screen and (min-width:40.063em) {
  .move-left .exit-off-canvas:hover {
    background: rgba(255, 255, 255, 0.05);
  }
}

.offcanvas-overlap .left-off-canvas-menu, .offcanvas-overlap .right-off-canvas-menu {
  -ms-transform: none;
  -webkit-transform: none;
  -moz-transform: none;
  -o-transform: none;
  transform: none;
  z-index: 1003;
}
.offcanvas-overlap .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  transition: background 300ms ease;
  cursor: pointer;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  display: block;
  position: absolute;
  background: rgba(255, 255, 255, 0.2);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1002;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
@media only screen and (min-width:40.063em) {
  .offcanvas-overlap .exit-off-canvas:hover {
    background: rgba(255, 255, 255, 0.05);
  }
}

.offcanvas-overlap-left .right-off-canvas-menu {
  -ms-transform: none;
  -webkit-transform: none;
  -moz-transform: none;
  -o-transform: none;
  transform: none;
  z-index: 1003;
}
.offcanvas-overlap-left .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  transition: background 300ms ease;
  cursor: pointer;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  display: block;
  position: absolute;
  background: rgba(255, 255, 255, 0.2);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1002;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
@media only screen and (min-width:40.063em) {
  .offcanvas-overlap-left .exit-off-canvas:hover {
    background: rgba(255, 255, 255, 0.05);
  }
}

.offcanvas-overlap-right .left-off-canvas-menu {
  -ms-transform: none;
  -webkit-transform: none;
  -moz-transform: none;
  -o-transform: none;
  transform: none;
  z-index: 1003;
}
.offcanvas-overlap-right .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  transition: background 300ms ease;
  cursor: pointer;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  display: block;
  position: absolute;
  background: rgba(255, 255, 255, 0.2);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1002;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
@media only screen and (min-width:40.063em) {
  .offcanvas-overlap-right .exit-off-canvas:hover {
    background: rgba(255, 255, 255, 0.05);
  }
}

.no-csstransforms .left-off-canvas-menu {
  left: -15.625rem;
}
.no-csstransforms .right-off-canvas-menu {
  right: -15.625rem;
}
.no-csstransforms .move-left > .inner-wrap {
  right: 15.625rem;
}
.no-csstransforms .move-right > .inner-wrap {
  left: 15.625rem;
}

.left-submenu {
  -webkit-backface-visibility: hidden;
  width: 15.625rem;
  top: 0;
  bottom: 0;
  position: absolute;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  background: #333333;
  z-index: 1002;
  box-sizing: content-box;
  -webkit-overflow-scrolling: touch;
  -webkit-transform: translate3d(-100%, 0, 0);
  -moz-transform: translate3d(-100%, 0, 0);
  -ms-transform: translate(-100%, 0);
  -ms-transform: translate3d(-100%, 0, 0);
  -o-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  left: 0;
  -webkit-transition: -webkit-transform 500ms ease;
  -moz-transition: -moz-transform 500ms ease;
  -ms-transition: -ms-transform 500ms ease;
  -o-transition: -o-transform 500ms ease;
  transition: transform 500ms ease;
}
.left-submenu * {
  -webkit-backface-visibility: hidden;
}
.left-submenu .back > a {
  padding: 0.3rem 0.9375rem;
  color: #999999;
  text-transform: uppercase;
  font-weight: bold;
  background: #444;
  border-top: 1px solid #5e5e5e;
  border-bottom: none;
  margin: 0;
}
.left-submenu .back > a:hover {
  background: #303030;
  border-top: 1px solid #5e5e5e;
  border-bottom: none;
}
.left-submenu .back > a:before {
  content: "«";
  margin-right: 0.5rem;
  display: inline;
}
.left-submenu.move-right, .left-submenu.offcanvas-overlap-right, .left-submenu.offcanvas-overlap {
  -webkit-transform: translate3d(0%, 0, 0);
  -moz-transform: translate3d(0%, 0, 0);
  -ms-transform: translate(0%, 0);
  -ms-transform: translate3d(0%, 0, 0);
  -o-transform: translate3d(0%, 0, 0);
  transform: translate3d(0%, 0, 0);
}

.right-submenu {
  -webkit-backface-visibility: hidden;
  width: 15.625rem;
  top: 0;
  bottom: 0;
  position: absolute;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  background: #333333;
  z-index: 1002;
  box-sizing: content-box;
  -webkit-overflow-scrolling: touch;
  -webkit-transform: translate3d(100%, 0, 0);
  -moz-transform: translate3d(100%, 0, 0);
  -ms-transform: translate(100%, 0);
  -ms-transform: translate3d(100%, 0, 0);
  -o-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
  right: 0;
  -webkit-transition: -webkit-transform 500ms ease;
  -moz-transition: -moz-transform 500ms ease;
  -ms-transition: -ms-transform 500ms ease;
  -o-transition: -o-transform 500ms ease;
  transition: transform 500ms ease;
}
.right-submenu * {
  -webkit-backface-visibility: hidden;
}
.right-submenu .back > a {
  padding: 0.3rem 0.9375rem;
  color: #999999;
  text-transform: uppercase;
  font-weight: bold;
  background: #444;
  border-top: 1px solid #5e5e5e;
  border-bottom: none;
  margin: 0;
}
.right-submenu .back > a:hover {
  background: #303030;
  border-top: 1px solid #5e5e5e;
  border-bottom: none;
}
.right-submenu .back > a:after {
  content: "»";
  margin-left: 0.5rem;
  display: inline;
}
.right-submenu.move-left, .right-submenu.offcanvas-overlap-left, .right-submenu.offcanvas-overlap {
  -webkit-transform: translate3d(0%, 0, 0);
  -moz-transform: translate3d(0%, 0, 0);
  -ms-transform: translate(0%, 0);
  -ms-transform: translate3d(0%, 0, 0);
  -o-transform: translate3d(0%, 0, 0);
  transform: translate3d(0%, 0, 0);
}

.left-off-canvas-menu ul.off-canvas-list li.has-submenu > a:after {
  content: "»";
  margin-left: 0.5rem;
  display: inline;
}

.right-off-canvas-menu ul.off-canvas-list li.has-submenu > a:before {
  content: "«";
  margin-right: 0.5rem;
  display: inline;
}

/* small displays */
@media only screen {
  .show-for-small-only, .show-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important;
  }
  .hide-for-small-only, .hide-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important;
  }
  .visible-for-small-only, .visible-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
  }
  .hidden-for-small-only, .hidden-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
  }
  table.show-for-small-only, table.show-for-small-up, table.show-for-small, table.show-for-small-down, table.hide-for-medium-only, table.hide-for-medium-up, table.hide-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important;
  }
  thead.show-for-small-only, thead.show-for-small-up, thead.show-for-small, thead.show-for-small-down, thead.hide-for-medium-only, thead.hide-for-medium-up, thead.hide-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important;
  }
  tbody.show-for-small-only, tbody.show-for-small-up, tbody.show-for-small, tbody.show-for-small-down, tbody.hide-for-medium-only, tbody.hide-for-medium-up, tbody.hide-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important;
  }
  tr.show-for-small-only, tr.show-for-small-up, tr.show-for-small, tr.show-for-small-down, tr.hide-for-medium-only, tr.hide-for-medium-up, tr.hide-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row;
  }
  th.show-for-small-only, td.show-for-small-only, th.show-for-small-up, td.show-for-small-up, th.show-for-small, td.show-for-small, th.show-for-small-down, td.show-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.hide-for-medium-up, td.hide-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important;
  }
}
/* medium displays */
@media only screen and (min-width:40.063em) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important;
  }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important;
  }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
  }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
  }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.show-for-medium-only, table.show-for-medium-up, table.show-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important;
  }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.show-for-medium-only, thead.show-for-medium-up, thead.show-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important;
  }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.show-for-medium-only, tbody.show-for-medium-up, tbody.show-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important;
  }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.show-for-medium-only, tr.show-for-medium-up, tr.show-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row;
  }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.show-for-medium-only, td.show-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.show-for-medium, td.show-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important;
  }
}
/* large displays */
@media only screen and (min-width:64.063em) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important;
  }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important;
  }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
  }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
  }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.show-for-large-only, table.show-for-large-up, table.show-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important;
  }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.show-for-large-only, thead.show-for-large-up, thead.show-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important;
  }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.show-for-large-only, tbody.show-for-large-up, tbody.show-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important;
  }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.show-for-large-only, tr.show-for-large-up, tr.show-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row;
  }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.show-for-large-only, td.show-for-large-only, th.show-for-large-up, td.show-for-large-up, th.show-for-large, td.show-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important;
  }
}
/* xlarge displays */
@media only screen and (min-width:90.063em) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important;
  }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important;
  }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
  }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
  }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.show-for-xlarge-only, table.show-for-xlarge-up, table.show-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important;
  }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.show-for-xlarge-only, thead.show-for-xlarge-up, thead.show-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important;
  }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.show-for-xlarge-only, tbody.show-for-xlarge-up, tbody.show-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important;
  }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.show-for-xlarge-only, tr.show-for-xlarge-up, tr.show-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row;
  }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.show-for-xlarge-only, td.show-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.show-for-xlarge, td.show-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important;
  }
}
/* xxlarge displays */
@media only screen and (min-width:120.063em) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .hide-for-xlarge-only, .show-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important;
  }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .show-for-xlarge-only, .hide-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important;
  }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .hidden-for-xlarge-only, .visible-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
  }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .visible-for-xlarge-only, .hidden-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .hidden-for-xxlarge-down {
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
  }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.hide-for-xlarge-only, table.show-for-xlarge-up, table.hide-for-xlarge, table.hide-for-xlarge-down, table.show-for-xxlarge-only, table.show-for-xxlarge-up, table.show-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important;
  }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.hide-for-xlarge-only, thead.show-for-xlarge-up, thead.hide-for-xlarge, thead.hide-for-xlarge-down, thead.show-for-xxlarge-only, thead.show-for-xxlarge-up, thead.show-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important;
  }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.hide-for-xlarge-only, tbody.show-for-xlarge-up, tbody.hide-for-xlarge, tbody.hide-for-xlarge-down, tbody.show-for-xxlarge-only, tbody.show-for-xxlarge-up, tbody.show-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important;
  }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.hide-for-xlarge-only, tr.show-for-xlarge-up, tr.hide-for-xlarge, tr.hide-for-xlarge-down, tr.show-for-xxlarge-only, tr.show-for-xxlarge-up, tr.show-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row;
  }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.hide-for-xlarge-down, td.hide-for-xlarge-down, th.show-for-xxlarge-only, td.show-for-xxlarge-only, th.show-for-xxlarge-up, td.show-for-xxlarge-up, th.show-for-xxlarge, td.show-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important;
  }
}
/* Orientation targeting */
.show-for-landscape,
.hide-for-portrait {
  display: inherit !important;
}

.hide-for-landscape,
.show-for-portrait {
  display: none !important;
}

/* Specific visibility for tables */
table.hide-for-landscape, table.show-for-portrait {
  display: table !important;
}

thead.hide-for-landscape, thead.show-for-portrait {
  display: table-header-group !important;
}

tbody.hide-for-landscape, tbody.show-for-portrait {
  display: table-row-group !important;
}

tr.hide-for-landscape, tr.show-for-portrait {
  display: table-row !important;
}

td.hide-for-landscape, td.show-for-portrait,
th.hide-for-landscape,
th.show-for-portrait {
  display: table-cell !important;
}

@media only screen and (orientation: landscape) {
  .show-for-landscape,
.hide-for-portrait {
    display: inherit !important;
  }
  .hide-for-landscape,
.show-for-portrait {
    display: none !important;
  }
  /* Specific visibility for tables */
  table.show-for-landscape, table.hide-for-portrait {
    display: table !important;
  }
  thead.show-for-landscape, thead.hide-for-portrait {
    display: table-header-group !important;
  }
  tbody.show-for-landscape, tbody.hide-for-portrait {
    display: table-row-group !important;
  }
  tr.show-for-landscape, tr.hide-for-portrait {
    display: table-row !important;
  }
  td.show-for-landscape, td.hide-for-portrait,
th.show-for-landscape,
th.hide-for-portrait {
    display: table-cell !important;
  }
}
@media only screen and (orientation: portrait) {
  .show-for-portrait,
.hide-for-landscape {
    display: inherit !important;
  }
  .hide-for-portrait,
.show-for-landscape {
    display: none !important;
  }
  /* Specific visibility for tables */
  table.show-for-portrait, table.hide-for-landscape {
    display: table !important;
  }
  thead.show-for-portrait, thead.hide-for-landscape {
    display: table-header-group !important;
  }
  tbody.show-for-portrait, tbody.hide-for-landscape {
    display: table-row-group !important;
  }
  tr.show-for-portrait, tr.hide-for-landscape {
    display: table-row !important;
  }
  td.show-for-portrait, td.hide-for-landscape,
th.show-for-portrait,
th.hide-for-landscape {
    display: table-cell !important;
  }
}
/* Touch-enabled device targeting */
.show-for-touch {
  display: none !important;
}

.hide-for-touch {
  display: inherit !important;
}

.touch .show-for-touch {
  display: inherit !important;
}

.touch .hide-for-touch {
  display: none !important;
}

/* Specific visibility for tables */
table.hide-for-touch {
  display: table !important;
}

.touch table.show-for-touch {
  display: table !important;
}

thead.hide-for-touch {
  display: table-header-group !important;
}

.touch thead.show-for-touch {
  display: table-header-group !important;
}

tbody.hide-for-touch {
  display: table-row-group !important;
}

.touch tbody.show-for-touch {
  display: table-row-group !important;
}

tr.hide-for-touch {
  display: table-row !important;
}

.touch tr.show-for-touch {
  display: table-row !important;
}

td.hide-for-touch {
  display: table-cell !important;
}

.touch td.show-for-touch {
  display: table-cell !important;
}

th.hide-for-touch {
  display: table-cell !important;
}

.touch th.show-for-touch {
  display: table-cell !important;
}

/*
 * Print styles.
 *
 * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/
 * Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com)
*/
.print-only {
  display: none !important;
}

@media print {
  * {
    background: transparent !important;
    color: #000000 !important; /* Black prints faster: h5bp.com/s */
    box-shadow: none !important;
    text-shadow: none !important;
  }
  .show-for-print {
    display: block;
  }
  .hide-for-print {
    display: none;
  }
  table.show-for-print {
    display: table !important;
  }
  thead.show-for-print {
    display: table-header-group !important;
  }
  tbody.show-for-print {
    display: table-row-group !important;
  }
  tr.show-for-print {
    display: table-row !important;
  }
  td.show-for-print {
    display: table-cell !important;
  }
  th.show-for-print {
    display: table-cell !important;
  }
  a,
a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  .ir a:after,
a[href^="javascript:"]:after,
a[href^="#"]:after {
    content: "";
  }
  pre,
blockquote {
    border: 1px solid #999999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group; /* h5bp.com/t */
  }
  tr,
img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
h2,
h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
h3 {
    page-break-after: avoid;
  }
  .hide-on-print {
    display: none !important;
  }
  .print-only {
    display: block !important;
  }
  .hide-for-print {
    display: none !important;
  }
  .show-for-print {
    display: inherit !important;
  }
}
/* Print visibility */
@media print {
  .show-for-print {
    display: block;
  }
  .hide-for-print {
    display: none;
  }
  table.show-for-print {
    display: table !important;
  }
  thead.show-for-print {
    display: table-header-group !important;
  }
  tbody.show-for-print {
    display: table-row-group !important;
  }
  tr.show-for-print {
    display: table-row !important;
  }
  td.show-for-print {
    display: table-cell !important;
  }
  th.show-for-print {
    display: table-cell !important;
  }
}
.login-cabecera {
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.18);
  position: relative;
  z-index: 3;
  background: #fff;
  border: none;
  color: #515151;
  height: 70px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
}
.login-cabecera img {
  margin-right: 1rem;
  width: auto;
  height: auto;
  filter: invert(100%);
}
.login-cabecera .login-content {
  padding: 0;
}

.login {
  overflow: hidden;
  display: flex;
  height: calc(100vh - 70px);
}
.login h2 {
  margin: 0 auto 2rem;
  text-align: center;
  color: #074C71;
  font-size: calc(18px + (22 - 18) * (100vw - 400px) / (1920 - 400));
  text-transform: uppercase;
}
.login .login-slider {
  display: none;
}
.login .login-slider .orbit-container {
  height: 100vh;
}
.login .login-slider .orbit-container .orbit-timer,
.login .login-slider .orbit-container .orbit-slide-number,
.login .login-slider .orbit-container .orbit-prev,
.login .login-slider .orbit-container .orbit-next {
  display: none !important;
}
.login .login-slider .orbit-container .orbit-slides-container {
  height: 100vh !important;
}
.login .login-slider .orbit-container .orbit-slides-container li {
  height: 100vh;
}
@media screen and (min-width: 920px) {
  .login .login-slider {
    display: block;
    flex: 1;
  }
  .login .login-slider h3 {
    color: white;
  }
  .login .login-slider img {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
  .login .login-slider .login-slider-caption,
.login .login-slider .orbit-caption {
    position: absolute;
    z-index: 3;
    color: white;
    left: 0;
    bottom: 52%;
    right: 0;
    text-align: center;
    padding: 0 5%;
    line-height: 1;
    font-size: calc(28px + (30 - 28) * (100vw - 400px) / (1920 - 400));
    background: transparent;
    text-shadow: 0 0 6px black;
  }
  .login .login-slider:before {
    display: block;
    position: absolute;
    height: 100%;
    width: 33.33%;
    bottom: 0;
    content: "";
    z-index: 1;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
    background: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
    background: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
    max-height: 50%;
  }
}
.login .login-formu {
  flex: 2;
  align-self: center;
}
.login .login-pie {
  padding: 1rem;
  text-align: center;
}
.login .capacentro {
  text-align: center;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  padding: 4rem 3rem;
  position: relative;
  max-width: 50rem;
  background-color: white;
  box-shadow: 0px 0px 5px 5px rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.login .capacentro form {
  max-width: 25rem;
  margin: 0 auto;
}
.login .capacentro p {
  text-align: left;
}
.login .login-form .input-group {
  display: flex;
  border: 1px solid #e8e7e7;
  overflow: hidden;
}
.login .login-form .form-group {
  background-color: transparent;
  padding: 0;
  width: 100%;
  box-sizing: border-box;
  border-radius: 0;
  margin: 0 0 1rem;
}
.login .login-form .form-group .input-group-addon {
  border-right: 0;
  width: 15%;
  padding: 0.9rem 0.75rem;
}
.login .login-form .form-group input {
  border: none;
  width: 85%;
  margin-left: 0;
  padding: 1rem 0.75rem;
}
.login .login-form .form-group .login-bottom-links a,
.login .login-form .form-group input[type=checkbox] + label,
.login .login-form .form-group input[type=radio] + label {
  font-size: 14px;
}
.login .login-form input {
  font-size: calc(14px + (16 - 14) * (100vw - 400px) / (1920 - 400));
}
.login .login-form .form-group-send button {
  background-color: #074C71;
  padding: 1rem 1.5rem;
  margin: 0 0 1em 0;
  width: 100%;
  border-radius: 1px;
  color: #fff;
  font-size: 16px;
  text-align: center;
  text-transform: uppercase;
}
.login .login-form .form-group-send button:hover {
  background-color: black;
}
.login .login-form .form-group-send button i {
  display: none;
}
.login .login-form .login-bottom-links {
  overflow: hidden;
}
.login .login-form .login-bottom-links a {
  display: inline-block;
  float: right;
  padding: 0.2rem 0;
  text-decoration: underline;
}
.login .login-form .login-bottom-links a:hover {
  text-decoration: none;
  color: black;
}
.login .login-form .login-bottom-links .checkbox {
  text-align: left;
  float: left;
}
.login .user_change_password label,
.login .user_resetting_request label {
  text-align: left;
  font-size: calc(14px + (16 - 14) * (100vw - 400px) / (1920 - 400));
}
.login .user_change_password label.form_change,
.login .user_resetting_request label.form_change {
  color: #dd4b39;
  background-color: transparent;
  text-align: left;
  display: block;
  font-weight: 400;
}
.login .user_change_password input,
.login .user_resetting_request input {
  min-height: 42px;
  padding: 0.5rem;
}
.login .user_change_password input[type=submit],
.login .user_resetting_request input[type=submit] {
  background-color: #074C71;
  padding: 1rem 1.5rem;
  margin: 1em 0;
  width: 100%;
  border-radius: 1px;
  color: #fff;
  font-size: 16px;
  text-align: center;
  text-transform: uppercase;
  border: none;
}
.login .user_change_password input[type=submit]:hover,
.login .user_resetting_request input[type=submit]:hover {
  background-color: black;
}
.login .user_change_password a.link,
.login .user_resetting_request a.link {
  text-align: center;
  color: #555;
  font-size: 0.8em;
  text-decoration: underline;
}
.login .user_change_password a.link:hover,
.login .user_resetting_request a.link:hover {
  text-decoration: none;
  color: black;
}

.user_change_password {
  max-width: 420px;
  background: white;
  overflow: hidden;
  padding: 2rem;
  box-shadow: 0px 0px 5px 5px rgba(0, 0, 0, 0.03);
  margin: 0 auto;
}
.user_change_password input {
  width: 100%;
  margin-left: 0;
  padding: 1rem 0.75rem;
}

#change_password_form .row {
  margin-bottom: 1rem;
}

body {
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  background: #F2F4F7;
  margin: 0 auto;
}

#header_info {
  background-color: #FFFFFF;
  color: #383838;
  padding: 0;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  z-index: 2;
  position: relative;
  /* background: linear-gradient(154deg, $fondocabecera 0, $secundariocabecera 100%); */
}
@media screen and (max-width: 920px) {
  #header_info #header_data {
    float: left;
  }
}
@media screen and (min-width: 921px) {
  #header_info #header_data {
    float: right;
  }
}
#header_info #header_title {
  font-weight: 400;
  font-size: 1.1em;
  line-height: 1.1em;
  margin-top: 1em;
  margin-right: 1rem;
}
@media screen and (max-width: 768px) {
  #header_info #header_title {
    display: none;
  }
}
#header_info #header_breadcrumb {
  font-size: 12px;
  padding-bottom: 2px;
}
#header_info #header_logo {
  height: 3.4375rem;
  width: 130px;
  position: relative;
  margin-left: 0.9375rem;
}
#header_info #header_logo img {
  max-width: 130px;
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, -50%);
  /* filter: $logoinvert; */
}
#header_info #header_user {
  height: 3.4375rem;
  text-align: right;
  padding-right: 10px;
  padding-top: 0.625rem;
  font-size: 70%;
}
#header_info #header_user span {
  display: block;
}

.tabs_idiomas ul.tabs .tab-title a {
  padding: 5px 10px;
  font-size: 80%;
}
.tabs_idiomas .tabs-content {
  margin-bottom: 0px;
}
.tabs_idiomas .tabs-content .content {
  padding-bottom: 0px;
}

.idiomasCab {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  position: absolute;
  right: 1rem;
  top: 1.5rem;
  border: none;
  border-top: 0;
  color: white;
  text-transform: uppercase;
}
.idiomasCab a {
  color: white;
}

.row {
  max-width: none;
}

.inline {
  display: inline-block;
}

.rowFormDateTime select {
  width: auto;
}

#cargando {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  opacity: 0.5;
  background-color: #000;
  z-index: 2147483647;
  background-image: none;
}
#cargando i.fa-spinner {
  color: white;
  font-size: 3rem;
  left: 50%;
  position: fixed;
  top: 50%;
  font-size: 6rem !important;
}

div.error ul,
.entity_form_error ul {
  color: #dd4b39;
  font-size: 12px;
  list-style: none;
  margin: 0;
}

.panel.panel_mini {
  padding: 5px;
  font-size: 11px;
}
.panel.panel_mini p,
.panel.panel_mini ul {
  font-size: 11px;
  margin-bottom: 10px;
}

.reveal-modal {
  overflow-y: auto;
}

.reveal-modal-bg {
  position: fixed;
}

.entity_show_label {
  width: 30%;
  display: inline-block;
}

.entity_show_value {
  width: 65%;
  display: inline-block;
}

legend {
  text-transform: capitalize;
}

.newRelObject {
  margin-left: 5px;
  vertical-align: top;
}

.newRelObject img {
  width: 16px;
}

select[multiple] {
  height: auto;
}

.entity_relation_form_row ul {
  list-style: none;
  margin: 0;
}

.entity_relation_form_row ul li .row {
  display: inline-block;
  margin-right: 10px;
}

.entity_relation_form_row legend label {
  display: inline-block;
}

.entity_relation_form_row legend img {
  width: 16px;
  vertical-align: sub;
}

.delete-relation {
  vertical-align: top;
}

.widthAuto {
  width: auto;
}

.filter_element {
  margin-right: 10px;
  margin-bottom: 8px;
  margin-left: 10px;
  margin-top: 8px;
  display: inline-block;
}

/*.filter_element label{
  margin-right: 10px;
}*/
.filter_element input,
.filter_element select,
.filter_element textarea {
  display: inline-block;
}

.filter_element input,
.filter_element textarea,
.filter_element select.JSselect2No {
  width: auto;
}

/*.filter_element .select2-container{
  margin-bottom: 0px;
}*/
.form_change {
  color: white;
  background-color: #B22222;
  /*padding-left: 0.2rem!important;
  padding-right: 0.2rem!important;
  display: inline-block;
  font-weight: bold;*/
}

.form_change_submit {
  color: white;
  background-color: #B22222;
  border-color: #B22222;
  font-weight: bold;
}
.form_change_submit .JSalertFormChange {
  color: #fff;
  font-size: 1rem;
  margin-right: 0.5rem;
  display: none;
}
.form_change_submit .JSalertFormChange:first-child {
  display: initial;
}

.top-bar {
  background: linear-gradient(90deg, #074C71 0%, #007BB3 107.48%);
  height: auto !important;
}
.top-bar li.user-langs:hover {
  background-color: #074C71;
}
.top-bar li.user-langs a {
  display: inline;
  background: none !important;
}
.top-bar .top-bar-section .not-click > a:first-of-type {
  cursor: default;
}
.top-bar .top-bar-section a {
  font-family: "Montserrat", sans-serif;
  font-weight: normal;
  font-size: 12px;
}
@media screen and (min-width: 641px) {
  .top-bar .top-bar-section > ul > .divider,
.top-bar .top-bar-section > ul > [role=separator] {
    height: 2.5rem;
  }
}
.top-bar .top-bar-section .left li:not(.has-form) a:not(.button) {
  min-width: 120px;
  text-align: left;
}
.top-bar .top-bar-section .right li.has-dropdown > a {
  min-width: 60px;
  text-align: left;
}
.top-bar .top-bar-section li:not(.has-form) a:not(.button) {
  line-height: 2.5rem;
  padding: 0 0.5rem;
  background: linear-gradient(90deg, #074C71 0%, #007BB3 107.48%);
  font-weight: 600;
  font-size: 12px;
  border-radius: 0 0 4px 4px;
}
.top-bar .top-bar-section li:not(.has-form) a:not(.button):hover {
  text-decoration: none;
}
.top-bar .top-bar-section ul li,
.top-bar .top-bar-section .dropdown li:not(.has-form):not(.active) > a:not(.button) {
  background: linear-gradient(90deg, #074C71 0%, #007BB3 107.48%);
  border: none;
  color: #fff;
}
.top-bar .top-bar-section ul li:hover,
.top-bar .top-bar-section .dropdown li:not(.has-form):not(.active) > a:not(.button):hover {
  background: #074C71;
}
.top-bar .top-bar-section ul li:hover a:after,
.top-bar .top-bar-section .dropdown li:not(.has-form):not(.active) > a:not(.button):hover a:after {
  transform: rotate(180deg);
}
.top-bar .top-bar-section ul li:hover:not(.user-data):not(.user-langs),
.top-bar .top-bar-section .dropdown li:not(.has-form):not(.active) > a:not(.button):hover:not(.user-data):not(.user-langs) {
  background-color: #074C71;
}
.top-bar .top-bar-section ul li.sep,
.top-bar .top-bar-section .dropdown li:not(.has-form):not(.active) > a:not(.button).sep {
  border-bottom: 1px solid rgba(242, 244, 247, 0.6);
}
.top-bar .top-bar-section ul li i {
  font-size: 16px;
  position: relative;
  top: 3px;
}
.top-bar .top-bar-section .has-dropdown > a:after {
  top: 1.2rem;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABzSURBVHgBbcyxDYAgFATQw1jZ6CiuYO8OMoK1FFT2OgFxAhND7woOZIL8HyJIvORIuDwAKHpvMPrm0XEr+LzLE5VvignRrqyha8mjcyuEMAF3qMNjoPVdiIj3h+mQjB2usHokJOZ++8IUcyL6D2Flh3x+AHyOIT+6xNhOAAAAAElFTkSuQmCC);
  background-position: 50% center;
  background-repeat: no-repeat;
  border: none;
  width: 10px;
  height: 6px;
  filter: brightness(0) invert(1);
}
.top-bar .user-data {
  background: #fed100;
  margin: 0;
  color: white;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 0.75rem 1rem;
}
.top-bar .user-data:hover {
  background-color: #074C71 !important;
}
.top-bar .user-data p {
  font-size: 90%;
  margin: 0;
}

table .onoffswitch {
  max-width: 60px;
}
table .onoffswitch .onoffswitch-switch {
  width: 18px;
}
table .onoffswitch input[type=checkbox]:disabled + label,
table .onoffswitch input[type=radio]:disabled + label {
  max-width: 60px;
}
table .onoffswitch .onoffswitch-inner:before, table .onoffswitch .onoffswitch-inner:after {
  height: 28px;
  line-height: 28px;
  font-size: 10px;
}

table img {
  border: none;
}
table.display {
  margin: 0 auto;
  width: 100%;
  clear: both;
}
table.display th.primero {
  border-right: none;
}
table.display th.opciones {
  border-left: none;
}
table.display tr.heading2 td {
  border-bottom: 1px solid #aaa;
  border-right: 1px solid white;
}
table thead tr th {
  padding: 1rem 0.75rem;
  background: #fff;
  cursor: default;
  /*Columna sin ordenamiento*/
  height: 25px;
  font-weight: 400;
  cursor: pointer;
  text-transform: uppercase;
  font-family: "Montserrat", sans-serif;
}
table tfoot th {
  padding: 3px 5px 3px 5px;
  cursor: default;
  /*Columna sin ordenamiento*/
  height: 20px;
  font-weight: bold;
  text-align: right;
}
table td {
  padding: 3px 5px;
  vertical-align: middle;
  min-height: 20px;
}
table td > .onoffswitch {
  margin: 0 auto;
}
table td > .onoffswitch .onoffswitch-inner:before {
  text-align: left;
}

.dataTables_wrapper {
  position: relative;
  clear: both;
  zoom: 1;
  z-index: 0;
}

.dataTables_processing {
  position: absolute;
  top: 0;
  left: auto;
  right: 0;
  width: 100vw;
  height: 100vh;
  border: none;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.6392156863);
}
.dataTables_processing .fa {
  font-size: 6rem !important;
}

.dataTables_length {
  height: auto;
  text-align: center;
  background-color: transparent;
  color: #787878;
  padding: 1rem 0;
  margin: 0;
  float: right;
}
.dataTables_length select {
  margin: 0 0.5rem;
  padding: 0.5rem;
  display: inline;
  width: 55px;
  height: auto;
}
@media screen and (max-width: 480px) {
  .dataTables_length {
    float: none;
    width: 100%;
    text-align: left;
  }
}

.dataTables_filter {
  height: auto;
  text-align: left;
  background: transparent;
  margin: 0;
}
@media screen and (max-width: 480px) {
  .dataTables_filter {
    float: none;
    width: calc(180px + 0.5rem);
    padding: 0;
  }
}
@media screen and (min-width: 481px) and (max-width: 768px) {
  .dataTables_filter {
    float: left;
    max-width: 70%;
    padding: 15px 0;
  }
}
@media screen and (min-width: 769px) {
  .dataTables_filter {
    float: right;
    padding: 1rem;
  }
}
.dataTables_filter label {
  position: relative;
  font-size: 16px;
}
.dataTables_filter input {
  margin: 0 0.5rem;
  padding: 0.5rem;
  display: inline;
  width: 180px;
  height: auto;
  border: 1px solid #B7BECB;
  border-radius: 4px;
  color: #464C56;
}
@media screen and (max-width: 768px) {
  .dataTables_filter input {
    margin: 0;
  }
}

.dataTables_paginate {
  width: 100%;
  float: none;
  margin: 0;
  text-align: center;
  width: auto;
}

.dataTables_length,
.dataTables_filter,
.dataTables_info,
.dataTables_paginate {
  font-family: "Roboto", sans-serif !important;
  font-size: calc(12px + (14 - 12) * (100vw - 400px) / (1920 - 400));
}

.dataTables_info {
  float: left;
  text-align: center;
  margin-bottom: 1rem;
  padding: 5px;
  font-size: calc(11px + (12 - 11) * (100vw - 400px) / (1920 - 400));
  color: #464C56;
}
@media screen and (max-width: 920px) {
  .dataTables_info {
    width: 100%;
  }
}

/* Pagination nested */
.paginate_disabled_previous,
.paginate_enabled_previous,
.paginate_disabled_next,
.paginate_enabled_next {
  height: 19px;
  width: 19px;
  margin-left: 3px;
  float: left;
}

.sorting_asc {
  background: #868A94 url(/build/images/sort_asc.38de0920.png) no-repeat center right;
  color: black;
}

.sorting_desc {
  background: #868A94 url(/build/images/sort_desc.4d6e8e2a.png) no-repeat center right;
  color: black;
}

.sorting {
  background: #868A94 url(/build/images/sort_both.01bd8743.png) no-repeat center right;
  color: #777;
}

.sorting_asc_disabled,
.sorting_disabled {
  background: #868A94 url(/build/images/sort_asc_disabled.fce40fd7.png) no-repeat center right;
  color: #777;
}

.sorting_desc_disabled {
  background: #868A94 url(/build/images/sort_desc_disabled.e083dfac.png) no-repeat center right;
}

.sorting_disabled {
  background: #868A94;
}

tr.even,
tr.even td,
tr.even .tdOpciones {
  background-color: #FFFFFF;
}

.thOpciones,
.tdOpciones {
  text-align: right;
}
.thOpciones .fa,
.tdOpciones .fa {
  margin-left: 0.5rem;
}

tr.even.row_selected td,
tr.even.row_selected td.tdOpciones,
tr.odd.row_selected td,
tr.odd.row_selected td.tdOpciones {
  background-color: rgba(247, 144, 9, 0.3) !important;
}
@media screen and (max-width: 639px) {
  tr.even.row_selected td,
tr.even.row_selected td.tdOpciones,
tr.odd.row_selected td,
tr.odd.row_selected td.tdOpciones {
    background-color: #E4E7EC !important;
  }
}

tbody tr.odd:not(.row_selected):hover td,
tbody tr.even:not(.row_selected):hover td {
  background-color: #E4E7EC !important;
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Misc */
.top,
.bottom {
  padding: 15px;
  background-color: #F5F5F5;
  border: 1px solid #ccc;
}

.top .dataTables_info {
  float: none;
}

.clear {
  clear: both;
}

.dataTables_empty,
.centrado,
.dtCentrado {
  text-align: center;
}

tfoot input {
  margin: 0.5em 0;
  width: 100%;
  color: #444;
}

tfoot input.search_init {
  color: #999;
}

td.group {
  background-color: #d1cfd0;
  border-bottom: 2px solid #A19B9E;
  border-top: 2px solid #A19B9E;
}

td.details {
  background-color: #d1cfd0;
  border: 2px solid #A19B9E;
}

.example_alt_pagination div.dataTables_info {
  width: 40%;
}

.paging_full_numbers {
  height: auto;
  line-height: inherit;
  float: right;
}
@media screen and (max-width: 920px) {
  .paging_full_numbers {
    width: 100%;
    display: flex;
    position: relative;
  }
  .paging_full_numbers > span {
    display: block;
    width: 100%;
    overflow: hidden;
  }
  .paging_full_numbers > span > a {
    display: inline-block;
  }
}
.paging_full_numbers a {
  color: #464C56;
  transition: all ease 0.5s;
}
.paging_full_numbers a.current {
  background: #074C71;
  color: #FFFFFF;
  border-radius: 4px;
}
.paging_full_numbers a:hover {
  text-decoration: none;
}
.paging_full_numbers .paginate_button,
.paging_full_numbers .paginate_active {
  padding: 0.5rem 0.8rem;
  margin: 0 0.5rem;
  cursor: pointer;
}
.paging_full_numbers .paginate_button {
  background-color: transparent;
  color: #464C56;
  font-weight: 600;
}
.paging_full_numbers .paginate_button:hover {
  background-color: #074C71;
  color: #FFFFFF;
  border-radius: 4px;
}
.paging_full_numbers .paginate_button.disabled {
  opacity: 0.5;
}
@media screen and (max-width: 920px) {
  .paging_full_numbers .paginate_button.first, .paging_full_numbers .paginate_button.last {
    position: absolute;
    top: 35px;
  }
  .paging_full_numbers .paginate_button.previous, .paging_full_numbers .paginate_button.next {
    display: block;
    overflow: hidden;
  }
  .paging_full_numbers .paginate_button.first {
    left: 0;
  }
  .paging_full_numbers .paginate_button.last {
    right: 0;
  }
}
.paging_full_numbers .paginate_active {
  background-color: #fff;
  color: #fff;
}

table.KeyTable td {
  border: 3px solid transparent;
}

div.box {
  height: 100px;
  padding: 10px;
  overflow: auto;
  border: 1px solid #8080FF;
  background-color: #E5E5FF;
}

/*cambios dmcorporative*/
#capaFiltro {
  width: 200px;
  text-align: right;
  background: #f0f0f0;
  margin: 0 3px 5px 0;
  padding: 6px 15px 7px 15px;
  position: absolute;
  top: 40px;
  right: 481px;
  z-index: 5;
}

select#filtro {
  float: left;
  font-size: 11px;
  margin: 0 5px 0 0;
}

/*comenzamos la tabla*/
#tablaContenido {
  clear: both;
}

#tablaContenido_Marca td > img {
  float: left;
  margin-right: 1rem;
}
#tablaContenido_Marca td > img + br {
  display: none;
}
#tablaContenido_Marca tr > td:nth-child(3) {
  font-size: 11px;
}

.tablaContenido {
  background-color: white;
  font-family: "Roboto", sans-serif;
  width: 100%;
  background: transparent;
  margin: 1rem 0;
  border-spacing: 0;
  border: none;
}
@media screen and (min-width: 920px) {
  .tablaContenido {
    margin: 2rem 0;
  }
}
.tablaContenido th.sorting_asc + th.sorting_asc {
  color: #FFFFFF;
  background: #868A94 url(/build/images/sort_both.0bd34d64.01bd8743.png) no-repeat center right;
}
.tablaContenido th.sorting_asc + th.sorting_asc + th.sorting_asc {
  color: #FFFFFF;
  background: #868A94 url(/build/images/sort_both.0bd34d64.01bd8743.png) no-repeat center right;
}
.tablaContenido #cabeceraTabla th {
  font-family: "Montserrat";
  font-weight: 700;
  font-size: 15px;
  line-height: 112%;
  color: #FFFFFF;
}
.tablaContenido #cabeceraTabla th:first-child {
  border-radius: 4px 0px 0px 0px;
}
.tablaContenido #cabeceraTabla th:last-child {
  border-radius: 0px 4px 0px 0px;
}
.tablaContenido tbody tr td:first-child {
  text-transform: uppercase;
  font-weight: 600;
}
.tablaContenido tbody tr td {
  border-bottom: 1px solid #B7BECB;
  border-top: 1px solid #B7BECB;
  color: #464C56;
  font-size: 14px;
  line-height: 1.25;
}

.tablaContenido tr th.sorting_desc, .tablaContenido tr th.sorting_asc {
  font-weight: 900;
}

table tr th,
table tr td,
table thead tr th,
table thead tr td {
  font-size: 0.85em;
}

.lista_relaciones {
  max-height: inherit;
  padding: 0;
  margin: 0;
  overflow-y: auto;
  overflow-x: auto;
  font-size: 1em;
}
.lista_relaciones li {
  white-space: nowrap;
  line-height: 1.5rem;
  display: inline-block;
  padding: 0 2px;
}
.lista_relaciones li:after {
  content: " |";
}
.lista_relaciones li:last-child:after {
  content: "";
}

table#tablaContenido_Permisos {
  border-spacing: 1px;
  background: #ddd;
  border: none;
}
table#tablaContenido_Permisos thead tr th {
  background: #fff;
  text-align: center;
}
table#tablaContenido_Permisos tbody tr th,
table#tablaContenido_Permisos tbody tr td {
  background: #fff;
}
table#tablaContenido_Permisos tbody tr th .level1,
table#tablaContenido_Permisos tbody tr td .level1 {
  padding-left: 20px;
}
table#tablaContenido_Permisos tbody tr th .level2,
table#tablaContenido_Permisos tbody tr td .level2 {
  padding-left: 40px;
}
table#tablaContenido_Permisos tbody tr:hover th,
table#tablaContenido_Permisos tbody tr:hover td {
  background: #f1f1f1;
}
table#tablaContenido_Permisos tbody tr td {
  text-align: center;
}
table#tablaContenido_Permisos tbody tr td a {
  display: block;
}

@media only screen and (max-width: 1024px) {
  /*#tablaContenido_Congreso {
  	tbody tr td:nth-child(4) a {display:block; width:16px; height:16px; text-indent: 50px; overflow:hidden;
  		&:before {content:""; font-family:fontawesome; display:block;color: #000; font-size: 1.2em; text-indent: 0;}
  		&:hover {@include opacity(0.5);}
  	}
  } */
}
.bloqueSeleccion {
  margin: 0;
  padding: 0;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 48rem) {
  .bloqueSeleccion {
    position: relative;
    margin: 0 0 2rem;
  }
}

#capaopciones {
  left: 0;
  margin: 0;
  position: absolute;
  top: 1rem;
  z-index: 1;
}
@media screen and (max-width: 48rem) {
  #capaopciones {
    position: relative;
    margin: 1rem 0 2rem;
    border-radius: 0px 6px 6px 6px;
    background: #fff;
    padding: 0.75rem;
  }
}
#capaopciones a .fa {
  color: #074C71;
}
#capaopciones a,
#capaopciones .anadirRegistro,
#capaopciones .eliminarRegistros,
#capaopciones .seleccionarTodos,
#capaopciones .deseleccionarTodos {
  position: relative;
  width: auto;
  min-width: 40px;
  height: 40px;
  color: #074C71;
  font-size: 16px;
  transition: all 0.25s ease;
  padding: 3px 0.5em;
  background: #FFFFFF;
  border-radius: 4px;
  text-align: center;
  margin-right: 0.5rem;
  display: inline-block;
  /*&:after {
      content: attr(title);
      @include size(11,
      12);
      text-transform: uppercase;
      padding: .7rem 0 0 .5rem;
      min-width: 120px;
      position: absolute;
      top: 0;
      right: 0;
      left: 2rem;
      bottom: 0;
      opacity: 0;
      transition: opacity .5s ease;
      @media screen and (max-width: $mini) {
          opacity: 1;
          left: 2.5rem;
      }
  }*/
}
@media screen and (max-width: 48rem) {
  #capaopciones a,
#capaopciones .anadirRegistro,
#capaopciones .eliminarRegistros,
#capaopciones .seleccionarTodos,
#capaopciones .deseleccionarTodos {
    text-decoration: none;
    color: #464C56 !important;
    width: 100%;
    text-align: left;
  }
  #capaopciones a i,
#capaopciones .anadirRegistro i,
#capaopciones .eliminarRegistros i,
#capaopciones .seleccionarTodos i,
#capaopciones .deseleccionarTodos i {
    color: #FFFFFF !important;
    background: #074C71;
    padding: 0.5rem;
    border-radius: 4px;
  }
  #capaopciones a:after,
#capaopciones .anadirRegistro:after,
#capaopciones .eliminarRegistros:after,
#capaopciones .seleccionarTodos:after,
#capaopciones .deseleccionarTodos:after {
    display: block;
    width: auto;
    opacity: 1;
  }
}
#capaopciones a i:before,
#capaopciones .anadirRegistro i:before,
#capaopciones .eliminarRegistros i:before,
#capaopciones .seleccionarTodos i:before,
#capaopciones .deseleccionarTodos i:before {
  line-height: 2;
}
@media screen and (max-width: 48rem) {
  #capaopciones a:after,
#capaopciones .anadirRegistro:after,
#capaopciones .eliminarRegistros:after,
#capaopciones .seleccionarTodos:after,
#capaopciones .deseleccionarTodos:after {
    content: attr(title);
    font-size: calc(11px + (12 - 11) * (100vw - 400px) / (1920 - 400));
    text-transform: uppercase;
    padding: 0.7rem 0 0 0.5rem;
    min-width: 120px;
    position: absolute;
    top: 0;
    right: 0;
    left: 2rem;
    bottom: 0;
    opacity: 0;
    transition: opacity 0.5s ease;
  }
}
@media screen and (max-width: 48rem) and (max-width: 48rem) {
  #capaopciones a:after,
#capaopciones .anadirRegistro:after,
#capaopciones .eliminarRegistros:after,
#capaopciones .seleccionarTodos:after,
#capaopciones .deseleccionarTodos:after {
    opacity: 1;
    left: 2.5rem;
  }
}
@media screen and (max-width: 48rem) {
  #capaopciones a:hover,
#capaopciones .anadirRegistro:hover,
#capaopciones .eliminarRegistros:hover,
#capaopciones .seleccionarTodos:hover,
#capaopciones .deseleccionarTodos:hover {
    width: 190px;
    text-align: left;
  }
  #capaopciones a:hover:after,
#capaopciones .anadirRegistro:hover:after,
#capaopciones .eliminarRegistros:hover:after,
#capaopciones .seleccionarTodos:hover:after,
#capaopciones .deseleccionarTodos:hover:after {
    display: block;
    width: auto;
    opacity: 1;
  }
}
#capaopciones a:hover,
#capaopciones .anadirRegistro:hover,
#capaopciones .eliminarRegistros:hover,
#capaopciones .seleccionarTodos:hover,
#capaopciones .deseleccionarTodos:hover {
  text-decoration: none;
  color: #FFFFFF !important;
  /*width: 190px;
  text-align: left;*/
  background-color: #074C71;
  /*&:after {
      display: block;
      width: auto;
      opacity: 1;
  }*/
}
#capaopciones a:hover i,
#capaopciones .anadirRegistro:hover i,
#capaopciones .eliminarRegistros:hover i,
#capaopciones .seleccionarTodos:hover i,
#capaopciones .deseleccionarTodos:hover i {
  color: #FFFFFF !important;
}
#capaopciones a.qliksense:hover {
  width: 250px;
}

.tabs-content {
  margin-top: 0.35rem;
}

tbody td.tdOpciones a {
  color: #464C56;
  font-size: 16px;
  line-height: 1.25;
  padding: 0 0.2em;
  transition: all 0.3s ease-in-out 0s;
  padding: 0.25rem 0.5rem !important;
  display: inline-flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  text-decoration: none;
}

.tdOpciones a::after {
  display: block;
  margin-left: 0.35rem;
  content: attr(title);
  font-size: 14px;
  line-height: 1.25;
  margin-top: -4px;
}

table.dataTable.dtr-inline.collapsed tbody td:first-child,
table.dataTable.dtr-inline.collapsed tbody th:first-child {
  position: relative;
  padding-left: 40px;
  cursor: pointer;
  font-weight: 600;
  font-size: 15px;
  line-height: 120%;
  color: #464C56;
}

table.dataTable.dtr-inline.collapsed tbody td:first-child:before,
table.dataTable.dtr-inline.collapsed tbody th:first-child:before {
  top: 13px;
  left: 12px;
  height: 16px;
  width: 16px;
  display: block;
  position: absolute;
  color: white;
  border: 2px solid #F79009;
  border-radius: 16px;
  text-align: center;
  line-height: 16px;
  box-shadow: none;
  box-sizing: content-box;
  content: "+";
  background-color: #F79009;
}

table.dataTable.dtr-inline.collapsed tbody td:first-child.dataTables_empty:before,
table.dataTable.dtr-inline.collapsed tbody th:first-child.dataTables_empty:before {
  display: none;
}

table.dataTable.dtr-inline.collapsed tbody tr.parent td:first-child:before,
table.dataTable.dtr-inline.collapsed tbody tr.parent th:first-child:before {
  content: "_";
  background-color: #B7BECB;
  border-color: #B7BECB;
  line-height: 0.35;
}

table.dataTable.dtr-inline.collapsed tbody tr.child td:before {
  display: none;
}

table.dataTable.dtr-column tbody td.control,
table.dataTable.dtr-column tbody th.control {
  position: relative;
  cursor: pointer;
}

table.dataTable.dtr-column tbody td.control:before,
table.dataTable.dtr-column tbody th.control:before {
  top: 50%;
  left: 50%;
  height: 16px;
  width: 16px;
  margin-top: -10px;
  margin-left: -10px;
  display: block;
  position: absolute;
  color: white;
  border: 2px solid white;
  border-radius: 16px;
  text-align: center;
  line-height: 14px;
  box-shadow: 0 0 3px #444;
  box-sizing: content-box;
  content: "+";
  background-color: #31b131;
}

table.dataTable.dtr-column tbody tr.parent td.control:before,
table.dataTable.dtr-column tbody tr.parent th.control:before {
  content: "-";
  background-color: #d33333;
}

table.dataTable tr.child {
  padding: 0.5em 1em;
}

table.dataTable tr.child:hover {
  background: transparent !important;
}

table.dataTable tr.child ul {
  /*display: inline-block;*/
  list-style-type: none;
  margin: 0;
  padding: 0;
  font-size: 1em;
}

table.dataTable tr.child ul li {
  border-bottom: 1px solid #efefef;
  padding: 0.5em 0;
  white-space: nowrap;
}

table.dataTable tr.child ul li:first-child {
  padding-top: 0;
}

table.dataTable tr.child ul li:last-child {
  border-bottom: none;
}

table.dataTable tr.child span.dtr-title {
  display: inline-block;
  min-width: 75px;
  font-weight: bold;
  text-transform: initial;
  font-family: "Montserrat";
  font-weight: 600;
  font-size: 14px;
  line-height: 112%;
  color: #464C56;
}

table.dataTable tr.child span.dtr-data {
  font-family: "Montserrat";
  font-weight: 400;
  font-size: 14px;
  line-height: 112%;
  color: #464C56;
  text-transform: initial;
}

table.dataTable tr.child span.dtr-data ul li {
  width: auto;
  float: left;
  padding: 0 0.4em 0 0.4em;
  border: none;
  border-right: solid 1px #cdcdcd;
}
table.dataTable tr.child span.dtr-data ul li:last-child {
  border: none;
}

.tdCheckbox {
  width: 1.5rem;
}
.tdCheckbox .JScheckboxAll {
  margin-bottom: 0;
}

/*FILTROS*/
fieldset {
  border: none;
  margin: 0 1rem 2rem;
  padding: 0.5rem 0.75rem;
  background: #FFFFFF;
  border-radius: 4px;
  background-color: linear-gradient(45deg, rgba(0, 0, 0, 0.0392156863), rgba(0, 0, 0, 0.0117647059));
}
@media screen and (min-width: 920px) {
  fieldset {
    padding: 0.5rem 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  fieldset {
    padding: 1rem 0.5rem;
    margin: 0 1rem 1rem;
  }
}
fieldset label {
  cursor: auto;
  font-size: 13px;
  line-height: 18px;
  margin: 0 0 0.25rem 0;
  padding: 0 0.5rem 0 0;
  color: #464C56;
  font-weight: 600;
}
fieldset input[type=checkbox] + label,
fieldset input[type=radio] + label {
  cursor: pointer;
}
fieldset input[type=text],
fieldset input[type=password],
fieldset input[type=date],
fieldset input[type=datetime],
fieldset input[type=datetime-local],
fieldset input[type=month],
fieldset input[type=week],
fieldset input[type=email],
fieldset input[type=number],
fieldset input[type=search],
fieldset input[type=tel],
fieldset input[type=time],
fieldset input[type=url],
fieldset input[type=color],
fieldset textarea,
fieldset select {
  padding: 0.5rem 0.75rem;
  max-width: 500px;
  min-height: 38px;
}
fieldset .fdatepicker:after {
  display: block;
  content: "\f073";
  font-family: fontawesome;
}
fieldset .select2-container .select2-selection--single,
fieldset select {
  height: auto;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
}
fieldset legend {
  background-color: transparent;
  color: #074C71;
  font-size: 15px;
  line-height: 1.25;
  font-weight: 700;
  display: block;
  margin: 0;
  padding: 0;
  text-transform: uppercase;
  font-family: "Montserrat", sans-serif;
  position: relative;
  left: -0.5rem;
  top: -1rem;
}
fieldset.translations {
  padding: 0.5rem 0;
}
fieldset.translations legend {
  padding-top: 1rem;
  font-size: calc(12px + (13 - 12) * (100vw - 400px) / (1920 - 400));
  text-transform: none;
  font-weight: normal;
  color: #4d4d4d;
  font-style: normal;
  font-family: "Roboto", sans-serif;
}
fieldset.translations .columns {
  display: inline-block;
}
fieldset.translations .columns.input-trans {
  margin-bottom: 0.5rem;
}
fieldset.translations .columns input,
fieldset.translations .columns textarea {
  width: 100%;
  max-width: 1000px;
}
fieldset .form_change {
  background-color: transparent;
  color: #dd4b39;
  font-weight: 400;
}
fieldset + .formFilterOptions {
  /*position: absolute;
  top: -3rem;
  right: 0;*/
  text-align: right;
}
@media screen and (max-width: 920px) {
  fieldset + .formFilterOptions {
    text-align: left;
  }
}
fieldset + .formFilterOptions a.secondary {
  background-color: white;
}
fieldset + .formFilterOptions a:nth-child(2) {
  background-color: transparent !important;
  color: #074C71 !important;
}
fieldset + .formFilterOptions a:nth-child(2):hover {
  color: #B7BECB !important;
}
fieldset .filter_element input,
fieldset .filter_element select.JSselect2No {
  width: auto;
  min-width: 70px;
  min-height: 34px;
  border-radius: 4px;
}
fieldset .filter_element select.JSselect2No {
  margin-right: 0.5rem;
}
fieldset .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 26px;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABzSURBVHgBbcyxDYAgFATQw1jZ6CiuYO8OMoK1FFT2OgFxAhND7woOZIL8HyJIvORIuDwAKHpvMPrm0XEr+LzLE5VvignRrqyha8mjcyuEMAF3qMNjoPVdiIj3h+mQjB2usHokJOZ++8IUcyL6D2Flh3x+AHyOIT+6xNhOAAAAAElFTkSuQmCC);
  background-position: 50% center;
  background-repeat: no-repeat;
}
fieldset .select2-container .select2-search--inline .select2-search__field {
  margin-top: 0;
  font-size: calc(12px + (13 - 12) * (100vw - 400px) / (1920 - 400));
}

fieldset.maps .filter_element {
  overflow: visible;
}

.filter_element.form_change {
  background-color: transparent;
  padding: 0;
}
.filter_element.form_change label,
.filter_element.form_change label.form_change {
  font-weight: bold;
  color: #F79009;
}
.filter_element.form_change input.form_change,
.filter_element.form_change select.form_change {
  border-color: black;
  background-color: white;
  border-radius: 4px;
  box-shadow: 0px 0px 0px 4px rgba(247, 144, 9, 0.3);
  box-sizing: border-box;
  font-weight: 600;
}
.filter_element.form_change .select2-container--default .select2-selection--single,
.filter_element.form_change .select2-container--default .select2-selection--multiple {
  border-radius: 4px;
  box-shadow: 0px 0px 0px 4px rgba(247, 144, 9, 0.3);
  box-sizing: border-box;
  font-weight: 600;
}

fieldset .form_change {
  color: #464C56;
}

.color-grey {
  color: #777;
}

.row h1 {
  font-size: 1.2em;
  padding-bottom: 2rem;
}
.row h2 {
  font-size: 1em;
  padding-bottom: 2rem;
}

.relative {
  position: relative;
}

.tabla {
  margin: 0 1rem;
}

.formFilterOptions {
  /*position: absolute;
  right: 0;
  top: -5em;*/
  text-align: right;
}
.formFilterOptions a {
  margin-bottom: 0;
}

form.JSnoChanges {
  font-size: 0.75em;
}

form.JSformFilters fieldset {
  margin: 0 0 1rem;
}
form.JSformFilters fieldset legend {
  color: #464C56;
}

select,
filter_element select {
  min-width: 15rem;
  max-width: 50%;
}

select.JSselect2No,
filter_element select.JSselect2No {
  min-width: 0;
  max-width: none;
  border: 1px solid #B7BECB;
  border-radius: 4px;
  box-sizing: border-box;
}

select.JSselect2No,
filter_element select.JSselect2No {
  min-width: 0;
  max-width: none;
}

@media screen and (max-width: 57.5em) {
  span.select2 {
    max-width: 100%;
    width: auto !important;
  }
}
@media screen and (min-width: 57.5em) {
  span.select2 {
    min-width: 15rem;
    max-width: 500px;
    width: auto !important;
  }
}

input[type=text].fYear {
  width: 3rem;
}

input[type=url] {
  width: 30rem;
}

input.input-large {
  width: 30rem;
}

input.input-medium {
  width: 17rem;
}

input.input-small,
select.input-small {
  width: 3rem;
  min-width: 0;
}

input[type=number].input-small {
  width: 4rem;
}

.panel {
  padding: 0.75rem;
  font-size: 0.75rem;
}

.progress .meter {
  background-color: #fed100;
}

/*CONTENIDO COMPETENCIA*/
#header_breadcrumb {
  font-size: 11px;
  color: rgba(7, 76, 113, 0.5);
  padding: 0.5rem 0;
  margin-bottom: -1rem;
}
#header_breadcrumb + .alert-box {
  margin: 1.5rem 0 0;
}

.contenido-competencia h1, .contenido-competencia h2, .contenido-competencia h3, .contenido-competencia h4, .contenido-competencia h5, .contenido-competencia h6 {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  margin: 1.5rem 0 2.5rem;
  padding: 0;
  display: inline-block;
  overflow: hidden;
  color: #074C71;
  border-bottom: 1px solid #B7BECB;
  box-sizing: border-box;
  width: 100%;
}
@media screen and (min-width: 920px) {
  .contenido-competencia h1, .contenido-competencia h2, .contenido-competencia h3, .contenido-competencia h4, .contenido-competencia h5, .contenido-competencia h6 {
    margin-bottom: 3rem;
  }
}
.contenido-competencia h1 {
  font-size: calc(18px + (26 - 18) * (100vw - 400px) / (1920 - 400));
}
.contenido-competencia button.secondary, .contenido-competencia .button.secondary {
  font-size: calc(14px + (16 - 14) * (100vw - 400px) / (1920 - 400));
  padding: 0.5rem 1rem;
  background: #074C71;
  border: 1px solid #074C71;
  color: #FFFFFF;
  border-radius: 6px;
}
.contenido-competencia button.secondary:hover, .contenido-competencia .button.secondary:hover {
  text-decoration: none;
  background-color: #B7BECB;
  color: white;
  border: 1px solid #B7BECB;
}
.contenido-competencia button, .contenido-competencia input[type=submit], .contenido-competencia button.tiny {
  background-color: #074C71;
  padding: 0.75rem 1.5rem;
  margin: 1em 0;
  display: inline-block;
  border-radius: 1px;
  color: #fff;
  font-size: 14px;
  text-align: center;
  text-transform: uppercase;
  border: none;
}
.contenido-competencia button:hover, .contenido-competencia input[type=submit]:hover, .contenido-competencia button.tiny:hover {
  background-color: black;
}
.contenido-competencia button.form_change_submit, .contenido-competencia input[type=submit].form_change_submit, .contenido-competencia button.tiny.form_change_submit {
  background-color: #2196f3;
}
.contenido-competencia button.form_change_submit:hover, .contenido-competencia input[type=submit].form_change_submit:hover, .contenido-competencia button.tiny.form_change_submit:hover {
  background-color: #207ec8;
}

.select2-container {
  box-sizing: border-box;
  display: inline-block;
  margin: 0;
  position: relative;
  vertical-align: middle;
  color: rgb(0, 0, 0);
  height: auto !important;
}
.select2-container .select2-selection--single {
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  /*height: 2.3125rem;*/
  user-select: none;
  -webkit-user-select: none;
}
.select2-container .select2-selection--single .select2-selection__rendered {
  /*display: block;*/
  overflow: hidden;
  padding-left: 8px;
  padding-right: 20px;
  text-overflow: ellipsis;
  font-size: 0.75rem;
}
.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered {
  padding-right: 8px;
  padding-left: 20px;
  font-size: 0.75rem;
}
.select2-container .select2-selection--multiple {
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  /*min-height: 32px;*/
  user-select: none;
  -webkit-user-select: none;
}
.select2-container .select2-selection--multiple .select2-selection__rendered {
  display: inline-block;
  overflow: hidden;
  padding-left: 8px;
  text-overflow: ellipsis;
}
.select2-container .select2-search--inline {
  border: 1px solid #ccc;
  margin: 0.5em 0 0 0;
  position: relative;
  width: 100%;
  border-radius: 4px;
}
.select2-container .select2-search--inline:after {
  content: "\f134";
  font-family: uicons-regular-rounded !important;
  color: #074C71;
  position: absolute;
  right: 8px;
  top: calc(50% - 12px);
  font-size: 16px;
}
.select2-container .select2-search--inline .select2-search__field {
  border: none;
  font-size: 100%;
  line-height: 20px;
}

.select2-dropdown {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  box-sizing: border-box;
  display: block;
  position: absolute;
  left: -100000px;
  width: 100%;
  z-index: 1051;
}

.select2-results {
  display: block;
}

.select2-results__options {
  list-style: none;
  margin: 0;
  padding: 0;
}

.select2-results__option {
  padding: 6px;
  font-size: 0.75rem;
  user-select: none;
  -webkit-user-select: none;
}

.select2-results__option[aria-selected] {
  cursor: pointer;
}

.select2-container--open .select2-dropdown {
  left: 0;
}

.select2-container--open .select2-dropdown--above {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.select2-container--open .select2-dropdown--below {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.select2-search--dropdown {
  display: block;
  padding: 4px;
}
.select2-search--dropdown .select2-search__field {
  padding: 0;
  width: 100%;
  box-sizing: border-box;
}
.select2-search--dropdown.select2-search--hide {
  display: none;
}

.select2-close-mask {
  border: 0;
  margin: 0;
  padding: 0;
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  min-height: 100%;
  min-width: 100%;
  height: auto;
  width: auto;
  opacity: 0;
  z-index: 99;
  background-color: #fff;
  filter: alpha(opacity=0);
}

.select2-container--default .select2-selection--single {
  background-color: #fff;
  border: 1px solid #ccc;
  overflow: hidden;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #464C56;
  font-size: 12px;
  line-height: 18px;
  font-weight: 400;
}

.select2-container--default .select2-selection--single .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #999;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 1.5rem;
  position: absolute;
  top: 1px;
  right: 1px;
  width: 20px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #888 transparent transparent transparent;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  height: 0;
  left: 50%;
  margin-left: -4px;
  margin-top: -2px;
  position: absolute;
  top: 50%;
  width: 0;
}

.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear {
  float: left;
}

.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow {
  left: 1px;
  right: auto;
}

.select2-container--default.select2-container--disabled .select2-selection--single {
  background-color: #eee;
  cursor: default;
}

.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
  display: none;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow {
  transform: rotate(180deg);
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent;
  border-width: 0 4px 5px 4px;
}

.select2-container--default .select2-selection--multiple {
  background-color: white;
  border: 1px solid #cccccc;
  cursor: text;
  overflow: hidden !important;
  height: auto !important;
  min-height: 35px;
  border-radius: 4px 0px 4px 4px;
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered {
  list-style: none;
  margin: 0;
  padding: 0 5px;
  width: 100%;
}

.select2-container--default .select2-selection--multiple .select2-selection__placeholder {
  color: #999;
  margin-top: 5px;
  float: left;
}

.select2-container--default .select2-selection--multiple .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold;
  margin-top: 5px;
  margin-right: 10px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: #FFFFFF;
  border: 1px solid #FFFFFF;
  cursor: default;
  margin-right: 5px;
  margin-top: 5px;
  font-size: 0.75rem;
  padding: 0 7px;
  border-radius: 2px;
  display: flex;
  align-items: center;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice:hover {
  background-color: #8a8a8a;
  border-color: #8a8a8a;
  color: white;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice:hover span {
  color: white;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color: #B7BECB;
  cursor: pointer;
  display: inline-block;
  font-weight: bold;
  margin-right: 6px;
  font-size: 15px;
  line-height: 1;
  float: none;
  border: 1px solid #B7BECB;
  padding: 0 3px;
  border-radius: 100%;
  width: 16px;
  height: 16px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #fff;
}

.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice,
.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__placeholder {
  float: none;
}

.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto;
}

.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto;
}

.select2-container--default.select2-container--disabled .select2-selection--multiple {
  background-color: #eee;
  cursor: default;
}

.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
  display: none;
}

.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,
.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,
.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa;
  line-height: 34px;
}

.select2-container--default .select2-search--inline .select2-search__field {
  background: transparent;
  border: none;
  outline: 0;
}

.select2-container--default .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto;
}

.select2-container--default .select2-results__option[role=group] {
  padding: 0;
}

.select2-container--default .select2-results__option[aria-disabled=true] {
  color: #999;
}

.select2-container--default .select2-results__option[aria-selected=true] {
  background: rgba(190, 190, 190, 0.2) url(/build/images/ico-tick.b78e1567.png) no-repeat 98% 5px;
  border-bottom: 1px solid white;
}

.select2-container--default .select2-results__option .select2-results__option {
  padding-left: 1em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__group {
  padding-left: 0;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -1em;
  padding-left: 2em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -2em;
  padding-left: 3em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -3em;
  padding-left: 4em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -4em;
  padding-left: 5em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -5em;
  padding-left: 6em;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #ccc;
  color: #000;
}

.select2-container--default .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px;
}

.select2-container--classic .select2-selection--single {
  background-color: #f6f6f6;
  border: 1px solid #aaa;
  border-radius: 4px;
  outline: 0;
  background-image: -webkit-linear-gradient(top, #ffffff 50%, #eeeeee 100%);
  background-image: -o-linear-gradient(top, #ffffff 50%, #eeeeee 100%);
  background-image: linear-gradient(to bottom, #ffffff 50%, #eeeeee 100%);
  background-repeat: repeat-x;
  /*filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);*/
}

.select2-container--classic .select2-selection--single:focus {
  border: 1px solid #5897fb;
}

.select2-container--classic .select2-selection--single .select2-selection__rendered {
  color: #444;
  line-height: 23px;
}

.select2-container--classic .select2-selection--single .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold;
  margin-right: 10px;
}

.select2-container--classic .select2-selection--single .select2-selection__placeholder {
  color: #999;
}

.select2-container--classic .select2-selection--single .select2-selection__arrow {
  background-color: #ddd;
  border: none;
  border-left: 1px solid #aaa;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  height: 26px;
  position: absolute;
  top: 1px;
  right: 1px;
  width: 20px;
  background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
  background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
  background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
  background-repeat: repeat-x;
  /*filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#cccccc', GradientType=0);*/
}

.select2-container--classic .select2-selection--single .select2-selection__arrow b {
  border-color: #888 transparent transparent transparent;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  height: 0;
  left: 50%;
  margin-left: -4px;
  margin-top: -2px;
  position: absolute;
  top: 50%;
  width: 0;
}

.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear {
  float: left;
}

.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow {
  border: none;
  border-right: 1px solid #aaa;
  border-radius: 0;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  left: 1px;
  right: auto;
}

.select2-container--classic.select2-container--open .select2-selection--single {
  border: 1px solid #5897fb;
}

.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
  background: transparent;
  border: none;
}

.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent;
  border-width: 0 4px 5px 4px;
}

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background-image: -webkit-linear-gradient(top, #ffffff 0%, #eeeeee 50%);
  background-image: -o-linear-gradient(top, #ffffff 0%, #eeeeee 50%);
  background-image: linear-gradient(to bottom, #ffffff 0%, #eeeeee 50%);
  background-repeat: repeat-x;
  /*filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);*/
}

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  background-image: -webkit-linear-gradient(top, #eeeeee 50%, #ffffff 100%);
  background-image: -o-linear-gradient(top, #eeeeee 50%, #ffffff 100%);
  background-image: linear-gradient(to bottom, #eeeeee 50%, #ffffff 100%);
  background-repeat: repeat-x;
  /*filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);*/
}

.select2-container--classic .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text;
  outline: 0;
}

.select2-container--classic .select2-selection--multiple:focus {
  border: 1px solid #5897fb;
}

.select2-container--classic .select2-selection--multiple .select2-selection__rendered {
  list-style: none;
  margin: 0;
  padding: 0 5px;
}

.select2-container--classic .select2-selection--multiple .select2-selection__clear {
  display: none;
}

.select2-container--classic .select2-selection--multiple .select2-selection__choice {
  background-color: #e4e4e4;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: default;
  float: none;
  margin-right: 5px;
  margin-top: 5px;
  padding: 0 5px;
}

.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
  color: #888;
  cursor: pointer;
  display: inline-block;
  font-weight: bold;
  margin-right: 2px;
}

.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #555;
}

.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice {
  float: none;
}

.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto;
}

.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto;
}

.select2-container--classic.select2-container--open .select2-selection--multiple {
  border: 1px solid #5897fb;
}

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.select2-container--classic .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa;
  outline: 0;
}

.select2-container--classic .select2-search--inline .select2-search__field {
  outline: 0;
}

.select2-container--classic .select2-dropdown {
  background-color: white;
  border: 1px solid transparent;
}

.select2-container--classic .select2-dropdown--above {
  border-bottom: none;
}

.select2-container--classic .select2-dropdown--below {
  border-top: none;
}

.select2-container--classic .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto;
}

.select2-container--classic .select2-results__option[role=group] {
  padding: 0;
}

.select2-container--classic .select2-results__option[aria-disabled=true] {
  color: grey;
}

.select2-container--classic .select2-results__option--highlighted[aria-selected] {
  background-color: #ccc;
  color: #000;
}

.select2-container--classic .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px;
}

.select2-container--classic.select2-container--open .select2-dropdown {
  border-color: #5897fb;
}

/*fixes*/
@media screen and (min-width: 57.5em) {
  #formEmpresa_tipo + span.select2 {
    min-width: 40rem;
    height: 35px;
  }
}
.reveal-modal {
  padding: 0;
  border-radius: 4px;
  /*CERRAR MODAL*/
  /*Campos de formulario*/
  /*Tabs*/
  /*MAPAS*/
  /*Ayudas labels
      label[for='formColor_color']{position:relative;}
      label[for='formColor_color']:after{display:block; content:"Ej.: #CCCCCC";position:absolute;z-index:9;top:0;right:0;color:#888;font-size:11px; top:.2rem;}
  */
  /*buscador mapa*/
}
.reveal-modal .close-reveal-modal {
  position: absolute;
  right: 10px;
  top: 8px;
  width: 34px;
  height: 34px;
  text-indent: -800px;
  overflow: hidden;
  background: #074C71;
  border-radius: 100%;
}
.reveal-modal .close-reveal-modal:hover {
  opacity: 1;
}
.reveal-modal .close-reveal-modal:before, .reveal-modal .close-reveal-modal:after {
  position: absolute;
  left: 16px;
  top: 8px;
  content: " ";
  height: 20px;
  width: 2px;
  background-color: #FFFFFF;
}
.reveal-modal .close-reveal-modal:before {
  transform: rotate(45deg);
}
.reveal-modal .close-reveal-modal:after {
  transform: rotate(-45deg);
}
@media screen and (max-width: 767px) {
  .reveal-modal .close-reveal-modal {
    background: transparent;
    right: 5px;
    top: 5px;
  }
  .reveal-modal .close-reveal-modal:before, .reveal-modal .close-reveal-modal:after {
    background-color: #868A94;
  }
}
.reveal-modal .row h2 {
  font-size: 1.1em;
  border-bottom: solid 1px #cdcdcd;
  padding: 0 0 0.2em 0;
  margin: 0 0 1em 0;
}
.reveal-modal .row .entity_form_row {
  display: inline-block;
  width: auto;
  vertical-align: top;
  margin-right: 1rem;
  margin-bottom: 1rem;
  margin-left: 1rem;
}
@media screen and (max-width: 767px) {
  .reveal-modal .row .entity_form_row {
    display: block;
    width: auto !important;
    max-width: 100% !important;
  }
}
.reveal-modal .row .entity_form_label {
  width: auto;
  display: block;
  vertical-align: top;
}
.reveal-modal .row .entity_form_label label {
  padding: 0.2rem 0 0 0;
}
.reveal-modal .row .entity_form_label .entity_form_info {
  margin-right: 0.3rem;
}
.reveal-modal .row .columns {
  padding: 0 1em;
}
@media screen and (max-width: 38.75em) {
  .reveal-modal .row .columns {
    padding: 0;
  }
}
.reveal-modal .row .columns label:not(.onoffswitch-label) {
  padding: 0 0 8px 0;
  font-family: "Roboto";
  font-weight: 500;
  font-size: 16px;
  line-height: 112%;
  color: #464C56;
}
@media screen and (max-width: 619px) {
  .reveal-modal .row .columns label:not(.onoffswitch-label) {
    padding: 0 0 3px 0;
  }
}
.reveal-modal .row .columns label.form_change {
  font-weight: bold;
  color: #F79009;
}
.reveal-modal .row .entity_form_widget {
  display: block;
  position: relative;
}
.reveal-modal .row .entity_form_widget .linkmap {
  position: absolute;
  color: #c0c0c0;
  display: inline-block;
  padding: 0rem 0.5rem;
  transition: all 0.3s ease-in-out;
  font-size: 1.2em;
  border: 1px solid #ccc;
  background-color: white;
  margin-left: -2px;
  line-height: 1.7;
  left: 100%;
  top: 0;
}
.reveal-modal .row .entity_form_widget .linkmap:hover {
  color: black;
}
.reveal-modal .row .entity_form_widget a.newRelObject {
  color: #074C71 !important;
  display: inline-block;
  padding: 3px 0.5rem 0;
  transition: all 0.3s ease-in-out;
  font-size: 20px;
  border: 1px solid #ccc;
  background-color: white;
  line-height: 1.25;
  margin-left: 0;
  border-radius: 0 4px 4px 0;
}
@media screen and (min-width: 30rem) {
  .reveal-modal .row .entity_form_widget a.newRelObject {
    margin-left: -2px;
  }
}
.reveal-modal .row .entity_form_widget a.newRelObject:hover {
  text-decoration: none;
}
.reveal-modal .row .entity_form_widget textarea {
  width: 100%;
}
.reveal-modal .row .entity_form_widget textarea.inputXLarge {
  max-width: 98% !important;
  height: 8rem;
}
.reveal-modal .row .entity_form_widget textarea::-webkit-scrollbar {
  width: 15px;
  background-color: #FFFFFF;
}
.reveal-modal .row .entity_form_widget textarea::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.3);
}
.reveal-modal .row .entity_form_widget textarea::-webkit-scrollbar-thumb {
  background-color: rgba(181, 186, 195, 0.5);
  border-radius: 25px;
  padding: 0 3px;
  border-right: 3px solid transparent;
  border-left: 3px solid transparent;
  background-clip: padding-box;
  width: 8px;
  height: 30px;
}
.reveal-modal .row .entity_form_widget .entity_form_widget_readonly {
  font-size: 0.75rem;
  font-style: italic;
}
.reveal-modal .row .entity_relation_form_row ul li {
  border-top: solid 1px #cdcdcd;
  padding-top: 0.6em;
}
.reveal-modal .row .entity_relation_form_row ul li:first-child {
  border-top: none;
  padding-top: inherit;
}
.reveal-modal .row .entity_relation_form_row ul li input,
.reveal-modal .row .entity_relation_form_row ul li select {
  margin: 0;
}
.reveal-modal .row .entity_relation_form_row ul li .row {
  vertical-align: top;
}
.reveal-modal .row fieldset.entity_relation_form_row {
  background: #f1f1f1;
  padding-top: 0.5rem;
  position: relative;
}
.reveal-modal .row fieldset.entity_relation_form_row legend {
  background: none;
}
.reveal-modal .row fieldset.entity_relation_form_row .legendModal {
  display: block;
  border-bottom: solid 1px #cdcdcd;
  margin: 0 0 1em 0;
  padding: 0 0 0.5em 0;
}
.reveal-modal .row fieldset.entity_relation_form_row .legendModal:after {
  display: block;
  clear: both;
  content: "";
}
.reveal-modal .row fieldset.entity_relation_form_row .legendModal label {
  width: auto;
  float: left;
  font-weight: bold;
  margin: 0;
  padding: 0;
}
.reveal-modal .row fieldset.entity_relation_form_row .legendModal i {
  position: absolute;
  bottom: 2rem;
  right: 1rem;
  color: #97cd0d;
  font-weight: bold;
  transition: all 0.3s ease-in-out;
  font-size: 1.2em;
}
.reveal-modal .row fieldset.entity_relation_form_row .legendModal i:hover {
  color: #000;
}
.reveal-modal .row fieldset.entity_relation_form_row ul.fields-list li span {
  margin-bottom: 0;
}
.reveal-modal .row fieldset.entity_relation_form_row ul.fields-list li a.newRelObject {
  color: #c0c0c0;
  display: inline-block;
  padding: 0.3em;
  transition: all 0.3s ease-in-out;
}
.reveal-modal .row fieldset.entity_relation_form_row ul.fields-list li a.newRelObject:hover {
  color: #97cd0d;
}
.reveal-modal .row fieldset.entity_relation_form_row ul.fields-list li a.delete-relation {
  color: #ca1b1b;
  display: inline-block;
  padding: 0 0.3em;
  margin: 0em;
  transition: all 0.3s ease-in-out;
  font-size: 1.5em;
}
.reveal-modal .row fieldset.entity_relation_form_row ul.fields-list li a.delete-relation:hover {
  color: #000;
}
.reveal-modal .row #JSmodalForm_Empresa fieldset:first-of-type .inputXsmall input {
  text-transform: uppercase;
}
.reveal-modal .row .JSformFilters {
  padding: 2rem 1rem;
}
.reveal-modal .row form {
  position: relative;
  display: block;
  width: auto;
  margin: 1rem 0 0;
  /*min-height: 3rem;*/
  background: none;
}
.reveal-modal .row form .formFilterOptions {
  top: 0;
}
.reveal-modal .row form .form_button_row {
  position: relative;
  top: 0em;
  margin: 0 1rem;
}
.reveal-modal .row form .form_button_row a,
.reveal-modal .row form .form_button_row button {
  margin-left: 0;
  font-size: calc(14px + (16 - 14) * (100vw - 400px) / (1920 - 400));
  padding: 0.5rem 1rem;
  background: #074C71;
  border: 1px solid #074C71;
  color: #FFFFFF;
  border-radius: 6px;
  text-transform: none;
}
.reveal-modal .row form .form_button_row a:hover,
.reveal-modal .row form .form_button_row button:hover {
  text-decoration: none;
  background-color: #B7BECB;
  color: white;
  border: 1px solid #B7BECB;
}
.reveal-modal .row form .form_button_row button.form_change_submit {
  background: #F79009;
  border: 1px solid #F79009;
  color: #FFFFFF;
}
.reveal-modal .row form .form_button_row button.form_change_submit:hover {
  background-color: #FFFFFF;
  color: #F79009;
}
.reveal-modal .row form .form_button_row button.form_change_submit:hover .JSalertFormChange {
  color: #F79009;
}
.reveal-modal .row .dataTables_filter label,
.reveal-modal .row .dataTables_length label {
  padding: 0;
}
.reveal-modal .row .entityEditPaginator {
  font-size: calc(14px + (16 - 14) * (100vw - 400px) / (1920 - 400));
}
@media screen and (max-width: 619px) {
  .reveal-modal .row .entityEditPaginator {
    display: block;
    position: relative;
    margin: 10px auto;
    width: 100%;
    text-align: center;
  }
}
@media screen and (min-width: 38.75em) {
  .reveal-modal .row .entityEditPaginator {
    display: inline-block;
    position: absolute;
    right: 1rem;
    top: 1.5rem;
  }
}
.reveal-modal .row .entityEditPaginator span {
  padding: 0 0.5rem;
  display: inline-block;
}
.reveal-modal .row .entityEditPaginator .entityEditPaginatorCurrent {
  color: #074C71;
}
.reveal-modal .row .entityEditPaginator a {
  color: #074C71;
  padding: 0 0.5rem;
  margin: 0;
  line-height: 0;
}
.reveal-modal .row .entityEditPaginator a i.fi-rr-caret-right:before {
  font-size: 12px;
}
.reveal-modal .row .entityEditPaginator a i.fi-rr-caret-left:before {
  font-size: 12px;
}
.reveal-modal .row .entityEditPaginator * {
  vertical-align: middle;
}
.reveal-modal .info_modal {
  font-size: calc(12px + (13 - 12) * (100vw - 400px) / (1920 - 400));
  background: #F2F4F7;
  border-radius: 4px 4px 0px 0px;
  padding: 1.25em 4em 1.25em 1.25em;
  margin: 0 auto;
  border-bottom: none;
}
.reveal-modal .info_modal .field:not(:first-child) b {
  border-left: 1px solid #B7BECB;
  box-sizing: border-box;
  padding-left: 0.25rem;
  margin-left: 0.25rem;
}
@media screen and (max-width: 767px) {
  .reveal-modal .info_modal .field:not(:first-child) {
    margin-top: 0.5rem;
    display: block;
  }
}
.reveal-modal .info_modal div,
.reveal-modal .info_modal .field div {
  display: inline-block;
  color: black;
}
.reveal-modal .info_modal .field {
  vertical-align: middle;
  border: none;
  padding: 0 0.5em;
  background: transparent;
  margin-bottom: inherit;
  font-size: 14px;
  line-height: 1.25;
  text-transform: uppercase;
  font-family: "Montserrat";
  font-weight: 500;
  color: #464C56;
}
.reveal-modal .info_modal .field b {
  vertical-align: top;
  font-weight: 700;
}
.reveal-modal .info_modal .info_modal_title {
  font-size: 14px;
  line-height: 1.25;
  color: #074C71;
  font-weight: bold;
  background: transparent;
  text-transform: uppercase;
}
.reveal-modal .info_modal .fieldExtra {
  background: transparent;
}
.reveal-modal .info_modal .fieldExtra a {
  color: #074C71;
}
.reveal-modal .info_modal .info_origin {
  display: block;
  border-bottom: none;
  margin-bottom: inherit;
}
.reveal-modal input[type=text],
.reveal-modal input[type=password],
.reveal-modal input[type=date],
.reveal-modal input[type=datetime],
.reveal-modal input[type=datetime-local],
.reveal-modal input[type=month],
.reveal-modal input[type=week],
.reveal-modal input[type=email],
.reveal-modal input[type=number],
.reveal-modal input[type=search],
.reveal-modal input[type=tel],
.reveal-modal input[type=time],
.reveal-modal input[type=url],
.reveal-modal input[type=color],
.reveal-modal textarea,
.reveal-modal select {
  min-height: 34px;
  padding: 0.5rem 0.75rem;
}
.reveal-modal input[type=text],
.reveal-modal input[type=password],
.reveal-modal input[type=email],
.reveal-modal input[type=search],
.reveal-modal input[type=url],
.reveal-modal textarea,
.reveal-modal .dataTables_length label select {
  width: auto;
}
.reveal-modal .select2-container .select2-selection--single,
.reveal-modal select {
  height: auto;
  padding: 0.27rem 0.5rem;
}
.reveal-modal button,
.reveal-modal input[type=submit],
.reveal-modal button.tiny {
  margin-left: 0 !important;
  font-size: calc(14px + (16 - 14) * (100vw - 400px) / (1920 - 400));
  padding: 0.5rem 1rem;
  background: #074C71;
  border: 1px solid #074C71;
  color: #FFFFFF;
  border-radius: 6px;
  text-transform: none;
}
.reveal-modal button .JSalertFormChange,
.reveal-modal input[type=submit] .JSalertFormChange,
.reveal-modal button.tiny .JSalertFormChange {
  display: none;
}
.reveal-modal button .JSalertFormChange:first-child,
.reveal-modal input[type=submit] .JSalertFormChange:first-child,
.reveal-modal button.tiny .JSalertFormChange:first-child {
  display: initial;
}
.reveal-modal button:hover,
.reveal-modal input[type=submit]:hover,
.reveal-modal button.tiny:hover {
  text-decoration: none;
  background-color: #B7BECB;
  color: white;
  border: 1px solid #B7BECB;
}
.reveal-modal button.form_change_submit,
.reveal-modal input[type=submit].form_change_submit,
.reveal-modal button.tiny.form_change_submit {
  background-color: #F79009;
  border: 1px solid #F79009;
}
.reveal-modal button.form_change_submit:hover,
.reveal-modal input[type=submit].form_change_submit:hover,
.reveal-modal button.tiny.form_change_submit:hover {
  color: #F79009;
  background-color: #FFFFFF;
}
.reveal-modal button.form_change_submit:hover .JSalertFormChange,
.reveal-modal input[type=submit].form_change_submit:hover .JSalertFormChange,
.reveal-modal button.tiny.form_change_submit:hover .JSalertFormChange {
  color: #F79009;
}
.reveal-modal .form_change {
  background-color: transparent;
  color: black;
  font-weight: 500;
}
.reveal-modal .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 2rem;
  height: 28px;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABzSURBVHgBbcyxDYAgFATQw1jZ6CiuYO8OMoK1FFT2OgFxAhND7woOZIL8HyJIvORIuDwAKHpvMPrm0XEr+LzLE5VvignRrqyha8mjcyuEMAF3qMNjoPVdiIj3h+mQjB2usHokJOZ++8IUcyL6D2Flh3x+AHyOIT+6xNhOAAAAAElFTkSuQmCC);
  background-position: 50% center;
  background-repeat: no-repeat;
}
.reveal-modal .select2-container--default .select2-search--inline .select2-search__field {
  min-width: 5rem;
}
.reveal-modal .tabs {
  margin-top: 1rem;
  border-bottom: none;
  display: flex;
  flex-wrap: wrap;
  /*SUBTABS*/
}
@media screen and (max-width: 767px) {
  .reveal-modal .tabs {
    width: 100%;
  }
}
.reveal-modal .tabs .tab-title {
  border-color: #e1e1e1;
  border-top: 4px solid transparent;
}
.reveal-modal .tabs .tab-title:not(.active) {
  margin-top: 6px;
  border: 1px solid #FFFFFF;
  border-bottom: none;
  border-right: none;
}
.reveal-modal .tabs .tab-title:not(.active) a {
  font-weight: 500;
  color: #464C56;
  justify-content: start;
}
.reveal-modal .tabs .tab-title:not(.active) a:hover:after {
  transform: rotate(180deg);
}
.reveal-modal .tabs .tab-title.active {
  border-top-width: 6px;
  border-radius: 4px 4px 0px 0px;
  border-style: solid;
  background: linear-gradient(white, white) padding-box, linear-gradient(to right, #074C71, #007BB3) border-box;
  border-right: 0;
  border-left: 0;
}
.reveal-modal .tabs .tab-title.active a {
  background-color: #F2F4F7;
  color: #074C71;
  font-weight: 600;
}
@media screen and (max-width: 619px) {
  .reveal-modal .tabs .tab-title.active a {
    justify-content: start;
  }
}
.reveal-modal .tabs .tab-title.active ::after {
  border-bottom: 1px solid #000;
}
.reveal-modal .tabs .tab-title a {
  font-family: "Montserrat";
  font-size: 12px;
  text-transform: uppercase;
  display: flex !important;
}
@media screen and (max-width: 619px) {
  .reveal-modal .tabs .tab-title {
    background: #FFFFFF !important;
    border: none !important;
    margin-top: 4px;
  }
}
@media screen and (max-width: 619px) {
  .reveal-modal .tabs li {
    display: block;
    width: 100%;
  }
}
@media screen and (max-width: 619px) {
  .reveal-modal .tabs li.active {
    background-color: #e1e1e1;
  }
  .reveal-modal .tabs li.active a {
    background-color: #e1e1e1;
  }
}
.reveal-modal .tabs li a {
  text-transform: uppercase;
  font-size: calc(12px + (14 - 12) * (100vw - 400px) / (1920 - 400));
  padding: 0.5rem 1rem;
  background: #E4E7EC;
}
.reveal-modal .tabs li a:hover {
  text-decoration: none;
}
.reveal-modal .tabs .tab-info {
  margin: 3px 0 0 5px;
  display: block;
  font-size: 11px;
  line-height: 16px;
  float: right;
}
.reveal-modal .tabs .tab-info span {
  padding: 0;
  background-color: #adadad;
  color: white;
  border-radius: 100%;
  display: inline-block;
  min-width: 16px;
  height: 16px;
  line-height: 16px;
  text-align: center;
  font-weight: normal;
}
.reveal-modal .tabs .tabs dd > a,
.reveal-modal .tabs .tabs .tab-title > a {
  border: none;
  background-color: transparent;
}
.reveal-modal .tabs.subtabs {
  display: flex;
  align-items: center;
  margin: 0;
  padding-bottom: 3rem;
  width: 100%;
  box-sizing: border-box;
}
@media screen and (max-width: 619px) {
  .reveal-modal .tabs.subtabs {
    display: block;
    width: 100%;
    border: none;
  }
}
.reveal-modal .tabs.subtabs .tab-title {
  border-top: 2px solid transparent;
}
.reveal-modal .tabs.subtabs .tab-title:not(.active) {
  border: 1px solid #fff;
  margin-right: 0px;
  margin-top: -1px;
}
@media screen and (max-width: 619px) {
  .reveal-modal .tabs.subtabs .tab-title:not(.active) {
    margin-top: 0;
  }
}
.reveal-modal .tabs.subtabs .tab-title:not(.active) a {
  text-transform: capitalize;
  background-color: #E4E7EC;
  font-weight: 500;
  font-size: 14px;
  font-family: "Montserrat";
  color: #464C56;
}
.reveal-modal .tabs.subtabs .tab-title:not(.active) .subtablink {
  background-color: #F2F4F7;
}
.reveal-modal .tabs.subtabs .tab-title:not(.active) > a:hover {
  background-color: #e1e1e1;
}
.reveal-modal .tabs.subtabs .tab-title.active {
  background: #F2F4F7 !important;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  border-radius: 0;
  margin-right: -1px;
  margin-top: -1px;
}
.reveal-modal .tabs.subtabs .tab-title.active a {
  color: #074C71;
  text-transform: capitalize;
  font-weight: 600;
  font-size: 14px;
  font-family: "Montserrat";
}
@media screen and (max-width: 619px) {
  .reveal-modal .tabs.subtabs .tab-title {
    border-top: 1px solid #FFFFFF !important;
    box-sizing: border-box;
  }
  .reveal-modal .tabs.subtabs .tab-title .subtablink {
    background: #E4E7EC !important;
    padding: 1rem;
  }
}
.reveal-modal .tabs::-webkit-scrollbar {
  height: 5px;
  background-color: #FFFFFF;
}
.reveal-modal .tabs::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgb(255, 255, 255);
}
.reveal-modal .tabs::-webkit-scrollbar-thumb {
  background-color: #074C71;
  border-radius: 2px;
}
.reveal-modal .tabs-content {
  border: none;
  border-top: 1px solid #FFFFFF;
  margin: 0;
  padding: 0 0 1rem;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  background: #F2F4F7;
  box-shadow: none;
  /*SUBTABS*/
}
@media screen and (max-width: 767px) {
  .reveal-modal .tabs-content {
    padding: 0 0 1rem;
  }
}
.reveal-modal .tabs-content .bloqueSeleccion {
  padding: 0 0 0.9375rem;
}
@media screen and (max-width: 768px) {
  .reveal-modal .tabs-content .bloqueSeleccion a i:before,
.reveal-modal .tabs-content .bloqueSeleccion .anadirRegistro i:before,
.reveal-modal .tabs-content .bloqueSeleccion .eliminarRegistros i:before,
.reveal-modal .tabs-content .bloqueSeleccion .seleccionarTodos i:before,
.reveal-modal .tabs-content .bloqueSeleccion .deseleccionarTodos i:before {
    line-height: 1 !important;
  }
}
.reveal-modal .tabs-content.subtabs-content {
  margin: 0;
  box-shadow: none;
  border: none;
  padding: 0;
}
.reveal-modal .tabs-content.subtabs-content .tablaContenido {
  background-color: white;
  box-shadow: none;
  border: 1px solid #eaeaea;
}
.reveal-modal .tabs-content.subtabs-content .paging_full_numbers .paginate_button {
  background-color: white;
}
.reveal-modal .tabs-content.subtabs-content .paging_full_numbers a.current,
.reveal-modal .tabs-content.subtabs-content .paging_full_numbers a:hover {
  background-color: #074C71;
}
.reveal-modal button.secondary,
.reveal-modal .button.secondary {
  font-size: calc(14px + (16 - 14) * (100vw - 400px) / (1920 - 400));
  padding: 0.5rem 1rem;
  background: transparent;
  border: 1px solid #074C71;
  color: #074C71;
}
.reveal-modal button.secondary:hover,
.reveal-modal .button.secondary:hover {
  text-decoration: none;
  background-color: #074C71;
  color: white;
}
.reveal-modal .mapContent {
  position: relative;
  width: 100%;
  height: 90%;
  top: 10%;
}
@media screen and (max-width: 967px) {
  .reveal-modal .mapContent {
    height: 85%;
    top: 15%;
  }
}
.reveal-modal .mapContent .map {
  width: 100%;
  height: 100%;
}
.reveal-modal label.required:after {
  font-weight: normal;
  font-size: 13px;
  content: "*";
  color: red;
  margin-left: 0.1rem;
}
.reveal-modal .ficherospermitidos {
  color: #074C71;
  margin: 10px 0;
  font-size: calc(12px + 1 * (100vw - 400px) / 1520);
  padding: 0 2rem;
}
.reveal-modal #contentModalInfoLogAction {
  padding: 2rem;
}
.reveal-modal #contentModalInfoLogAction br {
  display: block;
  content: "";
  margin-top: 10px;
}
.reveal-modal .buscadorMapa {
  position: absolute;
  padding: 0;
  box-sizing: border-box;
  top: 5px;
  left: 16px;
  width: calc(100vw - 100px);
  overflow: hidden;
}
.reveal-modal .buscadorMapa .mapsDirSearch {
  width: 500px;
  float: left;
}
.reveal-modal .buscadorMapa .mapsDirSearch input[type=text] {
  height: 42px;
  width: auto;
  display: inline-block;
  min-width: 360px;
  float: left;
  margin-right: 8px;
}
.reveal-modal .buscadorMapa .mapsDirSearch button {
  margin: 0;
  height: 42px;
  display: block;
  float: left;
}
.reveal-modal .buscadorMapa .contLatLong {
  margin-left: 520px;
}
@media screen and (max-width: 987px) {
  .reveal-modal .buscadorMapa .contLatLong {
    margin-left: 0;
  }
}
.reveal-modal .buscadorMapa .contLatLong label {
  display: inline-block;
  margin: 0 8px 0 16px;
}
.reveal-modal .buscadorMapa .contLatLong input {
  height: 40px;
  max-width: 200px;
  display: inline-block;
  background: rgba(255, 242, 175, 0.3);
  border-color: #e2df9a;
}
.reveal-modal .buscadorMapa .contLatLong input:focus {
  background-color: white;
  border-color: #ccc;
}
.reveal-modal .buscadorMapa .contLatLong button,
.reveal-modal .buscadorMapa .contLatLong input[type=submit] {
  max-height: 42px;
  margin: 8px 2.25rem 0 8px;
  float: right;
}
.reveal-modal .translations legend {
  padding: 0 0 8px 0;
  font-family: "Roboto";
  font-weight: 500;
  font-size: 16px;
  line-height: 112%;
  color: #464C56;
  margin-left: 1rem;
}
@media screen and (max-width: 619px) {
  .reveal-modal .translations legend {
    padding: 0 0 3px 0;
  }
}

/*CAPA MODAL MAX*/
.reveal-modal.xlarge,
#mapsModalsede {
  top: 1vh !important;
  left: 1vw !important;
  bottom: 1vh !important;
  right: 1vw !important;
  width: 98vw !important;
  height: 98vh !important;
  max-height: 98vh !important;
  position: fixed;
}

#mapsModalsede .close-reveal-modal {
  top: 5px;
  right: 16px;
  color: #000;
  z-index: 9;
}

/*DESPLEGABLE SUBTABS*/
.submenutab {
  position: relative;
}
.submenutab .subtotaltab {
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.submenutab .subtotaltab:after {
  content: "\f078";
  display: block;
  width: 10px;
  height: 20px;
  font-family: fontawesome;
  margin-left: 0.75rem;
  color: #074C71;
}
.submenutab .menutab {
  position: absolute;
  visibility: hidden;
  background-color: #E4E7EC;
}
.submenutab .menutab .subtabs {
  flex-direction: column;
  margin: 0;
  padding: 1rem 0;
  min-width: 220px;
  align-items: flex-start;
  box-shadow: 0 3px 4px rgba(158, 158, 158, 0.5);
  background: #E4E7EC;
}
@media screen and (max-width: 619px) {
  .submenutab .menutab .subtabs {
    background: #FFFFFF;
  }
}
.submenutab .menutab .subtabs li {
  width: 100%;
  border: none !important;
}
.submenutab .menutab .subtabs li a {
  display: flex;
  align-items: flex-start;
}
.submenutab .menutab .subtabs .tab-title:hover {
  border-top-color: transparent;
  background-color: #f6f6f6;
}
.submenutab:hover .menutab {
  visibility: visible;
  z-index: 9;
}
.submenutab.active .subtotaltab:after {
  display: none;
}

.eventIcon {
  margin: 0.2em 0.5em 0.2em 0.1em;
  float: left;
}

/*!
 * FullCalendar v2.2.7 Stylesheet
 * Docs & License: http://arshaw.com/fullcalendar/
 * (c) 2013 Adam Shaw
 */
.fc {
  direction: ltr;
  text-align: left;
}

.fc-rtl {
  text-align: right;
}

body .fc { /* extra precedence to overcome jqui */
  font-size: 1em;
}

/* Colors
--------------------------------------------------------------------------------------------------*/
.fc-unthemed th,
.fc-unthemed td,
.fc-unthemed hr,
.fc-unthemed thead,
.fc-unthemed tbody,
.fc-unthemed .fc-row,
.fc-unthemed .fc-popover {
  border-color: #ddd;
}

.fc-unthemed .fc-popover {
  background-color: #fff;
}

.fc-unthemed hr,
.fc-unthemed .fc-popover .fc-header {
  background: #eee;
}

.fc-unthemed .fc-popover .fc-header .fc-close {
  color: #666;
}

.fc-unthemed .fc-today {
  background: #fcf8e3;
}

.fc-highlight { /* when user is selecting cells */
  background: #bce8f1;
  opacity: 0.3;
  filter: alpha(opacity=30); /* for IE */
}

.fc-bgevent { /* default look for background events */
  background: rgb(143, 223, 130);
  opacity: 0.3;
  filter: alpha(opacity=30); /* for IE */
}

.fc-nonbusiness { /* default look for non-business-hours areas */
  /* will inherit .fc-bgevent's styles */
  background: #ccc;
}

/* Icons (inline elements with styled text that mock arrow icons)
--------------------------------------------------------------------------------------------------*/
.fc-icon {
  display: inline-block;
  font-size: 2em;
  line-height: 0.5em;
  height: 0.5em; /* will make the total height 1em */
  font-family: "Courier New", Courier, monospace;
}

.fc-icon-left-single-arrow:after {
  content: "‹";
  font-weight: bold;
}

.fc-icon-right-single-arrow:after {
  content: "›";
  font-weight: bold;
}

.fc-icon-left-double-arrow:after {
  content: "«";
}

.fc-icon-right-double-arrow:after {
  content: "»";
}

.fc-icon-x:after {
  content: "×";
}

/* Buttons (styled <button> tags, normalized to work cross-browser)
--------------------------------------------------------------------------------------------------*/
.fc button {
  /* force height to include the border and padding */
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* dimensions */
  margin: 0;
  height: 2.1em;
  padding: 0 0.6em;
  /* text & cursor */
  font-size: 0.6em; /* normalize */
  white-space: nowrap;
  cursor: pointer;
}

/* Firefox has an annoying inner border */
.fc button::-moz-focus-inner {
  margin: 0;
  padding: 0;
}

.fc-state-default { /* non-theme */
  border: 1px solid;
}

.fc-state-default.fc-corner-left { /* non-theme */
  /*	border-top-left-radius: 4px;
  	border-bottom-left-radius: 4px;*/
}

.fc-state-default.fc-corner-right { /* non-theme */
  /*	border-top-right-radius: 4px;
  	border-bottom-right-radius: 4px;*/
}

/* icons in buttons */
.fc button .fc-icon { /* non-theme */
  position: relative;
  top: 0.05em; /* seems to be a good adjustment across browsers */
  margin: 0 0.1em;
}

/*
  button states
  borrowed from twitter bootstrap (http://twitter.github.com/bootstrap/)
*/
.fc-state-default {
  background-color: #f5f5f5;
  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
  background-repeat: repeat-x;
  border-color: #e6e6e6 #e6e6e6 #bfbfbf;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  color: #333;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
}

.fc-state-hover,
.fc-state-down,
.fc-state-active,
.fc-state-disabled {
  color: #333333;
  background-color: #e6e6e6;
}

.fc-state-hover {
  color: #333333;
  text-decoration: none;
  background-position: 0 -15px;
  -webkit-transition: background-position 0.1s linear;
  -moz-transition: background-position 0.1s linear;
  -o-transition: background-position 0.1s linear;
  transition: background-position 0.1s linear;
}

.fc-state-down,
.fc-state-active {
  background-color: #cccccc;
  background-image: none;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
}

.fc-state-disabled {
  cursor: default;
  background-image: none;
  opacity: 0.65;
  filter: alpha(opacity=65);
  box-shadow: none;
}

/* Buttons Groups
--------------------------------------------------------------------------------------------------*/
.fc-button-group {
  display: inline-block;
}

/*
every button that is not first in a button group should scootch over one pixel and cover the
previous button's border...
*/
.fc .fc-button-group > * { /* extra precedence b/c buttons have margin set to zero */
  float: left;
  margin: 0 0 0 -1px;
}

.fc .fc-button-group > :first-child { /* same */
  margin-left: 0;
}

/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-popover {
  position: absolute;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.fc-popover .fc-header {
  padding: 2px 4px;
}

.fc-popover .fc-header .fc-title {
  margin: 0 2px;
}

.fc-popover .fc-header .fc-close {
  cursor: pointer;
}

.fc-ltr .fc-popover .fc-header .fc-title,
.fc-rtl .fc-popover .fc-header .fc-close {
  float: left;
}

.fc-rtl .fc-popover .fc-header .fc-title,
.fc-ltr .fc-popover .fc-header .fc-close {
  float: right;
}

/* unthemed */
.fc-unthemed .fc-popover {
  border-width: 1px;
  border-style: solid;
}

.fc-unthemed .fc-popover .fc-header .fc-close {
  font-size: 25px;
  margin-top: 4px;
}

/* jqui themed */
.fc-popover > .ui-widget-header + .ui-widget-content {
  border-top: 0; /* where they meet, let the header have the border */
}

/* Misc Reusable Components
--------------------------------------------------------------------------------------------------*/
.fc hr {
  height: 0;
  margin: 0;
  padding: 0 0 2px; /* height is unreliable across browsers, so use padding */
  border-style: solid;
  border-width: 1px 0;
}

.fc-clear {
  clear: both;
}

.fc-bg,
.fc-bgevent-skeleton,
.fc-highlight-skeleton,
.fc-helper-skeleton {
  /* these element should always cling to top-left/right corners */
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.fc-bg {
  bottom: 0; /* strech bg to bottom edge */
}

.fc-bg table {
  height: 100%; /* strech bg to bottom edge */
}

/* Tables
--------------------------------------------------------------------------------------------------*/
.fc table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 1em; /* normalize cross-browser */
}

.fc th {
  text-align: center;
}

.fc th,
.fc td {
  border-style: solid;
  border-width: 1px;
  padding: 0;
  vertical-align: top;
}

.fc td.fc-today {
  border-style: double; /* overcome neighboring borders */
}

/* Fake Table Rows
--------------------------------------------------------------------------------------------------*/
.fc .fc-row { /* extra precedence to overcome themes w/ .ui-widget-content forcing a 1px border */
  /* no visible border by default. but make available if need be (scrollbar width compensation) */
  border-style: solid;
  border-width: 0;
}

.fc-row table {
  /* don't put left/right border on anything within a fake row.
     the outer tbody will worry about this */
  border-left: 0 hidden transparent;
  border-right: 0 hidden transparent;
  /* no bottom borders on rows */
  border-bottom: 0 hidden transparent;
}

.fc-row:first-child table {
  border-top: 0 hidden transparent; /* no top border on first row */
}

/* Day Row (used within the header and the DayGrid)
--------------------------------------------------------------------------------------------------*/
.fc-row {
  position: relative;
}

.fc-row .fc-bg {
  z-index: 1;
}

/* highlighting cells & background event skeleton */
.fc-row .fc-bgevent-skeleton,
.fc-row .fc-highlight-skeleton {
  bottom: 0; /* stretch skeleton to bottom of row */
}

.fc-row .fc-bgevent-skeleton table,
.fc-row .fc-highlight-skeleton table {
  height: 100%; /* stretch skeleton to bottom of row */
}

.fc-row .fc-highlight-skeleton td,
.fc-row .fc-bgevent-skeleton td {
  border-color: transparent;
}

.fc-row .fc-bgevent-skeleton {
  z-index: 2;
}

.fc-row .fc-highlight-skeleton {
  z-index: 3;
}

/*
row content (which contains day/week numbers and events) as well as "helper" (which contains
temporary rendered events).
*/
.fc-row .fc-content-skeleton {
  position: relative;
  z-index: 4;
  padding-bottom: 2px; /* matches the space above the events */
}

.fc-row .fc-helper-skeleton {
  z-index: 5;
}

.fc-row .fc-content-skeleton td,
.fc-row .fc-helper-skeleton td {
  /* see-through to the background below */
  background: none; /* in case <td>s are globally styled */
  border-color: transparent;
  /* don't put a border between events and/or the day number */
  border-bottom: 0;
}

.fc-row .fc-content-skeleton tbody td,
.fc-row .fc-helper-skeleton tbody td {
  /* don't put a border between event cells */
  border-top: 0;
}

/* Scrolling Container
--------------------------------------------------------------------------------------------------*/
.fc-scroller { /* this class goes on elements for guaranteed vertical scrollbars */
  overflow-y: scroll;
  overflow-x: hidden;
}

.fc-scroller > * { /* we expect an immediate inner element */
  position: relative; /* re-scope all positions */
  width: 100%; /* hack to force re-sizing this inner element when scrollbars appear/disappear */
  overflow: hidden; /* don't let negative margins or absolute positioning create further scroll */
}

/* Global Event Styles
--------------------------------------------------------------------------------------------------*/
.fc-event {
  position: relative; /* for resize handle and other inner positioning */
  display: block; /* make the <a> tag block */
  font-size: 0.85em;
  line-height: 1.3;
  border-radius: 3px;
  border: 1px solid #3a87ad; /* default BORDER color */
  background-color: #3a87ad; /* default BACKGROUND color */
  font-weight: normal; /* undo jqui's ui-widget-header bold */
}

/* overpower some of bootstrap's and jqui's styles on <a> tags */
.fc-event,
.fc-event:hover,
.ui-widget .fc-event {
  color: #fff; /* default TEXT color */
  text-decoration: none; /* if <a> has an href */
}

.fc-event[href],
.fc-event.fc-draggable {
  cursor: pointer; /* give events with links and draggable events a hand mouse pointer */
}

.fc-not-allowed,
.fc-not-allowed .fc-event { /* to override an event's custom cursor */
  cursor: not-allowed;
}

/* DayGrid events
----------------------------------------------------------------------------------------------------
We use the full "fc-day-grid-event" class instead of using descendants because the event won't
be a descendant of the grid when it is being dragged.
*/
.fc-day-grid-event {
  margin: 1px 2px 0; /* spacing between events and edges */
  padding: 0 1px;
}

/* events that are continuing to/from another week. kill rounded corners and butt up against edge */
.fc-ltr .fc-day-grid-event.fc-not-start,
.fc-rtl .fc-day-grid-event.fc-not-end {
  margin-left: 0;
  border-left-width: 0;
  padding-left: 1px; /* replace the border with padding */
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.fc-ltr .fc-day-grid-event.fc-not-end,
.fc-rtl .fc-day-grid-event.fc-not-start {
  margin-right: 0;
  border-right-width: 0;
  padding-right: 1px; /* replace the border with padding */
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.fc-day-grid-event > .fc-content { /* force events to be one-line tall */
  white-space: nowrap;
  overflow: hidden;
}

.fc-day-grid-event .fc-time {
  font-weight: bold;
}

/* resize handle (outside of fc-content, so can go outside of bounds) */
.fc-day-grid-event .fc-resizer {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 7px;
}

.fc-ltr .fc-day-grid-event .fc-resizer {
  right: -3px;
  cursor: e-resize;
}

.fc-rtl .fc-day-grid-event .fc-resizer {
  left: -3px;
  cursor: w-resize;
}

/* Event Limiting
--------------------------------------------------------------------------------------------------*/
/* "more" link that represents hidden events */
a.fc-more {
  margin: 1px 3px;
  font-size: 0.85em;
  cursor: pointer;
  text-decoration: none;
}

a.fc-more:hover {
  text-decoration: underline;
}

.fc-limited { /* rows and cells that are hidden because of a "more" link */
  display: none;
}

/* popover that appears when "more" link is clicked */
.fc-day-grid .fc-row {
  z-index: 1; /* make the "more" popover one higher than this */
}

.fc-more-popover {
  z-index: 2;
  width: 220px;
}

.fc-more-popover .fc-event-container {
  padding: 10px;
}

/* Toolbar
--------------------------------------------------------------------------------------------------*/
.fc-toolbar {
  text-align: center;
  margin-bottom: 0.5em;
}

.fc-toolbar .fc-left {
  float: left;
}

.fc-toolbar .fc-right {
  float: right;
}

.fc-toolbar .fc-center {
  display: inline-block;
}

/* the things within each left/right/center section */
.fc .fc-toolbar > * > * { /* extra precedence to override button border margins */
  float: left;
  margin-left: 0.75em;
}

/* the first thing within each left/center/right section */
.fc .fc-toolbar > * > :first-child { /* extra precedence to override button border margins */
  margin-left: 0;
}

/* title text */
.fc-toolbar h2 {
  margin: 0;
  font-size: 0.8em;
}

/* button layering (for border precedence) */
.fc-toolbar button {
  position: relative;
}

.fc-toolbar .fc-state-hover,
.fc-toolbar .ui-state-hover {
  z-index: 2;
}

.fc-toolbar .fc-state-down {
  z-index: 3;
}

.fc-toolbar .fc-state-active,
.fc-toolbar .ui-state-active {
  z-index: 4;
}

.fc-toolbar button:focus {
  z-index: 5;
}

/* View Structure
--------------------------------------------------------------------------------------------------*/
/* undo twitter bootstrap's box-sizing rules. normalizes positioning techniques */
/* don't do this for the toolbar because we'll want bootstrap to style those buttons as some pt */
.fc-view-container *,
.fc-view-container *:before,
.fc-view-container *:after {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

.fc-view,
.fc-view > table { /* so dragged elements can be above the view's main element */
  position: relative;
  z-index: 1;
}

/* BasicView
--------------------------------------------------------------------------------------------------*/
/* day row structure */
.fc-basicWeek-view .fc-content-skeleton,
.fc-basicDay-view .fc-content-skeleton {
  /* we are sure there are no day numbers in these views, so... */
  padding-top: 1px; /* add a pixel to make sure there are 2px padding above events */
  padding-bottom: 1em; /* ensure a space at bottom of cell for user selecting/clicking */
}

.fc-basic-view tbody .fc-row {
  min-height: 4em; /* ensure that all rows are at least this tall */
}

/* a "rigid" row will take up a constant amount of height because content-skeleton is absolute */
.fc-row.fc-rigid {
  overflow: hidden;
}

.fc-row.fc-rigid .fc-content-skeleton {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

/* week and day number styling */
.fc-basic-view .fc-week-number,
.fc-basic-view .fc-day-number {
  padding: 0 2px;
}

.fc-basic-view td.fc-week-number span,
.fc-basic-view td.fc-day-number {
  padding-top: 2px;
  padding-bottom: 2px;
}

.fc-basic-view .fc-week-number {
  text-align: center;
}

.fc-basic-view .fc-week-number span {
  /* work around the way we do column resizing and ensure a minimum width */
  display: inline-block;
  min-width: 1.25em;
}

.fc-ltr .fc-basic-view .fc-day-number {
  text-align: right;
}

.fc-rtl .fc-basic-view .fc-day-number {
  text-align: left;
}

.fc-day-number.fc-other-month {
  opacity: 0.3;
  filter: alpha(opacity=30); /* for IE */
  /* opacity with small font can sometimes look too faded
     might want to set the 'color' property instead
     making day-numbers bold also fixes the problem */
}

/* AgendaView all-day area
--------------------------------------------------------------------------------------------------*/
.fc-agenda-view .fc-day-grid {
  position: relative;
  z-index: 2; /* so the "more.." popover will be over the time grid */
}

.fc-agenda-view .fc-day-grid .fc-row {
  min-height: 3em; /* all-day section will never get shorter than this */
}

.fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton {
  padding-top: 1px; /* add a pixel to make sure there are 2px padding above events */
  padding-bottom: 1em; /* give space underneath events for clicking/selecting days */
}

/* TimeGrid axis running down the side (for both the all-day area and the slot area)
--------------------------------------------------------------------------------------------------*/
.fc .fc-axis { /* .fc to overcome default cell styles */
  vertical-align: middle;
  padding: 0 4px;
  white-space: nowrap;
}

.fc-ltr .fc-axis {
  text-align: right;
}

.fc-rtl .fc-axis {
  text-align: left;
}

.ui-widget td.fc-axis {
  font-weight: normal; /* overcome jqui theme making it bold */
}

/* TimeGrid Structure
--------------------------------------------------------------------------------------------------*/
.fc-time-grid-container,
.fc-time-grid { /* so slats/bg/content/etc positions get scoped within here */
  position: relative;
  z-index: 1;
}

.fc-time-grid {
  min-height: 100%; /* so if height setting is 'auto', .fc-bg stretches to fill height */
}

.fc-time-grid table { /* don't put outer borders on slats/bg/content/etc */
  border: 0 hidden transparent;
}

.fc-time-grid > .fc-bg {
  z-index: 1;
}

.fc-time-grid .fc-slats,
.fc-time-grid > hr { /* the <hr> AgendaView injects when grid is shorter than scroller */
  position: relative;
  z-index: 2;
}

.fc-time-grid .fc-bgevent-skeleton,
.fc-time-grid .fc-content-skeleton {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.fc-time-grid .fc-bgevent-skeleton {
  z-index: 3;
}

.fc-time-grid .fc-highlight-skeleton {
  z-index: 4;
}

.fc-time-grid .fc-content-skeleton {
  z-index: 5;
}

.fc-time-grid .fc-helper-skeleton {
  z-index: 6;
}

/* TimeGrid Slats (lines that run horizontally)
--------------------------------------------------------------------------------------------------*/
.fc-slats td {
  height: 1.5em;
  border-bottom: 0; /* each cell is responsible for its top border */
}

.fc-slats .fc-minor td {
  border-top-style: dotted;
}

.fc-slats .ui-widget-content { /* for jqui theme */
  background: none; /* see through to fc-bg */
}

/* TimeGrid Highlighting Slots
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-highlight-container { /* a div within a cell within the fc-highlight-skeleton */
  position: relative; /* scopes the left/right of the fc-highlight to be in the column */
}

.fc-time-grid .fc-highlight {
  position: absolute;
  left: 0;
  right: 0;
  /* top and bottom will be in by JS */
}

/* TimeGrid Event Containment
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-event-container,
.fc-time-grid .fc-bgevent-container { /* a div within a cell within the fc-bgevent-skeleton */
  position: relative;
}

.fc-ltr .fc-time-grid .fc-event-container { /* space on the sides of events for LTR (default) */
  margin: 0 2.5% 0 2px;
}

.fc-rtl .fc-time-grid .fc-event-container { /* space on the sides of events for RTL */
  margin: 0 2px 0 2.5%;
}

.fc-time-grid .fc-event,
.fc-time-grid .fc-bgevent {
  position: absolute;
  z-index: 1; /* scope inner z-index's */
}

.fc-time-grid .fc-bgevent {
  /* background events always span full width */
  left: 0;
  right: 0;
}

/* TimeGrid Event Styling
----------------------------------------------------------------------------------------------------
We use the full "fc-time-grid-event" class instead of using descendants because the event won't
be a descendant of the grid when it is being dragged.
*/
.fc-time-grid-event.fc-not-start { /* events that are continuing from another day */
  /* replace space made by the top border with padding */
  border-top-width: 0;
  padding-top: 1px;
  /* remove top rounded corners */
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.fc-time-grid-event.fc-not-end {
  /* replace space made by the top border with padding */
  border-bottom-width: 0;
  padding-bottom: 1px;
  /* remove bottom rounded corners */
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.fc-time-grid-event {
  overflow: hidden; /* don't let the bg flow over rounded corners */
}

.fc-time-grid-event > .fc-content { /* contains the time and title, but no bg and resizer */
  position: relative;
  z-index: 2; /* above the bg */
}

.fc-time-grid-event .fc-time,
.fc-time-grid-event .fc-title {
  padding: 0 1px;
}

.fc-time-grid-event .fc-time {
  font-size: 0.85em;
  white-space: nowrap;
}

.fc-time-grid-event .fc-bg {
  z-index: 1;
  background: #fff;
  opacity: 0.25;
  filter: alpha(opacity=25); /* for IE */
}

/* short mode, where time and title are on the same line */
.fc-time-grid-event.fc-short .fc-content {
  /* don't wrap to second line (now that contents will be inline) */
  white-space: nowrap;
}

.fc-time-grid-event.fc-short .fc-time,
.fc-time-grid-event.fc-short .fc-title {
  /* put the time and title on the same line */
  display: inline-block;
  vertical-align: top;
}

.fc-time-grid-event.fc-short .fc-time span {
  display: none; /* don't display the full time text... */
}

.fc-time-grid-event.fc-short .fc-time:before {
  content: attr(data-start); /* ...instead, display only the start time */
}

.fc-time-grid-event.fc-short .fc-time:after {
  content: " - "; /* seperate with a dash, wrapped in nbsp's */
}

.fc-time-grid-event.fc-short .fc-title {
  font-size: 0.85em; /* make the title text the same size as the time */
  padding: 0; /* undo padding from above */
}

/* resizer */
.fc-time-grid-event .fc-resizer {
  position: absolute;
  z-index: 3; /* above content */
  left: 0;
  right: 0;
  bottom: 0;
  height: 8px;
  overflow: hidden;
  line-height: 8px;
  font-size: 11px;
  font-family: monospace;
  text-align: center;
  cursor: s-resize;
}

.fc-time-grid-event .fc-resizer:after {
  content: "=";
}

#calendar {
  font-size: 1.3em;
}

div.fc-widget-header table thead tr th {
  background: #fed100;
  padding: 0.5em 0 0 0;
  text-transform: uppercase;
}

div.fc-day-grid-container div.fc-bg table tbody tr th.fc-today {
  border: solid 1px #f00;
}
div.fc-day-grid-container div.fc-bg table tbody tr td.fc-other-month {
  background: #f1f1f1;
}
div.fc-day-grid-container div.fc-content-skeleton table tbody tr td {
  border-right: solid 1px #dddddd;
}
div.fc-day-grid-container div.fc-content-skeleton table tbody tr td a.fc-day-grid-event {
  font-size: 1em;
}

.contenedor-config {
  background-color: white;
  width: 100%;
  background: white;
  border: none;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 6px;
  padding: 0.75rem;
  margin: 0 0 2rem;
  box-shadow: 0px 0px 5px 5px rgba(0, 0, 0, 0.03);
  box-sizing: border-box;
}
.contenedor-config button.tiny,
.contenedor-config .button.tiny {
  margin-left: 1.75rem;
}
.contenedor-config .form_change {
  background-color: transparent;
  color: #F79009;
  font-weight: 700;
}
.contenedor-config fieldset .row {
  margin-bottom: 1rem;
}
.contenedor-config fieldset legend {
  left: 0;
  top: 0;
}

@media screen and (max-width: 767px) {
  .companies-users-roles-fields-list li > div:first-child {
    width: 100% !important;
    padding: 1rem;
    box-sizing: border-box;
    display: block !important;
  }
}

@media screen and (max-width: 767px) {
  .companies-users-roles-fields-list li div .company-users-roles-remove-item {
    margin-top: 0.5rem !important;
    left: -3.5rem;
    margin-left: -1rem !important;
  }
}
@media screen and (max-width: 620px) {
  .companies-users-roles-fields-list li div .company-users-roles-remove-item {
    left: -2.5rem;
  }
}

.panel {
  border: none;
}
.panel.panel_mini, .panel.panel_info {
  padding: 1rem;
  font-size: calc(12px + (13 - 12) * (100vw - 400px) / (1920 - 400));
}
.panel.panel_mini p,
.panel.panel_mini ul,
.panel.panel_mini label, .panel.panel_info p,
.panel.panel_info ul,
.panel.panel_info label {
  font-size: calc(12px + (13 - 12) * (100vw - 400px) / (1920 - 400));
}
.panel.panel_info {
  background-color: #fcfbf3;
}

.inputXxsmall {
  width: 12% !important;
  max-width: 80px !important;
}

.inputXsmall {
  width: 20% !important;
  max-width: 200px !important;
}

.inputSmall {
  width: 30% !important;
  max-width: 300px !important;
}

.inputMedium {
  width: 50% !important;
  max-width: 400px !important;
}

.inputLarge {
  width: 80% !important;
  max-width: 500px !important;
}

.inputXlarge {
  width: 100% !important;
  max-width: 600px !important;
}

.reveal-modal .inputXxsmall input[type=text],
.reveal-modal .inputXxsmall input[type=password],
.reveal-modal .inputXxsmall input[type=email],
.reveal-modal .inputXxsmall input[type=search],
.reveal-modal .inputXxsmall input[type=url],
.reveal-modal .inputXxsmall textarea,
.reveal-modal .inputXxsmall .dataTables_length label select,
.reveal-modal .inputXsmall input[type=text],
.reveal-modal .inputXsmall input[type=password],
.reveal-modal .inputXsmall input[type=email],
.reveal-modal .inputXsmall input[type=search],
.reveal-modal .inputXsmall input[type=url],
.reveal-modal .inputXsmall textarea,
.reveal-modal .inputXsmall .dataTables_length label select,
.reveal-modal .inputSmall input[type=text],
.reveal-modal .inputSmall input[type=password],
.reveal-modal .inputSmall input[type=email],
.reveal-modal .inputSmall input[type=search],
.reveal-modal .inputSmall input[type=url],
.reveal-modal .inputSmall textarea,
.reveal-modal .inputSmall .dataTables_length label select,
.reveal-modal .inputMedium input[type=text],
.reveal-modal .inputMedium input[type=password],
.reveal-modal .inputMedium input[type=email],
.reveal-modal .inputMedium input[type=search],
.reveal-modal .inputMedium input[type=url],
.reveal-modal .inputMedium textarea,
.reveal-modal .inputMedium .dataTables_length label select,
.reveal-modal .inputLarge input[type=text],
.reveal-modal .inputLarge input[type=password],
.reveal-modal .inputLarge input[type=email],
.reveal-modal .inputLarge input[type=search],
.reveal-modal .inputLarge input[type=url],
.reveal-modal .inputLarge textarea,
.reveal-modal .inputLarge .dataTables_length label select,
.reveal-modal .inputXlarge input[type=text],
.reveal-modal .inputXlarge input[type=password],
.reveal-modal .inputXlarge input[type=email],
.reveal-modal .inputXlarge input[type=search],
.reveal-modal .inputXlarge input[type=url],
.reveal-modal .inputXlarge textarea,
.reveal-modal .inputXlarge .dataTables_length label select {
  width: 100%;
  border: 1px solid #B7BECB;
  box-sizing: border-box;
  border-radius: 4px;
  font-family: "Roboto";
  font-weight: 400;
  font-size: 16px;
  line-height: 112%;
  color: #464C56;
}

/* filtros listados */
.JSformFilters input.inputXxsmall {
  min-width: 50px;
}
.JSformFilters input.inputXsmall {
  min-width: 100px;
}
.JSformFilters input.inputSmall {
  min-width: 150px;
}
.JSformFilters input.inputMedium {
  min-width: 350px;
}
.JSformFilters input.inputLarge {
  min-width: 500px;
}

/*deshabilitado*/
.disabled {
  color: #9da5ad;
}

/*texto ayuda*/
.help-text {
  color: #9da5ad;
  display: block;
  width: 100%;
  font-size: 11px;
  line-height: 1;
  margin: 0.5rem 0;
  text-transform: none;
}

input[type=text][readonly].plaintext {
  display: block;
  width: 100%;
  padding-top: 0.375rem;
  padding-left: 0;
  padding-bottom: 0.375rem;
  margin-bottom: 0;
  line-height: 1.5;
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0;
}

input[type=url] {
  width: inherit;
}

.grupo-icono {
  position: relative;
  display: flex;
}
.grupo-icono .grupo-input-prepend {
  margin-right: -1px;
  display: flex;
}
.grupo-icono .grupo-input-prepend > .grupo-input-text {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  color: #FFFFFF;
  background-color: #074C71;
}
.grupo-icono .grupo-input-prepend > .grupo-input-text:hover {
  background: #074C71;
  color: white;
  border-color: #074C71;
}
.grupo-icono .grupo-input-prepend > .grupo-input-text:hover a {
  color: white;
}
.grupo-icono .grupo-input-prepend > .grupo-input-text a {
  color: #074C71;
}
.grupo-icono .grupo-input-prepend > .grupo-input-text a .fi {
  color: #FFFFFF;
}
.grupo-icono .grupo-input-append {
  margin-left: -1px;
  display: flex;
}
.grupo-icono .grupo-input-append > .grupo-input-text {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  color: #495057;
  background-color: white;
  border: 1px solid #ccc;
}
.grupo-icono .grupo-input-append > .grupo-input-text:hover {
  background: #074C71;
  color: white;
  border-color: #074C71;
}
.grupo-icono .grupo-input-append > .grupo-input-text:hover a {
  color: white;
}
.grupo-icono .grupo-input-append > .grupo-input-text a {
  color: #074C71;
}
.grupo-icono .grupo-input-append > .grupo-input-text a .fi {
  color: #FFFFFF;
}
.grupo-icono .grupo-input-text {
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0.375rem 0.75rem;
  margin-bottom: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 0;
  text-align: center;
  white-space: nowrap;
  border-radius: 0.25rem;
}
.grupo-icono .grupo-input-text:hover a .fa {
  color: white;
}

.grupo-input input[type=color] {
  min-height: 36px;
}
.grupo-input .colorpick-eyedropper-input-trigger {
  float: left;
  margin: 0.5rem 0;
}
.grupo-input select {
  display: block;
  min-height: 1.5rem;
  padding: 0.5rem 1rem;
  border: 1px solid #999;
  border-radius: 1px;
  width: 100%;
  font-size: calc(12px + (16 - 12) * (100vw - 400px) / (1920 - 400));
  -moz-appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
  appearance: none;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAh0lEQVQ4T93TMQrCUAzG8V9x8QziiYSuXdzFC7h4AcELOPQAdXYovZCHEATlgQV5GFTe1ozJlz/kS1IpjKqw3wQBVyy++JI0y1GTe7DCBbMAckeNIQKk/BanALBB+16LtnDELoMcsM/BESDlz2heDR3WePwKSLo5eoxz3z6NNcFD+vu3ij14Aqz/DxGbKB7CAAAAAElFTkSuQmCC) no-repeat 98% center;
}

.form-group.row {
  margin-bottom: 1rem;
}

/*input file*/
.subir-archivo {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 40px;
  margin-bottom: 0;
}
.subir-archivo .subir-archivo-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 40px;
  margin: 0;
  opacity: 0;
}
.subir-archivo .subir-archivo-label {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  padding: 0.5rem 0.75rem;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  border: 1px solid #ccc;
}
.subir-archivo .subir-archivo-label::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: block;
  padding: 0.5rem 0.75rem;
  line-height: 1.5;
  color: #495057;
  content: "Seleccionar archivo";
  background-color: #e9ecef;
  border-left: 1px solid #ced4da;
  border-radius: 0 0.25rem 0.25rem 0;
}

/*radios y checks*/
.grupo-checkbox p,
.grupo-radio p {
  font-size: calc(12px + (13 - 12) * (100vw - 400px) / (1920 - 400));
  line-height: 2;
  padding-right: 0.5rem;
  margin: 0;
}

.custom-checkbox,
.custom-radio {
  position: relative;
  display: inline-block;
  padding-left: 1.5rem;
  margin-top: 1rem;
}
.custom-checkbox label,
.custom-radio label {
  margin-bottom: 0;
  line-height: 2.5;
}
.custom-checkbox label:before,
.custom-radio label:before {
  border-radius: 0.25rem;
  position: absolute;
  top: 0.5rem;
  left: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  pointer-events: none;
  content: "";
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-color: #dee2e6;
}
.custom-checkbox label:after,
.custom-radio label:after {
  position: absolute;
  top: 0.5rem;
  left: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50% 50%;
}
.custom-checkbox input[type=checkbox],
.custom-checkbox input[type=radio],
.custom-radio input[type=checkbox],
.custom-radio input[type=radio] {
  box-sizing: border-box;
  padding: 0;
  position: absolute;
  margin: 0;
  z-index: -1;
  opacity: 0;
}
.custom-checkbox input[type=checkbox]:checked ~ label::before,
.custom-checkbox input[type=radio]:checked ~ label::before,
.custom-radio input[type=checkbox]:checked ~ label::before,
.custom-radio input[type=radio]:checked ~ label::before {
  background-color: #074C71;
}
.custom-checkbox input[type=checkbox]:disabled ~ label::before,
.custom-checkbox input[type=radio]:disabled ~ label::before,
.custom-radio input[type=checkbox]:disabled ~ label::before,
.custom-radio input[type=radio]:disabled ~ label::before {
  background-color: #f4f5f6;
}
.custom-checkbox input[type=checkbox]:checked ~ label::after,
.custom-checkbox input[type=radio]:checked ~ label::after,
.custom-radio input[type=checkbox]:checked ~ label::after,
.custom-radio input[type=radio]:checked ~ label::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3E%3Cpath fill=%27%23fff%27 d=%27M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z%27/%3E%3C/svg%3E");
}

.custom-radio label:before {
  border-radius: 50%;
}
.custom-radio input[type=radio]:checked ~ label::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3E%3Ccircle r=%273%27 fill=%27%23fff%27/%3E%3C/svg%3E");
}

/*FORMULARIO EN LINEA*/
.fila_grupo_campos {
  overflow: hidden;
  width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
}
.fila_grupo_campos .grupo_campos {
  display: inline-block;
  margin: 0 1rem 2rem 0;
  flex: auto;
  max-width: 500px;
}
.fila_grupo_campos .grupo_campos.single-item {
  align-self: flex-end;
}
.fila_grupo_campos .grupo_campos.single-item .mensaje-feedback {
  left: 2rem;
}
.fila_grupo_campos .grupo_campos label {
  display: block;
}
.fila_grupo_campos .grupo_campos input {
  display: block;
}
.fila_grupo_campos .grupo_campos .help-text {
  position: absolute;
  width: auto;
}

/*validación*/
.required-fields {
  font-size: 11px;
  text-align: right;
  margin: 0;
  padding: 0;
  display: none;
}

.required-item {
  color: red;
  display: inline-block;
  font-size: 14px;
  line-height: 1;
}

.mensaje-feedback {
  font-size: 11px;
  text-align: left;
  display: block;
  /*position: absolute; bottom: -20px;*/
  display: none;
}

.no-validado {
  position: relative;
}
.no-validado .mensaje-feedback {
  color: red;
  display: block;
}
.no-validado .help-text {
  display: none;
}
.no-validado input:required {
  border: 1px solid red !important;
}
.no-validado .grupo-input-append > .grupo-input-text {
  color: #cc0000;
  background-color: transparent;
}
.no-validado .grupo-input-append > .grupo-input-text a {
  color: #cc0000;
}
.no-validado.single-item label {
  color: black;
}
.no-validado.single-item a {
  color: black;
  font-weight: bold;
}
.no-validado .grupo-radio p,
.no-validado .grupo-checkbox p {
  color: #cc0000;
}
.no-validado input[type=text],
.no-validado input[type=number],
.no-validado input[type=email],
.no-validado select {
  background-color: rgb(232, 240, 254) !important;
}
.no-validado .select2-container--default .select2-selection--single,
.no-validado .select2-container--default .select2-selection--multiple {
  background-color: rgb(232, 240, 254) !important;
}
.no-validado a.newRelObject {
  color: rgb(109, 109, 109) !important;
  background-color: rgb(232, 240, 254) !important;
}
.no-validado .select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: white;
}

.filter_element #filtro_Empresa_fechaAlta,
.filter_element #filtro_Empresa_fechaBaja {
  margin-right: 0.5rem;
}
@media screen and (max-width: 619px) {
  .filter_element #filtro_Empresa_fechaAlta,
.filter_element #filtro_Empresa_fechaBaja {
    margin-bottom: 0.75rem;
  }
}

.filter_element.no-validado .form_change {
  font-weight: 700;
}

.validado {
  position: relative;
  display: block;
}
.validado .mensaje-feedback {
  color: green;
}
.validado .help-text {
  display: none;
}
.validado input:required {
  border: 1px solid green !important;
}
.validado .grupo-input-prepend > .grupo-input-text {
  border: 1px solid green;
  color: green;
  background-color: transparent;
}
.validado .grupo-input-append > .grupo-input-text {
  border: 1px solid green;
  color: green;
  background-color: transparent;
}
.validado .grupo-input-append > .grupo-input-text a {
  color: green;
}
.validado.single-item label {
  color: green;
}
.validado.single-item a {
  color: green;
  font-weight: bold;
}
.validado .grupo-radio p,
.validado .grupo-checkbox p {
  color: green;
}

.dropzone.dz-started .dz-message {
  display: block;
}

.dropzone {
  display: block;
}
.dropzone.dz-clickable:before {
  content: "";
  display: block;
  clear: both;
  width: 220px;
  height: 40px;
  background: url(/build/images/ico-subir.a3faee1f.png) no-repeat center top;
  background-size: auto 40px;
  display: block;
  margin: 1rem auto 0;
  text-align: center;
  opacity: 0.3;
  overflow: hidden;
}
.dropzone.dropzone.dz-started.dz-message {
  display: block !important;
}
.dropzone .dz-message button.dz-button,
.dropzone .dz-message button.dz-button:hover {
  background-color: transparent;
  color: #535353;
}
.dropzone .dz-preview {
  position: relative;
  background-color: #fcfcfc !important;
  display: block;
  vertical-align: top;
  margin: 0;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
  padding: 0 15px;
  float: left;
  width: 100%;
  margin: 2rem 0 1rem;
}
@media screen and (min-width: 920px) and (max-width: 1200px) {
  .dropzone .dz-preview {
    width: calc(25% - 10px);
    margin: 3rem 10px 0 0;
  }
}
@media screen and (min-width: 1200px) and (max-width: 1600px) {
  .dropzone .dz-preview {
    width: calc(33.33% - 10px);
    margin: 3rem 10px 0 0;
  }
}
@media screen and (min-width: 1601px) {
  .dropzone .dz-preview {
    width: calc(25% - 10px);
    margin: 3rem 10px 0 0;
  }
}
.dropzone .dz-preview .dz-image {
  cursor: pointer;
  position: relative;
  min-height: 140px;
  max-width: 25%;
  left: 0;
  float: left;
}
.dropzone .dz-preview .dz-image img,
.dropzone .dz-preview .dz-image i {
  cursor: pointer;
  top: 50%;
  transform: translate(0, -50%);
  right: 0;
  left: 0;
  object-fit: cover;
  margin: 0 auto;
}
.dropzone .dz-preview .dz-image i:before {
  font-size: 60px;
  color: #bbbbbb;
}
.dropzone .dz-preview .dz-edit,
.dropzone .dz-preview .dz-remove,
.dropzone .dz-preview .filedownload {
  bottom: 0;
  margin: 0 0 1rem 1rem;
  color: #074C71;
}
.dropzone .dz-preview .dz-edit:hover,
.dropzone .dz-preview .dz-remove:hover,
.dropzone .dz-preview .filedownload:hover {
  color: rgb(100, 100, 100);
}
.dropzone .dz-preview .dz-details {
  width: auto;
  margin: 1rem 0 3rem 2%;
  padding-bottom: 2rem;
  border-bottom: 1px dashed rgba(0, 0, 0, 0.15);
  display: block;
  max-width: 73%;
  overflow: hidden;
  overflow: hidden;
}
.dropzone .dz-preview .dz-details span {
  padding: 0 !important;
}
.dropzone .dz-preview .dz-details .dz-filename {
  font-size: 120%;
  text-align: left;
  white-space: pre-wrap;
}
.dropzone .dz-preview .dz-details .dz-size {
  float: left;
  max-width: auto !important;
  text-align: left;
}
.dropzone .dz-preview .dz-details .dz-size span {
  display: block;
}
.dropzone + .clearfix {
  overflow: hidden;
  width: 100%;
  display: block;
}

.dz-max-files-reached {
  pointer-events: none;
  border: 0;
  height: 0;
}
.dz-max-files-reached .dz-message {
  display: none !important;
}
.dz-max-files-reached .dz-preview {
  pointer-events: initial;
}

.dz-max-files-reached::before {
  display: none !important;
}

.switch-field {
  display: flex;
  margin-bottom: 36px;
  overflow: hidden;
}
.switch-field input {
  position: absolute !important;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  width: 1px;
  border: 0;
  overflow: hidden;
}
.switch-field label {
  background-color: #e4e4e4;
  color: rgba(0, 0, 0, 0.6);
  font-size: 14px;
  line-height: 1;
  text-align: center;
  padding: 8px 16px;
  margin: 0 -1px 0 0;
  border: 1px solid rgba(0, 0, 0, 0.2);
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px rgba(255, 255, 255, 0.1);
  transition: all 0.1s ease-in-out;
}
.switch-field input + label {
  margin: 0 0 0 -1px;
}
.switch-field label:hover {
  cursor: pointer;
}
.switch-field input:checked + label {
  background-color: #000;
  color: white;
  box-shadow: none;
  margin: 0;
}
.switch-field label:first-of-type {
  border-radius: 4px 0 0 4px;
  margin-left: 0;
}
.switch-field label:last-of-type {
  border-radius: 0 4px 4px 0;
}
.switch-field.input-onoff label:first-of-type {
  border-radius: 50px 0 0 50px;
}
.switch-field.input-onoff label:last-of-type {
  border-radius: 0 50px 50px 0;
}
.switch-field.input-onoff input:first-of-type:checked + label {
  background-color: #00b894;
}
.switch-field.input-onoff input:last-of-type:checked + label {
  background-color: #d63031;
}
.switch-field.input-onoff label.input-onoff:last-of-type {
  border-radius: 0 50px 50px 0;
}

.slidecontainer {
  width: 100%;
  max-width: 768px;
}
.slidecontainer span.slide-from {
  float: left;
  display: inline-block;
  margin: 0 0.5rem;
}
.slidecontainer span.slide-to {
  float: right;
}
.slidecontainer .slider {
  -webkit-appearance: none;
  width: 100%;
  height: 15px;
  border-radius: 5px;
  background: #d3d3d3;
  outline: none;
  opacity: 0.7;
  -webkit-transition: 0.2s;
  transition: opacity 0.2s;
}
.slidecontainer .slider:hover {
  opacity: 1;
}
.slidecontainer .slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #000;
  cursor: pointer;
}
.slidecontainer .slider::-moz-range-thumb {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #000;
  cursor: pointer;
}

.onoffswitch {
  position: relative;
  width: 80px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
.onoffswitch input[type=checkbox] + label,
.onoffswitch .onoffswitch input[type=radio] + label {
  padding: 0;
}
.onoffswitch input[type=checkbox] + label,
.onoffswitch input[type=radio] + label {
  cursor: pointer;
  display: block;
  margin-left: 0;
  margin-right: 0;
}
.onoffswitch input[type=checkbox]:disabled + label,
.onoffswitch input[type=radio]:disabled + label {
  cursor: default;
}
.onoffswitch .onoffswitch-checkbox {
  display: none;
}
.onoffswitch .onoffswitch-label {
  display: block;
  overflow: hidden;
  cursor: pointer;
  border-radius: 20px;
}
.onoffswitch .onoffswitch-inner {
  display: block;
  width: 200%;
  margin-left: -100%;
  transition: margin 0.3s ease-in 0s;
}
.onoffswitch .onoffswitch-inner:before,
.onoffswitch .onoffswitch-inner:after {
  display: block;
  float: left;
  width: 50%;
  height: 38px;
  padding: 0;
  line-height: 38px;
  font-size: 14px;
  color: white;
  font-family: Trebuchet, Arial, sans-serif;
  font-weight: bold;
  box-sizing: border-box;
}
.onoffswitch .onoffswitch-inner:before {
  content: "SÍ";
  padding-left: 16px;
  background-color: #00B894;
  color: #fff;
}
.onoffswitch .onoffswitch-inner:after {
  content: "NO";
  padding-right: 10px;
  background-color: #eee;
  color: #999;
  text-align: right;
}
.onoffswitch .onoffswitch-switch {
  display: block;
  width: 28px;
  margin: 5px;
  background: #FFF;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 40px;
  border: 1px solid #ccc;
  border-radius: 20px;
  transition: all 0.3s ease-in 0s;
}
.onoffswitch .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
  margin-left: 0;
}
.onoffswitch .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
  right: 0;
}
.onoffswitch .onoffswitch-checkbox:not(:checked) + .onoffswitch-label .onoffswitch-switch {
  left: 0;
}

.reveal-modal .row .columns label.onoffswitch-label {
  padding: 0;
}

label.multiple-check {
  display: inline-block;
}

.materialonoff {
  position: relative;
  width: 55px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
.materialonoff input[type=checkbox] + label,
.materialonoff input[type=radio] + label {
  display: block;
  margin: 0;
}
.materialonoff .materialonoff-checkbox {
  display: none;
}
.materialonoff .materialonoff-label {
  display: block;
  overflow: hidden;
  cursor: pointer;
  height: 20px;
  padding: 0;
  line-height: 20px;
  border: 0px solid #FFF;
  border-radius: 30px;
  background-color: #9E9E9E;
}
.materialonoff .materialonoff-label:before {
  content: "";
  display: block;
  width: 30px;
  margin: -5px;
  background: #FFF;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 31px;
  border-radius: 30px;
  box-shadow: 0 6px 12px 0px #757575;
}
.materialonoff .materialonoff-checkbox:checked + .materialonoff-label,
.materialonoff input[type=checkbox]:checked + label,
.materialonoff input[type=radio]:checked + label {
  background-color: #42A5F5;
  margin: 0;
}
.materialonoff .materialonoff-checkbox:checked + .materialonoff-label,
.materialonoff .materialonoff-checkbox:checked + .materialonoff-label:before {
  border-color: #42A5F5;
}
.materialonoff .materialonoff-checkbox:checked + .materialonoff-label .materialonoff-inner {
  margin-left: 0;
}
.materialonoff .materialonoff-checkbox:checked + .materialonoff-label:before {
  right: 0px;
  background-color: #2196F3;
  box-shadow: 3px 6px 18px 0px rgba(0, 0, 0, 0.2);
}

.hidden {
  display: none;
}

div[id*=tab_Alojamiento] #capaopciones .eliminarRegistros,
[id*=tab_Alojamiento] #capaopciones .seleccionarTodos,
[id*=tab_Alojamiento] #capaopciones .deseleccionarTodos,
[id*=tab_Alojamiento] #capaopciones .exportarExcel {
  display: none !important;
}

form[data-rel-table=oTableAlojamiento] fieldset legend {
  cursor: pointer;
}

/*form[data-rel-table="oTableAlojamiento"] fieldset legend:not(.activo)::after { display:inline-block; font-family: FontAwesome; font-size:16px; content: "\f01a"; font-weight: bold; width:15px; margin-left: 15px; }
        form[data-rel-table="oTableAlojamiento"] fieldset legend.activo::after { display:inline-block; font-family: FontAwesome; font-size:16px; content: "\f01b"; font-weight: bold; width:15px; margin-left: 15px; }*/
form[data-rel-table=oTableAlojamiento] fieldset:nth-child(1) .filter_element:first-of-type .select2:first-of-type {
  min-width: unset !important;
  width: 100px !important;
}

form[data-rel-table=oTableAlojamiento] fieldset:nth-child(3) .filter_element:first-of-type .select2:first-of-type {
  min-width: unset !important;
  width: 100px !important;
}

form[data-rel-table=oTableAlojamiento] fieldset:nth-child(4) .filter_element .select2 {
  min-width: unset !important;
  width: 100px !important;
}

form[data-rel-table=oTableAlojamiento] fieldset:nth-child(5) .filter_element .select2 {
  min-width: unset !important;
  width: 100px !important;
}

.alojamientos {
  display: flex;
  flex-direction: row;
}
@media screen and (max-width: 767px) {
  .alojamientos {
    flex-wrap: wrap;
    flex-direction: column;
  }
}
.alojamientos .filtros-alojamientos {
  flex: 1;
}
@media screen and (min-width: 768px) {
  .alojamientos .filtros-alojamientos {
    flex: 20%;
    margin-right: -1px;
    max-width: 280px;
  }
}
.alojamientos .filtros-alojamientos ul {
  display: flex;
  margin: 0 0 1rem;
  padding: 0;
  flex-direction: column;
  border-top: 1px solid #dcdcdc;
}
@media screen and (min-width: 768px) {
  .alojamientos .filtros-alojamientos ul {
    position: relative;
    z-index: 2;
  }
}
.alojamientos .filtros-alojamientos ul li {
  margin-right: 1rem;
  border: 1px solid #dcdcdc;
  border-top: none;
  display: block;
  width: 100%;
  background-color: #F7F7F7;
}
.alojamientos .filtros-alojamientos ul li.activo {
  border-left: 4px solid #074C71;
  background-color: white;
}
@media screen and (min-width: 768px) {
  .alojamientos .filtros-alojamientos ul li.activo {
    border-right-color: transparent;
  }
}
.alojamientos .filtros-alojamientos ul li a {
  text-transform: uppercase;
  color: black;
  display: flex;
  padding: 0.5rem 0.75rem;
  font-size: 0.85rem;
}
.alojamientos .filtros-alojamientos ul li a:hover {
  text-decoration: none;
  background-color: #fff;
}
.alojamientos .filtros-alojamientos ul li a::before {
  counter-increment: section;
  content: counter(section) ". ";
  padding-right: 0.5rem;
}
.alojamientos .alojamientos-formulario {
  flex: 1;
  border: 1px solid gainsboro;
  background-color: white;
}
@media screen and (min-width: 768px) {
  .alojamientos .alojamientos-formulario {
    flex: 70%;
    position: relative;
    z-index: 1;
  }
}
@media screen and (max-width: 767px) {
  .alojamientos .alojamientos-formulario .formFilterOptions {
    top: 0;
  }
}
.alojamientos .alojamientos-formulario label {
  line-height: 20px;
}
.alojamientos .tablaAlojamientos {
  padding: 2rem;
  margin: 0;
}
.alojamientos .tablaAlojamientos fieldset {
  background-color: white;
  padding: 1rem 0;
}
.alojamientos .tablaAlojamientos fieldset:not(:last-of-type) {
  border-bottom: 1px dashed #dcdcdc;
}
.alojamientos .tablaAlojamientos fieldset legend {
  text-transform: uppercase;
  color: black;
  font-weight: normal;
  font-size: 0.85rem;
  font-family: inherit;
  display: flex;
}

.swal2-styled.swal2-confirm {
  background-color: #074C71 !important;
}
.swal2-styled.swal2-cancel {
  background-color: #6e6e6e !important;
}

.swal2-html-container {
  font-size: 1em !important;
}

.swal2-icon.swal2-warning {
  border-color: #6e6e6e !important;
  color: #6e6e6e !important;
}

.menutab {
  display: none;
}

.eventIcon {
  margin: 0.2em 0.5em 0.2em 0.1em;
  float: left;
}

/*!
 * FullCalendar v2.2.7 Stylesheet
 * Docs & License: http://arshaw.com/fullcalendar/
 * (c) 2013 Adam Shaw
 */
.fc {
  direction: ltr;
  text-align: left;
}

.fc-rtl {
  text-align: right;
}

body .fc { /* extra precedence to overcome jqui */
  font-size: 1em;
}

/* Colors
--------------------------------------------------------------------------------------------------*/
.fc-unthemed th,
.fc-unthemed td,
.fc-unthemed hr,
.fc-unthemed thead,
.fc-unthemed tbody,
.fc-unthemed .fc-row,
.fc-unthemed .fc-popover {
  border-color: #ddd;
}

.fc-unthemed .fc-popover {
  background-color: #fff;
}

.fc-unthemed hr,
.fc-unthemed .fc-popover .fc-header {
  background: #eee;
}

.fc-unthemed .fc-popover .fc-header .fc-close {
  color: #666;
}

.fc-unthemed .fc-today {
  background: #fcf8e3;
}

.fc-highlight { /* when user is selecting cells */
  background: #bce8f1;
  opacity: 0.3;
  filter: alpha(opacity=30); /* for IE */
}

.fc-bgevent { /* default look for background events */
  background: rgb(143, 223, 130);
  opacity: 0.3;
  filter: alpha(opacity=30); /* for IE */
}

.fc-nonbusiness { /* default look for non-business-hours areas */
  /* will inherit .fc-bgevent's styles */
  background: #ccc;
}

/* Icons (inline elements with styled text that mock arrow icons)
--------------------------------------------------------------------------------------------------*/
.fc-icon {
  display: inline-block;
  font-size: 2em;
  line-height: 0.5em;
  height: 0.5em; /* will make the total height 1em */
  font-family: "Courier New", Courier, monospace;
}

.fc-icon-left-single-arrow:after {
  content: "‹";
  font-weight: bold;
}

.fc-icon-right-single-arrow:after {
  content: "›";
  font-weight: bold;
}

.fc-icon-left-double-arrow:after {
  content: "«";
}

.fc-icon-right-double-arrow:after {
  content: "»";
}

.fc-icon-x:after {
  content: "×";
}

/* Buttons (styled <button> tags, normalized to work cross-browser)
--------------------------------------------------------------------------------------------------*/
.fc button {
  /* force height to include the border and padding */
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* dimensions */
  margin: 0;
  height: 2.1em;
  padding: 0 0.6em;
  /* text & cursor */
  font-size: 0.6em; /* normalize */
  white-space: nowrap;
  cursor: pointer;
}

/* Firefox has an annoying inner border */
.fc button::-moz-focus-inner {
  margin: 0;
  padding: 0;
}

.fc-state-default { /* non-theme */
  border: 1px solid;
}

.fc-state-default.fc-corner-left { /* non-theme */
  /*	border-top-left-radius: 4px;
  	border-bottom-left-radius: 4px;*/
}

.fc-state-default.fc-corner-right { /* non-theme */
  /*	border-top-right-radius: 4px;
  	border-bottom-right-radius: 4px;*/
}

/* icons in buttons */
.fc button .fc-icon { /* non-theme */
  position: relative;
  top: 0.05em; /* seems to be a good adjustment across browsers */
  margin: 0 0.1em;
}

/*
  button states
  borrowed from twitter bootstrap (http://twitter.github.com/bootstrap/)
*/
.fc-state-default {
  background-color: #f5f5f5;
  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
  background-repeat: repeat-x;
  border-color: #e6e6e6 #e6e6e6 #bfbfbf;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  color: #333;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
}

.fc-state-hover,
.fc-state-down,
.fc-state-active,
.fc-state-disabled {
  color: #333333;
  background-color: #e6e6e6;
}

.fc-state-hover {
  color: #333333;
  text-decoration: none;
  background-position: 0 -15px;
  -webkit-transition: background-position 0.1s linear;
  -moz-transition: background-position 0.1s linear;
  -o-transition: background-position 0.1s linear;
  transition: background-position 0.1s linear;
}

.fc-state-down,
.fc-state-active {
  background-color: #cccccc;
  background-image: none;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
}

.fc-state-disabled {
  cursor: default;
  background-image: none;
  opacity: 0.65;
  filter: alpha(opacity=65);
  box-shadow: none;
}

/* Buttons Groups
--------------------------------------------------------------------------------------------------*/
.fc-button-group {
  display: inline-block;
}

/*
every button that is not first in a button group should scootch over one pixel and cover the
previous button's border...
*/
.fc .fc-button-group > * { /* extra precedence b/c buttons have margin set to zero */
  float: left;
  margin: 0 0 0 -1px;
}

.fc .fc-button-group > :first-child { /* same */
  margin-left: 0;
}

/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-popover {
  position: absolute;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.fc-popover .fc-header {
  padding: 2px 4px;
}

.fc-popover .fc-header .fc-title {
  margin: 0 2px;
}

.fc-popover .fc-header .fc-close {
  cursor: pointer;
}

.fc-ltr .fc-popover .fc-header .fc-title,
.fc-rtl .fc-popover .fc-header .fc-close {
  float: left;
}

.fc-rtl .fc-popover .fc-header .fc-title,
.fc-ltr .fc-popover .fc-header .fc-close {
  float: right;
}

/* unthemed */
.fc-unthemed .fc-popover {
  border-width: 1px;
  border-style: solid;
}

.fc-unthemed .fc-popover .fc-header .fc-close {
  font-size: 25px;
  margin-top: 4px;
}

/* jqui themed */
.fc-popover > .ui-widget-header + .ui-widget-content {
  border-top: 0; /* where they meet, let the header have the border */
}

/* Misc Reusable Components
--------------------------------------------------------------------------------------------------*/
.fc hr {
  height: 0;
  margin: 0;
  padding: 0 0 2px; /* height is unreliable across browsers, so use padding */
  border-style: solid;
  border-width: 1px 0;
}

.fc-clear {
  clear: both;
}

.fc-bg,
.fc-bgevent-skeleton,
.fc-highlight-skeleton,
.fc-helper-skeleton {
  /* these element should always cling to top-left/right corners */
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.fc-bg {
  bottom: 0; /* strech bg to bottom edge */
}

.fc-bg table {
  height: 100%; /* strech bg to bottom edge */
}

/* Tables
--------------------------------------------------------------------------------------------------*/
.fc table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 1em; /* normalize cross-browser */
}

.fc th {
  text-align: center;
}

.fc th,
.fc td {
  border-style: solid;
  border-width: 1px;
  padding: 0;
  vertical-align: top;
}

.fc td.fc-today {
  border-style: double; /* overcome neighboring borders */
}

/* Fake Table Rows
--------------------------------------------------------------------------------------------------*/
.fc .fc-row { /* extra precedence to overcome themes w/ .ui-widget-content forcing a 1px border */
  /* no visible border by default. but make available if need be (scrollbar width compensation) */
  border-style: solid;
  border-width: 0;
}

.fc-row table {
  /* don't put left/right border on anything within a fake row.
     the outer tbody will worry about this */
  border-left: 0 hidden transparent;
  border-right: 0 hidden transparent;
  /* no bottom borders on rows */
  border-bottom: 0 hidden transparent;
}

.fc-row:first-child table {
  border-top: 0 hidden transparent; /* no top border on first row */
}

/* Day Row (used within the header and the DayGrid)
--------------------------------------------------------------------------------------------------*/
.fc-row {
  position: relative;
}

.fc-row .fc-bg {
  z-index: 1;
}

/* highlighting cells & background event skeleton */
.fc-row .fc-bgevent-skeleton,
.fc-row .fc-highlight-skeleton {
  bottom: 0; /* stretch skeleton to bottom of row */
}

.fc-row .fc-bgevent-skeleton table,
.fc-row .fc-highlight-skeleton table {
  height: 100%; /* stretch skeleton to bottom of row */
}

.fc-row .fc-highlight-skeleton td,
.fc-row .fc-bgevent-skeleton td {
  border-color: transparent;
}

.fc-row .fc-bgevent-skeleton {
  z-index: 2;
}

.fc-row .fc-highlight-skeleton {
  z-index: 3;
}

/*
row content (which contains day/week numbers and events) as well as "helper" (which contains
temporary rendered events).
*/
.fc-row .fc-content-skeleton {
  position: relative;
  z-index: 4;
  padding-bottom: 2px; /* matches the space above the events */
}

.fc-row .fc-helper-skeleton {
  z-index: 5;
}

.fc-row .fc-content-skeleton td,
.fc-row .fc-helper-skeleton td {
  /* see-through to the background below */
  background: none; /* in case <td>s are globally styled */
  border-color: transparent;
  /* don't put a border between events and/or the day number */
  border-bottom: 0;
}

.fc-row .fc-content-skeleton tbody td,
.fc-row .fc-helper-skeleton tbody td {
  /* don't put a border between event cells */
  border-top: 0;
}

/* Scrolling Container
--------------------------------------------------------------------------------------------------*/
.fc-scroller { /* this class goes on elements for guaranteed vertical scrollbars */
  overflow-y: scroll;
  overflow-x: hidden;
}

.fc-scroller > * { /* we expect an immediate inner element */
  position: relative; /* re-scope all positions */
  width: 100%; /* hack to force re-sizing this inner element when scrollbars appear/disappear */
  overflow: hidden; /* don't let negative margins or absolute positioning create further scroll */
}

/* Global Event Styles
--------------------------------------------------------------------------------------------------*/
.fc-event {
  position: relative; /* for resize handle and other inner positioning */
  display: block; /* make the <a> tag block */
  font-size: 0.85em;
  line-height: 1.3;
  border-radius: 3px;
  border: 1px solid #3a87ad; /* default BORDER color */
  background-color: #3a87ad; /* default BACKGROUND color */
  font-weight: normal; /* undo jqui's ui-widget-header bold */
}

/* overpower some of bootstrap's and jqui's styles on <a> tags */
.fc-event,
.fc-event:hover,
.ui-widget .fc-event {
  color: #fff; /* default TEXT color */
  text-decoration: none; /* if <a> has an href */
}

.fc-event[href],
.fc-event.fc-draggable {
  cursor: pointer; /* give events with links and draggable events a hand mouse pointer */
}

.fc-not-allowed,
.fc-not-allowed .fc-event { /* to override an event's custom cursor */
  cursor: not-allowed;
}

/* DayGrid events
----------------------------------------------------------------------------------------------------
We use the full "fc-day-grid-event" class instead of using descendants because the event won't
be a descendant of the grid when it is being dragged.
*/
.fc-day-grid-event {
  margin: 1px 2px 0; /* spacing between events and edges */
  padding: 0 1px;
}

/* events that are continuing to/from another week. kill rounded corners and butt up against edge */
.fc-ltr .fc-day-grid-event.fc-not-start,
.fc-rtl .fc-day-grid-event.fc-not-end {
  margin-left: 0;
  border-left-width: 0;
  padding-left: 1px; /* replace the border with padding */
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.fc-ltr .fc-day-grid-event.fc-not-end,
.fc-rtl .fc-day-grid-event.fc-not-start {
  margin-right: 0;
  border-right-width: 0;
  padding-right: 1px; /* replace the border with padding */
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.fc-day-grid-event > .fc-content { /* force events to be one-line tall */
  white-space: nowrap;
  overflow: hidden;
}

.fc-day-grid-event .fc-time {
  font-weight: bold;
}

/* resize handle (outside of fc-content, so can go outside of bounds) */
.fc-day-grid-event .fc-resizer {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 7px;
}

.fc-ltr .fc-day-grid-event .fc-resizer {
  right: -3px;
  cursor: e-resize;
}

.fc-rtl .fc-day-grid-event .fc-resizer {
  left: -3px;
  cursor: w-resize;
}

/* Event Limiting
--------------------------------------------------------------------------------------------------*/
/* "more" link that represents hidden events */
a.fc-more {
  margin: 1px 3px;
  font-size: 0.85em;
  cursor: pointer;
  text-decoration: none;
}

a.fc-more:hover {
  text-decoration: underline;
}

.fc-limited { /* rows and cells that are hidden because of a "more" link */
  display: none;
}

/* popover that appears when "more" link is clicked */
.fc-day-grid .fc-row {
  z-index: 1; /* make the "more" popover one higher than this */
}

.fc-more-popover {
  z-index: 2;
  width: 220px;
}

.fc-more-popover .fc-event-container {
  padding: 10px;
}

/* Toolbar
--------------------------------------------------------------------------------------------------*/
.fc-toolbar {
  text-align: center;
  margin-bottom: 0.5em;
}

.fc-toolbar .fc-left {
  float: left;
}

.fc-toolbar .fc-right {
  float: right;
}

.fc-toolbar .fc-center {
  display: inline-block;
}

/* the things within each left/right/center section */
.fc .fc-toolbar > * > * { /* extra precedence to override button border margins */
  float: left;
  margin-left: 0.75em;
}

/* the first thing within each left/center/right section */
.fc .fc-toolbar > * > :first-child { /* extra precedence to override button border margins */
  margin-left: 0;
}

/* title text */
.fc-toolbar h2 {
  margin: 0;
  font-size: 0.8em;
}

/* button layering (for border precedence) */
.fc-toolbar button {
  position: relative;
}

.fc-toolbar .fc-state-hover,
.fc-toolbar .ui-state-hover {
  z-index: 2;
}

.fc-toolbar .fc-state-down {
  z-index: 3;
}

.fc-toolbar .fc-state-active,
.fc-toolbar .ui-state-active {
  z-index: 4;
}

.fc-toolbar button:focus {
  z-index: 5;
}

/* View Structure
--------------------------------------------------------------------------------------------------*/
/* undo twitter bootstrap's box-sizing rules. normalizes positioning techniques */
/* don't do this for the toolbar because we'll want bootstrap to style those buttons as some pt */
.fc-view-container *,
.fc-view-container *:before,
.fc-view-container *:after {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

.fc-view,
.fc-view > table { /* so dragged elements can be above the view's main element */
  position: relative;
  z-index: 1;
}

/* BasicView
--------------------------------------------------------------------------------------------------*/
/* day row structure */
.fc-basicWeek-view .fc-content-skeleton,
.fc-basicDay-view .fc-content-skeleton {
  /* we are sure there are no day numbers in these views, so... */
  padding-top: 1px; /* add a pixel to make sure there are 2px padding above events */
  padding-bottom: 1em; /* ensure a space at bottom of cell for user selecting/clicking */
}

.fc-basic-view tbody .fc-row {
  min-height: 4em; /* ensure that all rows are at least this tall */
}

/* a "rigid" row will take up a constant amount of height because content-skeleton is absolute */
.fc-row.fc-rigid {
  overflow: hidden;
}

.fc-row.fc-rigid .fc-content-skeleton {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

/* week and day number styling */
.fc-basic-view .fc-week-number,
.fc-basic-view .fc-day-number {
  padding: 0 2px;
}

.fc-basic-view td.fc-week-number span,
.fc-basic-view td.fc-day-number {
  padding-top: 2px;
  padding-bottom: 2px;
}

.fc-basic-view .fc-week-number {
  text-align: center;
}

.fc-basic-view .fc-week-number span {
  /* work around the way we do column resizing and ensure a minimum width */
  display: inline-block;
  min-width: 1.25em;
}

.fc-ltr .fc-basic-view .fc-day-number {
  text-align: right;
}

.fc-rtl .fc-basic-view .fc-day-number {
  text-align: left;
}

.fc-day-number.fc-other-month {
  opacity: 0.3;
  filter: alpha(opacity=30); /* for IE */
  /* opacity with small font can sometimes look too faded
     might want to set the 'color' property instead
     making day-numbers bold also fixes the problem */
}

/* AgendaView all-day area
--------------------------------------------------------------------------------------------------*/
.fc-agenda-view .fc-day-grid {
  position: relative;
  z-index: 2; /* so the "more.." popover will be over the time grid */
}

.fc-agenda-view .fc-day-grid .fc-row {
  min-height: 3em; /* all-day section will never get shorter than this */
}

.fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton {
  padding-top: 1px; /* add a pixel to make sure there are 2px padding above events */
  padding-bottom: 1em; /* give space underneath events for clicking/selecting days */
}

/* TimeGrid axis running down the side (for both the all-day area and the slot area)
--------------------------------------------------------------------------------------------------*/
.fc .fc-axis { /* .fc to overcome default cell styles */
  vertical-align: middle;
  padding: 0 4px;
  white-space: nowrap;
}

.fc-ltr .fc-axis {
  text-align: right;
}

.fc-rtl .fc-axis {
  text-align: left;
}

.ui-widget td.fc-axis {
  font-weight: normal; /* overcome jqui theme making it bold */
}

/* TimeGrid Structure
--------------------------------------------------------------------------------------------------*/
.fc-time-grid-container,
.fc-time-grid { /* so slats/bg/content/etc positions get scoped within here */
  position: relative;
  z-index: 1;
}

.fc-time-grid {
  min-height: 100%; /* so if height setting is 'auto', .fc-bg stretches to fill height */
}

.fc-time-grid table { /* don't put outer borders on slats/bg/content/etc */
  border: 0 hidden transparent;
}

.fc-time-grid > .fc-bg {
  z-index: 1;
}

.fc-time-grid .fc-slats,
.fc-time-grid > hr { /* the <hr> AgendaView injects when grid is shorter than scroller */
  position: relative;
  z-index: 2;
}

.fc-time-grid .fc-bgevent-skeleton,
.fc-time-grid .fc-content-skeleton {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.fc-time-grid .fc-bgevent-skeleton {
  z-index: 3;
}

.fc-time-grid .fc-highlight-skeleton {
  z-index: 4;
}

.fc-time-grid .fc-content-skeleton {
  z-index: 5;
}

.fc-time-grid .fc-helper-skeleton {
  z-index: 6;
}

/* TimeGrid Slats (lines that run horizontally)
--------------------------------------------------------------------------------------------------*/
.fc-slats td {
  height: 1.5em;
  border-bottom: 0; /* each cell is responsible for its top border */
}

.fc-slats .fc-minor td {
  border-top-style: dotted;
}

.fc-slats .ui-widget-content { /* for jqui theme */
  background: none; /* see through to fc-bg */
}

/* TimeGrid Highlighting Slots
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-highlight-container { /* a div within a cell within the fc-highlight-skeleton */
  position: relative; /* scopes the left/right of the fc-highlight to be in the column */
}

.fc-time-grid .fc-highlight {
  position: absolute;
  left: 0;
  right: 0;
  /* top and bottom will be in by JS */
}

/* TimeGrid Event Containment
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-event-container,
.fc-time-grid .fc-bgevent-container { /* a div within a cell within the fc-bgevent-skeleton */
  position: relative;
}

.fc-ltr .fc-time-grid .fc-event-container { /* space on the sides of events for LTR (default) */
  margin: 0 2.5% 0 2px;
}

.fc-rtl .fc-time-grid .fc-event-container { /* space on the sides of events for RTL */
  margin: 0 2px 0 2.5%;
}

.fc-time-grid .fc-event,
.fc-time-grid .fc-bgevent {
  position: absolute;
  z-index: 1; /* scope inner z-index's */
}

.fc-time-grid .fc-bgevent {
  /* background events always span full width */
  left: 0;
  right: 0;
}

/* TimeGrid Event Styling
----------------------------------------------------------------------------------------------------
We use the full "fc-time-grid-event" class instead of using descendants because the event won't
be a descendant of the grid when it is being dragged.
*/
.fc-time-grid-event.fc-not-start { /* events that are continuing from another day */
  /* replace space made by the top border with padding */
  border-top-width: 0;
  padding-top: 1px;
  /* remove top rounded corners */
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.fc-time-grid-event.fc-not-end {
  /* replace space made by the top border with padding */
  border-bottom-width: 0;
  padding-bottom: 1px;
  /* remove bottom rounded corners */
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.fc-time-grid-event {
  overflow: hidden; /* don't let the bg flow over rounded corners */
}

.fc-time-grid-event > .fc-content { /* contains the time and title, but no bg and resizer */
  position: relative;
  z-index: 2; /* above the bg */
}

.fc-time-grid-event .fc-time,
.fc-time-grid-event .fc-title {
  padding: 0 1px;
}

.fc-time-grid-event .fc-time {
  font-size: 0.85em;
  white-space: nowrap;
}

.fc-time-grid-event .fc-bg {
  z-index: 1;
  background: #fff;
  opacity: 0.25;
  filter: alpha(opacity=25); /* for IE */
}

/* short mode, where time and title are on the same line */
.fc-time-grid-event.fc-short .fc-content {
  /* don't wrap to second line (now that contents will be inline) */
  white-space: nowrap;
}

.fc-time-grid-event.fc-short .fc-time,
.fc-time-grid-event.fc-short .fc-title {
  /* put the time and title on the same line */
  display: inline-block;
  vertical-align: top;
}

.fc-time-grid-event.fc-short .fc-time span {
  display: none; /* don't display the full time text... */
}

.fc-time-grid-event.fc-short .fc-time:before {
  content: attr(data-start); /* ...instead, display only the start time */
}

.fc-time-grid-event.fc-short .fc-time:after {
  content: " - "; /* seperate with a dash, wrapped in nbsp's */
}

.fc-time-grid-event.fc-short .fc-title {
  font-size: 0.85em; /* make the title text the same size as the time */
  padding: 0; /* undo padding from above */
}

/* resizer */
.fc-time-grid-event .fc-resizer {
  position: absolute;
  z-index: 3; /* above content */
  left: 0;
  right: 0;
  bottom: 0;
  height: 8px;
  overflow: hidden;
  line-height: 8px;
  font-size: 11px;
  font-family: monospace;
  text-align: center;
  cursor: s-resize;
}

.fc-time-grid-event .fc-resizer:after {
  content: "=";
}

#calendar {
  font-size: 1.3em;
}

div.fc-widget-header table thead tr th {
  background: #fed100;
  padding: 0.5em 0 0 0;
  text-transform: uppercase;
}

div.fc-day-grid-container div.fc-bg table tbody tr th.fc-today {
  border: solid 1px #f00;
}
div.fc-day-grid-container div.fc-bg table tbody tr td.fc-other-month {
  background: #f1f1f1;
}
div.fc-day-grid-container div.fc-content-skeleton table tbody tr td {
  border-right: solid 1px #dddddd;
}
div.fc-day-grid-container div.fc-content-skeleton table tbody tr td a.fc-day-grid-event {
  font-size: 1em;
}

#menuPrincipalTrigger, #menuMov {
  display: none;
}

@media only screen and (max-width: 920px) {
  .sidr-class-back,
.sidr-class-js-generated,
.sidr-class-user-data,
.sidr-class-divider,
.sidr-class-menu-icon,
.sidr-class-hide-for-large-up,
#menuBreadcrumbs {
    display: none !important;
  }
  .contenido-competencia:before {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    content: "";
    display: block;
    clear: both;
    background: transparent;
    opacity: 0;
    pointer-events: none;
    z-index: 110;
    transition: all 0.3s ease;
  }
  body.menuMov-open .contenido-competencia {
    pointer-events: none;
  }
  body.menuMov-open .contenido-competencia:before {
    opacity: 0.5;
  }
  body.menuMov-open {
    overflow: hidden;
    max-height: 100vh;
  }
  .sidr-class-visually-hidden {
    display: none;
  }
  #menuPrincipalTrigger {
    display: block;
    position: fixed;
    top: 1.3em;
    right: 1.5rem;
    width: 2.25em;
    height: 1em;
    opacity: 0;
    transition: all 0.5s cubic-bezier(0.6, 0, 0.4, 1);
    z-index: 112;
    pointer-events: none;
  }
}
@media only screen and (max-width: 920px) and (max-width: 1320px) {
  #menuPrincipalTrigger {
    opacity: 1;
    pointer-events: auto;
  }
}
@media only screen and (max-width: 920px) {
  #menuPrincipalTrigger #menuPrincipalTriggerInner {
    position: absolute;
    top: 50%;
    left: 0;
    bottom: auto;
    right: auto;
    width: 100%;
    height: 2px;
    margin-top: -0.05em;
    background: #000;
    transition: all 0.5s linear;
    background: linear-gradient(to right, #fff 0%, #fff 30%, #000 30%, #000 100%);
  }
  #menuPrincipalTrigger #menuPrincipalTriggerInner:before {
    position: absolute;
    top: -0.5em;
    left: 0;
    bottom: auto;
    right: auto;
    width: 100%;
    height: 100%;
    display: block;
    content: "";
    display: block;
    clear: both;
    background: #000;
    transition: all 0.75s cubic-bezier(0.6, 0, 0.4, 1);
    transform-origin: 0 0;
  }
  #menuPrincipalTrigger #menuPrincipalTriggerInner:after {
    position: absolute;
    top: auto;
    left: 0;
    bottom: -0.5em;
    right: auto;
    width: 100%;
    height: 100%;
    display: block;
    content: "";
    display: block;
    clear: both;
    background: #000;
    transition: all 0.75s cubic-bezier(0.6, 0, 0.4, 1);
    transform-origin: 0 100%;
  }
}
@media only screen and (max-width: 920px) {
  body.menuMov-open #menuPrincipalTrigger {
    top: 1.5em;
    right: 1rem;
  }
  body.menuMov-open #menuPrincipalTrigger #menuPrincipalTriggerInner {
    background: transparent;
  }
  body.menuMov-open #menuPrincipalTrigger #menuPrincipalTriggerInner:before {
    height: 105%;
    transform: rotateZ(45deg);
    background: #000;
    top: -1rem;
  }
  body.menuMov-open #menuPrincipalTrigger #menuPrincipalTriggerInner:after {
    height: 105%;
    transform: rotateZ(-45deg);
    background: #000;
  }
}
@media only screen and (max-width: 920px) {
  #header_info {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 3;
  }
}
@media only screen and (max-width: 920px) {
  .contenido-competencia {
    margin-top: 3.4rem;
  }
}
@media only screen and (max-width: 920px) {
  #menuMov.sidr {
    position: fixed;
    top: 3.4rem;
    height: calc(100% - 3.4rem);
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    z-index: 111;
    display: block;
    background: #074C71;
    /*menú ppal*/
  }
  #menuMov.sidr .sidr-class-not-click > a[data-level="0"] {
    opacity: 0.5;
  }
  #menuMov.sidr .sidr-class-not-click > a[data-level="0"]:after, #menuMov.sidr .sidr-class-not-click > a[data-level="0"]:before {
    content: "";
    display: block;
    clear: both;
    content: "-";
    display: inline-block;
    padding: 0 0.25rem;
  }
  #menuMov.sidr .sidr-class-has-dropdown .sidr-class-dropdown li:last-child {
    border: none;
  }
  #menuMov.sidr .sidr-class-has-dropdown .sidr-class-dropdown .sidr-class-user-langs {
    display: flex;
  }
  #menuMov.sidr .sidr-class-has-dropdown:last-of-type li:nth-last-child(3) {
    width: 70%;
    float: left;
    height: 54px;
  }
}
@media only screen and (max-width: 920px) and (max-width: 480px) {
  #menuMov.sidr .sidr-class-has-dropdown:last-of-type li:nth-last-child(3) {
    width: 65%;
  }
}
@media only screen and (max-width: 920px) {
  #menuMov.sidr .sidr-class-has-dropdown:last-of-type li:nth-last-child(3) a {
    text-transform: initial;
  }
}
@media only screen and (max-width: 920px) {
  #menuMov.sidr .sidr-class-has-dropdown:last-of-type li:nth-last-child(2) {
    width: 30%;
    float: left;
    height: 54px;
  }
}
@media only screen and (max-width: 920px) and (max-width: 480px) {
  #menuMov.sidr .sidr-class-has-dropdown:last-of-type li:nth-last-child(2) {
    width: 35%;
  }
}
@media only screen and (max-width: 920px) {
  #menuMov.sidr .sidr-class-has-dropdown:last-of-type li:nth-last-child(2) a {
    text-transform: initial;
  }
}
@media only screen and (max-width: 920px) {
  #menuMov.sidr .sidr-class-right li:last-child {
    border: none;
  }
  #menuMov.sidr .sidr-class-right .sidr-class-user-langs {
    border: none;
    display: flex;
    color: #074C71;
    background: #074C71;
  }
  #menuMov.sidr .sidr-class-right .sidr-class-not-click .sidr-class-dropdown li > a[data-id="2"] {
    position: relative;
  }
  #menuMov.sidr .sidr-class-right .sidr-class-not-click .sidr-class-dropdown li:has(> a[data-id="2"]):before {
    content: "\f5c7";
    font-family: uicons-regular-rounded !important;
    text-transform: none;
    line-height: 1;
    position: relative;
    top: 6px;
    color: #fff;
    float: left;
    margin: 1em 0;
    border-bottom: 1px solid #fff;
    display: block;
    width: calc(100% + 3rem);
    text-align: left;
    margin-left: -1.5rem;
    padding: 0 1.5rem 1.5rem;
  }
}
@media only screen and (max-width: 920px) {
  #menuMov.sidr.left {
    left: -100%;
    right: auto;
  }
}
@media only screen and (max-width: 920px) {
  #menuMov.sidr.right {
    left: auto;
    right: -100%;
  }
}
@media only screen and (max-width: 920px) {
  #menuMov.sidr .sidr-class-left li {
    padding: 0 1.5rem;
  }
}
@media only screen and (max-width: 920px) {
  #menuMov.sidr .sidr-class-right li .sidr-class-dropdown li {
    padding: 0 1.5rem;
  }
}
@media only screen and (max-width: 920px) {
  #menuMov.sidr ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    padding: 0;
  }
  #menuMov.sidr ul li {
    margin: 0;
    text-align: center;
    border-bottom: 1px solid #F2F4F7;
    background: linear-gradient(90deg, #074C71 0%, #007BB3 107.48%);
  }
  #menuMov.sidr ul li a, #menuMov.sidr ul li span {
    font-size: calc(16px + (18 - 16) * (100vw - 400px) / (1920 - 400));
    font-family: "Montserrat", sans-serif;
    padding: 1rem 0;
    width: 100%;
    display: inline-block;
    box-sizing: border-box;
    padding-left: 0;
    padding-right: 0;
    font-size: 16px;
    line-height: 1.25;
    color: white;
    transition: all 0.3s linear;
    font-weight: 400;
    text-align: left;
    text-transform: uppercase;
  }
  #menuMov.sidr ul li a:hover, #menuMov.sidr ul li span:hover {
    text-decoration: none;
  }
  #menuMov.sidr ul li .sidr-class-JSlogout:before {
    content: "\f565";
    font-family: uicons-regular-rounded !important;
    text-transform: none;
    line-height: 1;
    margin-right: 0.5rem;
    position: relative;
    top: 3px;
  }
  #menuMov.sidr ul.sidr-class-links {
    position: absolute;
    bottom: 1rem;
    left: 1rem;
    display: flex;
  }
  #menuMov.sidr ul.sidr-class-links a {
    margin-right: 1rem;
  }
}
.authenticator {
  overflow: hidden;
  display: flex;
  height: auto;
  min-height: calc(100vh - 70px);
}
.authenticator .login-formu {
  padding-top: 2rem;
  align-self: center;
}
.authenticator .login-formu .bloque-login {
  display: flex;
  margin: 0 auto;
  justify-content: space-between;
  float: none;
  box-shadow: 0px 0px 5px 5px rgba(0, 0, 0, 0.03);
  padding: 0;
  background: #FFFFFF;
}
@media screen and (max-width: 1023px) {
  .authenticator .login-formu .bloque-login {
    flex-wrap: wrap;
  }
}
.authenticator .login-formu .bloque-login:before {
  order: 2;
  content: "";
  border-right: 1px solid #B7BECB;
}
@media screen and (max-width: 1023px) {
  .authenticator .login-formu .bloque-login:before {
    border-bottom: 1px solid #B7BECB;
    border-right: 0;
    width: 100%;
  }
}
.authenticator .login-formu .bloque-login .formulario {
  width: 40%;
  display: flex;
  justify-content: space-around;
  align-items: baseline;
  padding: 32px;
  box-sizing: border-box;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {
  .authenticator .login-formu .bloque-login .formulario {
    width: 80%;
  }
}
@media screen and (max-width: 767px) {
  .authenticator .login-formu .bloque-login .formulario {
    width: 100%;
  }
}
.authenticator .login-formu .bloque-login .formulario .encabezado-login .titulo-encabezado {
  border-bottom: 1px solid #B7BECB;
  box-sizing: border-box;
  font-size: 26px;
  line-height: 1.5;
  font-weight: bold;
  padding-bottom: 0;
  margin-bottom: 2rem;
}
.authenticator .login-formu .bloque-login .formulario p, .authenticator .login-formu .bloque-login .formulario li {
  color: #555555;
}
.authenticator .login-formu .bloque-login .formulario .boton {
  padding: 1rem 1.5rem;
  margin: 0 0 1em 0;
  width: 100%;
  border-radius: 1px;
  color: #074C71;
  font-size: 16px;
  text-align: center;
  text-transform: uppercase;
  display: flex;
  justify-content: center;
  border: 1px solid #074C71;
}
.authenticator .login-formu .bloque-login .formulario .boton:hover {
  background-color: #074C71;
  color: #FFFFFF;
}
.authenticator .login-formu .bloque-login .formulario input[value=Ingresar] {
  background-color: #074C71;
  padding: 1rem 1.5rem;
  margin: 1em 0;
  width: 100%;
  border-radius: 1px;
  color: #FFFFFF;
  font-size: 16px;
  text-align: center;
  text-transform: uppercase;
  border: 1px solid #074C71;
  /*&:hover {
      background-color: transparent;
      color: $colorAdmin;
  }*/
}
.authenticator .login-formu .bloque-login .content-left {
  order: 1;
}
.authenticator .login-formu .bloque-login .content-right {
  order: 3;
}
.authenticator .login-formu .bloque-login .content-right form {
  height: auto;
  display: block;
}
.authenticator .login-formu .bloque-login .content-right form label {
  font-size: 1rem;
}
.authenticator .login-formu .bloque-login .content-right form input[type=text] {
  height: 40px;
}
.authenticator .login-formu .bloque-login .content-right .divider {
  text-align: center;
  height: auto;
  display: flex;
}
.authenticator .login-formu .bloque-login .content-right .divider .content {
  padding: 0 0.5em;
}
.authenticator .login-formu .bloque-login .content-right .divider .filler {
  border-bottom: 1px solid;
  width: 50%;
  box-sizing: border-box;
  height: 20px;
}
.authenticator .login-formu .bloque-login .content-right .divider .filler .divider-line {
  display: none;
}
.authenticator .login-formu .bloque-login .content-right .providers {
  margin-top: 2rem;
}

/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: "FontAwesome";
  src: url(/build/fonts/fontawesome-webfont.8b43027f.eot);
  src: url(/build/fonts/fontawesome-webfont.8b43027f.eot?#iefix&v=4.7.0) format("embedded-opentype"), url(/build/fonts/fontawesome-webfont.20fd1704.woff2) format("woff2"), url(/build/fonts/fontawesome-webfont.f691f37e.woff) format("woff"), url(/build/fonts/fontawesome-webfont.1e59d233.ttf) format("truetype"), url(/build/images/fontawesome-webfont.c1e38fd9.svg#fontawesomeregular) format("svg");
  font-weight: normal;
  font-style: normal;
}
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}

.fa-2x {
  font-size: 2em;
}

.fa-3x {
  font-size: 3em;
}

.fa-4x {
  font-size: 4em;
}

.fa-5x {
  font-size: 5em;
}

.fa-fw {
  width: 1.28571429em;
  text-align: center;
}

.fa-ul {
  padding-left: 0;
  margin-left: 2.14285714em;
  list-style-type: none;
}

.fa-ul > li {
  position: relative;
}

.fa-li {
  position: absolute;
  left: -2.14285714em;
  width: 2.14285714em;
  top: 0.14285714em;
  text-align: center;
}

.fa-li.fa-lg {
  left: -1.85714286em;
}

.fa-border {
  padding: 0.2em 0.25em 0.15em;
  border: solid 0.08em #eeeeee;
  border-radius: 0.1em;
}

.fa-pull-left {
  float: left;
}

.fa-pull-right {
  float: right;
}

.fa.fa-pull-left {
  margin-right: 0.3em;
}

.fa.fa-pull-right {
  margin-left: 0.3em;
}

/* Deprecated as of 4.4.0 */
.pull-right {
  float: right;
}

.pull-left {
  float: left;
}

.fa.pull-left {
  margin-right: 0.3em;
}

.fa.pull-right {
  margin-left: 0.3em;
}

.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}

.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8);
}

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
.fa-rotate-90 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.fa-rotate-180 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.fa-rotate-270 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}

.fa-flip-horizontal {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1);
}

:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none;
}

.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}

.fa-stack-1x,
.fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}

.fa-stack-1x {
  line-height: inherit;
}

.fa-stack-2x {
  font-size: 2em;
}

.fa-inverse {
  color: #ffffff;
}

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: "\f000";
}

.fa-music:before {
  content: "\f001";
}

.fa-search:before {
  content: "\f002";
}

.fa-envelope-o:before {
  content: "\f003";
}

.fa-heart:before {
  content: "\f004";
}

.fa-star:before {
  content: "\f005";
}

.fa-star-o:before {
  content: "\f006";
}

.fa-user:before {
  content: "\f007";
}

.fa-film:before {
  content: "\f008";
}

.fa-th-large:before {
  content: "\f009";
}

.fa-th:before {
  content: "\f00a";
}

.fa-th-list:before {
  content: "\f00b";
}

.fa-check:before {
  content: "\f00c";
}

.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: "\f00d";
}

.fa-search-plus:before {
  content: "\f00e";
}

.fa-search-minus:before {
  content: "\f010";
}

.fa-power-off:before {
  content: "\f011";
}

.fa-signal:before {
  content: "\f012";
}

.fa-gear:before,
.fa-cog:before {
  content: "\f013";
}

.fa-trash-o:before {
  content: "\f014";
}

.fa-home:before {
  content: "\f015";
}

.fa-file-o:before {
  content: "\f016";
}

.fa-clock-o:before {
  content: "\f017";
}

.fa-road:before {
  content: "\f018";
}

.fa-download:before {
  content: "\f019";
}

.fa-arrow-circle-o-down:before {
  content: "\f01a";
}

.fa-arrow-circle-o-up:before {
  content: "\f01b";
}

.fa-inbox:before {
  content: "\f01c";
}

.fa-play-circle-o:before {
  content: "\f01d";
}

.fa-rotate-right:before,
.fa-repeat:before {
  content: "\f01e";
}

.fa-refresh:before {
  content: "\f021";
}

.fa-list-alt:before {
  content: "\f022";
}

.fa-lock:before {
  content: "\f023";
}

.fa-flag:before {
  content: "\f024";
}

.fa-headphones:before {
  content: "\f025";
}

.fa-volume-off:before {
  content: "\f026";
}

.fa-volume-down:before {
  content: "\f027";
}

.fa-volume-up:before {
  content: "\f028";
}

.fa-qrcode:before {
  content: "\f029";
}

.fa-barcode:before {
  content: "\f02a";
}

.fa-tag:before {
  content: "\f02b";
}

.fa-tags:before {
  content: "\f02c";
}

.fa-book:before {
  content: "\f02d";
}

.fa-bookmark:before {
  content: "\f02e";
}

.fa-print:before {
  content: "\f02f";
}

.fa-camera:before {
  content: "\f030";
}

.fa-font:before {
  content: "\f031";
}

.fa-bold:before {
  content: "\f032";
}

.fa-italic:before {
  content: "\f033";
}

.fa-text-height:before {
  content: "\f034";
}

.fa-text-width:before {
  content: "\f035";
}

.fa-align-left:before {
  content: "\f036";
}

.fa-align-center:before {
  content: "\f037";
}

.fa-align-right:before {
  content: "\f038";
}

.fa-align-justify:before {
  content: "\f039";
}

.fa-list:before {
  content: "\f03a";
}

.fa-dedent:before,
.fa-outdent:before {
  content: "\f03b";
}

.fa-indent:before {
  content: "\f03c";
}

.fa-video-camera:before {
  content: "\f03d";
}

.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: "\f03e";
}

.fa-pencil:before {
  content: "\f040";
}

.fa-map-marker:before {
  content: "\f041";
}

.fa-adjust:before {
  content: "\f042";
}

.fa-tint:before {
  content: "\f043";
}

.fa-edit:before,
.fa-pencil-square-o:before {
  content: "\f044";
}

.fa-share-square-o:before {
  content: "\f045";
}

.fa-check-square-o:before {
  content: "\f046";
}

.fa-arrows:before {
  content: "\f047";
}

.fa-step-backward:before {
  content: "\f048";
}

.fa-fast-backward:before {
  content: "\f049";
}

.fa-backward:before {
  content: "\f04a";
}

.fa-play:before {
  content: "\f04b";
}

.fa-pause:before {
  content: "\f04c";
}

.fa-stop:before {
  content: "\f04d";
}

.fa-forward:before {
  content: "\f04e";
}

.fa-fast-forward:before {
  content: "\f050";
}

.fa-step-forward:before {
  content: "\f051";
}

.fa-eject:before {
  content: "\f052";
}

.fa-chevron-left:before {
  content: "\f053";
}

.fa-chevron-right:before {
  content: "\f054";
}

.fa-plus-circle:before {
  content: "\f055";
}

.fa-minus-circle:before {
  content: "\f056";
}

.fa-times-circle:before {
  content: "\f057";
}

.fa-check-circle:before {
  content: "\f058";
}

.fa-question-circle:before {
  content: "\f059";
}

.fa-info-circle:before {
  content: "\f05a";
}

.fa-crosshairs:before {
  content: "\f05b";
}

.fa-times-circle-o:before {
  content: "\f05c";
}

.fa-check-circle-o:before {
  content: "\f05d";
}

.fa-ban:before {
  content: "\f05e";
}

.fa-arrow-left:before {
  content: "\f060";
}

.fa-arrow-right:before {
  content: "\f061";
}

.fa-arrow-up:before {
  content: "\f062";
}

.fa-arrow-down:before {
  content: "\f063";
}

.fa-mail-forward:before,
.fa-share:before {
  content: "\f064";
}

.fa-expand:before {
  content: "\f065";
}

.fa-compress:before {
  content: "\f066";
}

.fa-plus:before {
  content: "\f067";
}

.fa-minus:before {
  content: "\f068";
}

.fa-asterisk:before {
  content: "\f069";
}

.fa-exclamation-circle:before {
  content: "\f06a";
}

.fa-gift:before {
  content: "\f06b";
}

.fa-leaf:before {
  content: "\f06c";
}

.fa-fire:before {
  content: "\f06d";
}

.fa-eye:before {
  content: "\f06e";
}

.fa-eye-slash:before {
  content: "\f070";
}

.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "\f071";
}

.fa-plane:before {
  content: "\f072";
}

.fa-calendar:before {
  content: "\f073";
}

.fa-random:before {
  content: "\f074";
}

.fa-comment:before {
  content: "\f075";
}

.fa-magnet:before {
  content: "\f076";
}

.fa-chevron-up:before {
  content: "\f077";
}

.fa-chevron-down:before {
  content: "\f078";
}

.fa-retweet:before {
  content: "\f079";
}

.fa-shopping-cart:before {
  content: "\f07a";
}

.fa-folder:before {
  content: "\f07b";
}

.fa-folder-open:before {
  content: "\f07c";
}

.fa-arrows-v:before {
  content: "\f07d";
}

.fa-arrows-h:before {
  content: "\f07e";
}

.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: "\f080";
}

.fa-twitter-square:before {
  content: "\f081";
}

.fa-facebook-square:before {
  content: "\f082";
}

.fa-camera-retro:before {
  content: "\f083";
}

.fa-key:before {
  content: "\f084";
}

.fa-gears:before,
.fa-cogs:before {
  content: "\f085";
}

.fa-comments:before {
  content: "\f086";
}

.fa-thumbs-o-up:before {
  content: "\f087";
}

.fa-thumbs-o-down:before {
  content: "\f088";
}

.fa-star-half:before {
  content: "\f089";
}

.fa-heart-o:before {
  content: "\f08a";
}

.fa-sign-out:before {
  content: "\f08b";
}

.fa-linkedin-square:before {
  content: "\f08c";
}

.fa-thumb-tack:before {
  content: "\f08d";
}

.fa-external-link:before {
  content: "\f08e";
}

.fa-sign-in:before {
  content: "\f090";
}

.fa-trophy:before {
  content: "\f091";
}

.fa-github-square:before {
  content: "\f092";
}

.fa-upload:before {
  content: "\f093";
}

.fa-lemon-o:before {
  content: "\f094";
}

.fa-phone:before {
  content: "\f095";
}

.fa-square-o:before {
  content: "\f096";
}

.fa-bookmark-o:before {
  content: "\f097";
}

.fa-phone-square:before {
  content: "\f098";
}

.fa-twitter:before {
  content: "\f099";
}

.fa-facebook-f:before,
.fa-facebook:before {
  content: "\f09a";
}

.fa-github:before {
  content: "\f09b";
}

.fa-unlock:before {
  content: "\f09c";
}

.fa-credit-card:before {
  content: "\f09d";
}

.fa-feed:before,
.fa-rss:before {
  content: "\f09e";
}

.fa-hdd-o:before {
  content: "\f0a0";
}

.fa-bullhorn:before {
  content: "\f0a1";
}

.fa-bell:before {
  content: "\f0f3";
}

.fa-certificate:before {
  content: "\f0a3";
}

.fa-hand-o-right:before {
  content: "\f0a4";
}

.fa-hand-o-left:before {
  content: "\f0a5";
}

.fa-hand-o-up:before {
  content: "\f0a6";
}

.fa-hand-o-down:before {
  content: "\f0a7";
}

.fa-arrow-circle-left:before {
  content: "\f0a8";
}

.fa-arrow-circle-right:before {
  content: "\f0a9";
}

.fa-arrow-circle-up:before {
  content: "\f0aa";
}

.fa-arrow-circle-down:before {
  content: "\f0ab";
}

.fa-globe:before {
  content: "\f0ac";
}

.fa-wrench:before {
  content: "\f0ad";
}

.fa-tasks:before {
  content: "\f0ae";
}

.fa-filter:before {
  content: "\f0b0";
}

.fa-briefcase:before {
  content: "\f0b1";
}

.fa-arrows-alt:before {
  content: "\f0b2";
}

.fa-group:before,
.fa-users:before {
  content: "\f0c0";
}

.fa-chain:before,
.fa-link:before {
  content: "\f0c1";
}

.fa-cloud:before {
  content: "\f0c2";
}

.fa-flask:before {
  content: "\f0c3";
}

.fa-cut:before,
.fa-scissors:before {
  content: "\f0c4";
}

.fa-copy:before,
.fa-files-o:before {
  content: "\f0c5";
}

.fa-paperclip:before {
  content: "\f0c6";
}

.fa-save:before,
.fa-floppy-o:before {
  content: "\f0c7";
}

.fa-square:before {
  content: "\f0c8";
}

.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: "\f0c9";
}

.fa-list-ul:before {
  content: "\f0ca";
}

.fa-list-ol:before {
  content: "\f0cb";
}

.fa-strikethrough:before {
  content: "\f0cc";
}

.fa-underline:before {
  content: "\f0cd";
}

.fa-table:before {
  content: "\f0ce";
}

.fa-magic:before {
  content: "\f0d0";
}

.fa-truck:before {
  content: "\f0d1";
}

.fa-pinterest:before {
  content: "\f0d2";
}

.fa-pinterest-square:before {
  content: "\f0d3";
}

.fa-google-plus-square:before {
  content: "\f0d4";
}

.fa-google-plus:before {
  content: "\f0d5";
}

.fa-money:before {
  content: "\f0d6";
}

.fa-caret-down:before {
  content: "\f0d7";
}

.fa-caret-up:before {
  content: "\f0d8";
}

.fa-caret-left:before {
  content: "\f0d9";
}

.fa-caret-right:before {
  content: "\f0da";
}

.fa-columns:before {
  content: "\f0db";
}

.fa-unsorted:before,
.fa-sort:before {
  content: "\f0dc";
}

.fa-sort-down:before,
.fa-sort-desc:before {
  content: "\f0dd";
}

.fa-sort-up:before,
.fa-sort-asc:before {
  content: "\f0de";
}

.fa-envelope:before {
  content: "\f0e0";
}

.fa-linkedin:before {
  content: "\f0e1";
}

.fa-rotate-left:before,
.fa-undo:before {
  content: "\f0e2";
}

.fa-legal:before,
.fa-gavel:before {
  content: "\f0e3";
}

.fa-dashboard:before,
.fa-tachometer:before {
  content: "\f0e4";
}

.fa-comment-o:before {
  content: "\f0e5";
}

.fa-comments-o:before {
  content: "\f0e6";
}

.fa-flash:before,
.fa-bolt:before {
  content: "\f0e7";
}

.fa-sitemap:before {
  content: "\f0e8";
}

.fa-umbrella:before {
  content: "\f0e9";
}

.fa-paste:before,
.fa-clipboard:before {
  content: "\f0ea";
}

.fa-lightbulb-o:before {
  content: "\f0eb";
}

.fa-exchange:before {
  content: "\f0ec";
}

.fa-cloud-download:before {
  content: "\f0ed";
}

.fa-cloud-upload:before {
  content: "\f0ee";
}

.fa-user-md:before {
  content: "\f0f0";
}

.fa-stethoscope:before {
  content: "\f0f1";
}

.fa-suitcase:before {
  content: "\f0f2";
}

.fa-bell-o:before {
  content: "\f0a2";
}

.fa-coffee:before {
  content: "\f0f4";
}

.fa-cutlery:before {
  content: "\f0f5";
}

.fa-file-text-o:before {
  content: "\f0f6";
}

.fa-building-o:before {
  content: "\f0f7";
}

.fa-hospital-o:before {
  content: "\f0f8";
}

.fa-ambulance:before {
  content: "\f0f9";
}

.fa-medkit:before {
  content: "\f0fa";
}

.fa-fighter-jet:before {
  content: "\f0fb";
}

.fa-beer:before {
  content: "\f0fc";
}

.fa-h-square:before {
  content: "\f0fd";
}

.fa-plus-square:before {
  content: "\f0fe";
}

.fa-angle-double-left:before {
  content: "\f100";
}

.fa-angle-double-right:before {
  content: "\f101";
}

.fa-angle-double-up:before {
  content: "\f102";
}

.fa-angle-double-down:before {
  content: "\f103";
}

.fa-angle-left:before {
  content: "\f104";
}

.fa-angle-right:before {
  content: "\f105";
}

.fa-angle-up:before {
  content: "\f106";
}

.fa-angle-down:before {
  content: "\f107";
}

.fa-desktop:before {
  content: "\f108";
}

.fa-laptop:before {
  content: "\f109";
}

.fa-tablet:before {
  content: "\f10a";
}

.fa-mobile-phone:before,
.fa-mobile:before {
  content: "\f10b";
}

.fa-circle-o:before {
  content: "\f10c";
}

.fa-quote-left:before {
  content: "\f10d";
}

.fa-quote-right:before {
  content: "\f10e";
}

.fa-spinner:before {
  content: "\f110";
}

.fa-circle:before {
  content: "\f111";
}

.fa-mail-reply:before,
.fa-reply:before {
  content: "\f112";
}

.fa-github-alt:before {
  content: "\f113";
}

.fa-folder-o:before {
  content: "\f114";
}

.fa-folder-open-o:before {
  content: "\f115";
}

.fa-smile-o:before {
  content: "\f118";
}

.fa-frown-o:before {
  content: "\f119";
}

.fa-meh-o:before {
  content: "\f11a";
}

.fa-gamepad:before {
  content: "\f11b";
}

.fa-keyboard-o:before {
  content: "\f11c";
}

.fa-flag-o:before {
  content: "\f11d";
}

.fa-flag-checkered:before {
  content: "\f11e";
}

.fa-terminal:before {
  content: "\f120";
}

.fa-code:before {
  content: "\f121";
}

.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "\f122";
}

.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "\f123";
}

.fa-location-arrow:before {
  content: "\f124";
}

.fa-crop:before {
  content: "\f125";
}

.fa-code-fork:before {
  content: "\f126";
}

.fa-unlink:before,
.fa-chain-broken:before {
  content: "\f127";
}

.fa-question:before {
  content: "\f128";
}

.fa-info:before {
  content: "\f129";
}

.fa-exclamation:before {
  content: "\f12a";
}

.fa-superscript:before {
  content: "\f12b";
}

.fa-subscript:before {
  content: "\f12c";
}

.fa-eraser:before {
  content: "\f12d";
}

.fa-puzzle-piece:before {
  content: "\f12e";
}

.fa-microphone:before {
  content: "\f130";
}

.fa-microphone-slash:before {
  content: "\f131";
}

.fa-shield:before {
  content: "\f132";
}

.fa-calendar-o:before {
  content: "\f133";
}

.fa-fire-extinguisher:before {
  content: "\f134";
}

.fa-rocket:before {
  content: "\f135";
}

.fa-maxcdn:before {
  content: "\f136";
}

.fa-chevron-circle-left:before {
  content: "\f137";
}

.fa-chevron-circle-right:before {
  content: "\f138";
}

.fa-chevron-circle-up:before {
  content: "\f139";
}

.fa-chevron-circle-down:before {
  content: "\f13a";
}

.fa-html5:before {
  content: "\f13b";
}

.fa-css3:before {
  content: "\f13c";
}

.fa-anchor:before {
  content: "\f13d";
}

.fa-unlock-alt:before {
  content: "\f13e";
}

.fa-bullseye:before {
  content: "\f140";
}

.fa-ellipsis-h:before {
  content: "\f141";
}

.fa-ellipsis-v:before {
  content: "\f142";
}

.fa-rss-square:before {
  content: "\f143";
}

.fa-play-circle:before {
  content: "\f144";
}

.fa-ticket:before {
  content: "\f145";
}

.fa-minus-square:before {
  content: "\f146";
}

.fa-minus-square-o:before {
  content: "\f147";
}

.fa-level-up:before {
  content: "\f148";
}

.fa-level-down:before {
  content: "\f149";
}

.fa-check-square:before {
  content: "\f14a";
}

.fa-pencil-square:before {
  content: "\f14b";
}

.fa-external-link-square:before {
  content: "\f14c";
}

.fa-share-square:before {
  content: "\f14d";
}

.fa-compass:before {
  content: "\f14e";
}

.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "\f150";
}

.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "\f151";
}

.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "\f152";
}

.fa-euro:before,
.fa-eur:before {
  content: "\f153";
}

.fa-gbp:before {
  content: "\f154";
}

.fa-dollar:before,
.fa-usd:before {
  content: "\f155";
}

.fa-rupee:before,
.fa-inr:before {
  content: "\f156";
}

.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "\f157";
}

.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "\f158";
}

.fa-won:before,
.fa-krw:before {
  content: "\f159";
}

.fa-bitcoin:before,
.fa-btc:before {
  content: "\f15a";
}

.fa-file:before {
  content: "\f15b";
}

.fa-file-text:before {
  content: "\f15c";
}

.fa-sort-alpha-asc:before {
  content: "\f15d";
}

.fa-sort-alpha-desc:before {
  content: "\f15e";
}

.fa-sort-amount-asc:before {
  content: "\f160";
}

.fa-sort-amount-desc:before {
  content: "\f161";
}

.fa-sort-numeric-asc:before {
  content: "\f162";
}

.fa-sort-numeric-desc:before {
  content: "\f163";
}

.fa-thumbs-up:before {
  content: "\f164";
}

.fa-thumbs-down:before {
  content: "\f165";
}

.fa-youtube-square:before {
  content: "\f166";
}

.fa-youtube:before {
  content: "\f167";
}

.fa-xing:before {
  content: "\f168";
}

.fa-xing-square:before {
  content: "\f169";
}

.fa-youtube-play:before {
  content: "\f16a";
}

.fa-dropbox:before {
  content: "\f16b";
}

.fa-stack-overflow:before {
  content: "\f16c";
}

.fa-instagram:before {
  content: "\f16d";
}

.fa-flickr:before {
  content: "\f16e";
}

.fa-adn:before {
  content: "\f170";
}

.fa-bitbucket:before {
  content: "\f171";
}

.fa-bitbucket-square:before {
  content: "\f172";
}

.fa-tumblr:before {
  content: "\f173";
}

.fa-tumblr-square:before {
  content: "\f174";
}

.fa-long-arrow-down:before {
  content: "\f175";
}

.fa-long-arrow-up:before {
  content: "\f176";
}

.fa-long-arrow-left:before {
  content: "\f177";
}

.fa-long-arrow-right:before {
  content: "\f178";
}

.fa-apple:before {
  content: "\f179";
}

.fa-windows:before {
  content: "\f17a";
}

.fa-android:before {
  content: "\f17b";
}

.fa-linux:before {
  content: "\f17c";
}

.fa-dribbble:before {
  content: "\f17d";
}

.fa-skype:before {
  content: "\f17e";
}

.fa-foursquare:before {
  content: "\f180";
}

.fa-trello:before {
  content: "\f181";
}

.fa-female:before {
  content: "\f182";
}

.fa-male:before {
  content: "\f183";
}

.fa-gittip:before,
.fa-gratipay:before {
  content: "\f184";
}

.fa-sun-o:before {
  content: "\f185";
}

.fa-moon-o:before {
  content: "\f186";
}

.fa-archive:before {
  content: "\f187";
}

.fa-bug:before {
  content: "\f188";
}

.fa-vk:before {
  content: "\f189";
}

.fa-weibo:before {
  content: "\f18a";
}

.fa-renren:before {
  content: "\f18b";
}

.fa-pagelines:before {
  content: "\f18c";
}

.fa-stack-exchange:before {
  content: "\f18d";
}

.fa-arrow-circle-o-right:before {
  content: "\f18e";
}

.fa-arrow-circle-o-left:before {
  content: "\f190";
}

.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "\f191";
}

.fa-dot-circle-o:before {
  content: "\f192";
}

.fa-wheelchair:before {
  content: "\f193";
}

.fa-vimeo-square:before {
  content: "\f194";
}

.fa-turkish-lira:before,
.fa-try:before {
  content: "\f195";
}

.fa-plus-square-o:before {
  content: "\f196";
}

.fa-space-shuttle:before {
  content: "\f197";
}

.fa-slack:before {
  content: "\f198";
}

.fa-envelope-square:before {
  content: "\f199";
}

.fa-wordpress:before {
  content: "\f19a";
}

.fa-openid:before {
  content: "\f19b";
}

.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: "\f19c";
}

.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: "\f19d";
}

.fa-yahoo:before {
  content: "\f19e";
}

.fa-google:before {
  content: "\f1a0";
}

.fa-reddit:before {
  content: "\f1a1";
}

.fa-reddit-square:before {
  content: "\f1a2";
}

.fa-stumbleupon-circle:before {
  content: "\f1a3";
}

.fa-stumbleupon:before {
  content: "\f1a4";
}

.fa-delicious:before {
  content: "\f1a5";
}

.fa-digg:before {
  content: "\f1a6";
}

.fa-pied-piper-pp:before {
  content: "\f1a7";
}

.fa-pied-piper-alt:before {
  content: "\f1a8";
}

.fa-drupal:before {
  content: "\f1a9";
}

.fa-joomla:before {
  content: "\f1aa";
}

.fa-language:before {
  content: "\f1ab";
}

.fa-fax:before {
  content: "\f1ac";
}

.fa-building:before {
  content: "\f1ad";
}

.fa-child:before {
  content: "\f1ae";
}

.fa-paw:before {
  content: "\f1b0";
}

.fa-spoon:before {
  content: "\f1b1";
}

.fa-cube:before {
  content: "\f1b2";
}

.fa-cubes:before {
  content: "\f1b3";
}

.fa-behance:before {
  content: "\f1b4";
}

.fa-behance-square:before {
  content: "\f1b5";
}

.fa-steam:before {
  content: "\f1b6";
}

.fa-steam-square:before {
  content: "\f1b7";
}

.fa-recycle:before {
  content: "\f1b8";
}

.fa-automobile:before,
.fa-car:before {
  content: "\f1b9";
}

.fa-cab:before,
.fa-taxi:before {
  content: "\f1ba";
}

.fa-tree:before {
  content: "\f1bb";
}

.fa-spotify:before {
  content: "\f1bc";
}

.fa-deviantart:before {
  content: "\f1bd";
}

.fa-soundcloud:before {
  content: "\f1be";
}

.fa-database:before {
  content: "\f1c0";
}

.fa-file-pdf-o:before {
  content: "\f1c1";
}

.fa-file-word-o:before {
  content: "\f1c2";
}

.fa-file-excel-o:before {
  content: "\f1c3";
}

.fa-file-powerpoint-o:before {
  content: "\f1c4";
}

.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: "\f1c5";
}

.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: "\f1c6";
}

.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: "\f1c7";
}

.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: "\f1c8";
}

.fa-file-code-o:before {
  content: "\f1c9";
}

.fa-vine:before {
  content: "\f1ca";
}

.fa-codepen:before {
  content: "\f1cb";
}

.fa-jsfiddle:before {
  content: "\f1cc";
}

.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: "\f1cd";
}

.fa-circle-o-notch:before {
  content: "\f1ce";
}

.fa-ra:before,
.fa-resistance:before,
.fa-rebel:before {
  content: "\f1d0";
}

.fa-ge:before,
.fa-empire:before {
  content: "\f1d1";
}

.fa-git-square:before {
  content: "\f1d2";
}

.fa-git:before {
  content: "\f1d3";
}

.fa-y-combinator-square:before,
.fa-yc-square:before,
.fa-hacker-news:before {
  content: "\f1d4";
}

.fa-tencent-weibo:before {
  content: "\f1d5";
}

.fa-qq:before {
  content: "\f1d6";
}

.fa-wechat:before,
.fa-weixin:before {
  content: "\f1d7";
}

.fa-send:before,
.fa-paper-plane:before {
  content: "\f1d8";
}

.fa-send-o:before,
.fa-paper-plane-o:before {
  content: "\f1d9";
}

.fa-history:before {
  content: "\f1da";
}

.fa-circle-thin:before {
  content: "\f1db";
}

.fa-header:before {
  content: "\f1dc";
}

.fa-paragraph:before {
  content: "\f1dd";
}

.fa-sliders:before {
  content: "\f1de";
}

.fa-share-alt:before {
  content: "\f1e0";
}

.fa-share-alt-square:before {
  content: "\f1e1";
}

.fa-bomb:before {
  content: "\f1e2";
}

.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: "\f1e3";
}

.fa-tty:before {
  content: "\f1e4";
}

.fa-binoculars:before {
  content: "\f1e5";
}

.fa-plug:before {
  content: "\f1e6";
}

.fa-slideshare:before {
  content: "\f1e7";
}

.fa-twitch:before {
  content: "\f1e8";
}

.fa-yelp:before {
  content: "\f1e9";
}

.fa-newspaper-o:before {
  content: "\f1ea";
}

.fa-wifi:before {
  content: "\f1eb";
}

.fa-calculator:before {
  content: "\f1ec";
}

.fa-paypal:before {
  content: "\f1ed";
}

.fa-google-wallet:before {
  content: "\f1ee";
}

.fa-cc-visa:before {
  content: "\f1f0";
}

.fa-cc-mastercard:before {
  content: "\f1f1";
}

.fa-cc-discover:before {
  content: "\f1f2";
}

.fa-cc-amex:before {
  content: "\f1f3";
}

.fa-cc-paypal:before {
  content: "\f1f4";
}

.fa-cc-stripe:before {
  content: "\f1f5";
}

.fa-bell-slash:before {
  content: "\f1f6";
}

.fa-bell-slash-o:before {
  content: "\f1f7";
}

.fa-trash:before {
  content: "\f1f8";
}

.fa-copyright:before {
  content: "\f1f9";
}

.fa-at:before {
  content: "\f1fa";
}

.fa-eyedropper:before {
  content: "\f1fb";
}

.fa-paint-brush:before {
  content: "\f1fc";
}

.fa-birthday-cake:before {
  content: "\f1fd";
}

.fa-area-chart:before {
  content: "\f1fe";
}

.fa-pie-chart:before {
  content: "\f200";
}

.fa-line-chart:before {
  content: "\f201";
}

.fa-lastfm:before {
  content: "\f202";
}

.fa-lastfm-square:before {
  content: "\f203";
}

.fa-toggle-off:before {
  content: "\f204";
}

.fa-toggle-on:before {
  content: "\f205";
}

.fa-bicycle:before {
  content: "\f206";
}

.fa-bus:before {
  content: "\f207";
}

.fa-ioxhost:before {
  content: "\f208";
}

.fa-angellist:before {
  content: "\f209";
}

.fa-cc:before {
  content: "\f20a";
}

.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: "\f20b";
}

.fa-meanpath:before {
  content: "\f20c";
}

.fa-buysellads:before {
  content: "\f20d";
}

.fa-connectdevelop:before {
  content: "\f20e";
}

.fa-dashcube:before {
  content: "\f210";
}

.fa-forumbee:before {
  content: "\f211";
}

.fa-leanpub:before {
  content: "\f212";
}

.fa-sellsy:before {
  content: "\f213";
}

.fa-shirtsinbulk:before {
  content: "\f214";
}

.fa-simplybuilt:before {
  content: "\f215";
}

.fa-skyatlas:before {
  content: "\f216";
}

.fa-cart-plus:before {
  content: "\f217";
}

.fa-cart-arrow-down:before {
  content: "\f218";
}

.fa-diamond:before {
  content: "\f219";
}

.fa-ship:before {
  content: "\f21a";
}

.fa-user-secret:before {
  content: "\f21b";
}

.fa-motorcycle:before {
  content: "\f21c";
}

.fa-street-view:before {
  content: "\f21d";
}

.fa-heartbeat:before {
  content: "\f21e";
}

.fa-venus:before {
  content: "\f221";
}

.fa-mars:before {
  content: "\f222";
}

.fa-mercury:before {
  content: "\f223";
}

.fa-intersex:before,
.fa-transgender:before {
  content: "\f224";
}

.fa-transgender-alt:before {
  content: "\f225";
}

.fa-venus-double:before {
  content: "\f226";
}

.fa-mars-double:before {
  content: "\f227";
}

.fa-venus-mars:before {
  content: "\f228";
}

.fa-mars-stroke:before {
  content: "\f229";
}

.fa-mars-stroke-v:before {
  content: "\f22a";
}

.fa-mars-stroke-h:before {
  content: "\f22b";
}

.fa-neuter:before {
  content: "\f22c";
}

.fa-genderless:before {
  content: "\f22d";
}

.fa-facebook-official:before {
  content: "\f230";
}

.fa-pinterest-p:before {
  content: "\f231";
}

.fa-whatsapp:before {
  content: "\f232";
}

.fa-server:before {
  content: "\f233";
}

.fa-user-plus:before {
  content: "\f234";
}

.fa-user-times:before {
  content: "\f235";
}

.fa-hotel:before,
.fa-bed:before {
  content: "\f236";
}

.fa-viacoin:before {
  content: "\f237";
}

.fa-train:before {
  content: "\f238";
}

.fa-subway:before {
  content: "\f239";
}

.fa-medium:before {
  content: "\f23a";
}

.fa-yc:before,
.fa-y-combinator:before {
  content: "\f23b";
}

.fa-optin-monster:before {
  content: "\f23c";
}

.fa-opencart:before {
  content: "\f23d";
}

.fa-expeditedssl:before {
  content: "\f23e";
}

.fa-battery-4:before,
.fa-battery:before,
.fa-battery-full:before {
  content: "\f240";
}

.fa-battery-3:before,
.fa-battery-three-quarters:before {
  content: "\f241";
}

.fa-battery-2:before,
.fa-battery-half:before {
  content: "\f242";
}

.fa-battery-1:before,
.fa-battery-quarter:before {
  content: "\f243";
}

.fa-battery-0:before,
.fa-battery-empty:before {
  content: "\f244";
}

.fa-mouse-pointer:before {
  content: "\f245";
}

.fa-i-cursor:before {
  content: "\f246";
}

.fa-object-group:before {
  content: "\f247";
}

.fa-object-ungroup:before {
  content: "\f248";
}

.fa-sticky-note:before {
  content: "\f249";
}

.fa-sticky-note-o:before {
  content: "\f24a";
}

.fa-cc-jcb:before {
  content: "\f24b";
}

.fa-cc-diners-club:before {
  content: "\f24c";
}

.fa-clone:before {
  content: "\f24d";
}

.fa-balance-scale:before {
  content: "\f24e";
}

.fa-hourglass-o:before {
  content: "\f250";
}

.fa-hourglass-1:before,
.fa-hourglass-start:before {
  content: "\f251";
}

.fa-hourglass-2:before,
.fa-hourglass-half:before {
  content: "\f252";
}

.fa-hourglass-3:before,
.fa-hourglass-end:before {
  content: "\f253";
}

.fa-hourglass:before {
  content: "\f254";
}

.fa-hand-grab-o:before,
.fa-hand-rock-o:before {
  content: "\f255";
}

.fa-hand-stop-o:before,
.fa-hand-paper-o:before {
  content: "\f256";
}

.fa-hand-scissors-o:before {
  content: "\f257";
}

.fa-hand-lizard-o:before {
  content: "\f258";
}

.fa-hand-spock-o:before {
  content: "\f259";
}

.fa-hand-pointer-o:before {
  content: "\f25a";
}

.fa-hand-peace-o:before {
  content: "\f25b";
}

.fa-trademark:before {
  content: "\f25c";
}

.fa-registered:before {
  content: "\f25d";
}

.fa-creative-commons:before {
  content: "\f25e";
}

.fa-gg:before {
  content: "\f260";
}

.fa-gg-circle:before {
  content: "\f261";
}

.fa-tripadvisor:before {
  content: "\f262";
}

.fa-odnoklassniki:before {
  content: "\f263";
}

.fa-odnoklassniki-square:before {
  content: "\f264";
}

.fa-get-pocket:before {
  content: "\f265";
}

.fa-wikipedia-w:before {
  content: "\f266";
}

.fa-safari:before {
  content: "\f267";
}

.fa-chrome:before {
  content: "\f268";
}

.fa-firefox:before {
  content: "\f269";
}

.fa-opera:before {
  content: "\f26a";
}

.fa-internet-explorer:before {
  content: "\f26b";
}

.fa-tv:before,
.fa-television:before {
  content: "\f26c";
}

.fa-contao:before {
  content: "\f26d";
}

.fa-500px:before {
  content: "\f26e";
}

.fa-amazon:before {
  content: "\f270";
}

.fa-calendar-plus-o:before {
  content: "\f271";
}

.fa-calendar-minus-o:before {
  content: "\f272";
}

.fa-calendar-times-o:before {
  content: "\f273";
}

.fa-calendar-check-o:before {
  content: "\f274";
}

.fa-industry:before {
  content: "\f275";
}

.fa-map-pin:before {
  content: "\f276";
}

.fa-map-signs:before {
  content: "\f277";
}

.fa-map-o:before {
  content: "\f278";
}

.fa-map:before {
  content: "\f279";
}

.fa-commenting:before {
  content: "\f27a";
}

.fa-commenting-o:before {
  content: "\f27b";
}

.fa-houzz:before {
  content: "\f27c";
}

.fa-vimeo:before {
  content: "\f27d";
}

.fa-black-tie:before {
  content: "\f27e";
}

.fa-fonticons:before {
  content: "\f280";
}

.fa-reddit-alien:before {
  content: "\f281";
}

.fa-edge:before {
  content: "\f282";
}

.fa-credit-card-alt:before {
  content: "\f283";
}

.fa-codiepie:before {
  content: "\f284";
}

.fa-modx:before {
  content: "\f285";
}

.fa-fort-awesome:before {
  content: "\f286";
}

.fa-usb:before {
  content: "\f287";
}

.fa-product-hunt:before {
  content: "\f288";
}

.fa-mixcloud:before {
  content: "\f289";
}

.fa-scribd:before {
  content: "\f28a";
}

.fa-pause-circle:before {
  content: "\f28b";
}

.fa-pause-circle-o:before {
  content: "\f28c";
}

.fa-stop-circle:before {
  content: "\f28d";
}

.fa-stop-circle-o:before {
  content: "\f28e";
}

.fa-shopping-bag:before {
  content: "\f290";
}

.fa-shopping-basket:before {
  content: "\f291";
}

.fa-hashtag:before {
  content: "\f292";
}

.fa-bluetooth:before {
  content: "\f293";
}

.fa-bluetooth-b:before {
  content: "\f294";
}

.fa-percent:before {
  content: "\f295";
}

.fa-gitlab:before {
  content: "\f296";
}

.fa-wpbeginner:before {
  content: "\f297";
}

.fa-wpforms:before {
  content: "\f298";
}

.fa-envira:before {
  content: "\f299";
}

.fa-universal-access:before {
  content: "\f29a";
}

.fa-wheelchair-alt:before {
  content: "\f29b";
}

.fa-question-circle-o:before {
  content: "\f29c";
}

.fa-blind:before {
  content: "\f29d";
}

.fa-audio-description:before {
  content: "\f29e";
}

.fa-volume-control-phone:before {
  content: "\f2a0";
}

.fa-braille:before {
  content: "\f2a1";
}

.fa-assistive-listening-systems:before {
  content: "\f2a2";
}

.fa-asl-interpreting:before,
.fa-american-sign-language-interpreting:before {
  content: "\f2a3";
}

.fa-deafness:before,
.fa-hard-of-hearing:before,
.fa-deaf:before {
  content: "\f2a4";
}

.fa-glide:before {
  content: "\f2a5";
}

.fa-glide-g:before {
  content: "\f2a6";
}

.fa-signing:before,
.fa-sign-language:before {
  content: "\f2a7";
}

.fa-low-vision:before {
  content: "\f2a8";
}

.fa-viadeo:before {
  content: "\f2a9";
}

.fa-viadeo-square:before {
  content: "\f2aa";
}

.fa-snapchat:before {
  content: "\f2ab";
}

.fa-snapchat-ghost:before {
  content: "\f2ac";
}

.fa-snapchat-square:before {
  content: "\f2ad";
}

.fa-pied-piper:before {
  content: "\f2ae";
}

.fa-first-order:before {
  content: "\f2b0";
}

.fa-yoast:before {
  content: "\f2b1";
}

.fa-themeisle:before {
  content: "\f2b2";
}

.fa-google-plus-circle:before,
.fa-google-plus-official:before {
  content: "\f2b3";
}

.fa-fa:before,
.fa-font-awesome:before {
  content: "\f2b4";
}

.fa-handshake-o:before {
  content: "\f2b5";
}

.fa-envelope-open:before {
  content: "\f2b6";
}

.fa-envelope-open-o:before {
  content: "\f2b7";
}

.fa-linode:before {
  content: "\f2b8";
}

.fa-address-book:before {
  content: "\f2b9";
}

.fa-address-book-o:before {
  content: "\f2ba";
}

.fa-vcard:before,
.fa-address-card:before {
  content: "\f2bb";
}

.fa-vcard-o:before,
.fa-address-card-o:before {
  content: "\f2bc";
}

.fa-user-circle:before {
  content: "\f2bd";
}

.fa-user-circle-o:before {
  content: "\f2be";
}

.fa-user-o:before {
  content: "\f2c0";
}

.fa-id-badge:before {
  content: "\f2c1";
}

.fa-drivers-license:before,
.fa-id-card:before {
  content: "\f2c2";
}

.fa-drivers-license-o:before,
.fa-id-card-o:before {
  content: "\f2c3";
}

.fa-quora:before {
  content: "\f2c4";
}

.fa-free-code-camp:before {
  content: "\f2c5";
}

.fa-telegram:before {
  content: "\f2c6";
}

.fa-thermometer-4:before,
.fa-thermometer:before,
.fa-thermometer-full:before {
  content: "\f2c7";
}

.fa-thermometer-3:before,
.fa-thermometer-three-quarters:before {
  content: "\f2c8";
}

.fa-thermometer-2:before,
.fa-thermometer-half:before {
  content: "\f2c9";
}

.fa-thermometer-1:before,
.fa-thermometer-quarter:before {
  content: "\f2ca";
}

.fa-thermometer-0:before,
.fa-thermometer-empty:before {
  content: "\f2cb";
}

.fa-shower:before {
  content: "\f2cc";
}

.fa-bathtub:before,
.fa-s15:before,
.fa-bath:before {
  content: "\f2cd";
}

.fa-podcast:before {
  content: "\f2ce";
}

.fa-window-maximize:before {
  content: "\f2d0";
}

.fa-window-minimize:before {
  content: "\f2d1";
}

.fa-window-restore:before {
  content: "\f2d2";
}

.fa-times-rectangle:before,
.fa-window-close:before {
  content: "\f2d3";
}

.fa-times-rectangle-o:before,
.fa-window-close-o:before {
  content: "\f2d4";
}

.fa-bandcamp:before {
  content: "\f2d5";
}

.fa-grav:before {
  content: "\f2d6";
}

.fa-etsy:before {
  content: "\f2d7";
}

.fa-imdb:before {
  content: "\f2d8";
}

.fa-ravelry:before {
  content: "\f2d9";
}

.fa-eercast:before {
  content: "\f2da";
}

.fa-microchip:before {
  content: "\f2db";
}

.fa-snowflake-o:before {
  content: "\f2dc";
}

.fa-superpowers:before {
  content: "\f2dd";
}

.fa-wpexplorer:before {
  content: "\f2de";
}

.fa-meetup:before {
  content: "\f2e0";
}

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

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

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7O0VBR0U7O0FBRUY7SUFDSTtRQUNJLFVBQVU7UUFDVixtQ0FBbUM7UUFDbkMsZ0NBQWdDO1FBQ2hDLCtCQUErQjtRQUMvQiw4QkFBOEI7UUFDOUIsMkJBQTJCO0lBQy9CO0lBQ0E7O1FBRUksVUFBVTtRQUNWLGtDQUFrQztRQUNsQywrQkFBK0I7UUFDL0IsOEJBQThCO1FBQzlCLDZCQUE2QjtRQUM3QiwwQkFBMEI7SUFDOUI7SUFDQTtRQUNJLFVBQVU7UUFDVixvQ0FBb0M7UUFDcEMsaUNBQWlDO1FBQ2pDLGdDQUFnQztRQUNoQywrQkFBK0I7UUFDL0IsNEJBQTRCO0lBQ2hDO0FBQ0o7O0FBRUE7SUFDSTtRQUNJLFVBQVU7UUFDVixtQ0FBbUM7UUFDbkMsZ0NBQWdDO1FBQ2hDLCtCQUErQjtRQUMvQiw4QkFBOEI7UUFDOUIsMkJBQTJCO0lBQy9CO0lBQ0E7O1FBRUksVUFBVTtRQUNWLGtDQUFrQztRQUNsQywrQkFBK0I7UUFDL0IsOEJBQThCO1FBQzlCLDZCQUE2QjtRQUM3QiwwQkFBMEI7SUFDOUI7SUFDQTtRQUNJLFVBQVU7UUFDVixvQ0FBb0M7UUFDcEMsaUNBQWlDO1FBQ2pDLGdDQUFnQztRQUNoQywrQkFBK0I7UUFDL0IsNEJBQTRCO0lBQ2hDO0FBQ0o7O0FBRUE7SUFDSTtRQUNJLFVBQVU7UUFDVixtQ0FBbUM7UUFDbkMsZ0NBQWdDO1FBQ2hDLCtCQUErQjtRQUMvQiw4QkFBOEI7UUFDOUIsMkJBQTJCO0lBQy9CO0lBQ0E7O1FBRUksVUFBVTtRQUNWLGtDQUFrQztRQUNsQywrQkFBK0I7UUFDL0IsOEJBQThCO1FBQzlCLDZCQUE2QjtRQUM3QiwwQkFBMEI7SUFDOUI7SUFDQTtRQUNJLFVBQVU7UUFDVixvQ0FBb0M7UUFDcEMsaUNBQWlDO1FBQ2pDLGdDQUFnQztRQUNoQywrQkFBK0I7UUFDL0IsNEJBQTRCO0lBQ2hDO0FBQ0o7O0FBRUE7SUFDSTtRQUNJLFVBQVU7UUFDVixtQ0FBbUM7UUFDbkMsZ0NBQWdDO1FBQ2hDLCtCQUErQjtRQUMvQiw4QkFBOEI7UUFDOUIsMkJBQTJCO0lBQy9CO0lBQ0E7UUFDSSxVQUFVO1FBQ1Ysa0NBQWtDO1FBQ2xDLCtCQUErQjtRQUMvQiw4QkFBOEI7UUFDOUIsNkJBQTZCO1FBQzdCLDBCQUEwQjtJQUM5QjtBQUNKOztBQUVBO0lBQ0k7UUFDSSxVQUFVO1FBQ1YsbUNBQW1DO1FBQ25DLGdDQUFnQztRQUNoQywrQkFBK0I7UUFDL0IsOEJBQThCO1FBQzlCLDJCQUEyQjtJQUMvQjtJQUNBO1FBQ0ksVUFBVTtRQUNWLGtDQUFrQztRQUNsQywrQkFBK0I7UUFDL0IsOEJBQThCO1FBQzlCLDZCQUE2QjtRQUM3QiwwQkFBMEI7SUFDOUI7QUFDSjs7QUFFQTtJQUNJO1FBQ0ksVUFBVTtRQUNWLG1DQUFtQztRQUNuQyxnQ0FBZ0M7UUFDaEMsK0JBQStCO1FBQy9CLDhCQUE4QjtRQUM5QiwyQkFBMkI7SUFDL0I7SUFDQTtRQUNJLFVBQVU7UUFDVixrQ0FBa0M7UUFDbEMsK0JBQStCO1FBQy9CLDhCQUE4QjtRQUM5Qiw2QkFBNkI7UUFDN0IsMEJBQTBCO0lBQzlCO0FBQ0o7O0FBRUE7SUFDSTtRQUNJLDJCQUEyQjtRQUMzQix3QkFBd0I7UUFDeEIsdUJBQXVCO1FBQ3ZCLHNCQUFzQjtRQUN0QixtQkFBbUI7SUFDdkI7SUFDQTtRQUNJLDZCQUE2QjtRQUM3QiwwQkFBMEI7UUFDMUIseUJBQXlCO1FBQ3pCLHdCQUF3QjtRQUN4QixxQkFBcUI7SUFDekI7SUFDQTtRQUNJLDJCQUEyQjtRQUMzQix3QkFBd0I7UUFDeEIsdUJBQXVCO1FBQ3ZCLHNCQUFzQjtRQUN0QixtQkFBbUI7SUFDdkI7QUFDSjs7QUFFQTtJQUNJO1FBQ0ksMkJBQTJCO1FBQzNCLHdCQUF3QjtRQUN4Qix1QkFBdUI7UUFDdkIsc0JBQXNCO1FBQ3RCLG1CQUFtQjtJQUN2QjtJQUNBO1FBQ0ksNkJBQTZCO1FBQzdCLDBCQUEwQjtRQUMxQix5QkFBeUI7UUFDekIsd0JBQXdCO1FBQ3hCLHFCQUFxQjtJQUN6QjtJQUNBO1FBQ0ksMkJBQTJCO1FBQzNCLHdCQUF3QjtRQUN4Qix1QkFBdUI7UUFDdkIsc0JBQXNCO1FBQ3RCLG1CQUFtQjtJQUN2QjtBQUNKOztBQUVBO0lBQ0k7UUFDSSwyQkFBMkI7UUFDM0Isd0JBQXdCO1FBQ3hCLHVCQUF1QjtRQUN2QixzQkFBc0I7UUFDdEIsbUJBQW1CO0lBQ3ZCO0lBQ0E7UUFDSSw2QkFBNkI7UUFDN0IsMEJBQTBCO1FBQzFCLHlCQUF5QjtRQUN6Qix3QkFBd0I7UUFDeEIscUJBQXFCO0lBQ3pCO0lBQ0E7UUFDSSwyQkFBMkI7UUFDM0Isd0JBQXdCO1FBQ3hCLHVCQUF1QjtRQUN2QixzQkFBc0I7UUFDdEIsbUJBQW1CO0lBQ3ZCO0FBQ0o7O0FBRUE7O0lBRUksc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLHFDQUFxQztJQUNyQyxpQkFBaUI7SUFDakIsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxlQUFlO0FBQ25COztBQUVBOztJQUVJLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLFNBQVM7SUFDVCx5QkFBeUI7SUFDekIsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksYUFBYTtBQUNqQjs7QUFFQTtJQUNJLFVBQVU7QUFDZDs7QUFFQTtJQUNJLFVBQVU7QUFDZDs7QUFFQTtJQUNJLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLHVDQUF1QztJQUN2QyxvQ0FBb0M7SUFDcEMsbUNBQW1DO0lBQ25DLGtDQUFrQztJQUNsQywrQkFBK0I7QUFDbkM7O0FBRUE7SUFDSSxlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLHFCQUFxQjtJQUNyQix5QkFBeUI7SUFDekIsa0JBQWtCO0lBQ2xCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLDBCQUEwQjtBQUM5Qjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxVQUFVO0lBQ1YsZUFBZTtJQUNmLGNBQWM7SUFDZCxjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQix5QkFBeUI7SUFDekIsaUJBQWlCO0lBQ2pCLDJCQUEyQjtJQUMzQixjQUFjO0lBQ2QsYUFBYTtJQUNiLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLHFCQUFxQjtJQUNyQixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLHFCQUFxQjtJQUNyQixjQUFjO0FBQ2xCOztBQUVBO0lBQ0k7OEJBQzBCO0FBQzlCOztBQUVBOzs7SUFHSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIscUJBQXFCO0lBQ3JCLFdBQVc7SUFDWCxlQUFlO0lBQ2YsZ0JBQWdCO0FBQ3BCOztBQUVBOztJQUVJLGNBQWM7SUFDZCxTQUFTO0lBQ1Qsa0JBQWtCO0lBQ2xCLFFBQVE7SUFDUixTQUFTO0lBQ1Qsd0NBQXdDO0lBQ3hDLGdDQUFnQztJQUNoQyxrQkFBa0I7SUFDbEIsc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0kscUVBQXFFO0lBQ3JFLGtFQUFrRTtJQUNsRSxpRUFBaUU7SUFDakUsZ0VBQWdFO0lBQ2hFLDZEQUE2RDtBQUNqRTs7QUFFQTtJQUNJLFVBQVU7SUFDViw4REFBOEQ7SUFDOUQsMkRBQTJEO0lBQzNELDBEQUEwRDtJQUMxRCx5REFBeUQ7SUFDekQsc0RBQXNEO0FBQzFEOztBQUVBOztJQUVJLG9CQUFvQjtJQUNwQixVQUFVO0lBQ1YsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsUUFBUTtJQUNSLFNBQVM7SUFDVCxrQkFBa0I7SUFDbEIsaUJBQWlCO0FBQ3JCOztBQUVBOztJQUVJLGNBQWM7SUFDZCxXQUFXO0lBQ1gsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLFVBQVU7SUFDVixtQ0FBbUM7SUFDbkMsZ0NBQWdDO0lBQ2hDLCtCQUErQjtJQUMvQiw4QkFBOEI7SUFDOUIsMkJBQTJCO0FBQy9COztBQUVBO0lBQ0ksVUFBVTtJQUNWLHdDQUF3QztJQUN4QyxxQ0FBcUM7SUFDckMsb0NBQW9DO0lBQ3BDLG1DQUFtQztJQUNuQyxnQ0FBZ0M7QUFDcEM7O0FBRUE7SUFDSSx5Q0FBeUM7SUFDekMsc0NBQXNDO0lBQ3RDLHFDQUFxQztJQUNyQyxvQ0FBb0M7SUFDcEMsaUNBQWlDO0FBQ3JDOztBQUVBO0lBQ0ksVUFBVTtJQUNWLGFBQWE7SUFDYixvQkFBb0I7SUFDcEIsa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixTQUFTO0lBQ1QsUUFBUTtJQUNSLGdCQUFnQjtJQUNoQixXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLG9DQUFvQztJQUNwQywyQkFBMkI7SUFDM0Isa0JBQWtCO0lBQ2xCLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixrREFBa0Q7SUFDbEQsa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixPQUFPO0lBQ1AsU0FBUztJQUNULFFBQVE7SUFDUiwyQ0FBMkM7SUFDM0Msd0NBQXdDO0lBQ3hDLHVDQUF1QztJQUN2QyxzQ0FBc0M7SUFDdEMsbUNBQW1DO0FBQ3ZDOztBQUVBO0lBQ0ksY0FBYztBQUNsQjs7QUFFQTtJQUNJLFVBQVU7SUFDVixvQkFBb0I7QUFDeEI7O0FBRUE7SUFDSSxvQkFBb0I7SUFDcEIsYUFBYTtJQUNiLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsYUFBYTtJQUNiLFVBQVU7SUFDVixxQ0FBcUM7SUFDckMsa0NBQWtDO0lBQ2xDLGlDQUFpQztJQUNqQyxnQ0FBZ0M7SUFDaEMsNkJBQTZCO0lBQzdCLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsVUFBVTtJQUNWLFdBQVc7SUFDWCxZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLHdEQUF3RDtJQUN4RCxvQkFBb0I7SUFDcEIsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsU0FBUztJQUNULFVBQVU7SUFDVixRQUFRO0lBQ1IsU0FBUztJQUNULGtDQUFrQztJQUNsQyxtQ0FBbUM7SUFDbkMsZ0NBQWdDO0FBQ3BDOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLHFCQUFxQjtJQUNyQix5QkFBeUI7SUFDekIsa0JBQWtCO0lBQ2xCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIscUJBQXFCO0lBQ3JCLHlCQUF5QjtJQUN6QixrQkFBa0I7SUFDbEIsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLDBCQUEwQjtBQUM5Qjs7QUFFQTtJQUNJLHFCQUFxQjtBQUN6QixDOzs7O0FDcGlCQSxnQkFBZ0I7QUMyRGhCO0VBQ0M7SUFBTztFRHJETjtFQ3NERDtJQUFLO0VEbkRKO0FBQ0Y7QUNrR0E7O3VGQUFBO0FBU0E7RUFBSTtBRHJHSjtBQ3NHQztFQUFVO0FEbkdYOztBQ3FHQTtFQUNFO0FEbEdGOztBQ3FHQTtFQUFPO0VBQXdCO0FEaEcvQjs7QUNpR0E7RUFBTyxpQ0FsRlk7RUFrRm9CO0VBQVcsV0FuRmhDO0VBbUZ5RCxnQkFqRnhEO0VBaUZ3RjtFQUEyQjtBRHhGdEk7O0FDeUZBO0VBQXdCO0FEckZ4Qjs7QUNzRkE7RUFBUyxXQTdISztBRDJDZDs7QUNtRkE7RUFBTTtFQUFnQjtBRDlFdEI7O0FDK0VBO0VBeERtQjtFQUFVO0VBQ1M7QURsQnRDOztBQzZFQTtFQUFJO0FEekVKOztBQzBFQTtFQUFhO0FEdEViOztBQ3VFQTtFQUFXO0VBQW9CO0FEbEUvQjs7QUNtRUE7RUFBVztBRC9EWDs7QUNnRUE7RUFBbUI7RUFBbUI7RUFBdUI7RUFBVTtFQUFpQjtBRHhEeEY7QUN5REM7RUEvRGdEO0VBQW1CO0VBQVE7RUFBUztFQUFZO0VBSG5GO0VBQVk7RUFBYTtBRG1CdkM7O0FDa0RBO0VBQ0k7SUFBSztFRDlDUDtFQytDRTtJQUFPO0VENUNUO0FBQ0Y7QUVyR0E7Ozs7Q0FBQTtBQUtBOzs7Q0FBQTtBQ3dVSTtFQUNJO0FIN05SOztBRytOSTtFQUNJO0VBQ0E7QUg1TlI7O0FHOE5JO0VBQ0k7RUFDQTtBSDNOUjs7QUc2Tkk7RUFDSTtFQUNBO0FIMU5SOztBRzROSTtFQUNJO0VBQ0E7QUh6TlI7O0FHMk5JO0VBQ0k7RUFDQTtBSHhOUjs7QUcwTkk7RUFDSTtFQUNBO0FIdk5SOztBR3lOSTtFQUNJO0VBQ0E7QUh0TlI7O0FHd05JO0VBQ0k7RUFDQTtBSHJOUjs7QUd1Tkk7RUFDSTtFQUNBO0FIcE5SOztBR3NOSTtFQUNJO0FIbk5SOztBR3VOUTs7RUFFSTtBSHBOWjs7QUd1TlE7RUFDSTtBSHBOWjs7QUdzTlE7OztFQW5USiwyQkFzVDRCO0VBclQ1QixtQkFxVDRCO0FIbE5oQzs7QUdvTlE7O0VBRUksZUF4WEs7QUh1S2pCOztBR29OUTtFQUNJLG1CQW5JRjtFQW9JRSxXRmxXTTtFRW1XTjtFQUNBO0VBQ0EsaUNGcFdPO0VFcVdQLGdCRnBXTztFRXFXUCxrQkFySU07RUFzSU4sZ0JBallPO0VBa1lQO0VBQ0EsWUFuRlE7QUg5SHBCOztBR21OUTtFQUNJLGVBbEZXO0FIOUh2Qjs7QUdtTlE7RUFDSTtFQUNBO0FIaE5aOztBR2tOUTtFQUNJO0FIL01aOztBR21OWTs7Ozs7O0VBR0k7QUg3TWhCOztBR2lOUTtFQUNJO0FIOU1aOztBR2dOUTtFQUNJO0FIN01aOztBRzlESTtFQUVJO0VBQ0E7QUhnRVI7QUc5REk7RUFDSTtBSGdFUjs7QUcyTVE7RUFDSTtBSHhNWjs7QUcyTVE7RUFDSTtBSHhNWjs7QUc4TVE7RUFDSTtFQUNBO0FIM01aOztBRzhNUTtFQUNJO0VBQ0E7QUgzTVo7O0FHaU5RO0VBQ0k7RUFDQTtBSDlNWjs7QUdpTlE7RUFDSTtBSDlNWjs7QUkxQ1E7RUE1SkE7RUFDQTtFQUNBLGtCQXZESTtBSmlRWjtBR3ZHSTtFQUVJO0VBQ0E7QUh3R1I7QUd0R0k7RUFDSTtBSHdHUjtBSXBEZ0I7O0VBcklSO0VBQ0E7QUo2TFI7QUlyRGdCO0VBQ0k7RUFDQTtBSnVEcEI7QUlwRFk7RUEzTEo7RUFFQTtFQUNBO0FKaVBSO0FHNUhJO0VBRUk7RUFDQTtBSDZIUjtBRzNISTtFQUNJO0FINkhSO0FJOURnQjtFQWhMUjtFQUNBO0VBQ0E7QUppUFI7QUd4SUk7RUFFSTtFQUNBO0FIeUlSO0FHdklJO0VBQ0k7QUh5SVI7O0FJckVROztFQTdJQTtFQUNBO0VBSUE7RUFpQkksV0Q4SlE7QUhzQ3BCOztBSXpFUTtFQUNJLFlEbUNhO0FIeUN6Qjs7QUkxRVE7RUFDSSxXRCtCUTtBSDhDcEI7O0FJM0VRO0VBdkdBO0lBNURBO0lBeUJBO0lBQ0E7RUoyTk47RUl0TE07SUEvREE7SUE2QkE7SUFDQTtFSjROTjtFSTlMTTtJQTVEQTtJQXlCQTtJQUNBO0VKcU9OO0VJaE1NO0lBL0RBO0lBNkJBO0lBQ0E7RUpzT047RUl4TU07SUE1REE7SUF5QkE7SUFDQTtFSitPTjtFSTFNTTtJQS9EQTtJQTZCQTtJQUNBO0VKZ1BOO0VJbE5NO0lBNURBO0lBeUJBO0lBQ0E7RUp5UE47RUlwTk07SUEvREE7SUE2QkE7SUFDQTtFSjBQTjtFSTVOTTtJQTVEQTtJQXlCQTtJQUNBO0VKbVFOO0VJOU5NO0lBL0RBO0lBNkJBO0lBQ0E7RUpvUU47RUl0T007SUE1REE7SUF5QkE7SUFDQTtFSjZRTjtFSXhPTTtJQS9EQTtJQTZCQTtJQUNBO0VKOFFOO0VJaFBNO0lBNURBO0lBeUJBO0lBQ0E7RUp1Uk47RUlsUE07SUEvREE7SUE2QkE7SUFDQTtFSndSTjtFSTFQTTtJQTVEQTtJQXlCQTtJQUNBO0VKaVNOO0VJNVBNO0lBL0RBO0lBNkJBO0lBQ0E7RUprU047RUlwUU07SUE1REE7SUF5QkE7SUFDQTtFSjJTTjtFSXRRTTtJQS9EQTtJQTZCQTtJQUNBO0VKNFNOO0VJOVFNO0lBNURBO0lBeUJBO0lBQ0E7RUpxVE47RUloUk07SUEvREE7SUE2QkE7SUFDQTtFSnNUTjtFSXhSTTtJQTVEQTtJQXlCQTtJQUNBO0VKK1ROO0VJMVJNO0lBL0RBO0lBNkJBO0lBQ0E7RUpnVU47RUlsU007SUE1REE7SUF5QkE7SUFDQTtFSnlVTjtFSXBTTTtJQS9EQTtJQTZCQTtJQUNBO0VKMFVOO0VJclNFOztJQW5FSTtJQVlBO0lBQ0E7SUFxQkksV0Q4SlE7RUgrS2xCO0VJdlNNO0lBdkRBO0VKaVdOO0VJMVNNO0lBdkRBO0VKb1dOO0VJN1NNO0lBdkRBO0VKdVdOO0VJaFRNO0lBdkRBO0VKMFdOO0VJblRNO0lBdkRBO0VKNldOO0VJdFRNO0lBdkRBO0VKZ1hOO0VJelRNO0lBdkRBO0VKbVhOO0VJNVRNO0lBdkRBO0VKc1hOO0VJL1RNO0lBdkRBO0VKeVhOO0VJbFVNO0lBdkRBO0VKNFhOO0VJclVNO0lBdkRBO0VKK1hOO0VJeFVNO0lBdkRBO0VKa1lOO0VJdFVNO0lBMUJBO0VKbVdOO0VJelVNO0lBMUJBO0VKc1dOO0VJNVVNO0lBMUJBO0VKeVdOO0VJL1VNO0lBMUJBO0VKNFdOO0VJbFZNO0lBMUJBO0VKK1dOO0VJclZNO0lBMUJBO0VKa1hOO0VJeFZNO0lBMUJBO0VKcVhOO0VJM1ZNO0lBMUJBO0VKd1hOO0VJOVZNO0lBMUJBO0VKMlhOO0VJaldNO0lBMUJBO0VKOFhOO0VJcFdNO0lBMUJBO0VKaVlOO0VJdldNO0lBMUJBO0VKb1lOO0VJdFdFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQSxXRDBHWTtFSDhQbEI7RUl0V0U7O0lBM0NJO0lBQ0E7SUFDQTtFSnFaTjtFSXhXRTs7SUFFSTtJQUNBO0lBQ0EsV0RnR1k7RUgwUWxCO0VJdldFOztJQUVJO0VKeVdOO0VJdFdFOztJQUVJLFdEc0ZZO0VIa1JsQjtFSXRXRTs7SUFFSSxZRG1GaUI7RUhxUnZCO0VJcFdVOztJQTlHSjtJQUNBO0VKc2ROO0VJcldVO0lBQ0k7SUFDQTtFSnVXZDtFSW5XVTs7SUFoSEo7SUFDQTtJQXFCSSxXRDhKUTtFSHFTbEI7QUFDRjtBSWhVUTtFQTFHQTtJQTVEQTtJQXlCQTtJQUNBO0VKa2ROO0VJN2FNO0lBL0RBO0lBNkJBO0lBQ0E7RUptZE47RUlyYk07SUE1REE7SUF5QkE7SUFDQTtFSjRkTjtFSXZiTTtJQS9EQTtJQTZCQTtJQUNBO0VKNmROO0VJL2JNO0lBNURBO0lBeUJBO0lBQ0E7RUpzZU47RUlqY007SUEvREE7SUE2QkE7SUFDQTtFSnVlTjtFSXpjTTtJQTVEQTtJQXlCQTtJQUNBO0VKZ2ZOO0VJM2NNO0lBL0RBO0lBNkJBO0lBQ0E7RUppZk47RUluZE07SUE1REE7SUF5QkE7SUFDQTtFSjBmTjtFSXJkTTtJQS9EQTtJQTZCQTtJQUNBO0VKMmZOO0VJN2RNO0lBNURBO0lBeUJBO0lBQ0E7RUpvZ0JOO0VJL2RNO0lBL0RBO0lBNkJBO0lBQ0E7RUpxZ0JOO0VJdmVNO0lBNURBO0lBeUJBO0lBQ0E7RUo4Z0JOO0VJemVNO0lBL0RBO0lBNkJBO0lBQ0E7RUorZ0JOO0VJamZNO0lBNURBO0lBeUJBO0lBQ0E7RUp3aEJOO0VJbmZNO0lBL0RBO0lBNkJBO0lBQ0E7RUp5aEJOO0VJM2ZNO0lBNURBO0lBeUJBO0lBQ0E7RUpraUJOO0VJN2ZNO0lBL0RBO0lBNkJBO0lBQ0E7RUptaUJOO0VJcmdCTTtJQTVEQTtJQXlCQTtJQUNBO0VKNGlCTjtFSXZnQk07SUEvREE7SUE2QkE7SUFDQTtFSjZpQk47RUkvZ0JNO0lBNURBO0lBeUJBO0lBQ0E7RUpzakJOO0VJamhCTTtJQS9EQTtJQTZCQTtJQUNBO0VKdWpCTjtFSXpoQk07SUE1REE7SUF5QkE7SUFDQTtFSmdrQk47RUkzaEJNO0lBL0RBO0lBNkJBO0lBQ0E7RUppa0JOO0VJNWhCRTs7SUFuRUk7SUFZQTtJQUNBO0lBcUJJLFdEOEpRO0VIc2FsQjtFSTloQk07SUF2REE7RUp3bEJOO0VJamlCTTtJQXZEQTtFSjJsQk47RUlwaUJNO0lBdkRBO0VKOGxCTjtFSXZpQk07SUF2REE7RUppbUJOO0VJMWlCTTtJQXZEQTtFSm9tQk47RUk3aUJNO0lBdkRBO0VKdW1CTjtFSWhqQk07SUF2REE7RUowbUJOO0VJbmpCTTtJQXZEQTtFSjZtQk47RUl0akJNO0lBdkRBO0VKZ25CTjtFSXpqQk07SUF2REE7RUptbkJOO0VJNWpCTTtJQXZEQTtFSnNuQk47RUkvakJNO0lBdkRBO0VKeW5CTjtFSTdqQk07SUExQkE7RUowbEJOO0VJaGtCTTtJQTFCQTtFSjZsQk47RUlua0JNO0lBMUJBO0VKZ21CTjtFSXRrQk07SUExQkE7RUptbUJOO0VJemtCTTtJQTFCQTtFSnNtQk47RUk1a0JNO0lBMUJBO0VKeW1CTjtFSS9rQk07SUExQkE7RUo0bUJOO0VJbGxCTTtJQTFCQTtFSittQk47RUlybEJNO0lBMUJBO0VKa25CTjtFSXhsQk07SUExQkE7RUpxbkJOO0VJM2xCTTtJQTFCQTtFSnduQk47RUk5bEJNO0lBMUJBO0VKMm5CTjtFSTdsQkU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBLFdEMEdZO0VIcWZsQjtFSTdsQkU7O0lBM0NJO0lBQ0E7SUFDQTtFSjRvQk47RUkvbEJFOztJQUVJO0lBQ0E7SUFDQSxXRGdHWTtFSGlnQmxCO0VJOWxCRTs7SUFFSTtFSmdtQk47RUk3bEJFOztJQUVJLFdEc0ZZO0VIeWdCbEI7RUk3bEJFOztJQUVJLFlEbUZpQjtFSDRnQnZCO0VJM2xCVTs7SUE5R0o7SUFDQTtFSjZzQk47RUk1bEJVO0lBQ0k7SUFDQTtFSjhsQmQ7RUkxbEJVOztJQWhISjtJQUNBO0lBcUJJLFdEOEpRO0VINGhCbEI7RUlsakJjO0lBMUtSO0lBeUJBO0lBQ0E7RUp1c0JOO0VJcGpCYztJQTdLUjtJQTZCQTtJQUNBO0VKd3NCTjtFSTVqQmM7SUExS1I7SUF5QkE7SUFDQTtFSml0Qk47RUk5akJjO0lBN0tSO0lBNkJBO0lBQ0E7RUprdEJOO0VJdGtCYztJQTFLUjtJQXlCQTtJQUNBO0VKMnRCTjtFSXhrQmM7SUE3S1I7SUE2QkE7SUFDQTtFSjR0Qk47RUlobEJjO0lBMUtSO0lBeUJBO0lBQ0E7RUpxdUJOO0VJbGxCYztJQTdLUjtJQTZCQTtJQUNBO0VKc3VCTjtFSTFsQmM7SUExS1I7SUF5QkE7SUFDQTtFSit1Qk47RUk1bEJjO0lBN0tSO0lBNkJBO0lBQ0E7RUpndkJOO0VJcG1CYztJQTFLUjtJQXlCQTtJQUNBO0VKeXZCTjtFSXRtQmM7SUE3S1I7SUE2QkE7SUFDQTtFSjB2Qk47RUk5bUJjO0lBMUtSO0lBeUJBO0lBQ0E7RUptd0JOO0VJaG5CYztJQTdLUjtJQTZCQTtJQUNBO0VKb3dCTjtFSXhuQmM7SUExS1I7SUF5QkE7SUFDQTtFSjZ3Qk47RUkxbkJjO0lBN0tSO0lBNkJBO0lBQ0E7RUo4d0JOO0VJbG9CYztJQTFLUjtJQXlCQTtJQUNBO0VKdXhCTjtFSXBvQmM7SUE3S1I7SUE2QkE7SUFDQTtFSnd4Qk47RUk1b0JjO0lBMUtSO0lBeUJBO0lBQ0E7RUppeUJOO0VJOW9CYztJQTdLUjtJQTZCQTtJQUNBO0VKa3lCTjtFSXRwQmM7SUExS1I7SUF5QkE7SUFDQTtFSjJ5Qk47RUl4cEJjO0lBN0tSO0lBNkJBO0lBQ0E7RUo0eUJOO0VJaHFCYztJQTFLUjtJQXlCQTtJQUNBO0VKcXpCTjtFSWxxQmM7SUE3S1I7SUE2QkE7SUFDQTtFSnN6Qk47QUFDRjtBSW5xQlE7RUF0SEE7SUE1REE7SUF5QkE7SUFDQTtFSmkwQk47RUk1eEJNO0lBL0RBO0lBNkJBO0lBQ0E7RUprMEJOO0VJcHlCTTtJQTVEQTtJQXlCQTtJQUNBO0VKMjBCTjtFSXR5Qk07SUEvREE7SUE2QkE7SUFDQTtFSjQwQk47RUk5eUJNO0lBNURBO0lBeUJBO0lBQ0E7RUpxMUJOO0VJaHpCTTtJQS9EQTtJQTZCQTtJQUNBO0VKczFCTjtFSXh6Qk07SUE1REE7SUF5QkE7SUFDQTtFSisxQk47RUkxekJNO0lBL0RBO0lBNkJBO0lBQ0E7RUpnMkJOO0VJbDBCTTtJQTVEQTtJQXlCQTtJQUNBO0VKeTJCTjtFSXAwQk07SUEvREE7SUE2QkE7SUFDQTtFSjAyQk47RUk1MEJNO0lBNURBO0lBeUJBO0lBQ0E7RUptM0JOO0VJOTBCTTtJQS9EQTtJQTZCQTtJQUNBO0VKbzNCTjtFSXQxQk07SUE1REE7SUF5QkE7SUFDQTtFSjYzQk47RUl4MUJNO0lBL0RBO0lBNkJBO0lBQ0E7RUo4M0JOO0VJaDJCTTtJQTVEQTtJQXlCQTtJQUNBO0VKdTRCTjtFSWwyQk07SUEvREE7SUE2QkE7SUFDQTtFSnc0Qk47RUkxMkJNO0lBNURBO0lBeUJBO0lBQ0E7RUppNUJOO0VJNTJCTTtJQS9EQTtJQTZCQTtJQUNBO0VKazVCTjtFSXAzQk07SUE1REE7SUF5QkE7SUFDQTtFSjI1Qk47RUl0M0JNO0lBL0RBO0lBNkJBO0lBQ0E7RUo0NUJOO0VJOTNCTTtJQTVEQTtJQXlCQTtJQUNBO0VKcTZCTjtFSWg0Qk07SUEvREE7SUE2QkE7SUFDQTtFSnM2Qk47RUl4NEJNO0lBNURBO0lBeUJBO0lBQ0E7RUorNkJOO0VJMTRCTTtJQS9EQTtJQTZCQTtJQUNBO0VKZzdCTjtFSTM0QkU7O0lBbkVJO0lBWUE7SUFDQTtJQXFCSSxXRDhKUTtFSHF4QmxCO0VJNzRCTTtJQXZEQTtFSnU4Qk47RUloNUJNO0lBdkRBO0VKMDhCTjtFSW41Qk07SUF2REE7RUo2OEJOO0VJdDVCTTtJQXZEQTtFSmc5Qk47RUl6NUJNO0lBdkRBO0VKbTlCTjtFSTU1Qk07SUF2REE7RUpzOUJOO0VJLzVCTTtJQXZEQTtFSnk5Qk47RUlsNkJNO0lBdkRBO0VKNDlCTjtFSXI2Qk07SUF2REE7RUorOUJOO0VJeDZCTTtJQXZEQTtFSmsrQk47RUkzNkJNO0lBdkRBO0VKcStCTjtFSTk2Qk07SUF2REE7RUp3K0JOO0VJNTZCTTtJQTFCQTtFSnk4Qk47RUkvNkJNO0lBMUJBO0VKNDhCTjtFSWw3Qk07SUExQkE7RUorOEJOO0VJcjdCTTtJQTFCQTtFSms5Qk47RUl4N0JNO0lBMUJBO0VKcTlCTjtFSTM3Qk07SUExQkE7RUp3OUJOO0VJOTdCTTtJQTFCQTtFSjI5Qk47RUlqOEJNO0lBMUJBO0VKODlCTjtFSXA4Qk07SUExQkE7RUppK0JOO0VJdjhCTTtJQTFCQTtFSm8rQk47RUkxOEJNO0lBMUJBO0VKdStCTjtFSTc4Qk07SUExQkE7RUowK0JOO0VJNThCRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsV0QwR1k7RUhvMkJsQjtFSTU4QkU7O0lBM0NJO0lBQ0E7SUFDQTtFSjIvQk47RUk5OEJFOztJQUVJO0lBQ0E7SUFDQSxXRGdHWTtFSGczQmxCO0VJNzhCRTs7SUFFSTtFSis4Qk47RUk1OEJFOztJQUVJLFdEc0ZZO0VIdzNCbEI7RUk1OEJFOztJQUVJLFlEbUZpQjtFSDIzQnZCO0VJMThCVTs7SUE5R0o7SUFDQTtFSjRqQ047RUkzOEJVO0lBQ0k7SUFDQTtFSjY4QmQ7RUl6OEJVOztJQWhISjtJQUNBO0lBcUJJLFdEOEpRO0VIMjRCbEI7RUl0NUJjO0lBckxSO0lBeUJBO0lBQ0E7RUpzakNOO0VJeDVCYztJQXhMUjtJQTZCQTtJQUNBO0VKdWpDTjtFSWg2QmM7SUFyTFI7SUF5QkE7SUFDQTtFSmdrQ047RUlsNkJjO0lBeExSO0lBNkJBO0lBQ0E7RUppa0NOO0VJMTZCYztJQXJMUjtJQXlCQTtJQUNBO0VKMGtDTjtFSTU2QmM7SUF4TFI7SUE2QkE7SUFDQTtFSjJrQ047RUlwN0JjO0lBckxSO0lBeUJBO0lBQ0E7RUpvbENOO0VJdDdCYztJQXhMUjtJQTZCQTtJQUNBO0VKcWxDTjtFSTk3QmM7SUFyTFI7SUF5QkE7SUFDQTtFSjhsQ047RUloOEJjO0lBeExSO0lBNkJBO0lBQ0E7RUorbENOO0VJeDhCYztJQXJMUjtJQXlCQTtJQUNBO0VKd21DTjtFSTE4QmM7SUF4TFI7SUE2QkE7SUFDQTtFSnltQ047RUlsOUJjO0lBckxSO0lBeUJBO0lBQ0E7RUprbkNOO0VJcDlCYztJQXhMUjtJQTZCQTtJQUNBO0VKbW5DTjtFSTU5QmM7SUFyTFI7SUF5QkE7SUFDQTtFSjRuQ047RUk5OUJjO0lBeExSO0lBNkJBO0lBQ0E7RUo2bkNOO0VJdCtCYztJQXJMUjtJQXlCQTtJQUNBO0VKc29DTjtFSXgrQmM7SUF4TFI7SUE2QkE7SUFDQTtFSnVvQ047RUloL0JjO0lBckxSO0lBeUJBO0lBQ0E7RUpncENOO0VJbC9CYztJQXhMUjtJQTZCQTtJQUNBO0VKaXBDTjtFSTEvQmM7SUFyTFI7SUF5QkE7SUFDQTtFSjBwQ047RUk1L0JjO0lBeExSO0lBNkJBO0lBQ0E7RUoycENOO0VJcGdDYztJQXJMUjtJQXlCQTtJQUNBO0VKb3FDTjtFSXRnQ2M7SUF4TFI7SUE2QkE7SUFDQTtFSnFxQ047QUFDRjtBS2pxQ1E7RUFFSTtBTGtxQ1o7QUd4bkNJO0VBRUk7RUFDQTtBSHluQ1I7QUd2bkNJO0VBQ0k7QUh5bkNSO0FLeHFDWTs7RUFFSTtFQUNBO0FMMHFDaEI7QUt6cUNnQjs7RUFDSSxtQkFwSG1CO0FMZ3lDdkM7QUsxcUNnQjs7RUFDSSxtQkY4Rlg7RUU3RlcsY0Z5R2Q7RUV4R2MsYUE1SFc7RUE2SFg7RUFDQSxpQ0ozRkQ7RUk0RkMsZUExSGE7QUx1eUNqQztBSzVxQ29COztFQUNJLG1CQS9IYztBTDh5Q3RDO0FLNXFDZ0I7O0VBQ0k7RUFDQSxrQkE5SFE7QUw2eUM1QjtBSzlxQ29COztFQUNJO0VBQ0EsbUJGMEVoQjtBSHVtQ1I7O0FNM3RDUTtFQTVESixtQkF0QmlCO0VBdUJqQixpQkF0QmlCO0VBdUJqQjtFQUNBLG1CSHVOaUI7RUd0TmpCLHNCQXZCa0I7RUF3QmxCO0VBQ0E7RUFDQSxvQkFuQ2M7RUh1RGQ7RUdUQSx5QkhrTFk7RUdqTFo7RUFNSSxjSHVKQTtBSHNuQ1I7QU14dUNZO0VBL0JSLG1CQTdDb0I7RUE4Q3BCLGtCQTNDa0I7RUE0Q2xCO0VBQ0E7RUFDQSxRQW5EYztFQXFEZDtFQUNBLGNBckRtQjtFQXNEbkIsY0h5SkU7RUd4SkYsWUFyRGtCO0VBc0RsQixtQkFuRHFCO0FONHpDekI7QU14d0NJO0VBRUksWUF4RG9CO0FOaTBDNUI7QU1wdkNZO0VIakZKLGtCQW1RUTtBSHFrQ2hCO0FNcHZDWTtFSHBGSixxQkFvUVM7QUh1a0NqQjtBTXB2Q1k7RUFyRFIseUJIcUxZO0VHcExaO0VBTUksY0h1SkE7QUhncENSO0FNdHZDWTtFQXhEUix5QkhvTFU7RUduTFY7RUFNSSxjSHVKQTtBSHFwQ1I7QU14dkNZO0VBM0RSLHlCSG1MYztFR2xMZDtFQUdJLGNBaERlO0FObzJDdkI7QU0xdkNZO0VBOURSLHlCSHNMWTtFR3JMWjtFQU1JLGNIdUpBO0FIK3BDUjtBTTV2Q1k7RUFqRVIseUJIdUxTO0VHdExUO0VBR0ksY0FoRGU7QU44MkN2QjtBTTl2Q1k7RUFDSTtBTmd3Q2hCOztBTy94Q1E7RUFyRUE7RUFDQTtFQU1JO0FQbTJDWjtBR3J1Q0k7RUFFSTtFQUNBO0FIc3VDUjtBR3B1Q0k7RUFDSTtBSHN1Q1I7QU92MkNRO0VBQ0k7RUFDQTtFQUNBLFdKeU9RO0VJdE9KO0FQdTJDaEI7O0FPOXlDWTtFQXBESjtJQUVJO0lBSUE7RVBrMkNWO0VPajJDVTtJQUNJO0VQbTJDZDtFT2oyQ1U7SUFDSTtFUG0yQ2Q7RU85MkNNO0lBRUk7SUFJQTtFUDQyQ1Y7RU8zMkNVO0lBQ0k7RVA2MkNkO0VPMzJDVTtJQUNJO0VQNjJDZDtFT3gzQ007SUFFSTtJQUlBO0VQczNDVjtFT3IzQ1U7SUFDSTtFUHUzQ2Q7RU9yM0NVO0lBQ0k7RVB1M0NkO0VPbDRDTTtJQUVJO0lBSUE7RVBnNENWO0VPLzNDVTtJQUNJO0VQaTRDZDtFTy8zQ1U7SUFDSTtFUGk0Q2Q7RU81NENNO0lBRUk7SUFJQTtFUDA0Q1Y7RU96NENVO0lBQ0k7RVAyNENkO0VPejRDVTtJQUNJO0VQMjRDZDtFT3Q1Q007SUFFSTtJQUlBO0VQbzVDVjtFT241Q1U7SUFDSTtFUHE1Q2Q7RU9uNUNVO0lBQ0k7RVBxNUNkO0VPaDZDTTtJQUVJO0lBSUE7RVA4NUNWO0VPNzVDVTtJQUNJO0VQKzVDZDtFTzc1Q1U7SUFDSTtFUCs1Q2Q7RU8xNkNNO0lBRUk7SUFJQTtFUHc2Q1Y7RU92NkNVO0lBQ0k7RVB5NkNkO0VPdjZDVTtJQUNJO0VQeTZDZDtFT3A3Q007SUFFSTtJQUlBO0VQazdDVjtFT2o3Q1U7SUFDSTtFUG03Q2Q7RU9qN0NVO0lBQ0k7RVBtN0NkO0VPOTdDTTtJQUVJO0lBSUE7RVA0N0NWO0VPMzdDVTtJQUNJO0VQNjdDZDtFTzM3Q1U7SUFDSTtFUDY3Q2Q7RU94OENNO0lBRUk7SUFJQTtFUHM4Q1Y7RU9yOENVO0lBQ0k7RVB1OENkO0VPcjhDVTtJQUNJO0VQdThDZDtFT2w5Q007SUFFSTtJQUlBO0VQZzlDVjtFTy84Q1U7SUFDSTtFUGk5Q2Q7RU8vOENVO0lBQ0k7RVBpOUNkO0FBQ0Y7QU90NkNZO0VBdkRKO0lBRUk7SUFJQTtFUDQ5Q1Y7RU8zOUNVO0lBQ0k7RVA2OUNkO0VPMzlDVTtJQUNJO0VQNjlDZDtFT3grQ007SUFFSTtJQUlBO0VQcytDVjtFT3IrQ1U7SUFDSTtFUHUrQ2Q7RU9yK0NVO0lBQ0k7RVB1K0NkO0VPbC9DTTtJQUVJO0lBSUE7RVBnL0NWO0VPLytDVTtJQUNJO0VQaS9DZDtFTy8rQ1U7SUFDSTtFUGkvQ2Q7RU81L0NNO0lBRUk7SUFJQTtFUDAvQ1Y7RU96L0NVO0lBQ0k7RVAyL0NkO0VPei9DVTtJQUNJO0VQMi9DZDtFT3RnRE07SUFFSTtJQUlBO0VQb2dEVjtFT25nRFU7SUFDSTtFUHFnRGQ7RU9uZ0RVO0lBQ0k7RVBxZ0RkO0VPaGhETTtJQUVJO0lBSUE7RVA4Z0RWO0VPN2dEVTtJQUNJO0VQK2dEZDtFTzdnRFU7SUFDSTtFUCtnRGQ7RU8xaERNO0lBRUk7SUFJQTtFUHdoRFY7RU92aERVO0lBQ0k7RVB5aERkO0VPdmhEVTtJQUNJO0VQeWhEZDtFT3BpRE07SUFFSTtJQUlBO0VQa2lEVjtFT2ppRFU7SUFDSTtFUG1pRGQ7RU9qaURVO0lBQ0k7RVBtaURkO0VPOWlETTtJQUVJO0lBSUE7RVA0aURWO0VPM2lEVTtJQUNJO0VQNmlEZDtFTzNpRFU7SUFDSTtFUDZpRGQ7RU94akRNO0lBRUk7SUFJQTtFUHNqRFY7RU9yakRVO0lBQ0k7RVB1akRkO0VPcmpEVTtJQUNJO0VQdWpEZDtFT2xrRE07SUFFSTtJQUlBO0VQZ2tEVjtFTy9qRFU7SUFDSTtFUGlrRGQ7RU8vakRVO0lBQ0k7RVBpa0RkO0VPNWtETTtJQUVJO0lBSUE7RVAwa0RWO0VPemtEVTtJQUNJO0VQMmtEZDtFT3prRFU7SUFDSTtFUDJrRGQ7QUFDRjtBTzdoRFk7RUExREo7SUFFSTtJQUlBO0VQc2xEVjtFT3JsRFU7SUFDSTtFUHVsRGQ7RU9ybERVO0lBQ0k7RVB1bERkO0VPbG1ETTtJQUVJO0lBSUE7RVBnbURWO0VPL2xEVTtJQUNJO0VQaW1EZDtFTy9sRFU7SUFDSTtFUGltRGQ7RU81bURNO0lBRUk7SUFJQTtFUDBtRFY7RU96bURVO0lBQ0k7RVAybURkO0VPem1EVTtJQUNJO0VQMm1EZDtFT3RuRE07SUFFSTtJQUlBO0VQb25EVjtFT25uRFU7SUFDSTtFUHFuRGQ7RU9ubkRVO0lBQ0k7RVBxbkRkO0VPaG9ETTtJQUVJO0lBSUE7RVA4bkRWO0VPN25EVTtJQUNJO0VQK25EZDtFTzduRFU7SUFDSTtFUCtuRGQ7RU8xb0RNO0lBRUk7SUFJQTtFUHdvRFY7RU92b0RVO0lBQ0k7RVB5b0RkO0VPdm9EVTtJQUNJO0VQeW9EZDtFT3BwRE07SUFFSTtJQUlBO0VQa3BEVjtFT2pwRFU7SUFDSTtFUG1wRGQ7RU9qcERVO0lBQ0k7RVBtcERkO0VPOXBETTtJQUVJO0lBSUE7RVA0cERWO0VPM3BEVTtJQUNJO0VQNnBEZDtFTzNwRFU7SUFDSTtFUDZwRGQ7RU94cURNO0lBRUk7SUFJQTtFUHNxRFY7RU9ycURVO0lBQ0k7RVB1cURkO0VPcnFEVTtJQUNJO0VQdXFEZDtFT2xyRE07SUFFSTtJQUlBO0VQZ3JEVjtFTy9xRFU7SUFDSTtFUGlyRGQ7RU8vcURVO0lBQ0k7RVBpckRkO0VPNXJETTtJQUVJO0lBSUE7RVAwckRWO0VPenJEVTtJQUNJO0VQMnJEZDtFT3pyRFU7SUFDSTtFUDJyRGQ7RU90c0RNO0lBRUk7SUFJQTtFUG9zRFY7RU9uc0RVO0lBQ0k7RVBxc0RkO0VPbnNEVTtJQUNJO0VQcXNEZDtBQUNGO0FRaHBESTtFQTFFRjtFQUNBLHFDQTdCYztFQThCZDtFQUNBO0VBQ0E7RUFDQSxtQkEzQm1CO0VBNEJuQixpQkE3QmtCO0VBZ0NsQix5QkF4Q1M7RUF5Q1QsdUJBL0JtQjtFTE1iLGtCQW1RUTtBSGsvQ2hCO0FReHBETTtFQTdESjtFQUNBLFdMd05rQjtFS3ZObEIsb0JBcENnQjtFQXFDaEIsc0JBckNnQjtFQXNDaEIseUJBbENxQjtFQW1DckIsY0wrS2M7QUh5aURoQjtBUXR0REU7RUFBdUIsMEJBcENOO0FSNnZEbkI7QVF2dERFO0VBQ0UsY0wwS1k7QUgraURoQjtBUXJ0REU7RUFDRSxlTHlQbUI7RUt4UG5CLGNMZ0tFO0FIdWpETjtBUXR0REk7RUFDRSxlTHNQaUI7RUtyUGpCLGNMNkpBO0FIMmpETjtBUXJ0REk7RUFDcUI7QVJ1dER6QjtBUW50REU7RUFDRSxjTDhJTztBSHVrRFg7QVFwdERJO0VBQUksY0w2SUc7QUgwa0RYO0FRcnRESTs7RUFJRTtFQUNBLGNMc0lLO0VLcklMLG1CTG9Pa0I7QUhpL0N4QjtBUWp0REU7RUFDRTtFQUNBLGNMOEhHO0VLN0hIO0VBQ0E7RUFDQTtBUm10REo7QVFodERFO0VBQ0U7RUFDQTtBUmt0REo7O0FRanNEQTtBQUNBO0VBQ0U7QVJvc0RGOztBU2xuREk7RUE3SUEsbUJBbENrQjtFQW1DbEIsZUFwQ2tCO0VBcUNsQixlTjZQbUI7RU01UG5CLGlDUjlCZTtFUStCZixtQk4yTGlCO0VNMUxqQjtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCQWxEZ0I7RUFtRGhCO0VBQ0E7RUFDQTtFQUVhLHFCQW5FQTtFQWtGYjtFQUVtQyxlQTNFckI7RUFnSWQseUJUekpnQjtFUzBKaEIscUJBUmlCO0VBYWpCO0VOMUZBO0FIc3hESjtBU2hzREk7RUFDVSx5QkFkRztBVGd0RGpCO0FTN3JESTtFQUVFO0FUOHJETjtBU3hvRE07RUFoRUYseUJOc0ZjO0VNckZkLHFCQW5Id0I7RUF3SHhCO0FUdXNESjtBUzNzREk7RUFDVSx5QkFySGM7QVRrMEQ1QjtBU3hzREk7RUFFRTtBVHlzRE47QVNscERNO0VBakVGLHlCTndGWTtFTXZGWixxQkFqSHNCO0VBc0h0QjtBVGt0REo7QVN0dERJO0VBQ1UseUJBbkhZO0FUMjBEMUI7QVNudERJO0VBRUU7QVRvdEROO0FTNXBETTtFQWxFRix5Qk51RlU7RU10RlYscUJBL0dvQjtFQW9IcEI7QVQ2dERKO0FTanVESTtFQUNVLHlCQWpIVTtBVG8xRHhCO0FTOXRESTtFQUVFO0FUK3RETjtBU3RxRE07RUFuRUYseUJOeUZZO0VNeEZaLHFCQTdHc0I7RUFrSHRCO0FUd3VESjtBUzV1REk7RUFDVSx5QkEvR1k7QVQ2MUQxQjtBU3p1REk7RUFFRTtBVDB1RE47QVNockRNO0VBcEVGLHlCTjBGUztFTXpGVCxxQkEzR21CO0VBZ0huQjtBVG12REo7QVN2dkRJO0VBQ1UseUJBN0dTO0FUczJEdkI7QVNwdkRJO0VBRUU7QVRxdkROO0FTenJETTtFQTdIRjtFQUttQyxrQkE3RXJCO0FUazREbEI7QVM1ckRNO0VBOUhGO0VBSW1DLG9CQTlFckI7QVR3NERsQjtBUy9yRE07RUEvSEY7RUFHbUMsb0JBOUVyQjtBVDY0RGxCO0FTbHNETTtFQTlHRjtFQUNBO0VBQ0E7QVRtekRKO0FTcnNETTtFQUFnQjtFQUFrQjtBVHlzRHhDO0FTeHNETTtFQUFnQjtFQUFtQjtBVDRzRHpDO0FTMXNETTtFTjdNRSxrQkFtUVE7QUh1cERoQjtBUzVzRE07RU45TUUscUJBb1FTO0FIeXBEakI7QVM3c0RNO0VBakZGLHlCVHpKZ0I7RVMwSmhCLHFCQXJIYztFQTBIZDtFQVVBLGVOeUptQjtFTXhKbkIsWUFuSHNCO0VBb0h0QjtBVG94REo7QVNweURJO0VBQ1UseUJBdkhJO0FUNjVEbEI7QVNqeURJO0VBRUU7QVRreUROO0FTenhESTtFQUNVLHlCVDdLTTtBQXc4RHBCO0FTN3REUTtFQWxGSix5Qk5zRmM7RU1yRmQscUJBbkh3QjtFQXdIeEI7RUFVQSxlTnlKbUI7RU14Sm5CLFlBbkhzQjtFQW9IdEI7QVRxeURKO0FTcnpESTtFQUNVLHlCQXJIYztBVDQ2RDVCO0FTbHpESTtFQUVFO0FUbXpETjtBUzF5REk7RUFDVSx5Qk5rRUk7QUgwdURsQjtBUzd1RFE7RUFuRkoseUJOd0ZZO0VNdkZaLHFCQWpIc0I7RUFzSHRCO0VBVUEsZU55Sm1CO0VNeEpuQixZQW5Ic0I7RUFvSHRCO0FUc3pESjtBU3QwREk7RUFDVSx5QkFuSFk7QVQyN0QxQjtBU24wREk7RUFFRTtBVG8wRE47QVMzekRJO0VBQ1UseUJOb0VFO0FIeXZEaEI7QVM3dkRRO0VBcEZKLHlCTnVGVTtFTXRGVixxQkEvR29CO0VBb0hwQjtFQVVBLGVOeUptQjtFTXhKbkIsWUFuSHNCO0VBb0h0QjtBVHUwREo7QVN2MURJO0VBQ1UseUJBakhVO0FUMDhEeEI7QVNwMURJO0VBRUU7QVRxMUROO0FTNTBESTtFQUNVLHlCTm1F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STtJQUNBO0VWbzFFTjtFVWoxRU07O0lBRUk7RVZtMUVWO0VVN3pFTTs7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VWK3pFVjtFVTd6RU07SUFDSTtFVit6RVY7RVU1ekVVOztJQUVJO0VWOHpFZDtFVXh4RU07SVB6RkEsZ0JPNkZvQjtFVnV4RTFCO0VVcnhFTTtJUC9FQSw0QkFtUFE7SUFsUFIsNkJBa1BRO0lBalBSLDJCQWlQUTtJQWhQUiw0QkFnUFE7RUh1bkVkO0VVaHhFTTtJUDFGQSwrQkFtUFE7SUFsUFIsZ0NBa1BRO0lBalBSLDhCQWlQUTtJQWhQUiwrQkFnUFE7RUg2bkVkO0FBQ0Y7QVV0dEVZO0VBcEhSLHFCQXhCMkI7RUF5QjNCLGNBeEIwQjtBVnEyRTlCO0FVOTNFSTs7RUFFSTtFQUNBO0FWZzRFUjtBVTczRVE7O0VBRUk7QVYrM0VaO0FVcnpFUTtFUHpGQSxnQk82Rm9CO0FWb3pFNUI7QVVsekVRO0VQckZBLHlDQTBQUztFQXpQVCxzQ0F5UFM7RUF4UFQsaUNBd1BTO0VBdlBULDhCQXVQUztBSG1wRWpCO0FVN3lFUTtFUGhHQSwwQ0EwUFM7RUF6UFQsdUNBeVBTO0VBeFBULGtDQXdQUztFQXZQVCwrQkF1UFM7QUh5cEVqQjtBVS91RVk7RUF2SFIsY0FwQjJCO0VBcUIzQixTQXBCMEI7QVY2M0U5QjtBVTE1RUk7O0VBRUk7RUFDQTtBVjQ1RVI7QVV6NUVROztFQUVJO0FWMjVFWjtBVXI0RVE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVnU0RVo7QVVyNEVRO0VBQ0k7QVZ1NEVaO0FVcDRFWTs7RUFFSTtBVnM0RWhCO0FVaDJFUTtFUHpGQSxnQk82Rm9CO0FWKzFFNUI7QVU3MUVRO0VQL0VBLDZCTTlCSztFTitCTCw4Qk0vQks7RU5nQ0wsNEJNaENLO0VOaUNMLDZCTWpDSztBVGc5RWI7QVV4MUVRO0VQMUZBLGdDTTlCSztFTitCTCxpQ00vQks7RU5nQ0wsK0JNaENLO0VOaUNMLGdDTWpDSztBVHM5RWI7QVV0eEVnQjtFQURKO0lBMUhSLHFCQXhCMkI7SUF5QjNCLGNBeEIwQjtFVjY2RTVCO0VVdDhFRTs7SUFFSTtJQUNBO0VWdzhFTjtFVXI4RU07O0lBRUk7RVZ1OEVWO0VVNzNFTTtJUHpGQSxnQk82Rm9CO0VWNDNFMUI7RVUxM0VNO0lQckZBLHlDQTBQUztJQXpQVCxzQ0F5UFM7SUF4UFQsaUNBd1BTO0lBdlBULDhCQXVQUztFSDJ0RWY7RVVyM0VNO0lQaEdBLDBDQTBQUztJQXpQVCx1Q0F5UFM7SUF4UFQsa0NBd1BTO0lBdlBULCtCQXVQUztFSGl1RWY7QUFDRjtBVWp6RWdCO0VBSko7SUExSFIsY0FwQjJCO0lBcUIzQixTQXBCMEI7RVZ1OEU1QjtFVXArRUU7O0lBRUk7SUFDQTtFVnMrRU47RVVuK0VNOztJQUVJO0VWcStFVjtFVS84RU07O0lBRUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFVmk5RVY7RVUvOEVNO0lBQ0k7RVZpOUVWO0VVOThFVTs7SUFFSTtFVmc5RWQ7RVUxNkVNO0lQekZBLGdCTzZGb0I7RVZ5NkUxQjtFVXY2RU07SVAvRUEsNkJNOUJLO0lOK0JMLDhCTS9CSztJTmdDTCw0Qk1oQ0s7SU5pQ0wsNkJNakNLO0VUMGhGWDtFVWw2RU07SVAxRkEsZ0NNOUJLO0lOK0JMLGlDTS9CSztJTmdDTCwrQk1oQ0s7SU5pQ0wsZ0NNakNLO0VUZ2lGWDtBQUNGOztBRzM0RUk7RUFFSTtFQUNBO0FINjRFUjtBRzM0RUk7RUFDSTtBSDY0RVI7QVUvMUVZO0VBL0xKO0VBQ0Esc0JBZnFCO0FWZ2pGN0I7QVVoaUZRO0VBQ0k7QVZraUZaOztBV3BoRkk7QUFDQTtFQUVFO0VBQ0E7RUFDQTtBWHNoRk47QUdqNkVJO0VBRUk7RUFDQTtBSGs2RVI7QUdoNkVJO0VBQ0k7QUhrNkVSO0FXM2hGTTtFQUNFLFdSbU9ZO0VRbE9aO0FYNmhGUjtBVzFoRk07RUFDRTtBWDRoRlI7O0FXeGhGSTtFQUNFLG1CUmdMQTtFUS9LQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVgyaEZOO0FXemhGTTtFQUFrQjtBWDRoRnhCOztBV3poRkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYNGhGTjs7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aEJpaEhGO0FnQi9nSEU7RUFDQztFQUNBO0FoQmloSEg7QWdCL2dIRztFQUNDO0FoQmloSEo7QWdCN2dIRTtFQUNDLG1CQTFDa0I7RUEyQ2xCO0FoQitnSEg7QWdCNWdIRTtFQUNDLGVBOUNvQjtFQStDcEIsZ0JBOUNxQjtBaEI0akh4QjtBZ0J4Z0hFO0VBQ0M7RUFDQTtBaEIwZ0hIO0FnQnhnSEc7RUFDQztBaEIwZ0hKO0FnQnRnSEU7RUFBUTtBaEJ5Z0hWO0FnQnRnSEM7RUFDQztBaEJ3Z0hGO0FnQnJnSEM7RUFDQztFQUNBO0FoQnVnSEY7QWdCcmdIRTtFQUNDO0VBQ0E7RUFDQTtBaEJ1Z0hIO0FnQmxnSEU7RUFERDtJQUVFO0lBQ0E7RWhCcWdIRDtFZ0JuZ0hDO0lBQ0M7SUFDQTtJQUNBO0VoQnFnSEY7QUFDRjtBZ0JqZ0hFO0VBREQ7SUFFRTtJQUNBO0VoQm9nSEQ7RWdCbGdIQztJQUNDO0lBQ0E7SUFDQTtFaEJvZ0hGO0FBQ0Y7QWdCdi9HQztFQUNDLGVBeEhtQjtFQXlIbkIsZ0JBakhzQjtBaEIwbUh4QjtBZ0JyL0dHO0VBQ0M7QWhCdS9HSjtBZ0JuL0dFO0VBQ0MsbUJBL0hrQjtBaEJvbkhyQjtBZ0JsL0dFO0VBQ0MsZUFsSW9CO0VBbUlwQixnQkFsSXFCO0FoQnNuSHhCO0FnQjk5R0c7RUFBUSxjYjRDSDtBSHE3R1I7QWdCLzlHRztFQUFJLGNiMENDO0FIdzdHUjtBZ0IvOUdFO0VBRUMsbUJieURhO0FIdTZHaEI7QWdCOTlHRztFQUFRLGNibUNIO0FIODdHUjtBZ0IvOUdHO0VBQUksY2JpQ0M7QUhpOEdSO0FnQi85R1E7RUFFTCxtQmJnRGE7QUhnN0doQjtBZ0I5OUdHO0VBQVEsY2IwQkg7QUh1OEdSO0FnQi85R0c7RUFBSSxjYndCQztBSDA4R1I7QWdCOTlHSTtFQUNFLFlBNUtzQjtFQTZLdEIsbUJiMkhrQjtFYTFIbEI7QWhCZytHTjtBZ0IvOUdNO0VBQ0UsWUFoTG9CO0VBaUxwQixtQmJ1SGdCO0FIMDJHeEI7O0FnQjM2R0c7RUFBUTtBaEIrNkdYO0FnQjk2R0c7RUFBMkM7QWhCaTdH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QnMrSHZCO0FBQ0Y7QXNCbCtISTtFQUVJO0lBQXlCO0V0Qm8rSC9CO0VzQm4rSE07SUFDRTtJQUNBO0lBQ0E7RXRCcStIUjtFc0JsK0hNO0lBQ0U7RXRCbytIUjtFc0IvOUhPO0lBQWE7RXRCaytIcEI7RXNCLzlITztJQUF3QjtFdEJrK0gvQjtFc0IvOUhPO0lBQWU7RXRCaytIdEI7QUFDRjtBdUIxcklJO0VBakRBO0VBQ0Esa0JBeEZnQjtFQXlGaEIsdUJBeEZnQjtBdkJzMElwQjtBdUI1dUlJO0VBQ0UsY0F2RmlCO0VBd0ZqQixjcEJvSUE7RW9CbklBLG1CQXZGb0I7RUF3RnBCLHNCQXZGaUI7QXZCcTBJdkI7QXVCNXVJTTtFQUNFO0VBQ0EscUNBeEZjO0VBeUZkLGNwQnNIRztFb0JySEg7RXBCckZBLGtCQW1RUTtFb0I1S1I7RUFDQTtFQUNBO0VwQjlDSjtBSDZ4SUo7QXVCM3VJTTs7O0VBSUUsbUJBcEdvQjtBdkJnMUk1QjtBdUJ2eklFO0VBQ0UsZUF2QmlDO0VBd0JqQyxjcEJrTE87QUh1b0lYO0F1QnZ6SUU7RUFLRSx1QkE3Qm9DO0F2QmsxSXhDO0F1Qjd5SUk7RUFDRSxtQnBCNEtVO0VvQjNLVixjcEJ1SkU7RW9CdEpGLGlCcEJpTWE7RW9CaE1iLGVBbkMyQjtBdkJrMUlqQztBdUI3eUlNO0VBQ1UsbUJwQnNLQTtBSHlvSWhCO0F1Qmx2SUU7RUFLSSxXcEJ5SWM7RW9CeElkO0F2Qmd2SU47O0F1QnJ1SUk7QUFDQTtFQTdHWTtBdkJzMUloQjtBdUIzdklFO0VBRUk7RUFDQTtBdkI0dklOOztBd0IveElRO0FBQ0E7RUFwRUEsbUJBekJhO0VBMEJiLGlCQXpCWTtFQTBCWjtFQUNBLHNCQXJCYztFQXNCZCxnQkFyQlE7RUFzQlIsbUJBL0JHO0VBaUNDLGNyQmlNTjtBSHFxSU47QXdCaDJJUTtFQUNJO0F4QmsySVo7QXdCaDJJUTtFQUNJO0F4QmsySVo7QXdCNzFJZ0I7Ozs7Ozs7OztFQVNJLGNyQnlLZDtBSHNySU47QXdCOTBJWTs7Ozs7O0VBTUk7RUFFQTtBeEIrMEloQjtBd0I5MElnQjs7Ozs7O0VBQ0k7QXhCcTFJcEI7QXdCejBJWTtFQXRFSixtQkF6QmE7RUEwQmIsaUJBekJZO0VBMEJaO0VBQ0Esc0JBckJjO0VBc0JkLGdCQXJCUTtFQXNCUixtQkE1Qlc7RUE4QlAsY3JCaU1OO0FIZ3RJTjtBd0IzNElRO0VBQ0k7QXhCNjRJWjtBd0IzNElRO0VBQ0k7QXhCNjRJWjtBd0J4NElnQjs7Ozs7Ozs7O0VBU0ksY3JCeUtkO0FIaXVJTjtBd0J6M0lZOzs7Ozs7RUFNSTtFQUVBO0F4QjAzSWhCO0F3QnozSWdCOzs7Ozs7RUFDSTtBeEJnNElwQjtBd0JsM0lnQjtFQUNJLGNyQm1JSjtBSGl2SWhCO0F3Qm4zSW9CO0VBRUksY0F2RlM7QXhCMjhJakM7QXdCaDNJWTtFckJ4Rkosa0JBbVFRO0FId3NJaEI7O0F5QjkxSUk7QUFDQTtFQTNFRix5QkFuRG1CO0VBb0RuQjtFQUNBLHNCQWxEMEI7QXpCKzlJNUI7QXlCMzZJRTtFQUNFO0VBQ0E7QXpCNjZJSjtBeUJyMklNO0VBakVKLHlCdEJnS0k7RXNCL0pKLDBCQTFEb0I7RUEyRHBCLGtCQTFEa0I7RUEyRGxCLGN0Qm1KTTtFc0JsSk4sbUJ0QnNMbUI7RXNCckxuQixlQTFEaUI7RUEyRGpCLGlDeEJ0Q2lCO0FEKzhJbkI7QXlCNzJJTTtFQXJESix5QnRCc0lNO0VzQnJJTiwwQkE5RG9CO0VBK0RwQixrQkE5RGtCO0VBK0RsQixjdEJnSkk7RXNCL0lKLG1CdEJ5S21CO0VzQnhLbkIsZUE5RGlCO0VBK0RqQixpQ3hCbkRpQjtBRHc5SW5CO0F5QnIzSU07RUF6Q0oseUJ0QnNITTtFc0JySE4sa0JBaEVtQjtFQWlFbkIsa0JBaEVpQjtFQWlFakIsY3RCK0hRO0VzQjlIUixrQkFqRXFCO0VBa0VyQixtQnRCMkptQjtFc0IxSm5CLGdCQWpFdUI7RUFrRXZCLGlDQWpFeUI7QXpCaytJM0I7QXlCOTNJTTtFQTVCSix5QnRCd0dNO0VzQnZHTixrQkFyRW1CO0VBc0VuQixrQkFyRWlCO0VBc0VqQixjdEJxSEk7RXNCcEhKLG1CQXRFcUI7RUF1RXJCLG1CdEI2SW1CO0VzQjVJbkIsaUNBdEV5QjtBekJtK0kzQjtBeUJ0NElNO0VBaEJKLHlCdEIyRk07RXNCMUZOLGtCQTFFZ0I7RUEyRWhCLDBCQTFFa0I7QXpCbStJcEI7O0EwQnIrSUk7QUFDQTtFQXJCRix5QnZCNExNO0V1QjNMTixpQkF4Qm9CO0VBeUJwQjtFQUNBLGlCQWhCaUI7RUFpQmpCLHVCQWhCMkI7QTFCOGdKN0I7QTBCeitJTTtFQWRKLG1CdkJrTWM7RXVCak1kO0VBQ0E7QTFCMC9JRjtBMEIzK0lNO0VBakJKLG1CdkJtTWdCO0V1QmxNaEI7RUFDQTtBMUIrL0lGO0EwQi8rSU07RUFsQkosbUJ2QnFNYztFdUJwTWQ7RUFDQTtBMUJvZ0pGO0EwQm4vSU07RUFuQkosbUJ2Qm9NWTtFdUJuTVo7RUFDQTtBMUJ5Z0pGO0EwQnQvSU07RXZCdkNFLGtCQW1RUTtBSDZ4SWhCO0EwQngvSVE7RXZCeENBLGtCdUJ3Q3lCO0ExQjIvSWpDO0EwQngvSU07RXZCM0NFLHFCdUIyQ3dCO0ExQjIvSWhDO0EwQjEvSVE7RXZCNUNBLG9CdUI0Q3lCO0ExQjYvSWpDOztBMkIxOElRO0VBL0VKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFPSTtFQUNBLFdBMUNpQjtFQTJDakIsWUExQ2tCO0VBZ0RsQixtQnhCOEpBO0FIbzNJUjtBMkJuOUlZO0VBbEZSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFSTtFQUNBLFdBM0IwQjtFQTRCMUIsZUEzQjJCO0EzQmtrSm5DO0EyQjM5SWdCO0VBQ0k7RUFFQTtFQUNBO0VBQ0E7QTNCNDlJcEI7QTJCMTlJZ0I7RUFDSTtFQUNBO0VBQ0E7QTNCNDlJcEI7QTJCejlJWTtFQTlFSixtQnhCOEpBO0VBak1BLGtCQW1RUTtBSDIwSWhCO0EyQjM5SWdCO0VBN0NSLG1CeEI4SVE7RUFwTlIsa0JBbVFRO0FIKzBJaEI7QTJCaGdKSTtFQUNJLG1CQTNFNkI7QTNCNmtKckM7QTJCOTlJWTtFQXBGSixtQnhCOEpBO0VBak1BLHFCQW9RUztBSHExSWpCO0EyQmgrSWdCO0VBbkRSLG1CeEI4SVE7RUFwTlIscUJBb1FTO0FI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NkI7QTlCbzRKckM7QThCbHdKTTtFQUFXO0E5QnF3SmpCO0E4QnJ4Skk7RUFBYTtBOUJ3eEpqQjtBOEJwd0pNO0UzQm5KRSx1Q0F5UFE7RUF4UFIsb0NBd1BRO0VBdlBSLCtCQXVQUTtFQXRQUiw0QkFzUFE7QUhvcUpoQjtBOEJ6d0pNO0UzQnBKRSwwQzJCb0p1RDtFM0JuSnZELHVDMkJtSnVEO0UzQmxKdkQsa0MyQmtKdUQ7RTNCakp2RCwrQjJCaUp1RDtBOUIrd0ovRDtBOEI3d0pRO0VBQWE7QTlCZ3hKckI7QThCL3dKUTtFQUFZO0E5Qmt4SnBCO0E4Qmp4SlE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlCbXhKVjs7QStCaDJKSTtFQTNERjtFQUNBO0VBQ0E7RUFDQSxrQ0E3Q29CO0VBOENwQixvQkE3Q3lCO0EvQjQ4SjNCO0ErQjc1SkU7RUFDRTtBL0IrNUpKO0ErQjU1SkU7OztFQUdFLFc1QjRNZ0I7RTRCM01oQjtFQUNBO0VBQ0EsaUM5QmhDZTtFOEJpQ2YsbUI1QnlMaUI7RTRCeExqQixtQkF2RGdCO0VBd0RoQixjNUJ1Sk87QUh1d0pYO0ErQjU1Skk7OztFQUNFLHFCQXhEb0I7RUF5RHBCLGM1Qm1KSztFNEJsSkwsdUJBekRZO0EvQnk5SmxCO0ErQi81Sk07OztFQUNFLGNBekRtQjtBL0I0OUozQjtBK0IvNUpJOzs7RTVCOURJO0U0QmdFRixtQjVCMEtlO0U0QnpLZixtQjVCbUpVO0U0QmxKVix1QkFuRVk7RUFvRVosZUF4RGtCO0VBeURsQixjNUI0SEU7QUh1eUpSO0ErQmw2Sk07OztFQUNFLG1CQTlEa0I7QS9CbytKMUI7O0FnQzExSlE7RUE1SUo7RUFDQTtFQUNBO0VBQ0E7RUFDQSxxQkFsQm1CO0VBbUJuQjtFQUNBO0VBQ0E7QWhDMCtKSjtBZ0N4K0pJO0VBQ0k7RUFFQTtFQUNBO0VBQ0E7RUFDQSxtQjdCa0xJO0U2QmpMSjtFQUNBO0VBQ0EsWUFsQ1k7RUFtQ1o7RTdCa0JKO0FIdzlKSjtBZ0NwK0pJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaENzK0pSO0FnQ3IrSlE7RUFDSTtFQUNBO0FoQ3UrSlo7QWdDaitKSTtFQUNJO0VBQ0E7RUFDQSxtQjdCZ0pBO0U2Qi9JQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaENtK0pSO0FnQ2orSkk7RUFDSSxtQjdCb0pRO0FIKzBKaEI7QWdDaitKSTtFQUNJO0FoQ20rSlI7QWdDejlKSTtFQUNJO0VBQ0EsWUF6Rlk7QWhDb2pLcEI7QWdDejlKSTtFQUNJO0VBQ0E7QWhDMjlKUjtBZ0N6OUpJO0VBQ0k7QWhDMjlKUjtBZ0M5OEpRO0VBQ0k7RUFDQSxtQjdCa0dBO0FIODJKWjtBZ0M5OEpRO0VBQ0ksbUI3QndGSjtBSHczSlI7QWdDOThKUTtFQUNJLG1CN0J5R0k7QUh1MkpoQjtBZ0M5K0pJO0VBQ0k7RUFDQSxjQXhGWTtBaEN3a0twQjtBZ0M5K0pJO0VBQ0k7RUFDQTtBaENnL0pSO0FnQzkrSkk7RUFDSTtBaENnL0pSO0FnQ3ovSkk7RUFDSTtFQUNBLGVBMUZZO0FoQ3FsS3BCO0FnQ3ovSkk7RUFDSTtFQUNBO0FoQzIvSlI7QWdDei9KSTtFQUNJO0FoQzIvSlI7QWdDcGdLSTtFQUNJO0VBQ0EsY0EzRlk7QWhDaW1LcEI7QWdDcGdLSTtFQUNJO0VBQ0E7QWhDc2dLUjtBZ0NwZ0tJO0VBQ0k7QWhDc2dLUjtBZ0MxN0pnQjtFN0JsS1Isa0I2Qm1LNEI7QWhDNDdKcEM7QWdDMTdKZ0I7RTdCcktSLGtCNkJzSzRCO0FoQzQ3SnBDO0FnQ3g3Slk7RTdCMUtKLHFCNkIyS3dCO0FoQzA3SmhDO0FnQ3o3SmdCO0U3QjVLUixtQjZCNks0QjtBaEMyN0pwQztBZ0N6N0pnQjtFN0IvS1IsbUI2QmdMNEI7QWhDMjdKcEM7O0FpQ3JnS0k7RUFuRUYsbUI5QjZKTTtFOEI1Sk4sc0JBVG9CO0VBVXBCO0VBQ0Esa0JBYmE7QWpDeWxLZjtBaUMxa0tFO0VBQ0UsdUJBNUJlO0VBNkJmLGM5QnVLRTtFOEJyS0EsZUE3Qm9CO0VBOEJwQixpQkE3QnNCO0FqQ3dtSzVCO0FpQ3ZrS0U7RUFDRSxtQjlCa0pVO0FIdTdKZDtBaUN0a0tNOztFQUVFLGlDQXBEYTtFQXFEYixtQkF4RGU7RUF5RGYsaUI5QmtMVztFOEJqTFgsYzlCdUpGO0FIaTdKTjtBaUNua0tFO0VBQ0UsbUI5Qm9JVTtBSGk4SmQ7QWlDbGtLTTs7RUFFRSxpQ0FsRWE7RUFtRWIsbUJBdEVlO0VBdUVmLGlCOUJvS1c7RThCbktYLGM5QnlJRjtBSDI3Sk47QWlDOWpLSTs7RUFFRSwyQkE3RGM7RUE4RGQsbUJBN0RnQjtFQThEaEIsYzlCK0hBO0U4QjlIQSxnQjlCc0tjO0FIMDVKcEI7QWlDN2pLSTtFQUVzQixtQjlCMEduQjtBSG85SlA7QWlDM2pLRTs7Ozs7O0VBS1EsbUJBdEVNO0VBc0VtQixxQkExRWY7QWpDeW9LcEI7O0FrQ25xS1E7RUFFSTtFQUNBO0FsQ3FxS1o7QUc1aEtJO0VBRUk7RUFDQTtBSDZoS1I7QUczaEtJO0VBQ0k7QUg2aEtSO0FrQzNxS1k7O0VBRUk7RUFDQTtFQUNBO0VBQ0EsVy9Cb1BJO0FIeTdKcEI7QWtDNXFLZ0I7O0VBQ0k7RUFFSSx5Qi9CNExmO0UrQjFMVyxjL0JzTWQ7RStCck1jO0VBQ0EsaUNqQ0dEO0VpQ0ZDLGVBMUJRO0FsQ3VzSzVCO0FrQzVxS29COztFQUVRLHlCQWhDSztBbEM4c0tqQztBa0MzcUtvQjs7RUFDSTtBbEM4cUt4QjtBa0MzcUtnQjs7RUFFUSx5Qi9Cc0toQjtFK0JwS1ksYy9CcUxkO0FIdS9KTjtBa0N0cUtvQjs7RS9CeEJaLHNDQXlQUTtFQXhQUixtQ0F3UFE7RUF2UFIsOEJBdVBRO0VBdFBSLDJCQXNQUTtBSDQ4SmhCO0FrQ3ZxS29COztFL0I5QlosdUNBeVBRO0VBeFBSLG9DQXdQUTtFQXZQUiwrQkF1UFE7RUF0UFIsNEJBc1BRO0FIbTlKaEI7QWtDeHFLZ0I7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7QWxDMHFLcEI7O0FrQ3RxS1E7RUFFSSxxQkFuRWlCO0VBb0VqQjtBbEN3cUtaO0FHMWxLSTtFQUVJO0VBQ0E7QUgybEtSO0FHemxLSTtFQUNJO0FIMmxLUjtBa0M5cUtZO0VB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QjtFNUJ0SmhCLHlCTnNGYztFTXJGZCxxQkFSaUI7RUFhakI7QVRpOUtKO0FTcjlLSTtFQUNVLHlCQWRHO0FUcStLakI7QVNsOUtJO0VBRUU7QVRtOUtOO0FxQ3AwS29CO0U1QnpKaEIseUJOd0ZZO0VNdkZaLHFCQVJpQjtFQWFqQjtBVDQ5S0o7QVNoK0tJO0VBQ1UseUJBZEc7QVRnL0tqQjtBUzc5S0k7RUFFRTtBVDg5S047QXFDNTBLb0I7RTVCNUpoQix5Qk51RlU7RU10RlYscUJBUmlCO0VBYWpCO0FUdStLSjtBUzMrS0k7RUFDVSx5QkFkRztBVDIvS2pCO0FTeCtLSTtFQUVFO0FUeStLTjtBcUNwMUtvQjtFNUIvSmhCLHlCTnlGWTtFTXhGWixxQkFSaUI7RUFhakI7QVRrL0tKO0FTdC9LSTtFQUNVLHlCQWRHO0FUc2dMakI7QVNuL0tJO0VBRUU7QVRvL0tOO0FxQzMxS2dCO0VBQ0ksb0JBcFNJO0VBcVNKLHVCQTNSRTtFQTRSRixzQkE1UkU7RTVCc0hsQix5Qk5xRlk7RU1wRloscUJBUmlCO0VBYWpCO0FUZ2dMSjtBU3BnTEk7RUFDVSx5QkFkRztBVG9oTGpCO0FTamdMSTtFQUVFO0FUa2dMTjtBcUNwMktvQjtFNUJ4S2hCLHlCTnNGYztFTXJGZCxxQkFSaUI7RUFhakI7QVQyZ0xKO0FTL2dMSTtFQUNVLHlCQWRHO0FUK2hMakI7QVM1Z0xJO0VBRUU7QVQ2Z0xOO0FxQzUyS29CO0U1QjNLaEIseUJOd0ZZO0VNdkZaLHFCQVJpQjtFQWFqQjtBVHNoTEo7QVMxaExJO0VBQ1UseUJBZEc7QVQwaUxqQjtBU3ZoTEk7RUFFRTtBVHdoTE47QXFDcDNLb0I7RTVCOUtoQix5Qk51RlU7RU10RlYscUJBUmlCO0VBYWpCO0FUaWlMSjtBU3JpTEk7RUFDVSx5QkFkRztBVHFqTGpCO0FTbGlMSTtFQUVFO0FUbWlMTjtBcUM1M0tvQjtFNUJqTGhCLHlCTnlGWTtFTXhGWixxQkFSaUI7RUFhakI7QVQ0aUxKO0FTaGpMSTtFQUNVLHlCQWRHO0FUZ2tMakI7QVM3aUxJO0VBRUU7QVQ4aUxOO0FxQ2w0S2dCO0VBQ0kseUJsQ3hHVDtFa0MwR2EsbUJsQ3hHbEI7RWtDMEdjLGNsQzFIWjtBSDQvS1I7QXFDLzNLZ0I7RUFDSSxtQmxDMUdKO0VrQzJHSSxjbEMvSFo7QUhnZ0xSO0FxQ2g0S29CO0VBQ0ksbUJBNVRNO0VBNlROLGNsQ2xJaEI7QUhvZ0xSO0FxQzczS1k7RUFDSSxpQkEvVE07QXJDOHJMdEI7QXFDNTNLWTtFQUNJO0FyQzgzS2hCO0FxQzUzS29CO0VsQ2pSaEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQVVJO0VBQ0E7RWtDc1FnQixzQkF6VUY7RUEyVUU7RUFDQTtFQUNBO0VBQ0E7QXJDaTRLeEI7QXFDOTNLZ0I7RUFDSTtBckNnNEtwQjtBcUMvM0tvQjtFQWhTaEI7RWxDNkhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWtDL0hBO0VBZ1NvQjtBckN1NEt4QjtBcUNyNEtvQjtFQUNJO0FyQ3U0S3hCO0FxQ2w0S1k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBcFRaO0VsQ3VIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FIbWtMSjtBcUN4NEtnQjtFQUNJO0VBQ0E7QXJDMDRLcEI7QXFDejRLb0I7RUFDSSxtQmxDdklIO0VrQ3dJRztBckMyNEt4QjtBcUMxNEt3QjtFQUNJLG1CbEMxSVA7QUhzaExyQjtBcUN6NEtvQjtFQUdJO0VBQ0E7RUFDQSxtQkFsWEE7QXJDMnZMeEI7QXFDeDRLd0I7RUFDSSxjbEM5THBCO0VrQ2dNb0I7QXJDeTRLNUI7QXFDeDRLNEI7RUFDSTtBckMwNEtoQztBcUN0NEtvQjtFQUNJO0FyQ3c0S3hCO0FxQ3Q0S29COztFQUVJO0FyQ3c0S3hCO0FxQ3I0S2dCO0VBQ0k7RUFDQTtFQUNBLHlCQXhYbUI7RUF5WG5CLGNsQ3RNVjtFa0N1TVUsaUJsQ3hLRDtFa0N5S0MsbUJBelhjO0FyQ2d3TGxDOztBcUNuNEtRO0VBQ0k7QXJDczRLWjs7QXFDbjRLUTtFQUNJO0lBQ0ksbUJsQzlNVjtJa0NnTlU7RXJDcTRLZDtFRzdwTEU7SUFFSTtJQUNBO0VIOHBMTjtFRzVwTEU7SUFDSTtFSDhwTE47RXFDMzRLYztJQUNJO0VyQzY0S2xCO0VxQzM0S2M7SUFDSSxXbEM1S0E7RUh5akxsQjtFcUMzNEtjOzs7Ozs7SUFNSTtFckM2NEtsQjtFcUMzNEtjOzs7SUFHSTtJQUNBO0lBQ0EsZUF4WUU7SUEwWUY7RXJDNDRLbEI7RXFDMTRLYztJQUNJLG1CbEN6T2Q7RUhxbkxKO0VxQ3o0S1U7SUFDSSxrQmpDL2NKO0lpQ2dkSTtJQUNBLGdCQTFjTztFckNxMUxyQjtFcUN6NEtVO0lsQ3RaUjtJa0N3Wlk7RXJDMjRLZDtFcUMxNEtjO0lBQ0k7SUFDQTtJQUNBO0VyQzQ0S2xCO0VxQzM0S2tCO0lBQ0ksV2xDaE5KO0VINmxMbEI7RXFDNTRLc0I7SUFDSTtFckM4NEsxQjtFcUN4NEtzQjtJQUNJLHlCbENwUWpCO0lrQ3NRcUIsbUJsQ3BRMUI7SWtDc1FzQixjbEN0UnBCO0VIOHBMTjtFcUNwNEtzQjtJQUNJO0lBQ0EscUJBeGVaO0lBeWVZLG1CbEM3UXRCO0VIbXBMSjtFcUNyNEswQjtJQUNJLHlCbENqUnJCO0lrQ21SeUIsbUJsQ2pSOUI7RUh1cExKO0VxQ2g0S3NCO0lBQ0k7SUFDQSxxQkFyZlo7SUFzZlksY2xDMVNwQjtJa0MyU29CLG1CbEN2Ulo7RUh5cExkO0VxQ2o0SzBCO0lBQ0ksbUJBeGVGO0lBeWVFLGNsQzlTeEI7RUhpckxOO0VxQzUzS3NCO0lBQ0k7RXJDODNLMUI7RXFDNzNLMEI7SWxDMWJ4QjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBRUk7SUFDQTtJa0NzYndCO0lBRUE7RXJDbTRLOUI7RXFDLzNLa0I7SUFDSTtFckNpNEt0QjtFcUNoNEtzQjtJQTNjcEI7SWxDdUhBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUh3dExGO0VxQ2w0S3NCO0lBNWNwQjtJbEM2SEE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJa0MvSEE7RXJDcTFMRjtFcUN2NEtrQjtJQWhkaEI7SWxDNkhBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SWtDL0hBO0VyQzgxTEY7RXFDMTRLOEI7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFckM0NEtsQztFcUN0NEtjO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RXJDdzRLbEI7RXFDdDRLc0I7SUFDSSxjbEN0V3BCO0lrQ3VXb0IscUJBbmpCWjtJQW9qQlk7SUFDQTtJQUNBLG1CbEMxVnRCO0VIa3VMSjtFcUNyNEswQjtJQUNJLGNsQzlXeEI7SWtDK1d3QixtQmxDL1YxQjtFSHN1TEo7RXFDcjRLMEI7SUFDSSxjbENsWHhCO0lrQ21Yd0IseUJsQ3JXckI7SWtDdVd5QixtQmxDclc5QjtFSDJ1TEo7RXFDbDRLc0I7SUFDSTtJQUNBLG1CbEMzV3RCO0VIK3VMSjtFcUNqNEtzQjtJQUNJO0lBQ0E7RXJDbTRLMUI7RXFDLzNLYztJQUVJO0lBQ0E7SUFDQSwrQkExaEJXO0lBMmhCWDtJQUNBLGdCQXRsQko7SUF1bEJJO0VyQ2c0S2xCO0VxQzkzS2M7SUFDSSxtQmxDOVhkO0lrQytYYztJQUNBLGdCQTVsQko7RXJDNDlMZDtFcUM1M0trQjtJQUNJO0lBQ0E7RXJDODNLdEI7RXFDNzNLc0I7SUFDSTtFckMrM0sxQjtFcUMxM0trQjtJQUNJO0lBQ0E7RXJDNDNLdEI7RXFDMzNLc0I7SUFDSTtFckM2M0sxQjtFcUNuM0trQjtJQUNJLHlCbEM5WmI7SWtDZ2FpQixtQmxDOVp0QjtJa0NnYWtCLGNsQ2hiaEI7RUhteUxOO0VxQ2gzS2tCO0lBQ0ksbUJsQ2hhUjtJa0NpYVEsY2xDcmJoQjtFSHV5TE47RXFDNzJLc0I7SUE5akJwQjtJbEM2SEE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJa0MvSEE7RXJDazdMRjtFcUNsM0trQjtJQWxrQmhCO0lsQzZIQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lrQy9IQTtFckMyN0xGO0FBQ0Y7QXFDcjNLSTtFQUVRO0lBQ0k7RXJDczNLZDtFcUNwM0tVO0lBQ0k7RXJDczNLZDtFcUNuM0tVO0lBQ0k7RXJDcTNLZDtBQUNGO0FxQ2wzS0k7RUFFUTtJQUNJO0VyQ20zS2Q7RXFDajNLVTtJQUNJO0VyQ20zS2Q7RXFDaDNLVTtJQUNJO0VyQ2szS2Q7QUFDRjtBdUNsNUxFO0VBQWdCO0F2Q3E1TGxCOztBdUNwNUxFO0VBQWdCO0F2Q3c1TGxCOztBdUN2NUxFO0VBQWdCO0F2QzI1TGxCOztBdUMxNUxFO0VBQWdCO0F2Qzg1TGxCOztBdUMzNUxJO0VBQ0U7SUFBOEM7RXZDKzVMbEQ7RXVDOTVMSTtJQUFpRDtFdkNpNkxyRDtFdUNoNkxJO0lBQWlEO0V2Q202THJEO0V1Q2w2TEk7SUFBaUQ7RXZDcTZMckQ7QUFDRjtBdUMxNkxJO0VBQ0U7SUFBOEM7RXZDNjZMbEQ7RXVDNTZMSTtJQUFpRDtFdkMrNkxyRDtFdUM5NkxJO0lBQWlEO0V2Q2k3THJEO0V1Q2g3TEk7SUFBaUQ7RXZDbTdMckQ7QUFDRjtBdUN4N0xJO0VBQ0U7SUFBOEM7RXZDMjdMbEQ7RXVDMTdMSTtJQUFpRDtFdkM2N0xyRDtFdUM1N0xJO0lBQWlEO0V2Qys3THJEO0V1Qzk3TEk7SUFBaUQ7RXZDaThMckQ7QUFDRjtBdUN0OExJO0VBQ0U7SUFBOEM7RXZDeThMbEQ7RXVDeDhMSTtJQUFpRDtFdkMyOExyRDtFdUMxOExJO0lBQWlEO0V2QzY4THJEO0V1QzU4TEk7SUFBaUQ7RXZDKzhMckQ7QUFDRjtBdUNwOUxJO0VBQ0U7SUFBOEM7RXZDdTlMbEQ7RXVDdDlMSTtJQUFpRDtFdkN5OUxyRDtFdUN4OUxJO0lBQWlEO0V2QzI5THJEO0V1QzE5TEk7SUFBaUQ7RXZDNjlMckQ7QUFDRjtBdUNsK0xJO0VBQ0U7SUFBOEM7RXZDcStMbEQ7RXVDcCtMSTtJQUFpRDtFdkN1K0xyRDtFdUN0K0xJO0lBQWlEO0V2Q3krTHJEO0V1Q3grTEk7SUFBaUQ7RXZDMitMckQ7QUFDRjtBdUNoL0xJO0VBQ0U7SUFBOEM7RXZDbS9MbEQ7RXVDbC9MSTtJQUFpRDtFdkNxL0xyRDtFdUNwL0xJO0lBQWlEO0V2Q3UvTHJEO0V1Q3QvTEk7SUFBaUQ7RXZDeS9MckQ7QUFDRjtBdUM5L0xJO0VBQ0U7SUFBOEM7RXZDaWdNbEQ7RXVDaGdNSTtJQUFpRDtFdkNtZ01yRDtFdUNsZ01JO0lBQWlEO0V2Q3FnTXJEO0V1Q3BnTUk7SUFBaUQ7RXZDdWdNckQ7QUFDRjtBdUM1Z01JO0VB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SjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VIbXlORjtFeUMvdU5NO0lBQ0U7RXpDaXZOUjtFeUMvdU5NO0lBQ0U7RXpDaXZOUjtFeUMvdU5NO0lBQ0U7RXpDaXZOUjtFeUMvdU5NO0lBQ0U7RXpDaXZOUjtFeUMvdU5NO0lBQ0U7RXpDaXZOUjtBQUNGO0F5Q2h4Tkk7QUFDQTtFQUNFO0lBQ0U7RXpDa3hOTjtFeUNoeE5JO0lBQ0U7RXpDa3hOTjtFeUMvd05NO0l0Q3JDSjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VIdXpORjtFeUNueE5NO0l0Q25ESjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VIeTBORjtFeUNyeE5NO0lBQ0U7RXpDdXhOUjtFeUNyeE5NO0lBQ0U7RXpDdXhOUjtFeUNyeE5NO0lBQ0U7RXpDdXhOUjtFeUNyeE5NO0lBQ0U7RXpDdXhOUjtFeUNyeE5NO0lBQ0U7RXpDdXhOUjtBQUNGO0F5Q3R6Tkk7QUFDQTtFQUNFO0lBQ0U7RXpDd3pOTjtFeUN0ek5JO0lBQ0U7RXpDd3pOTjtFeUNyek5NO0l0Q3JDSjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VINjFORjtFeUN6ek5NO0l0Q25ESjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VIKzJORjtFeUMzek5NO0lBQ0U7RXpDNnpOUjtFeUMzek5NO0lBQ0U7RXpDNnpOUjtFeUMzek5NO0lBQ0U7RXpDNnpOUjtFeUMzek5NO0lBQ0U7RXpDNnpOUjtFeUMzek5NO0lBQ0U7RXpDNnpOUjtBQUNGO0F5QzUxTkk7QUFDQTtFQUNFO0lBQ0U7RXpDODFOTjtFeUM1MU5JO0lBQ0U7RXpDODFOTjtFeUMzMU5NO0l0Q3JDSjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VIbTRORjtFeUMvMU5NO0l0Q25ESjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VIcTVORjtFeUNqMk5NO0lBQ0U7RXpDbTJOUjtFeUNqMk5NO0lBQ0U7RXpDbTJOUjtFeUNqMk5NO0lBQ0U7RXpDbTJOUjtFeUNqMk5NO0lBQ0U7RXpDbTJOUjtFeUNqMk5NO0lBQ0U7RXpDbTJOUjtBQUNGO0F5Q2w0Tkk7QUFDQTtFQUNFO0lBQ0U7RXpDbzROTjtFeUNsNE5JO0lBQ0U7RXpDbzROTjtFeUNqNE5NO0l0Q3JDSjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VIeTZORjtFeUNyNE5NO0l0Q25ESjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VIMjdORjtFeUN2NE5NO0lBQ0U7RXpDeTROUjtFeUN2NE5NO0lBQ0U7RXpDeTROUjtFeUN2NE5NO0lBQ0U7RXpDeTROUjtFeUN2NE5NO0lBQ0U7RXpDeTROUjtFeUN2NE5NO0lBQ0U7RXpDeTROUjtBQUNGO0F5QzkzTkU7QUFDQTs7RUFDcUI7QXpDaTROdkI7O0F5Q2g0TkU7O0VBQ3FCO0F6Q280TnZCOztBeUNsNE5FO0FBRUU7RUFDc0I7QXpDbzROMUI7O0F5Q2o0Tkk7RUFDc0I7QXpDbzROMUI7O0F5Q2o0Tkk7RUFDc0I7QXpDbzROMUI7O0F5Q2o0Tkk7RUFDc0I7QXpDbzROMUI7O0F5Q2g0Tkk7OztFQUNzQjtBekNxNE4xQjs7QXlDbDRORTtFQUNFOztJQUNxQjtFekNzNE52QjtFeUNyNE5FOztJQUNxQjtFekN3NE52QjtFeUN0NE5FO0VBRUU7SUFDc0I7RXpDdTROMUI7RXlDcDROSTtJQUNzQjtFekNzNE4xQjtFeUNuNE5JO0lBQ3NCO0V6Q3E0TjFCO0V5Q2w0Tkk7SUFDc0I7RXpDbzROMUI7RXlDaDROSTs7O0lBQ3NCO0V6Q280TjFCO0FBQ0Y7QXlDajRORTtFQUNFOztJQUNzQjtFekNvNE54QjtFeUNuNE5FOztJQUNzQjtFekNzNE54QjtFeUNwNE5FO0VBRUU7SUFDdUI7RXpDcTROM0I7RXlDbDROSTtJQUN1QjtFekNvNE4zQjtFeUNqNE5JO0lBQ3VCO0V6Q200TjNCO0V5Q2g0Tkk7SUFDdUI7RXpDazROM0I7RXlDOTNOSTs7O0lBQ3VCO0V6Q2s0TjNCO0FBQ0Y7QXlDLzNORTtBQUNBO0VBQWtCO0F6Q2s0TnBCOztBeUNqNE5FO0VBQWtCO0F6Q3E0TnBCOztBeUNwNE5FO0VBQXlCO0F6Q3c0TjNCOztBeUN2NE5FO0VBQXlCO0F6QzI0TjNCOztBeUN6NE5FO0FBQ0E7RUFBdUI7QXpDNjROekI7O0F5QzU0TkU7RUFBOEI7QXpDZzVOaEM7O0F5Qy80TkU7RUFBdUI7QXpDbTVOekI7O0F5Q2w1TkU7RUFBOEI7QXpDczVOaEM7O0F5Q3I1TkU7RUFBdUI7QXpDeTVOekI7O0F5Q3g1TkU7RUFBOEI7QXpDNDVOaEM7O0F5QzM1TkU7RUFBb0I7QXpDKzVOdEI7O0F5Qzk1TkU7RUFBMkI7QXpDazZON0I7O0F5Q2o2TkU7RUFBb0I7QXpDcTZOdEI7O0F5Q3A2TkU7RUFBMkI7QXpDdzZON0I7O0F5Q3Y2TkU7RUFBb0I7QXpDMjZOdEI7O0F5QzE2TkU7RUFBMkI7QXpDODZON0I7O0F5QzE2Tk07Ozs7O0NBQUE7QUFNQTtFQUFjO0F6Qzg2TnBCOztBeUM3Nk5NO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFekNnN05SO0V5Qzk2Tk07SUFBa0I7RXpDaTdOeEI7RXlDaDdOTTtJQUFrQjtFekNtN054QjtFeUNqN05NO0lBQXVCO0V6Q283TjdCO0V5Q243Tk07SUFBdUI7RXpDczdON0I7RXlDcjdOTTtJQUF1QjtFekN3N043QjtFeUN2N05NO0lBQW9CO0V6QzA3TjFCO0V5Q3o3Tk07SUFBb0I7RXpDNDdOMUI7RXlDMzdOTTtJQUFvQjtFekM4N04xQjtFeUM1N05NOztJQUNZO0V6Qys3TmxCO0V5Qzk3Tk07SUFBZ0I7RXpDaThOdEI7RXlDLzdOTTtJQUFvQjtFekNrOE4xQjtFeUMvN05NOzs7SUFFcUI7RXpDazhOM0I7RXlDaDhOTTs7SUFFRTtJQUNBO0V6Q2s4TlI7RXlDLzdOTTtJQUFRO0V6Q2s4TmQ7RXlDaDhOTTs7SUFDTTtFekNtOE5aO0V5Q2o4Tk07SUFBTTtFekNvOE5aO0V5Q2w4Tk07SUFBUTtFekNxOE5kO0V5Q244Tk07OztJQUdFO0lBQ0E7RXpDcThOUjtFeUNsOE5NOztJQUNLO0V6Q3E4Tlg7RXlDbjhOTTtJQUFpQjtFekNzOE52QjtFeUNyOE5NO0lBQWM7RXpDdzhOcEI7RXlDdjhOTTtJQUFrQjtFekMwOE54QjtFeUN6OE5NO0lBQWtCO0V6QzQ4TnhCO0FBQ0Y7QXlDejhORTtBQUNFO0VBQ0U7SUFBa0I7RXpDNDhOdEI7RXlDMzhOSTtJQUFrQjtFekM4OE50QjtFeUM1OE5JO0lBQXVCO0V6Qys4TjNCO0V5Qzk4Tkk7SUFBdUI7RXpDaTlOM0I7RXlDaDlOSTtJQUF1QjtFekNtOU4zQjtFeUNsOU5JO0lBQW9CO0V6Q3E5TnhCO0V5Q3A5Tkk7SUFBb0I7RXpDdTlOeEI7RXlDdDlOSTtJQUFvQjtFekN5OU54QjtBQUNGO0EwQ2g3T0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExQ2s3T0o7QTBDajdPSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0ExQ203T1I7QTBDajdPSTtFQUNJO0ExQ203T1I7O0EwQy82T0E7RUFDSTtFQUNBO0VBQ0E7QTFDazdPSjtBMENqN09JO0VBQ0k7RUFDQTtFQUNBLGMxQ2ZTO0VDbUVmO0V5Q2xETTtBMUNtN09SO0EwQ2o3T0k7RUFDSTtBMUNtN09SO0EwQ2w3T1E7RUFDSTtBMUNvN09aO0EwQ243T1k7Ozs7RUFJSTtBMUNxN09oQjtBMENuN09ZO0VBQ0k7QTFDcTdPaEI7QTBDcDdPZ0I7RUFDSTtBMUNzN09wQjtBMENsN09RO0VBakJKO0lBa0JRO0lBQ0E7RTFDcTdPVjtFMENwN09VO0lBQ0k7RTFDczdPZDtFMENwN09VO0lBQ0k7SUFDQTtJQUNBO0UxQ3M3T2Q7RTBDcDdPVTs7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SXpDVWQ7SXlDUmM7SUFDQTtFMUNzN09kO0UwQ3A3T1U7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTFDczdPZDtBQUNGO0EwQ243T0k7RUFDSTtFQUNBO0ExQ3E3T1I7QTBDbjdPSTtFQUNJO0VBQ0E7QTFDcTdPUjtBMENuN09JO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFDcTdPUjtBMENwN09RO0VBQ0k7RUFDQTtBMUNzN09aO0EwQ3A3T1E7RUFDSTtBMUNzN09aO0EwQ2w3T1E7RUFDSTtFQUNBO0VBQ0E7QTFDbzdPWjtBMENsN09RO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExQ283T1o7QTBDbjdPWTtFQUNJO0VBQ0E7RUFDQTtBMUNxN09oQjtBMENuN09ZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTFDcTdPaEI7QTBDbjdPWTs7O0VBR0k7QTFDcTdPaEI7QTBDbDdPUTtFekNwRU47QUR5L09GO0EwQ2w3T1E7RUFDSSx5QjFDM0lLO0UwQzRJTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExQ283T1o7QTBDbjdPWTtFQUNJO0ExQ3E3T2hCO0EwQ243T1k7RUFDSTtBMUNxN09oQjtBMENsN09RO0VBQ0k7QTFDbzdPWjtBMENuN09ZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTFDcTdPaEI7QTBDcDdPZ0I7RUFDSTtFQUNBO0ExQ3M3T3BCO0EwQ243T1k7RUFDSTtFQUNBO0ExQ3E3T2hCO0EwQy82T1E7O0VBQ0k7RXpDN0dWO0FEZ2lQRjtBMENqN09ZOztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFDbzdPaEI7QTBDajdPUTs7RUFDSTtFQUNBO0ExQ283T1o7QTBDbDdPUTs7RUFDSSx5QjFDL0xLO0UwQ2dNTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFDcTdPWjtBMENwN09ZOztFQUNJO0ExQ3U3T2hCO0EwQ3A3T1E7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTFDdTdPWjtBMEN0N09ZOztFQUNJO0VBQ0E7QTFDeTdPaEI7O0EwQ243T0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFDczdPSjtBMENyN09JO0VBQ0k7RUFDQTtFQUNBO0ExQ3U3T1I7O0EwQ2w3T0k7RUFDSTtBMUNxN09SOztBMkMvcVBBO0VBQ0ksaUMxQzJDZTtFMEMxQ2Y7RUFDQSxtQjNDaUJRO0UyQ2ZSO0EzQ2lyUEo7O0EyQzdxUEE7RUFDSSx5QjNDU1M7RTJDUlQsYzNDTm1CO0UyQ09uQjtFQUFlO0VBQ2Y7RUFDQTtFQUNBO0EzQ2lyUEo7QTJDaHJQSTtFQUNJO0lBQ0k7RTNDa3JQVjtBQUNGO0EyQ2hyUEk7RUFDSTtJQUNJO0UzQ2tyUFY7QUFDRjtBMkNoclBJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0NrclBSO0EyQ2pyUFE7RUFOSjtJQU9RO0UzQ29yUFY7QUFDRjtBMkNsclBJO0VBQ0k7RUFDQTtBM0NvclBSO0EyQ2xyUEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBM0NvclBSO0EyQ25yUFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzQ3FyUFo7QTJDbHJQSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNDb3JQUjtBMkNuclBRO0VBQ0k7QTNDcXJQWjs7QTJDOXFQSTtFQUNJO0VBQ0E7QTNDaXJQUjtBMkMvcVBJO0VBQ0k7QTNDaXJQUjtBMkMvcVBJO0VBQ0k7QTNDaXJQUjs7QTJDN3FQQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNDZ3JQSjtBMkMvcVBJO0VBQ0k7QTNDaXJQUjs7QTJDMXFQQTtFQUNJO0EzQzZxUEo7O0EyQzFxUEE7RUFDSTtBM0M2cVBKOztBMkMxcVBBO0VBQ0k7QTNDNnFQSjs7QTJDMXFQQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0M2cVBKO0EyQzVxUEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNDOHFQUjs7QTJDMXFQQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBM0M2cVBKOztBMkMxcVBBO0VBQ0k7RUFDQTtBM0M2cVBKO0EyQzVxUEk7O0VBRUk7RUFDQTtBM0M4cVBSOztBMkMxcVBBO0VBQ0k7QTNDNnFQSjs7QTJDMXFQQTtFQUNJO0EzQzZxUEo7O0EyQzFxUEE7RUFDSTtFQUNBO0EzQzZxUEo7O0EyQzFxUEE7RUFDSTtFQUNBO0EzQzZxUEo7O0EyQzFxUEE7RUFDSTtBM0M2cVBKOztBMkMxcVBBO0VBQ0k7RUFDQTtBM0M2cVBKOztBMkMxcVBBO0VBQ0k7QTNDNnFQSjs7QTJDMXFQQTtFQUNJO0EzQzZxUEo7O0EyQzFxUEE7RUFDSTtFQUNBO0EzQzZxUEo7O0EyQzFxUEE7RUFDSTtFQUNBO0EzQzZxUEo7O0EyQzFxUEE7RUFDSTtBM0M2cVBKOztBMkMxcVBBO0VBQ0k7RUFDQTtBM0M2cVBKOztBMkMxcVBBO0VBQ0k7QTNDNnFQSjs7QTJDMXFQQTtFQUNJO0EzQzZxUEo7O0EyQzFxUEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzQzZxUEo7O0EyQ3pxUEE7O0VBQUE7QUFJQTs7O0VBR0k7QTNDMnFQSjs7QTJDeHFQQTs7O0VBR0k7QTNDMnFQSjs7QTJDdnFQQTs7RUFBQTtBQUlBO0VBQ0ksWTNDek9pQjtFMkMwT2pCLHlCM0MzT2U7RTJDNE9mOzs7cUJBQUE7QTNDNHFQSjs7QTJDdHFQQTtFQUNJLFkzQ2xQaUI7RTJDbVBqQix5QjNDcFBlO0UyQ3FQZixxQjNDclBlO0UyQ3NQZjtBM0N5cVBKO0EyQ3hxUEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBM0MwcVBSO0EyQ3hxUEk7RUFDSTtBM0MwcVBSOztBMkN0cVBBO0UzQ2pQUTtFMkNtUEo7QTNDeXFQSjtBMkN2cVBRO0VBQ0kseUIzQ3JRSztBQTg2UGpCO0EyQ3ZxUFE7RUFDSTtFQUNBO0EzQ3lxUFo7QTJDdHFQSTtFQUNJO0EzQ3dxUFI7QTJDdHFQSTtFQUNJO0VBQ0E7RUFDQTtBM0N3cVBSO0EyQ3RxUEk7RUFDSTs7SUFFSTtFM0N3cVBWO0FBQ0Y7QTJDdHFQSTtFQUEwRDtFQUFrQjtBM0MwcVBoRjtBMkN6cVBJO0VBQThDO0VBQWlCO0EzQzZxUG5FO0EyQzVxUEk7RUFDSTtFQUNBO0UzQy9RQTtFMkNpUkE7RUFDQTtFQUNBO0EzQzhxUFI7QTJDN3FQUTtFQUNJO0EzQytxUFo7QTJDNXFQSTs7RTNDeFJJO0UyQzJSQTtFQUNBO0EzQzhxUFI7QTJDN3FQUTs7RUFDSSxtQjNDalNLO0FBaTlQakI7QTJDOXFQZ0I7O0VBQ0k7QTNDaXJQcEI7QTJDN3FQUTs7RUFDSSx5QjNDelNLO0FBeTlQakI7QTJDOXFQUTs7RUFDSTtBM0NpclBaO0EyQzVxUFE7RUFDSTtFQUNBO0VBQ0E7QTNDOHFQWjtBMkMzcVBJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0M2cVBSO0EyQzNxUEk7RUFDSSxtQjNDNVZZO0UyQzZWWjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzQzZxUFI7QTJDNXFQUTtFQUNJO0EzQzhxUFo7QTJDNXFQUTtFQUNJO0VBQ0E7QTNDOHFQWjs7QTRDcGhRSTtFQUNJO0E1Q3VoUVI7QTRDdGhRUTtFQUNJO0E1Q3doUVo7QTRDdGhRUTs7RUFFSTtBNUN3aFFaO0E0Q3JoUVk7RUFFSTtFQUNBO0VBQ0E7QTVDc2hRaEI7O0E0Qy9nUUk7RUFDSTtBNUNraFFSO0E0Q2hoUUk7RUFDSTtFQUNBO0VBQ0E7QTVDa2hRUjtBNENqaFFRO0VBQ0k7QTVDbWhRWjtBNENqaFFRO0VBQ0k7QTVDbWhRWjtBNENqaFFRO0VBQ0k7RUFDQTtBNUNtaFFaO0E0Q2hoUUk7RUFDSTtFQUNBLGdCNUN0Q2lCO0U0Q3VDakI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EscUMzQ0xPO0FEdWhRZjtBNENoaFFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1Q2toUVI7QTRDaGhRSTtFQUNJO0VBQ0E7RUFDQTtBNUNraFFSO0E0Q2hoUVE7RUFDSTtBNUNraFFaO0E0Q2poUVk7RUFDSTtBNUNtaFFoQjs7QTRDN2dRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E1Q2doUUo7O0E0QzdnUUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVDZ2hRSjtBNEMvZ1FJO0VBQ0k7QTVDaWhRUjs7QTRDNWdRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1QytnUUo7QTRDOWdRSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVDZ2hRUjtBNEM5Z1FJO0VBZko7SUFnQlE7SUFDQTtJQUNBO0U1Q2loUU47QUFDRjs7QTRDN2dRQTtFQUNJO0VBZUE7RUFDQTtFQUNBO0E1Q2tnUUo7QTRDbGhRSTtFQUZKO0lBR1E7SUFDQTtJQUNBO0U1Q3FoUU47QUFDRjtBNENwaFFJO0VBUEo7SUFRUTtJQUNBO0lBQ0E7RTVDdWhRTjtBQUNGO0E0Q3RoUUk7RUFaSjtJQWFRO0lBQ0E7RTVDeWhRTjtBQUNGO0E0Q3JoUUk7RUFDSTtFQUNBO0E1Q3VoUVI7QTRDcmhRSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYzVDaElJO0FBdXBRWjtBNEN0aFFRO0VBVEo7SUFVUTtFNUN5aFFWO0FBQ0Y7O0E0Q3JoUUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1Q3doUUo7O0E0Q3JoUUE7Ozs7RUFJSTtFM0N4RkY7QURpblFGOztBNENyaFFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RTNDaEdGO0UyQ2tHRSxjNUM3SlE7QUFxclFaO0E0Q3ZoUUk7RUFQSjtJQVFRO0U1QzBoUU47QUFDRjs7QTRDdGhRQTtBQUVBOzs7O0VBSUk7RUFDQTtFQUNBO0VBQ0E7QTVDd2hRSjs7QTRDcGhRQTtFQUNJO0VBQ0E7QTVDdWhRSjs7QTRDcGhRQTtFQUNJO0VBQ0E7QTVDdWhRSjs7QTRDcGhRQTtFQUNJO0VBQ0E7QTVDdWhRSjs7QTRDcGhRQTs7RUFFSTtFQUNBO0E1Q3VoUUo7O0E0Q3BoUUE7RUFDSTtBNUN1aFFKOztBNENwaFFBO0VBQ0ksbUI1QzVNUTtBQW11UVo7O0E0Q2xoUUE7OztFQUdJLHlCNUN4TlM7QUE2dVFiOztBNENsaFFBOztFQUVJO0E1Q3FoUUo7QTRDcGhRSTs7RUFDSTtBNUN1aFFSOztBNENuaFFBOzs7O0VBSUk7QTVDc2hRSjtBNENyaFFJO0VBTEo7Ozs7SUFNUTtFNUMyaFFOO0FBQ0Y7O0E0Q3hoUUE7O0VBRUk7QTVDMmhRSjs7QTRDdmhRQTtBQUVBOztFQUVJO0VBQ0E7RUFDQTtBNUN5aFFKOztBNEN0aFFBO0VBQ0k7QTVDeWhRSjs7QTRDdGhRQTtFQUNJO0E1Q3loUUo7O0E0Q3RoUUE7OztFQUdJO0E1Q3loUUo7O0E0Q3RoUUE7RUFDSTtFQUNBO0VBQ0E7QTVDeWhRSjs7QTRDdGhRQTtFQUNJO0E1Q3loUUo7O0E0Q3RoUUE7RUFDSTtFQUNBO0VBQ0E7QTVDeWhRSjs7QTRDdGhRQTtFQUNJO0VBQ0E7QTVDeWhRSjs7QTRDdGhRQTtFQUNJO0E1Q3loUUo7O0E0Q3RoUUE7RUFDSTtFQUNBO0VBQ0E7QTVDeWhRSjtBNEN4aFFJO0VBSko7SUFLUTtJQUNBO0lBQ0E7RTVDMmhRTjtFNEMxaFFNO0lBQ0k7SUFDQTtJQUNBO0U1QzRoUVY7RTRDM2hRVTtJQUNJO0U1QzZoUWQ7QUFDRjtBNEMxaFFJO0VBQ0ksYzVDaFRJO0U0Q2lUSjtBNUM0aFFSO0E0QzNoUVE7RUFDSSxtQjVDL1NLO0U0Q2dUTCxjNUN6VEM7RTRDMFREO0E1QzZoUVo7QTRDM2hRUTtFQUNJO0E1QzZoUVo7QTRDMWhRSTs7RUFFSTtFQUNBO0VBQ0E7QTVDNGhRUjtBNEMxaFFJO0VBQ0k7RUFDQSxjNUNuVUk7RTRDb1VKO0E1QzRoUVI7QTRDM2hRUTtFQUNJLHlCNUNsVUs7RTRDbVVMLGM1QzVVQztFNEM2VUQ7QTVDNmhRWjtBNEMzaFFRO0VBQ0k7QTVDNmhRWjtBNEMzaFFRO0VBQ0k7SUFFSTtJQUNBO0U1QzRoUWQ7RTRDMWhRVTtJQUVJO0lBQ0E7RTVDMmhRZDtFNEN6aFFVO0lBQ0k7RTVDMmhRZDtFNEN6aFFVO0lBQ0k7RTVDMmhRZDtBQUNGO0E0Q3hoUUk7RUFDSSxzQjVDblhpQjtFNENvWGpCO0E1QzBoUVI7O0E0Q3RoUUE7RUFDSTtBNUN5aFFKOztBNEN0aFFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUN5aFFKOztBNENyaFFBO0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVDdWhRSjs7QTRDcGhRQTtFQUNJO0VBQ0E7RUFDQTtBNUN1aFFKOztBNENuaFFBO0FBRUE7RUFDSTtBNUNxaFFKOztBNENqaFFJO0VBQ0k7RUFDQTtBNUNvaFFSO0E0Q2xoUUk7RUFDSTtBNUNvaFFSO0E0Q2xoUUk7RUFDSTtBNUNvaFFSOztBNENoaFFBO0VBQ0k7RUFDQSxpQzNDelllO0UyQzBZZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1Q21oUUo7QTRDbGhRSTtFQVJKO0lBU1E7RTVDcWhRTjtBQUNGO0E0Q3BoUUk7RUFDSSxjNUM1YUs7RTRDNmFMO0E1Q3NoUVI7QTRDcmhRUTtFQUNJLGM1Qy9hQztFNENnYkQ7QTVDdWhRWjtBNENuaFFRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjNUN6YkM7QUE4OFFiO0E0Q25oUVE7RUFDSTtBNUNxaFFaO0E0Q25oUVE7RUFDSTtBNUNxaFFaO0E0Q2hoUVk7RUFDSTtFQUNBO0E1Q2toUWhCO0E0Q2hoUVk7RUFDSTtFQUNBO0VBQ0EsYzVDdGNKO0U0Q3VjSTtFQUNBO0E1Q2toUWhCOztBNEMzZ1FJO0VBRUk7QTVDNmdRUjs7QTRDemdRQTs7OztFQUlJO0E1QzRnUUo7O0E0Q3hnUUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVDMmdRSjtBNEMxZ1FJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTVDNGdRUjtBNEMzZ1FRO0VBQ0k7QTVDNmdRWjtBNEMzZ1FRO0VBQ0k7QTVDNmdRWjs7QTRDdmdRQTtFQUNJO0VBQ0E7RUFDQTtBNUMwZ1FKO0E0Q3pnUUk7RUFDSSxnQjVDMWdCaUI7RTRDMmdCakI7QTVDMmdRUjtBNEN4Z1FROztFQUVJO0E1QzBnUVo7QTRDemdRWTs7RUFDSTtBNUM0Z1FoQjtBNEMxZ1FZOztFQUNJO0E1QzZnUWhCO0E0Q3pnUVk7O0VBRUk7QTVDMmdRaEI7QTRDeGdRUTtFQUNJO0E1QzBnUVo7QTRDemdRWTtFQUNJO0E1QzJnUWhCOztBNENwZ1FBO0VBQ0k7Ozs7O0tBQUE7QTVDNGdRSjtBNENuZ1FBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTVDcWdRSjtBNENwZ1FJO0VBTEo7SUFNUTtJQUNBO0U1Q3VnUU47QUFDRjs7QTRDcGdRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVDdWdRSjtBNEN0Z1FJO0VBTko7SUFPUTtJQUNBO0lB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RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGM1Q3QzQkk7RTRDdTNCSjtBNUNpalFSO0E0Qy9pUUk7O0VBRUk7QTVDaWpRUjtBNEMvaVFJOzs7Ozs7Ozs7Ozs7Ozs7O0VBZ0JJO0VBQ0E7RUFDQTtBNUNpalFSO0E0Qy9pUUk7RUFDSTtFQUNBO0VBQ0E7QTVDaWpRUjtBNEMvaVFJOztFQUVJO0VBQ0E7RUFDQTtBNUNpalFSO0E0Qy9pUUk7RUFDSTtFQUNBLGM1QzE1QlM7RTRDMjVCVDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1Q2lqUVI7QTRDL2lRSTtFQUNJO0E1Q2lqUVI7QTRDaGpRUTtFQUNJO0UzQ24zQlY7RTJDczNCVTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGlDM0NqNkJPO0FEazlSbkI7QTRDL2lRUTtFQUNJO0E1Q2lqUVo7QTRDaGpRWTtFQUNJO0E1Q2tqUWhCO0E0Q2hqUVk7O0VBRUk7RUFDQTtBNUNralFoQjtBNEM5aVFJO0VBQ0k7RUFDQTtFQUNBO0E1Q2dqUVI7QTRDOWlRSTtFQUNJOztZQUFBO0VBR0E7QTVDZ2pRUjtBNEMvaVFRO0VBTEo7SUFNUTtFNUNralFWO0FBQ0Y7QTRDampRUTtFQUNJO0E1Q21qUVo7QTRDampRUTtFQUNJO0VBQ0E7QTVDbWpRWjtBNENsalFZO0VBQ0k7QTVDb2pRaEI7QTRDaGpRSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBNUNralFSO0E0Q2hqUUk7RUFFSTtBNUNpalFSO0E0QzFpUUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBNUM0aVFSO0E0QzFpUUk7RUFDSTtFM0N2N0JOO0FEbytSRjs7QTRDdGlRSTtFQUNJO0E1Q3lpUVI7O0E0Q3BpUUk7RUFDSTtFQUNBO0E1Q3VpUVI7QTRDdGlRUTs7RUFFSTtFQUNBLGMzQ2poQ0Y7QUR5alNWO0E0Q3BpUVk7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1Q3VpUWhCO0E0Q3BpUVE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7QTVDc2lRWjs7QTRDamlRQTtFQUNJLGM1QzdoQ1E7QUFpa1NaOztBNENqaVFBO0VBQ0k7QTVDb2lRSjs7QTZDNWxTSTtFQUNJO0VBQ0E7QTdDK2xTUjtBNkM3bFNJO0VBQ0k7RUFDQTtBN0MrbFNSOztBNkMzbFNBO0VBQ0k7QTdDOGxTSjs7QTZDM2xTQTtFQUNJO0E3QzhsU0o7O0E2QzNsU0E7RUFDSTs7YUFBQTtFQUdBO0E3QzhsU0o7QTZDN2xTSTtFQUNJO0E3QytsU1I7O0E2QzFsU0E7RUFDSTtBN0M2bFNKOztBNkN4bFNJO0VBQ0k7QTdDMmxTUjtBNkMxbFNRO0VBQ0ksYzdDZkE7QUEybVNaOztBNkN2bFNBOztFQUVJO0VBQ0E7QTdDMGxTSjs7QTZDdmxTQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3QzBsU0o7O0E2Q3ZsU0E7O0VBRUk7RUFDQTtBN0MwbFNKOztBNkN0bFNJO0VBREo7SUFDMkM7SUFBaUI7RTdDNGxTMUQ7QUFDRjtBNkM1bFNJO0VBRko7SUFFMkM7SUFBa0I7SUFBa0I7RTdDa21TN0U7QUFDRjs7QTZDaG1TQTtFQUNJO0E3Q21tU0o7O0E2Q2htU0E7RUFDSTtBN0NtbVNKOztBNkNobVNBO0VBQ0k7QTdDbW1TSjs7QTZDaG1TQTtFQUNJO0E3Q21tU0o7O0E2Q2htU0E7O0VBRUk7RUFDQTtBN0NtbVNKOztBNkNobVNBO0VBQ0k7QTdDbW1TSjs7QTZDaG1TQTtFQUNJO0VBQ0E7QTdDbW1TSjs7QTZDL2xTSTtFQUNJLHlCN0NyR1k7QUF1c1NwQjs7QTZDNWxTQTtBQUNBO0VBQW9CO0VBQWtCO0VBQStCO0VBQWtCO0E3Q21tU3ZGO0E2Q2xtU0k7RUFBYztBN0NxbVNsQjs7QTZDbG1TSTtFQUF1QixxQzVDcEVaO0U0Q29Fd0M7RUFBbUI7RUFBeUI7RUFBVztFQUF1QjtFQUFrQixjN0N0RnRJO0U2Q3NGMEo7RUFBaUM7RUFBd0I7QTdDK21TcE87QTZDOW1TUTtFQURKO0lBQ3lDO0U3Q2tuUzNDO0FBQ0Y7QTZDam5TSTtFNUNsQ0Y7QURzcFNGO0E2Q25uU0k7RTVDbkNGO0U0Q21DNkQ7RUFBc0IsbUI3QzFGcEU7RTZDMEY0RjtFQUE4QixjN0NuRzlIO0U2Q21HOEk7QTdDMm5TM0o7QTZDMW5TUTtFQUFRO0VBQXVCLHlCN0NqRzNCO0U2Q2lHcUQ7RUFBYztBN0Nnb1MvRTtBNkM5blNJO0VBQTJDLHlCN0N6RzlCO0U2Q3lHNEQ7RUFBd0I7RUFBZTtFQUF3QjtFQUFxQjtFQUFjO0VBQWtCO0VBQXFCO0VBQTJCO0E3QzBvU2pQO0E2Q3pvU1k7RUFBUztBN0M0b1NyQjtBNkMzb1NZO0VBQXNCO0E3QzhvU2xDO0E2QzdvU2dCO0VBQVE7QTdDZ3BTeEI7O0E4QzN3U0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUM4d1NKO0E4Qzd3U0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlDK3dTUjtBOEM5d1NRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5Q2d4U1o7QThDN3dTSTtFQUNJO0VBQ0E7RUFDQTtBOUMrd1NSO0E4Qzd3U0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlDK3dTUjtBOEM5d1NRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTlDZ3hTWjtBOEM3d1NJO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUM4d1NSO0E4Qzd3U1E7RUFDSTtFQUNBO0VBQ0EsYzlDMUJLO0U4QzJCTDtFQUNBO0VBQ0E7RUFDQTtBOUMrd1NaO0E4Qzd3U1E7RUFDSTtFQUNBO0VBQ0E7QTlDK3dTWjs7QThDMXdTQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUM2d1NKOztBOEMxd1NBO0VBQ0k7QTlDNndTSjs7QThDMXdTQTtFQUNJO0VBQ0E7RUFDQTtBOUM2d1NKOztBOEMxd1NBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTlDNndTSjs7QThDMXdTQTtFQUNJO0E5QzZ3U0o7O0E4QzF3U0E7RUFDSTtBOUM2d1NKOztBOEMxd1NBO0VBQ0k7RUFDQTtFQUNBO0E5QzZ3U0o7O0E4QzF3U0E7RUFDSTtFQUNBO0VBQ0E7QTlDNndTSjs7QThDMXdTQTtFQUNJO0VBQ0E7QTlDNndTSjtBOEM1d1NJO0VBQ0k7RUFDQTtFQUNBO0E5Qzh3U1I7QThDNXdTSTtFQUNJO0E5Qzh3U1I7O0E4QzF3U0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlDNndTSjs7QThDMXdTQTtFQUNJO0VBQ0E7RUFDQTtBOUM2d1NKOztBOEMxd1NBO0VBQ0ksYzlDbklRO0U4Q29JUjtFQUNBO0VBQ0E7QTlDNndTSjs7QThDMXdTQTtFQUNJO0VBQ0E7RUFDQTtBOUM2d1NKOztBOEMxd1NBO0VBQ0k7QTlDNndTSjs7QThDMXdTQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlDNndTSjs7QThDMXdTQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5QzZ3U0o7O0E4QzF3U0E7RUFDSTtBOUM2d1NKOztBOEMxd1NBO0VBQ0k7RUFDQTtBOUM2d1NKOztBOEMxd1NBO0VBQ0k7RUFDQTtBOUM2d1NKOztBOEMxd1NBO0VBQ0k7QTlDNndTSjs7QThDMXdTQTtFQUNJO0E5QzZ3U0o7O0E4QzF3U0E7RUFDSTtFQUNBO0E5QzZ3U0o7O0E4QzF3U0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUM2d1NKOztBOEMxd1NBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTlDNndTSjs7QThDMXdTQTtFQUNJO0VBQ0E7RUFDQTtBOUM2d1NKOztBOEMxd1NBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUM2d1NKOztBOEMxd1NBO0VBQ0kseUI5Q3hPUztFOEN5T1Q7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5QzZ3U0o7QThDNXdTSTtFQUNJO0VBQ0E7RUFDQTtBOUM4d1NSO0E4Qzd3U1E7RUFDSTtBOUMrd1NaOztBOEMxd1NBO0VBQ0ksYzlDMVBRO0U4QzJQUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlDNndTSjs7QThDMXdTQTtFQUNJO0E5QzZ3U0o7O0E4QzF3U0E7O0VBRUk7QTlDNndTSjs7QThDMXdTQTtFQUNJO0VBQ0E7QTlDNndTSjs7QThDMXdTQTtFQUNJO0VBQ0E7QTlDNndTSjs7QThDMXdTQTtFQUNJO0VBQ0E7QTlDNndTSjs7QThDMXdTQTtFQUNJO0E5QzZ3U0o7O0E4QzF3U0E7O0VBRUk7RUFDQTtBOUM2d1NKOztBOEMxd1NBOztFQUVJO0VBQ0E7QTlDNndTSjs7QThDMXdTQTtFQUNJO0VBQ0E7QTlDNndTSjs7QThDMXdTQTtFQUNJO0VBQ0E7RUFDQTtBOUM2d1NKOztBOEMxd1NBO0VBQ0k7RUFDQTtBOUM2d1NKOztBOEMxd1NBO0VBQ0k7QTlDNndTSjs7QThDMXdTQTtFQUNJO0E5QzZ3U0o7O0E4QzF3U0E7RUFDSTtFQUNBO0E5QzZ3U0o7O0E4QzF3U0E7RUFDSTtBOUM2d1NKOztBOEMxd1NBO0VBQ0k7QTlDNndTSjs7QThDMXdTQTtFQUNJO0VBQ0E7QTlDNndTSjs7QThDMXdTQTtFQUNJO0VBQ0E7QTlDNndTSjs7QThDMXdTQTtFQUNJO0VBQ0E7QTlDNndTSjs7QThDMXdTQTtFQUNJO0VBQ0E7QTlDNndTSjs7QThDMXdTQTtFQUNJO0VBQ0E7QTlDNndTSjs7QThDMXdTQTtFQUNJO0VBQ0E7QTlDNndTSjs7QThDMXdTQTtFQUNJO0VBQ0E7RUFDQTtBOUM2d1NKOztBOEMxd1NBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5QzZ3U0o7O0E4QzF3U0E7RUFDSTtBOUM2d1NKOztBOEMxd1NBO0VBQ0k7RUFDQTtBOUM2d1NKOztBOEMxd1NBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTlDNndTSjs7QThDMXdTQTtFQUNJO0E5QzZ3U0o7O0E4QzF3U0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlDNndTSjs7QThDMXdTQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5QzZ3U0o7O0E4QzF3U0E7RUFDSTtBOUM2d1NKOztBOEMxd1NBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlDNndTSjs7QThDMXdTQTtFQUNJO0E5QzZ3U0o7O0E4QzF3U0E7RUFDSTtFQUNBO0E5QzZ3U0o7O0E4QzF3U0E7RUFDSTtFQUNBO0E5QzZ3U0o7O0E4QzF3U0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5QzZ3U0o7O0E4QzF3U0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5QzZ3U0o7O0E4QzF3U0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5QzZ3U0o7O0E4QzF3U0E7RUFDSTtBOUM2d1NKOztBOEMxd1NBO0VBQ0k7RUFDQTtFQUNBO0E5QzZ3U0o7O0E4QzF3U0E7RUFDSTtBOUM2d1NKOztBOEMxd1NBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUM2d1NKOztBOEMxd1NBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUM2d1NKOztBOEMxd1NBO0VBQ0k7QTlDNndTSjs7QThDMXdTQTtFQUNJO0E5QzZ3U0o7O0E4QzF3U0E7RUFDSTtFQUNBO0E5QzZ3U0o7O0E4QzF3U0E7RUFDSTtFQUNBO0E5QzZ3U0o7O0E4QzF3U0E7RUFDSTtBOUM2d1NKOztBOEMxd1NBO0VBQ0k7RUFDQTtFQUNBO0E5QzZ3U0o7O0E4QzF3U0E7RUFDSTtFQUNBO0VBQ0E7QTlDNndTSjs7QThDMXdTQTtFQUNJO0VBQ0E7QTlDNndTSjs7QThDMXdTQTtFQUNJO0E5QzZ3U0o7O0E4QzF3U0E7RUFDSTtFQUNBO0E5QzZ3U0o7O0E4QzF3U0E7RUFDSTtBOUM2d1NKOztBOEMxd1NBO0VBQ0k7QTlDNndTSjs7QThDMXdTQTtFQUNJO0VBQ0E7QTlDNndTSjs7QThDMXdTQTtFQUNJO0E5QzZ3U0o7O0E4QzF3U0E7RUFDSTtBOUM2d1NKOztBOEMxd1NBO0VBQ0k7RUFDQTtBOUM2d1NKOztBOEMxd1NBO0VBQ0k7RUFDQTtFQUNBO0E5QzZ3U0o7O0E4QzF3U0E7RUFDSTtBOUM2d1NKOztBOEN6d1NBO0FBRUE7RUFDSTtJQUNJO0lBQ0E7RTlDMndTTjtBQUNGO0ErQy80VEE7RUFDSTtFQUNBO0VBQ0E7RUF3WkE7RUFvRkE7RUF5UEE7RUFvQ0E7OztHQUFBO0VBSUE7QS9DNG9TSjtBK0N4NVRJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxtQi9DZVM7RStDZFQ7QS9DMDVUUjtBK0N6NVRRO0VBQ0k7QS9DMjVUWjtBK0N6NVRRO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUIvQ1BDO0FBaTZUYjtBK0N4NVRRO0VBQ0k7QS9DMDVUWjtBK0N4NVRRO0VBQ0k7QS9DMDVUWjtBK0N4NVRRO0VBN0JKO0lBOEJRO0lBQ0E7SUFDQTtFL0MyNVRWO0UrQzE1VFU7SUFFSSx5Qi9DakJKO0VBNDZUVjtBQUNGO0ErQ3Y1VFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBL0N5NVRaO0ErQ3Y1VFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9DeTVUWjtBK0N4NVRZO0VBUEo7SUFRUTtJQUNBO0lBQ0E7RS9DMjVUZDtBQUNGO0ErQ3o1VFE7RUFDSTtFQUNBO0VBQ0E7QS9DMjVUWjtBK0MxNVRZO0VBQ0k7QS9DNDVUaEI7QStDMTVUWTtFQUNJO0EvQzQ1VGhCO0ErQ3o1VFE7RUFDSTtBL0MyNVRaO0ErQzE1VFk7RUFGSjtJQUdRO0UvQzY1VGQ7QUFDRjtBK0M1NVRZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGMvQzlESjtBQTQ5VFo7QStDNzVUZ0I7RUFQSjtJQVFRO0UvQ2c2VGxCO0FBQ0Y7QStDOTVUWTtFQUNJO0VBQ0EsYzlDakZOO0FEaS9UVjtBK0M3NVRRO0VBQ0k7RUFDQTtBL0MrNVRaO0ErQzk1VFk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9DZzZUaEI7QStDLzVUZ0I7RUFDSTtBL0NpNlRwQjtBK0M5NVRZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9DZzZUaEI7QStDLzVUZ0I7RUFYSjtJQVlRO0UvQ2s2VGxCO0FBQ0Y7QStDajZUZ0I7RUFDSTtBL0NtNlRwQjtBK0NoNlRZO0VBQ0k7QS9DazZUaEI7QStDaDZUWTtFQUNJO0VBQ0E7QS9DazZUaEI7QStDaDZUWTtFQUNJO0VBQ0EseUIvQzVISDtBQThoVWI7QStDaDZUWTtFQUNJO0EvQ2s2VGhCO0ErQ2g2VFk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQ2s2VGhCO0ErQ2g2VFk7RUFDSTtFQUNBO0EvQ2s2VGhCO0ErQzU1VGdCO0VBQ0k7RUFDQTtBL0M4NVRwQjtBK0M3NVRvQjtFQUNJO0VBQ0E7QS9DKzVUeEI7QStDNzVUb0I7O0VBRUk7QS9DKzVUeEI7QStDNzVUb0I7RUFDSTtBL0MrNVR4QjtBK0MxNVRRO0VBQ0k7RUFDQTtFQUNBO0EvQzQ1VFo7QStDMzVUWTtFQUNJO0EvQzY1VGhCO0ErQzM1VFk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBL0M2NVRoQjtBK0M1NVRnQjtFQUNJO0VBQ0E7RUFDQTtBL0M4NVRwQjtBK0M1NVRnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9DODVUcEI7QStDNTVUZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0M4NVRwQjtBK0M3NVRvQjtFQUNJO0EvQys1VHhCO0ErQ3o1VG9CO0VBQ0k7QS9DMjVUeEI7QStDejVUb0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBL0MyNVR4QjtBK0MxNVR3QjtFQUNJO0EvQzQ1VDVCO0ErQ3o1VG9CO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQzI1VHhCO0ErQzE1VHdCO0VBQ0k7QS9DNDVUNUI7QStDbjVUb0I7RUFDSTtBL0NxNVR4QjtBK0NoNVRRO0VBQ0k7QS9DazVUWjtBK0NoNVRRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQ2s1VFo7QStDajVUWTtFQUNJO0EvQ201VGhCO0ErQ2o1VFk7RUFDSTtFQUNBO0VBQ0E7QS9DbTVUaEI7QStDbDVUZ0I7O0VBRUk7RTlDak1sQjtFOENtTWtCO0VBQ0EsbUIvQzNQSDtFK0M0UEc7RUFDQSxjL0N0UVA7RStDdVFPO0VBQ0E7QS9DbzVUcEI7QStDbjVUb0I7O0VBQ0k7RUFDQSx5Qi9DeFFaO0UrQ3lRWTtFQUNBO0EvQ3M1VHhCO0ErQ241VGdCO0VBQ0ksbUI5Q3hSVjtFOEN5UlU7RUFDQSxjL0NuUlA7QUF3cVViO0ErQ3A1VG9CO0VBQ0kseUIvQ3JSWDtFK0NzUlcsYzlDN1JkO0FEbXJVVjtBK0NyNVR3QjtFQUNJLGM5Qy9SbEI7QURzclVWO0ErQ2o1VFE7O0VBRUk7QS9DbTVUWjtBK0NqNVRRO0U5Q2xPTjtBRHNuVUY7QStDbDVUWTtFQUZKO0lBR1E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFL0NxNVRkO0FBQ0Y7QStDcDVUWTtFQVRKO0lBVVE7SUFDQTtJQUNBO0lBQ0E7RS9DdTVUZDtBQUNGO0ErQ3Q1VFk7RUFDSTtFQUNBO0EvQ3c1VGhCO0ErQ3Q1VFk7RUFDSSxjL0N6VEM7QUFpdFVqQjtBK0N0NVRZO0VBQ0ksYy9DNVRDO0UrQzZURDtFQUNBO0VBQ0E7QS9DdzVUaEI7QStDdjVUZ0I7RUFDSTtBL0N5NVRwQjtBK0N2NVRnQjtFQUNJO0EvQ3k1VHBCO0ErQ3Q1VFk7RUFDSTtBL0N3NVRoQjtBK0NwNVRJO0U5Q3pRRjtFOEMyUU0sbUIvQzFVSTtFK0MyVUo7RUFDQTtFQUNBO0VBQ0E7QS9DczVUUjtBK0NqNVRZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QS9DbTVUaEI7QStDajVUWTtFQVBKO0lBUVE7SUFDQTtFL0NvNVRkO0FBQ0Y7QStDbDVUUTs7RUFFSTtFQUNBO0EvQ281VFo7QStDbDVUUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYy9DMVdBO0FBOHZVWjtBK0NuNVRZO0VBQ0k7RUFDQTtBL0NxNVRoQjtBK0NsNVRRO0VBQ0k7RUFDQTtFQUNBLGMvQy9XSztFK0NnWEw7RUFDQTtFQUNBO0EvQ281VFo7QStDbDVUUTtFQUNJO0EvQ281VFo7QStDbjVUWTtFQUNJLGMvQ3ZYQztBQTR3VWpCO0ErQ2w1VFE7RUFDSTtFQUNBO0VBQ0E7QS9DbzVUWjtBK0NoNVRJOzs7Ozs7Ozs7Ozs7Ozs7O0VBZ0JJO0VBQ0E7QS9DazVUUjtBK0NoNVRJOzs7Ozs7O0VBT0k7QS9DazVUUjtBK0NoNVRJOztFQUVJO0VBQ0E7QS9DazVUUjtBK0NoNVRJOzs7RUFHSTtFOUM5V047RThDZ1hNO0VBQ0EsbUIvQ3hhUztFK0N5YVQ7RUFDQSxjL0NuYks7RStDb2JMO0VBQ0E7QS9DazVUUjtBK0NqNVRROzs7RUFDSTtBL0NxNVRaO0ErQ241VFE7OztFQUNJO0EvQ3U1VFo7QStDcjVUUTs7O0VBQ0k7RUFDQSx5Qi9DM2JBO0UrQzRiQTtFQUNBO0EvQ3k1VFo7QStDdjVUUTs7O0VBQ0kseUI5QzFjRjtFOEMyY0U7QS9DMjVUWjtBK0MxNVRZOzs7RUFDSSxjOUM3Y047RThDOGNNLHlCL0N2Y0g7QUFxMlViO0ErQzc1VGdCOzs7RUFDSSxjOUNoZFY7QURpM1VWO0ErQzU1VEk7RUFDSTtFQUNBO0VBQ0E7QS9DODVUUjtBK0M1NVRJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0M4NVRSO0ErQzU1VEk7RUFDSTtBL0M4NVRSO0ErQzM1VEk7RUFDSTtFQUVBO0VBQ0E7RUFDQTtFQXNHQTtBL0N1elRSO0ErQzU1VFE7RUFOSjtJQU9RO0UvQys1VFY7QUFDRjtBK0M3NVRRO0VBQ0k7RUFDQTtBL0MrNVRaO0ErQzk1VFk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBL0NnNlRoQjtBK0MvNVRnQjtFQUNJO0VBQ0EsYy9DN2VSO0UrQzhlUTtBL0NpNlRwQjtBK0MvNVR3QjtFQUNJO0EvQ2k2VDVCO0ErQzU1VFk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9DODVUaEI7QStDNzVUZ0I7RUFDSSx5Qi9DbGdCUjtFK0NtZ0JRLGMvQzNmSDtFK0M0Zkc7QS9DKzVUcEI7QStDOTVUb0I7RUFKSjtJQUtRO0UvQ2k2VHRCO0FBQ0Y7QStDLzVUaUI7RUFDRztBL0NpNlRwQjtBK0M5NVRZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QS9DZzZUaEI7QStDOTVUWTtFQTVDSjtJQTZDUTtJQUNBO0lBQ0E7RS9DaTZUZDtBQUNGO0ErQzk1VFk7RUFESjtJQUVRO0lBQ0E7RS9DaTZUZDtBQUNGO0ErQ2g2VFk7RUFDSTtJQUNJO0UvQ2s2VGxCO0UrQ2o2VGtCO0lBQ0k7RS9DbTZUdEI7QUFDRjtBK0NoNlRZO0VBQ0k7RTlDeGVkO0U4QzBlYztFQUNBLG1CL0N6aUJKO0FBMjhVWjtBK0NqNlRnQjtFQUNJO0EvQ202VHBCO0ErQy81VFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQ2k2VFo7QStDaDZUWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQ2s2VGhCO0ErQy81VFE7O0VBRUk7RUFDQTtBL0NpNlRaO0ErQzk1VFE7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QS9DKzVUWjtBK0M5NVRZO0VBUko7SUFTUTtJQUNBO0lBQ0E7RS9DaTZUZDtBQUNGO0ErQ2g2VFk7RUFDSTtBL0NrNlRoQjtBK0NqNlRnQjtFQUNJO0VBQ0E7RUFDQTtBL0NtNlRwQjtBK0NsNlRvQjtFQUpKO0lBS1E7RS9DcTZUdEI7QUFDRjtBK0NwNlRvQjtFQUNJO0VBQ0EseUIvQ2htQlo7RStDaW1CWTtFQUNBO0VBQ0E7RUFDQSxjL0NqbUJaO0FBdWdWWjtBK0NwNlRvQjtFQUNJLHlCL0N4bUJaO0FBOGdWWjtBK0NwNlRvQjtFQUNJO0EvQ3M2VHhCO0ErQ242VGdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQ3E2VHBCO0ErQ3A2VG9CO0VBQ0ksYy9DMW5CUDtFK0MybkJPO0VBQ0E7RUFDQTtFQUNBO0EvQ3M2VHhCO0ErQ242VGdCO0VBdkNKO0lBd0NRO0lBQ0E7RS9DczZUbEI7RStDcjZUa0I7SUFDSTtJQUNBO0UvQ3U2VHRCO0FBQ0Y7QStDbDZUSTtFQUNJO0VBQ0EseUIvQzNvQks7QUEraVZiO0ErQ2w2VEk7RUFDSTtBL0NvNlRSO0ErQ2w2VEk7RUFDSSx5Qi9DeG9CUztFK0N5b0JUO0EvQ282VFI7QStDbDZUSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxtQi9DenBCSTtFK0MwcEJKO0VBb0JBO0EvQ2k1VFI7QStDcDZUUTtFQVJKO0lBU1E7RS9DdTZUVjtBQUNGO0ErQ3Q2VFE7RUFDSTtBL0N3NlRaO0ErQ2g2VHdCO0VBREo7Ozs7O0lBRVE7RS9DdTZUMUI7QUFDRjtBK0NqNlRRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QS9DbTZUWjtBK0NsNlRZO0VBQ0k7RUFDQTtFQUNBO0EvQ282VGhCO0ErQzU1VFk7RUFDSTtBL0M4NVRoQjtBK0M1NVRZOztFQUVJLHlCL0N4c0JDO0FBc21WakI7QStDMTVUSTs7RTlDem9CRjtFOEM0b0JNO0VBQ0E7RUFDQTtFQUNBLGMvQ2x0QlM7QUE4bVZqQjtBK0MzNVRROztFQUNJO0VBQ0EseUIvQ3J0Qks7RStDc3RCTDtBL0M4NVRaO0ErQzE1VEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBL0M0NVRSO0ErQzM1VFE7RUFMSjtJQU1RO0lBQ0E7RS9DODVUVjtBQUNGO0ErQzc1VFE7RUFDSTtFQUNBO0EvQys1VFo7QStDNTVUSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9DODVUUjtBK0M1NVRJO0VBQ0ksYy9DaHZCUztFK0NpdkJUO0VBQ0E7RUFDQTtBL0M4NVRSO0ErQzU1VEk7RUFDSTtBL0M4NVRSO0ErQzc1VFE7RUFDSTtFQUNBO0VBQ0E7QS9DKzVUWjtBK0N2NVRJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9DeTVUUjtBK0N4NVRRO0VBQ0k7RUFDQTtBL0MwNVRaO0ErQ3o1VFk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9DMjVUaEI7QStDejVUWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EvQzI1VGhCO0ErQ3g1VFE7RUFDSTtBL0MwNVRaO0ErQ3o1VFk7RUFGSjtJQUdRO0UvQzQ1VGQ7QUFDRjtBK0MzNVRZO0VBQ0k7RUFDQTtBL0M2NVRoQjtBK0MzNVRZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0M2NVRoQjtBK0M1NVRnQjtFQUNJO0VBQ0E7QS9DODVUcEI7QStDMzVUWTs7RUFFSTtFQUNBO0VBQ0E7QS9DNjVUaEI7QStDeDVUUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjL0N2ekJBO0UrQ3d6QkE7QS9DMDVUWjtBK0N6NVRZO0VBUko7SUFTUTtFL0M0NVRkO0FBQ0Y7O0ErQ3Q1VEE7QUFFQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQ3c1VEo7O0ErQ3I1VEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBL0N3NVRKOztBK0NwNVRBO0FBRUE7RUFDSTtBL0NzNVRKO0ErQ3I1VEk7RUFDSTtFQUNBO0VBQ0E7QS9DdTVUUjtBK0N0NVRRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYy9DbDJCSztBQTB2VmpCO0ErQ3I1VEk7RUFDSTtFQUNBO0VBQ0EseUIvQy8yQkk7QUFzd1ZaO0ErQ3Q1VFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxtQi9DdjNCQTtBQSt3Vlo7QStDdjVUWTtFQVJKO0lBU1EsbUIvQzMzQkg7RUFxeFZYO0FBQ0Y7QStDejVUWTtFQUNJO0VBQ0E7QS9DMjVUaEI7QStDMTVUZ0I7RUFDSTtFQUNBO0EvQzQ1VHBCO0ErQ3o1VFk7RUFDSTtFQUNBO0EvQzI1VGhCO0ErQ3Q1VFE7RUFDSTtFQUNBO0EvQ3c1VFo7QStDcjVUSTtFQUNJO0EvQ3U1VFI7O0FnRDV6VkE7RUFBWTtFQUFpQztBaERpMFY3Qzs7QWdEN3pWQTs7OztFQUFBO0FBT0E7RUFDQztFQUNBO0FoRDh6VkQ7O0FnRDN6VkE7RUFDQztBaEQ4elZEOztBZ0QzelZBO0VBQ0M7QWhEOHpWRDs7QWdEMXpWQTttR0FBQTtBQUdBOzs7Ozs7O0VBT0M7QWhENHpWRDs7QWdEenpWQTtFQUNDO0FoRDR6VkQ7O0FnRHp6VkE7O0VBRUM7QWhENHpWRDs7QWdEenpWQTtFQUNDO0FoRDR6VkQ7O0FnRHp6VkE7RUFDQztBaEQ0elZEOztBZ0R6elZBO0VBQ0M7RUFDQTtFQUNBO0FoRDR6VkQ7O0FnRHp6VkE7RUFDQztFQUNBO0VBQ0E7QWhENHpWRDs7QWdEenpWQTtFQUNDO0VBQ0E7QWhENHpWRDs7QWdEeHpWQTttR0FBQTtBQUdBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEQwelZEOztBZ0R2elZBO0VBQ0M7RUFDQTtBaEQwelZEOztBZ0R2elZBO0VBQ0M7RUFDQTtBaEQwelZEOztBZ0R2elZBO0VBQ0M7QWhEMHpWRDs7QWdEdnpWQTtFQUNDO0FoRDB6VkQ7O0FnRHZ6VkE7RUFDQztBaEQwelZEOztBZ0R0elZBO21HQUFBO0FBR0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7QWhEc3pWRDs7QWdEbnpWQTtBQUNBO0VBQStCO0VBQVc7QWhEd3pWMUM7O0FnRHR6VkE7RUFDQztBaER5elZEOztBZ0R0elZBO0VBQ0E7bUNBQUE7QWhEMHpWQTs7QWdEdHpWQTtFQUNBO29DQUFBO0FoRDB6VkE7O0FnRHR6VkE7QUFFQTtFQUNDO0VBQ0E7RUFDQTtBaER3elZEOztBZ0RyelZBOzs7Q0FBQTtBQUtBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRHV6VkQ7O0FnRHB6VkE7Ozs7RUFJQztFQUNBO0FoRHV6VkQ7O0FnRHB6VkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNHO0VBQ0U7RUFDRztBaER1elZUOztBZ0RwelZBOztFQUVDO0VBQ0E7RUFDQTtBaER1elZEOztBZ0RwelZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaER1elZEOztBZ0RuelZBO21HQUFBO0FBR0E7RUFDQztBaERxelZEOztBZ0RselZBOzs7Q0FBQTtBQUtBO0VBQ0M7RUFDQTtBaERvelZEOztBZ0RqelZBO0VBQ0M7QWhEb3pWRDs7QWdEaHpWQTttR0FBQTtBQUdBO0VBQ0M7RUFDQTtBaERrelZEOztBZ0QveVZBO0VBQ0M7QWhEa3pWRDs7QWdEL3lWQTtFQUNDO0FoRGt6VkQ7O0FnRC95VkE7RUFDQztBaERrelZEOztBZ0QveVZBOztFQUVDO0FoRGt6VkQ7O0FnRC95VkE7O0VBRUM7QWhEa3pWRDs7QWdEL3lWQTtBQUVBO0VBQ0M7RUFDQTtBaERpelZEOztBZ0Q5eVZBO0VBQ0M7RUFDQTtBaERpelZEOztBZ0Q5eVZBO0FBRUE7RUFDQztBaERnelZEOztBZ0Q1eVZBO21HQUFBO0FBR0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRDh5VkQ7O0FnRDN5VkE7RUFDQztBaEQ4eVZEOztBZ0QzeVZBOzs7O0VBSUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEQ4eVZEOztBZ0QzeVZBO0VBQ0M7QWhEOHlWRDs7QWdEM3lWQTtFQUNDO0FoRDh5VkQ7O0FnRDF5VkE7bUdBQUE7QUFHQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhENHlWRDs7QWdEenlWQTtFQUNDO0FoRDR5VkQ7O0FnRHp5VkE7O0VBRUM7RUFDQTtFQUNBO0VBQ0E7QWhENHlWRDs7QWdEenlWQTtFQUNDO0FoRDR5VkQ7O0FnRHh5VkE7bUdBQUE7QUFHQTtFQUNDO0VBQ0E7RUFDQTtBaEQweVZEOztBZ0R2eVZBO0VBQ0M7NENBQUE7RUFFQTtFQUNBO0VBRUE7RUFDQTtBaER5eVZEOztBZ0R0eVZBO0VBQ0M7QWhEeXlWRDs7QWdEcnlWQTttR0FBQTtBQUdBO0VBQ0M7QWhEdXlWRDs7QWdEcHlWQTtFQUNDO0FoRHV5VkQ7O0FnRHB5VkE7QUFFQTs7RUFFQztBaERzeVZEOztBZ0RueVZBOztFQUVDO0FoRHN5VkQ7O0FnRG55VkE7O0VBRUM7QWhEc3lWRDs7QWdEbnlWQTtFQUNDO0FoRHN5VkQ7O0FnRGx5VkE7RUFDQztBaERxeVZEOztBZ0RseVZBOzs7Q0FBQTtBQUtBO0VBQ0M7RUFDQTtFQUNBO0FoRG95VkQ7O0FnRGp5VkE7RUFDQztBaERveVZEOztBZ0RqeVZBOztFQUVDO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QWhEbXlWRDs7QWdEaHlWQTs7RUFFQztFQUNBO0FoRG15VkQ7O0FnRC94VkE7bUdBQUE7QUFHQTtFQUNDO0VBQ0E7QWhEaXlWRDs7QWdEOXhWQTtFQUNDO0VBQ0E7RUFDQTtBaERpeVZEOztBZ0Q3eFZBO21HQUFBO0FBR0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRCt4VkQ7O0FnRDV4VkE7QUFDQTs7O0VBR0M7RUFDQTtBaEQreFZEOztBZ0Q1eFZBOztFQUVDO0FoRCt4VkQ7O0FnRDV4VkE7NEJBQzRCO0VBQzNCO0FoRCt4VkQ7O0FnRDN4VkE7Ozs7Q0FBQTtBQU1BO0VBQ0M7RUFDQTtBaEQ2eFZEOztBZ0QxeFZBO0FBRUE7O0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEQ0eFZEOztBZ0R6eFZBOztFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhENHhWRDs7QWdEenhWQTtFQUNDO0VBQ0E7QWhENHhWRDs7QWdEenhWQTtFQUNDO0FoRDR4VkQ7O0FnRHp4VkE7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FoRDJ4VkQ7O0FnRHh4VkE7RUFDQztFQUNBO0FoRDJ4VkQ7O0FnRHh4VkE7RUFDQztFQUNBO0FoRDJ4VkQ7O0FnRHZ4VkE7bUdBQUE7QUFHQTtBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QWhEd3hWRDs7QWdEcnhWQTtFQUNDO0FoRHd4VkQ7O0FnRHJ4VkE7RUFDQztBaER3eFZEOztBZ0RyeFZBO0FBRUE7RUFDQztBaER1eFZEOztBZ0RweFZBO0VBQ0M7RUFDQTtBaER1eFZEOztBZ0RweFZBO0VBQ0M7QWhEdXhWRDs7QWdEcHhWQTttR0FBQTtBQUdBO0VBQ0M7RUFDQTtBaERzeFZEOztBZ0RueFZBO0VBQ0M7QWhEc3hWRDs7QWdEbnhWQTtFQUNDO0FoRHN4VkQ7O0FnRG54VkE7RUFDQztBaERzeFZEOztBZ0RueFZBO0FBQ0E7RUFDQztFQUNBO0FoRHN4VkQ7O0FnRG54VkE7QUFDQTtFQUNDO0FoRHN4VkQ7O0FnRG54VkE7QUFFQTtFQUFpQjtFQUFXO0FoRHV4VjVCOztBZ0RyeFZBO0FBRUE7RUFDQztBaER1eFZEOztBZ0RweFZBOztFQUVDO0FoRHV4VkQ7O0FnRHB4VkE7RUFDQztBaER1eFZEOztBZ0RweFZBOztFQUVDO0FoRHV4VkQ7O0FnRHB4VkE7RUFDQztBaER1eFZEOztBZ0RueFZBO21HQUFBO0FBR0E7QUFDQTtBQUNBOzs7RUFHQztFQUNHO0VBQ0s7QWhEcXhWVDs7QWdEbHhWQTttQkFDbUI7RUFDbEI7RUFDQTtBaERxeFZEOztBZ0RseFZBO21HQUFBO0FBR0E7QUFFQTs7RUFFQztFQUNBO0VBQ0E7QWhEbXhWRDs7QWdEaHhWQTtFQUNDO0FoRG14VkQ7O0FnRGh4VkE7QUFFQTtFQUNDO0FoRGt4VkQ7O0FnRC93VkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBaERreFZEOztBZ0Qvd1ZBO0FBRUE7O0VBRUM7QWhEaXhWRDs7QWdEOXdWQTs7RUFFQztFQUNBO0FoRGl4VkQ7O0FnRDl3VkE7RUFDQztBaERpeFZEOztBZ0Q5d1ZBO0VBQ0M7RUFDQTtFQUNBO0FoRGl4VkQ7O0FnRDl3VkE7RUFDQztBaERpeFZEOztBZ0Q5d1ZBO0VBQ0M7QWhEaXhWRDs7QWdEOXdWQTtFQUNDO0VBQ0E7RUFDQTs7cURBQUE7QWhEbXhWRDs7QWdEOXdWQTttR0FBQTtBQUdBO0VBQ0M7RUFDQTtBaERneFZEOztBZ0Q3d1ZBO0VBQ0M7QWhEZ3hWRDs7QWdEN3dWQTtFQUNDO0VBQ0E7QWhEZ3hWRDs7QWdENXdWQTttR0FBQTtBQUdBO0VBQ0M7RUFDQTtFQUNBO0FoRDh3VkQ7O0FnRDN3VkE7RUFDQztBaEQ4d1ZEOztBZ0Qzd1ZBO0VBQ0M7QWhEOHdWRDs7QWdEM3dWQTtFQUNDO0FoRDh3VkQ7O0FnRDF3VkE7bUdBQUE7QUFHQTtnQkFDZ0I7RUFDZjtFQUNBO0FoRDR3VkQ7O0FnRHp3VkE7RUFDQztBaEQ0d1ZEOztBZ0R6d1ZBO0VBQ0M7QWhENHdWRDs7QWdEendWQTtFQUNDO0FoRDR3VkQ7O0FnRHp3VkE7cUJBQ3FCO0VBQ3BCO0VBQ0E7QWhENHdWRDs7QWdEendWQTs7RUFFQztFQUNBO0VBQ0E7RUFDQTtBaEQ0d1ZEOztBZ0R6d1ZBO0VBQ0M7QWhENHdWRDs7QWdEendWQTtFQUNDO0FoRDR3VkQ7O0FnRHp3VkE7RUFDQztBaEQ0d1ZEOztBZ0R6d1ZBO0VBQ0M7QWhENHdWRDs7QWdEeHdWQTttR0FBQTtBQUdBO0VBQ0M7RUFDQTtBaEQwd1ZEOztBZ0R2d1ZBO0VBQ0M7QWhEMHdWRDs7QWdEdndWQTtFQUNDO0FoRDB3VkQ7O0FnRHR3VkE7bUdBQUE7QUFHQTtFQUNDO0FoRHd3VkQ7O0FnRHJ3VkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBaER3d1ZEOztBZ0Rwd1ZBO21HQUFBO0FBR0E7c0NBQ3NDO0VBQ3JDO0FoRHN3VkQ7O0FnRG53VkE7RUFDQztBaERzd1ZEOztBZ0Rud1ZBO0VBQ0M7QWhEc3dWRDs7QWdEbndWQTs7RUFFQztFQUNBO0FoRHN3VkQ7O0FnRG53VkE7RUFDQztFQUNBO0VBQ0E7QWhEc3dWRDs7QWdEbHdWQTs7OztDQUFBO0FBTUE7RUFDQztFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QWhEbXdWRDs7QWdEaHdWQTtFQUNDO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBaERrd1ZEOztBZ0QvdlZBO0VBQ0M7QWhEa3dWRDs7QWdEL3ZWQTtFQUNDO0VBQ0E7QWhEa3dWRDs7QWdEL3ZWQTs7RUFFQztBaERrd1ZEOztBZ0QvdlZBO0VBQ0M7RUFDQTtBaERrd1ZEOztBZ0QvdlZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QWhEa3dWRDs7QWdEL3ZWQTtBQUVBO0VBQ0M7RUFDQTtBaERpd1ZEOztBZ0Q5dlZBOztFQUVDO0VBQ0E7RUFDQTtBaERpd1ZEOztBZ0Q5dlZBO0VBQ0M7QWhEaXdWRDs7QWdEOXZWQTtFQUNDO0FoRGl3VkQ7O0FnRDl2VkE7RUFDQztBaERpd1ZEOztBZ0Q5dlZBO0VBQ0M7RUFDQTtBaERpd1ZEOztBZ0Q5dlZBO0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhEZ3dWRDs7QWdEN3ZWQTtFQUNDO0FoRGd3VkQ7O0FnRHR2VkE7RUFBWTtBaEQwdlZaOztBZ0RudlZJO0VBQUssbUJoRGgrQlc7RWdEZytCdUI7RUFBb0I7QWhEeXZWL0Q7O0FnRDV1Vk07RUFBYTtBaERndlZuQjtBZ0Q1dVZNO0VBQW1CO0FoRCt1VnpCO0FnRG51Vks7RUFBSztBaERzdVZWO0FnRHJ1Vk07RUFBc0I7QWhEd3VWNUI7O0FpRHh1WEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakQydVhKO0FpRDF1WEk7O0VBRUk7QWpENHVYUjtBaUQxdVhJO0VBQ0k7RUFDQSxjaERMRTtFZ0RNRjtBakQ0dVhSO0FpRDF1WEk7RUFDSTtBakQ0dVhSO0FpRDF1WEk7RUFDSTtFQUNBO0FqRDR1WFI7O0FpRHZ1WEk7RUFESjtJQUVRO0lBQ0E7SUFDQTtJQUNBO0VqRDJ1WE47QUFDRjs7QWlEdnVYSTtFQURKO0lBRVE7SUFDQTtJQUNBO0VqRDJ1WE47QUFDRjtBaUQxdVhJO0VBTko7SUFPUTtFakQ2dVhOO0FBQ0Y7O0FpRDF1WEE7RUFDSTtBakQ2dVhKO0FpRDV1WEk7RUFFSTtFaEQ4Qk47QURndFhGO0FpRDV1WFE7Ozs7O0VoRDRCTjtBRHV0WEY7QWlEN3VYSTtFQUNJO0FqRCt1WFI7O0FpRHh1WEE7RUFDSTtFQUNBO0FqRDJ1WEo7O0FpRHh1WEE7RUFDSTtFQUNBO0FqRDJ1WEo7O0FpRHh1WEE7RUFDSTtFQUNBO0FqRDJ1WEo7O0FpRHh1WEE7RUFDSTtFQUNBO0FqRDJ1WEo7O0FpRHh1WEE7RUFDSTtFQUNBO0FqRDJ1WEo7O0FpRHh1WEE7RUFDSTtFQUNBO0FqRDJ1WEo7O0FpRGp1WFE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQU9JO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjakRqR0E7QUF3MlhaOztBaURqd1hBO0FBR0k7RUFDSTtBakRrd1hSO0FpRGh3WEk7RUFDSTtBakRrd1hSO0FpRGh3WEk7RUFDSTtBakRrd1hSO0FpRGh3WEk7RUFDSTtBakRrd1hSO0FpRGh3WEk7RUFDSTtBakRrd1hSOztBaUQ3dlhBO0FBRUE7RUFDSTtBakQrdlhKOztBaUQzdlhBO0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakQ2dlhKOztBaUQxdlhBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpENnZYSjs7QWlEMXZYQTtFQUNJO0FqRDZ2WEo7O0FpRDF2WEE7RUFDSTtFQUNBO0FqRDZ2WEo7QWlENXZYSTtFQUNJO0VBQ0E7QWpEOHZYUjtBaUQ3dlhRO0VBQ0k7RUFDQTtFQUNBLGNqRDlLQztFaUQrS0QseUJqRHRLSztBQXE2WGpCO0FpRDl2WFk7RUFDSSxtQmpEcExDO0VpRHFMRDtFQUNBLHFCakR0TEM7QUFzN1hqQjtBaUQvdlhnQjtFQUNJO0FqRGl3WHBCO0FpRDl2WFk7RUFDSSxjakQ1TEM7QUE0N1hqQjtBaUQvdlhnQjtFQUNJLGNqRDNMUDtBQTQ3WGI7QWlENXZYSTtFQUNJO0VBQ0E7QWpEOHZYUjtBaUQ3dlhRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakQrdlhaO0FpRDl2WFk7RUFDSSxtQmpEN01DO0VpRDhNRDtFQUNBLHFCakQvTUM7QUErOFhqQjtBaUQvdlhnQjtFQUNJO0FqRGl3WHBCO0FpRDl2WFk7RUFDSSxjakRyTkM7QUFxOVhqQjtBaUQvdlhnQjtFQUNJLGNqRHBOUDtBQXE5WGI7QWlENXZYSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakQ4dlhSO0FpRDd2WFE7RUFDSTtBakQrdlhaOztBaUR6dlhJO0VBQ0k7QWpENHZYUjtBaUQxdlhJO0VBQ0k7RUFDQTtBakQ0dlhSO0FpRDF2WEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWhEMUxOO0VnRDRMTTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpENHZYUjs7QWlEeHZYQTtFQUNJO0FqRDJ2WEo7O0FpRHZ2WEE7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpEeXZYSjtBaUR4dlhJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRDB2WFI7QWlEeHZYSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpEMHZYUjtBaUR6dlhRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpEMnZYWjs7QWlEcnZYQTtBQUlJOztFaEQ3UEY7RWdEZ1FNO0VBQ0E7RUFDQTtBakRxdlhSOztBaURqdlhBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0FqRG92WEo7QWlEbnZYSTs7RUFDSTtFQUNBO0FqRHN2WFI7QWlEcnZYUTs7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRHd2WFo7QWlEdHZYUTs7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakR5dlhaO0FpRHR2WEk7Ozs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpEMHZYUjtBaUR6dlhROzs7O0VBQ0kseUJqRHhYSztBQXNuWWpCO0FpRDV2WFE7Ozs7RUFDSTtBakRpd1haO0FpRC92WFE7Ozs7RUFDSTtBakRvd1haOztBaUQ5dlhJO0VBQ0k7QWpEaXdYUjtBaUQvdlhJO0VBQ0k7QWpEaXdYUjs7QWlENXZYQTtBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakQ4dlhKO0FpRDd2WEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBakQrdlhSO0FpRDl2WFE7RUFDSTtBakRnd1haO0FpRC92WFk7RUFDSTtBakRpd1hoQjtBaUQ5dlhRO0VBQ0k7QWpEZ3dYWjtBaUQ5dlhRO0VBQ0k7QWpEZ3dYWjtBaUQ5dlhRO0VBQ0k7RUFDQTtBakRnd1haOztBaUQxdlhBO0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRDR2WEo7O0FpRHp2WEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBakQ0dlhKOztBaUR4dlhBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakQydlhKOztBaUR4dlhBO0VBQ0k7QWpEMnZYSjtBaUQxdlhJO0VBQ0k7RUFDQTtBakQ0dlhSO0FpRDF2WEk7RUFDSTtBakQ0dlhSO0FpRDF2WEk7RUFDSTtBakQ0dlhSO0FpRHZ2WEk7RUFDSTtFQUNBO0FqRHl2WFI7QWlEeHZYUTtFQUNJO0FqRDB2WFo7QWlEdHZYUTtFQUNJO0FqRHd2WFo7QWlEdHZYUTtFQUNJO0VBQ0E7QWpEd3ZYWjtBaURudlhROztFQUNJO0FqRHN2WFo7QWlEbnZYSTs7OztFQUlJO0FqRHF2WFI7QWlEbnZYSTs7RUFFSTtBakRxdlhSO0FpRG52WEk7RUFDSTtFQUNBO0FqRHF2WFI7QWlEbnZYSTtFQUNJO0FqRHF2WFI7O0FpRGh2WEk7O0VBRUk7QWpEbXZYUjtBaURsdlhRO0VBSEo7O0lBSVE7RWpEc3ZYVjtBQUNGOztBaURqdlhJO0VBQ0k7QWpEb3ZYUjs7QWlEaHZYQTtFQUNJO0VBQ0E7QWpEbXZYSjtBaURsdlhJO0VBQ0k7QWpEb3ZYUjtBaURsdlhJO0VBQ0k7QWpEb3ZYUjtBaURsdlhJO0VBQ0k7QWpEb3ZYUjtBaURsdlhJO0VBQ0k7RUFDQTtFQUNBO0FqRG92WFI7QWlEbHZYSTtFQUNJO0VBQ0E7RUFDQTtBakRvdlhSO0FpRG52WFE7RUFDSTtBakRxdlhaO0FpRGp2WFE7RUFDSTtBakRtdlhaO0FpRGp2WFE7RUFDSTtFQUNBO0FqRG12WFo7QWlEOXVYUTs7RUFDSTtBakRpdlhaOztBaUR6dVhBO0VBQ0k7QWpENHVYSjs7QWlEenVYQTtFQUNJO0FqRDR1WEo7QWlEMXVYUTtFaEQ1Z0I0QjtFQUFvQjtFQUFlO0VnRDhnQjNEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakQ4dVhaO0FpRDN1WEk7RUFDSTtBakQ2dVhSO0FpRDF1WFE7O0VBRUk7RUFDQTtBakQ0dVhaO0FpRHp1WEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRDJ1WFI7QWlEMXVYUTtFQVpKO0lBYVE7SUFDQTtFakQ2dVhWO0FBQ0Y7QWlENXVYUTtFQWhCSjtJQWlCUTtJQUNBO0VqRCt1WFY7QUFDRjtBaUQ5dVhRO0VBcEJKO0lBcUJRO0lBQ0E7RWpEaXZYVjtBQUNGO0FpRGh2WFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpEa3ZYWjtBaURqdlhZOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRG12WGhCO0FpRGp2WFk7RUFDSTtFQUNBO0FqRG12WGhCO0FpRGh2WFE7OztFQUdJO0VBQ0E7RUFDQSxjakQ5b0JLO0FBZzRZakI7QWlEanZYWTs7O0VBQ0k7QWpEcXZYaEI7QWlEbHZYUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpEb3ZYWjtBaURudlhZO0VBQ0k7QWpEcXZYaEI7QWlEbnZYWTtFQUNJO0VBQ0E7RUFDQTtBakRxdlhoQjtBaURudlhZO0VBQ0k7RUFDQTtFQUNBO0FqRHF2WGhCO0FpRHB2WGdCO0VBQ0k7QWpEc3ZYcEI7QWlEanZYSTtFQUNJO0VBQ0E7RUFDQTtBakRtdlhSOztBaUQvdVhBO0VBQ0k7RUFDQTtFQUNBO0FqRGt2WEo7QWlEanZYSTtFQUNJO0FqRG12WFI7QWlEanZYSTtFQUNJO0FqRG12WFI7O0FpRC91WEE7RUFDSTtBakRrdlhKOztBaUQ1dVhBO0VBQ0k7RUFDQTtFQUNBO0FqRCt1WEo7QWlEOXVYSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakRndlhSO0FpRDl1WEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakRndlhSO0FpRDl1WEk7RUFDSTtBakRndlhSO0FpRDl1WEk7RUFDSTtBakRndlhSO0FpRDl1WEk7RUFDSSxzQmhEcHZCTTtFZ0RxdkJOO0VBQ0E7RUFDQTtBakRndlhSO0FpRDl1WEk7RUFDSTtFQUNBO0FqRGd2WFI7QWlEOXVYSTtFQUNJO0FqRGd2WFI7QWlEN3VYUTtFQUNJO0FqRCt1WFo7QWlEN3VYUTtFQUNJO0FqRCt1WFo7QWlEN3VYUTtFQUNJO0FqRCt1WFo7QWlEN3VYUTtFQUNJO0FqRCt1WFo7QWlEN3VYUTtFQUNJO0FqRCt1WFo7O0FpRHZ1WEE7RUFDSTtFQUNBO0FqRDB1WEo7QWlEeHVYUTtFQUNJO0VBQ0E7RUFDQTtBakQwdVhaO0FpRHh1WFE7RUFDSTtBakQwdVhaO0FpRHZ1WEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpEeXVYUjtBaUR4dVhRO0VBQ0k7QWpEMHVYWjtBaUR4dVhRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCaER0ekJFO0VnRHV6QkY7QWpEMHVYWjtBaUR4dVhRO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsZ0JoRDd6QkU7RWdEOHpCRjtBakQwdVhaOztBaURsdVhBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakRxdVhKO0FpRHB1WEk7O0VBRUk7QWpEc3VYUjtBaURwdVhJOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0FqRHN1WFI7QWlEcHVYSTs7RUFFSTtBakRzdVhSO0FpRHB1WEk7RUFDSTtBakRzdVhSO0FpRHB1WEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBakRzdVhSO0FpRHB1WEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBakRzdVhSO0FpRHB1WEk7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakRzdVhSO0FpRHB1WEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBakRzdVhSO0FpRHB1WEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRHN1WFI7QWlEcHVYSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VB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REg7RW1ENERHO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY25EN0RQO0VtRDhETztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7SUFBQTtBbkQwbGNwQjtBbURqbGNZO0VBQ0k7QW5EbWxjaEI7QW1EamxjWTtFQUNJO0FuRG1sY2hCO0FtRGxsY2dCO0VBQ0k7RUFDQTtBbkRvbGNwQjtBbURubGNvQjtFQUNJO0FuRHFsY3hCO0FtRG5sY29CO0VBQ0k7QW5EcWxjeEI7QW1EbGxjZ0I7RUFDSTtFQUNBO0VBQ0E7QW5Eb2xjcEI7QW1Ebmxjb0I7RUFDSTtBbkRxbGN4QjtBbURubGNvQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FuRHFsY3hCO0FtRHBsY3dCO0VBQ0k7QW5Ec2xjNUI7QW1EbGxjZ0I7RUFDSTtBbkRvbGNwQjs7QW9EbnRjQTs7O0VBQUE7QUFJQTsrQkFBQTtBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcERzdGNGO0FvRHB0Y0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBEc3RjRjs7QW9EcHRjQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0FwRHV0Y0Y7O0FvRHJ0Y0E7RUFDRTtBcER3dGNGOztBb0R0dGNBO0VBQ0U7QXBEeXRjRjs7QW9EdnRjQTtFQUNFO0FwRDB0Y0Y7O0FvRHh0Y0E7RUFDRTtBcEQydGNGOztBb0R6dGNBO0VBQ0U7RUFDQTtBcEQ0dGNGOztBb0QxdGNBO0VBQ0U7RUFDQTtFQUNBO0FwRDZ0Y0Y7O0FvRDN0Y0E7RUFDRTtBcEQ4dGNGOztBb0Q1dGNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEQrdGNGOztBb0Q3dGNBO0VBQ0U7QXBEZ3VjRjs7QW9EOXRjQTtFQUNFO0VBQ0E7RUFDQTtBcERpdWNGOztBb0QvdGNBO0VBQ0U7QXBEa3VjRjs7QW9EaHVjQTtFQUNFO0FwRG11Y0Y7O0FvRGp1Y0E7RUFDRTtBcERvdWNGOztBb0RsdWNBO0VBQ0U7QXBEcXVjRjs7QW9EbnVjQTtBQUNBO0VBQ0U7QXBEc3VjRjs7QW9EcHVjQTtFQUNFO0FwRHV1Y0Y7O0FvRHJ1Y0E7RUFDRTtBcER3dWNGOztBb0R0dWNBO0VBQ0U7QXBEeXVjRjs7QW9EdnVjQTtFQUNFO0VBQ0E7QXBEMHVjRjs7QW9EeHVjQTtFQUNFO0VBQ0E7QXBEMnVjRjs7QW9EenVjQTtFQUNFO0lBQ0U7SUFDQTtFcEQ0dWNGO0VvRDF1Y0E7SUFDRTtJQUNBO0VwRDR1Y0Y7QUFDRjtBb0QxdWNBO0VBQ0U7SUFDRTtJQUNBO0VwRDR1Y0Y7RW9EMXVjQTtJQUNFO0lBQ0E7RXBENHVjRjtBQUNGO0FvRDF1Y0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBcEQ0dWNGOztBb0QxdWNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXBENnVjRjs7QW9EM3VjQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FwRDh1Y0Y7O0FvRDV1Y0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBcEQrdWNGOztBb0Q3dWNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXBEZ3ZjRjs7QW9EOXVjQTs7Ozs7RUFLRTtBcERpdmNGOztBb0QvdWNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRGt2Y0Y7O0FvRGh2Y0E7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7QXBEbXZjRjs7QW9EanZjQTtFQUNFO0FwRG92Y0Y7O0FvRGx2Y0E7RUFDRTtBcERxdmNGOztBb0RudmNBO0VBQ0U7QXBEc3ZjRjs7QW9EcHZjQTttRUFBQTtBQUVBO0VBQ0U7QXBEdXZjRjs7QW9EcnZjQTtFQUNFO0FwRHd2Y0Y7O0FvRHR2Y0E7RUFDRTtBcER5dmNGOztBb0R2dmNBO0VBQ0U7QXBEMHZjRjs7QW9EeHZjQTtFQUNFO0FwRDJ2Y0Y7O0FvRHp2Y0E7RUFDRTtBcEQ0dmNGOztBb0QxdmNBO0VBQ0U7QXBENnZjRjs7QW9EM3ZjQTtFQUNFO0FwRDh2Y0Y7O0FvRDV2Y0E7RUFDRTtBcEQrdmNGOztBb0Q3dmNBO0VBQ0U7QXBEZ3djRjs7QW9EOXZjQTtFQUNFO0FwRGl3Y0Y7O0FvRC92Y0E7RUFDRTtBcERrd2NGOztBb0Rod2NBO0VBQ0U7QXBEbXdjRjs7QW9EandjQTs7O0VBR0U7QXBEb3djRjs7QW9EbHdjQTtFQUNFO0FwRHF3Y0Y7O0FvRG53Y0E7RUFDRTtBcERzd2NGOztBb0Rwd2NBO0VBQ0U7QXBEdXdjRjs7QW9EcndjQTtFQUNFO0FwRHd3Y0Y7O0FvRHR3Y0E7O0VBRUU7QXBEeXdjRjs7QW9EdndjQTtFQUNFO0FwRDB3Y0Y7O0FvRHh3Y0E7RUFDRTtBcEQyd2NGOztBb0R6d2NBO0VBQ0U7QXBENHdjRjs7QW9EMXdjQTtFQUNFO0FwRDZ3Y0Y7O0FvRDN3Y0E7RUFDRTtBcEQ4d2NGOztBb0Q1d2NBO0VBQ0U7QXBEK3djRjs7QW9EN3djQTtFQUNFO0FwRGd4Y0Y7O0FvRDl3Y0E7RUFDRTtBcERpeGNGOztBb0Qvd2NBO0VBQ0U7QXBEa3hjRjs7QW9EaHhjQTtFQUNFO0FwRG14Y0Y7O0FvRGp4Y0E7O0VBRUU7QXBEb3hjRjs7QW9EbHhjQTtFQUNFO0FwRHF4Y0Y7O0FvRG54Y0E7RUFDRTtBcERzeGNGOztBb0RweGNBO0VBQ0U7QXBEdXhjRjs7QW9EcnhjQTtFQUNFO0FwRHd4Y0Y7O0FvRHR4Y0E7RUFDRTtBcER5eGNGOztBb0R2eGNBO0VBQ0U7QXBEMHhjRjs7QW9EeHhjQTtFQUNFO0FwRDJ4Y0Y7O0FvRHp4Y0E7RUFDRTtBcEQ0eGNGOztBb0QxeGNBO0VBQ0U7QXBENnhjRjs7QW9EM3hjQTtFQUNFO0FwRDh4Y0Y7O0FvRDV4Y0E7RUFDRTtBcEQreGNGOztBb0Q3eGNBO0VBQ0U7QXBEZ3ljRjs7QW9EOXhjQTtFQUNFO0FwRGl5Y0Y7O0FvRC94Y0E7RUFDRTtBcERreWNGOztBb0RoeWNBO0VBQ0U7QXBEbXljRjs7QW9EanljQTtFQUNFO0FwRG95Y0Y7O0FvRGx5Y0E7RUFDRTtBcERxeWNGOztBb0RueWNBO0VBQ0U7QXBEc3ljRjs7QW9EcHljQTtFQUNFO0FwRHV5Y0Y7O0FvRHJ5Y0E7RUFDRTtBcER3eWNGOztBb0R0eWNBO0VBQ0U7QXBEeXljRjs7QW9EdnljQTtFQUNFO0FwRDB5Y0Y7O0FvRHh5Y0E7RUFDRTtBcEQyeWNGOztBb0R6eWNBO0VBQ0U7QXBENHljRjs7QW9EMXljQTtFQUNFO0FwRDZ5Y0Y7O0FvRDN5Y0E7RUFDRTtBcEQ4eWNGOztBb0Q1eWNBOztFQUVFO0FwRCt5Y0Y7O0FvRDd5Y0E7RUFDRTtBcERnemNGOztBb0Q5eWNBO0VBQ0U7QXBEaXpjRjs7QW9EL3ljQTs7O0VBR0U7QXBEa3pjRjs7QW9EaHpjQTtFQUNFO0FwRG16Y0Y7O0FvRGp6Y0E7RUFDRTtBcERvemNGOztBb0RsemNBO0VBQ0U7QXBEcXpjRjs7QW9EbnpjQTtFQUNFO0FwRHN6Y0Y7O0FvRHB6Y0E7O0VBRUU7QXBEdXpjRjs7QW9EcnpjQTtFQUNFO0FwRHd6Y0Y7O0FvRHR6Y0E7RUFDRTtBcER5emNGOztBb0R2emNBO0VBQ0U7QXBEMHpjRjs7QW9EeHpjQTtFQUNFO0FwRDJ6Y0Y7O0FvRHp6Y0E7RUFDRTtBcEQ0emNGOztBb0QxemNBO0VBQ0U7QXBENnpjRjs7QW9EM3pjQTtFQUNFO0FwRDh6Y0Y7O0FvRDV6Y0E7RUFDRTtBcEQremNGOztBb0Q3emNBO0VBQ0U7QXBEZzBjRjs7QW9EOXpjQTtFQUNFO0FwRGkwY0Y7O0FvRC96Y0E7RUFDRTtBcERrMGNGOztBb0RoMGNBO0VBQ0U7QXBEbTBjRjs7QW9EajBjQTtFQUNFO0FwRG8wY0Y7O0FvRGwwY0E7RUFDRTtBcERxMGNGOztBb0RuMGNBO0VBQ0U7QXBEczBjRjs7QW9EcDBjQTtFQUNFO0FwRHUwY0Y7O0FvRHIwY0E7RUFDRTtBcER3MGNGOztBb0R0MGNBO0VBQ0U7QXBEeTBjRjs7QW9EdjBjQTtFQUNFO0FwRDAwY0Y7O0FvRHgwY0E7RUFDRTtBcEQyMGNGOztBb0R6MGNBO0VBQ0U7QXBENDBjRjs7QW9EMTBjQTtFQUNFO0FwRDYwY0Y7O0FvRDMwY0E7RUFDRTtBcEQ4MGNGOztBb0Q1MGNBO0VBQ0U7QXBEKzBjRjs7QW9ENzBjQTtFQUNFO0FwRGcxY0Y7O0FvRDkwY0E7RUFDRTtBcERpMWNGOztBb0QvMGNBO0VBQ0U7QXBEazFjRjs7QW9EaDFjQTtFQUNFO0FwRG0xY0Y7O0FvRGoxY0E7RUFDRTtBcERvMWNGOztBb0RsMWNBOztFQUVFO0FwRHExY0Y7O0FvRG4xY0E7RUFDRTtBcERzMWNGOztBb0RwMWNBO0VBQ0U7QXBEdTFjRjs7QW9EcjFjQTtFQUNFO0FwRHcxY0Y7O0FvRHQxY0E7RUFDRTtBcER5MWNGOztBb0R2MWNBO0VBQ0U7QXBEMDFjRjs7QW9EeDFjQTtFQUNFO0FwRDIxY0Y7O0FvRHoxY0E7RUFDRTtBcEQ0MWNGOztBb0QxMWNBO0VBQ0U7QXBENjFjRjs7QW9EMzFjQTtFQUNFO0FwRDgxY0Y7O0FvRDUxY0E7RUFDRTtBcEQrMWNGOztBb0Q3MWNBO0VBQ0U7QXBEZzJjRjs7QW9EOTFjQTs7RUFFRTtBcERpMmNGOztBb0QvMWNBO0VBQ0U7QXBEazJjRjs7QW9EaDJjQTtFQUNFO0FwRG0yY0Y7O0FvRGoyY0E7RUFDRTtBcERvMmNGOztBb0RsMmNBO0VBQ0U7QXBEcTJjRjs7QW9EbjJjQTtFQUNFO0FwRHMyY0Y7O0FvRHAyY0E7RUFDRTtBcER1MmNGOztBb0RyMmNBO0VBQ0U7QXBEdzJjRjs7QW9EdDJjQTtFQUNFO0FwRHkyY0Y7O0FvRHYyY0E7RUFDRTtBcEQwMmNGOztBb0R4MmNBO0VBQ0U7QXBEMjJjRjs7QW9EejJjQTtFQUNFO0FwRDQyY0Y7O0FvRDEyY0E7RUFDRTtBcEQ2MmNGOztBb0QzMmNBO0VBQ0U7QXBEODJjRjs7QW9ENTJjQTs7RUFFRTtBcEQrMmNGOztBb0Q3MmNBO0VBQ0U7QXBEZzNjRjs7QW9EOTJjQTtFQUNFO0FwRGkzY0Y7O0FvRC8yY0E7RUFDRTtBcERrM2NGOztBb0RoM2NBO0VBQ0U7QXBEbTNjRjs7QW9EajNjQTs7RUFFRTtBcERvM2NGOztBb0RsM2NBO0VBQ0U7QXBEcTNjRjs7QW9EbjNjQTtFQUNFO0FwRHMzY0Y7O0FvRHAzY0E7RUFDRTtBcER1M2NGOztBb0RyM2NBO0VBQ0U7QXBEdzNjRjs7QW9EdDNjQTtFQUNFO0FwRHkzY0Y7O0FvRHYzY0E7RUFDRTtBcEQwM2NGOztBb0R4M2NBO0VBQ0U7QXBEMjNjRjs7QW9EejNjQTtFQUNFO0FwRDQzY0Y7O0FvRDEzY0E7RUFDRTtBcEQ2M2NGOztBb0QzM2NBO0VBQ0U7QXBEODNjRjs7QW9ENTNjQTtFQUNFO0FwRCszY0Y7O0FvRDczY0E7RUFDRTtBcERnNGNGOztBb0Q5M2NBO0VBQ0U7QXBEaTRjRjs7QW9ELzNjQTtFQUNFO0FwRGs0Y0Y7O0FvRGg0Y0E7RUFDRTtBcERtNGNGOztBb0RqNGNBO0VBQ0U7QXBEbzRjRjs7QW9EbDRjQTtFQUNFO0FwRHE0Y0Y7O0FvRG40Y0E7RUFDRTtBcERzNGNGOztBb0RwNGNBO0VBQ0U7QXBEdTRjRjs7QW9EcjRjQTs7RUFFRTtBcER3NGNGOztBb0R0NGNBO0VBQ0U7QXBEeTRjRjs7QW9EdjRjQTtFQUNFO0FwRDA0Y0Y7O0FvRHg0Y0E7RUFDRTtBcEQyNGNGOztBb0R6NGNBOztFQUVFO0FwRDQ0Y0Y7O0FvRDE0Y0E7RUFDRTtBcEQ2NGNGOztBb0QzNGNBO0VBQ0U7QXBEODRjRjs7QW9ENTRjQTtFQUNFO0FwRCs0Y0Y7O0FvRDc0Y0E7RUFDRTtBcERnNWNGOztBb0Q5NGNBO0VBQ0U7QXBEaTVjRjs7QW9ELzRjQTtFQUNFO0FwRGs1Y0Y7O0FvRGg1Y0E7RUFDRTtBcERtNWNGOztBb0RqNWNBO0VBQ0U7QXBEbzVjRjs7QW9EbDVjQTtFQUNFO0FwRHE1Y0Y7O0FvRG41Y0E7RUFDRTtBcERzNWNGOztBb0RwNWNBO0VBQ0U7QXBEdTVjRjs7QW9EcjVjQTtFQUNFO0FwRHc1Y0Y7O0FvRHQ1Y0E7RUFDRTtBcER5NWNGOztBb0R2NWNBO0VBQ0U7QXBEMDVjRjs7QW9EeDVjQTtFQUNFO0FwRDI1Y0Y7O0FvRHo1Y0E7RUFDRTtBcEQ0NWNGOztBb0QxNWNBO0VBQ0U7QXBENjVjRjs7QW9EMzVjQTtFQUNFO0FwRDg1Y0Y7O0FvRDU1Y0E7O0VBRUU7QXBEKzVjRjs7QW9ENzVjQTs7RUFFRTtBcERnNmNGOztBb0Q5NWNBO0VBQ0U7QXBEaTZjRjs7QW9ELzVjQTtFQUNFO0FwRGs2Y0Y7O0FvRGg2Y0E7O0VBRUU7QXBEbTZjRjs7QW9EajZjQTs7RUFFRTtBcERvNmNGOztBb0RsNmNBO0VBQ0U7QXBEcTZjRjs7QW9EbjZjQTs7RUFFRTtBcERzNmNGOztBb0RwNmNBO0VBQ0U7QXBEdTZjRjs7QW9EcjZjQTs7O0VBR0U7QXBEdzZjRjs7QW9EdDZjQTtFQUNFO0FwRHk2Y0Y7O0FvRHY2Y0E7RUFDRTtBcEQwNmNGOztBb0R4NmNBO0VBQ0U7QXBEMjZjRjs7QW9EejZjQTtFQUNFO0FwRDQ2Y0Y7O0FvRDE2Y0E7RUFDRTtBcEQ2NmNGOztBb0QzNmNBO0VBQ0U7QXBEODZjRjs7QW9ENTZjQTtFQUNFO0FwRCs2Y0Y7O0FvRDc2Y0E7RUFDRTtBcERnN2NGOztBb0Q5NmNBO0VBQ0U7QXBEaTdjRjs7QW9ELzZjQTtFQUNFO0FwRGs3Y0Y7O0FvRGg3Y0E7RUFDRTtBcERtN2NGOztBb0RqN2NBO0VBQ0U7QXBEbzdjRjs7QW9EbDdjQTtFQUNFO0FwRHE3Y0Y7O0FvRG43Y0E7RUFDRTtBcERzN2NGOztBb0RwN2NBO0VBQ0U7QXBEdTdjRjs7QW9EcjdjQTtFQUNFO0FwRHc3Y0Y7O0FvRHQ3Y0E7RUFDRTtBcER5N2NGOztBb0R2N2NBOztFQUVFO0FwRDA3Y0Y7O0FvRHg3Y0E7O0VBRUU7QXBEMjdjRjs7QW9EejdjQTs7RUFFRTtBcEQ0N2NGOztBb0QxN2NBO0VBQ0U7QXBENjdjRjs7QW9EMzdjQTtFQUNFO0FwRDg3Y0Y7O0FvRDU3Y0E7O0VBRUU7QXBEKzdjRjs7QW9ENzdjQTs7RUFFRTtBcERnOGNGOztBb0Q5N2NBOztFQUVFO0FwRGk4Y0Y7O0FvRC83Y0E7RUFDRTtBcERrOGNGOztBb0RoOGNBO0VBQ0U7QXBEbThjRjs7QW9EajhjQTs7RUFFRTtBcERvOGNGOztBb0RsOGNBO0VBQ0U7QXBEcThjRjs7QW9EbjhjQTtFQUNFO0FwRHM4Y0Y7O0FvRHA4Y0E7O0VBRUU7QXBEdThjRjs7QW9EcjhjQTtFQUNFO0FwRHc4Y0Y7O0FvRHQ4Y0E7RUFDRTtBcER5OGNGOztBb0R2OGNBO0VBQ0U7QXBEMDhjRjs7QW9EeDhjQTtFQUNFO0FwRDI4Y0Y7O0FvRHo4Y0E7RUFDRTtBcEQ0OGNGOztBb0QxOGNBO0VBQ0U7QXBENjhjRjs7QW9EMzhjQTtFQUNFO0FwRDg4Y0Y7O0FvRDU4Y0E7RUFDRTtBcEQrOGNGOztBb0Q3OGNBO0VBQ0U7QXBEZzljRjs7QW9EOThjQTtFQUNFO0FwRGk5Y0Y7O0FvRC84Y0E7RUFDRTtBcERrOWNGOztBb0RoOWNBO0VBQ0U7QXBEbTljRjs7QW9EajljQTtFQUNFO0FwRG85Y0Y7O0FvRGw5Y0E7RUFDRTtBcERxOWNGOztBb0RuOWNBO0VBQ0U7QXBEczljRjs7QW9EcDljQTtFQUNFO0FwRHU5Y0Y7O0FvRHI5Y0E7RUFDRTtBcER3OWNGOztBb0R0OWNBO0VBQ0U7QXBEeTljRjs7QW9EdjljQTtFQUNFO0FwRDA5Y0Y7O0FvRHg5Y0E7RUFDRTtBcEQyOWNGOztBb0R6OWNBO0VBQ0U7QXBENDljRjs7QW9EMTljQTtFQUNFO0FwRDY5Y0Y7O0FvRDM5Y0E7RUFDRTtBcEQ4OWNGOztBb0Q1OWNBO0VBQ0U7QXBEKzljRjs7QW9ENzljQTtFQUNFO0FwRGcrY0Y7O0FvRDk5Y0E7RUFDRTtBcERpK2NGOztBb0QvOWNBO0VBQ0U7QXBEaytjRjs7QW9EaCtjQTtFQUNFO0FwRG0rY0Y7O0FvRGorY0E7RUFDRTtBcERvK2NGOztBb0RsK2NBO0VBQ0U7QXBEcStjRjs7QW9EbitjQTs7RUFFRTtBcERzK2NGOztBb0RwK2NBO0VBQ0U7QXBEdStjRjs7QW9EcitjQTtFQUNFO0FwRHcrY0Y7O0FvRHQrY0E7RUFDRTtBcER5K2NGOztBb0R2K2NBO0VBQ0U7QXBEMCtjRjs7QW9EeCtjQTtFQUNFO0FwRDIrY0Y7O0FvRHorY0E7O0VBRUU7QXBENCtjRjs7QW9EMStjQTtFQUNFO0FwRDYrY0Y7O0FvRDMrY0E7RUFDRTtBcEQ4K2NGOztBb0Q1K2NBO0VBQ0U7QXBEKytjRjs7QW9ENytjQTtFQUNFO0FwRGcvY0Y7O0FvRDkrY0E7RUFDRTtBcERpL2NGOztBb0QvK2NBO0VBQ0U7QXBEay9jRjs7QW9EaC9jQTtFQUNFO0FwRG0vY0Y7O0FvRGovY0E7RUFDRTtBcERvL2NGOztBb0RsL2NBO0VBQ0U7QXBEcS9jRjs7QW9Ebi9jQTtFQUNFO0FwRHMvY0Y7O0FvRHAvY0E7RUFDRTtBcER1L2NGOztBb0RyL2NBO0VBQ0U7QXBEdy9jRjs7QW9EdC9jQTs7RUFFRTtBcER5L2NGOztBb0R2L2NBOzs7RUFHRTtBcEQwL2NGOztBb0R4L2NBO0VBQ0U7QXBEMi9jRjs7QW9Eei9jQTtFQUNFO0FwRDQvY0Y7O0FvRDEvY0E7RUFDRTtBcEQ2L2NGOztBb0QzL2NBOztFQUVFO0FwRDgvY0Y7O0FvRDUvY0E7RUFDRTtBcEQrL2NGOztBb0Q3L2NBO0VBQ0U7QXBEZ2dkRjs7QW9EOS9jQTtFQUNFO0FwRGlnZEY7O0FvRC8vY0E7RUFDRTtBcERrZ2RGOztBb0RoZ2RBO0VBQ0U7QXBEbWdkRjs7QW9EamdkQTtFQUNFO0FwRG9nZEY7O0FvRGxnZEE7RUFDRTtBcERxZ2RGOztBb0RuZ2RBO0VBQ0U7QXBEc2dkRjs7QW9EcGdkQTtFQUNFO0FwRHVnZEY7O0FvRHJnZEE7RUFDRTtBcER3Z2RGOztBb0R0Z2RBO0VBQ0U7QXBEeWdkRjs7QW9EdmdkQTtFQUNFO0FwRDBnZEY7O0FvRHhnZEE7RUFDRTtBcEQyZ2RGOztBb0R6Z2RBO0VBQ0U7QXBENGdkRjs7QW9EMWdkQTtFQUNFO0FwRDZnZEY7O0FvRDNnZEE7RUFDRTtBcEQ4Z2RGOztBb0Q1Z2RBO0VBQ0U7QXBEK2dkRjs7QW9EN2dkQTtFQUNFO0FwRGdoZEY7O0FvRDlnZEE7RUFDRTtBcERpaGRGOztBb0QvZ2RBO0VBQ0U7QXBEa2hkRjs7QW9EaGhkQTtFQUNFO0FwRG1oZEY7O0FvRGpoZEE7RUFDRTtBcERvaGRGOztBb0RsaGRBO0VBQ0U7QXBEcWhkRjs7QW9EbmhkQTtFQUNFO0FwRHNoZEY7O0FvRHBoZEE7RUFDRTtBcER1aGRGOztBb0RyaGRBO0VBQ0U7QXBEd2hkRjs7QW9EdGhkQTtFQUNFO0FwRHloZEY7O0FvRHZoZEE7RUFDRTtBcEQwaGRGOztBb0R4aGRBO0VBQ0U7QXBEMmhkRjs7QW9EemhkQTtFQUNFO0FwRDRoZEY7O0FvRDFoZEE7RUFDRTtBcEQ2aGRGOztBb0QzaGRBO0VBQ0U7QXBEOGhkRjs7QW9ENWhkQTtFQUNFO0FwRCtoZEY7O0FvRDdoZEE7RUFDRTtBcERnaWRGOztBb0Q5aGRBO0VBQ0U7QXBEaWlkRjs7QW9EL2hkQTtFQUNFO0FwRGtpZEY7O0FvRGhpZEE7RUFDRTtBcERtaWRGOztBb0RqaWRBOztFQUVFO0FwRG9pZEY7O0FvRGxpZEE7O0VBRUU7QXBEcWlkRjs7QW9EbmlkQTs7RUFFRTtBcERzaWRGOztBb0RwaWRBOztFQUVFO0FwRHVpZEY7O0FvRHJpZEE7RUFDRTtBcER3aWRGOztBb0R0aWRBOztFQUVFO0FwRHlpZEY7O0FvRHZpZEE7O0VBRUU7QXBEMGlkRjs7QW9EeGlkQTs7OztFQUlFO0FwRDJpZEY7O0FvRHppZEE7OztFQUdFO0FwRDRpZEY7O0FvRDFpZEE7O0VBRUU7QXBENmlkRjs7QW9EM2lkQTs7RUFFRTtBcEQ4aWRGOztBb0Q1aWRBO0VBQ0U7QXBEK2lkRjs7QW9EN2lkQTtFQUNFO0FwRGdqZEY7O0FvRDlpZEE7RUFDRTtBcERpamRGOztBb0QvaWRBO0VBQ0U7QXBEa2pkRjs7QW9EaGpkQTtFQUNFO0FwRG1qZEY7O0FvRGpqZEE7RUFDRTtBcERvamRGOztBb0RsamRBO0VBQ0U7QXBEcWpkRjs7QW9EbmpkQTtFQUNFO0FwRHNqZEY7O0FvRHBqZEE7RUFDRTtBcER1amRGOztBb0RyamRBO0VBQ0U7QXBEd2pkRjs7QW9EdGpkQTtFQUNFO0FwRHlqZEY7O0FvRHZqZEE7RUFDRTtBcEQwamRGOztBb0R4amRBO0VBQ0U7QXBEMmpkRjs7QW9EempkQTtFQUNFO0FwRDRqZEY7O0FvRDFqZEE7RUFDRTtBcEQ2amRGOztBb0QzamRBO0VBQ0U7QXBEOGpkRjs7QW9ENWpkQTtFQUNFO0FwRCtqZEY7O0FvRDdqZEE7RUFDRTtBcERna2RGOztBb0Q5amRBO0VBQ0U7QXBEaWtkRjs7QW9EL2pkQTtFQUNFO0FwRGtrZEY7O0FvRGhrZEE7RUFDRTtBcERta2RGOztBb0Rqa2RBO0VBQ0U7QXBEb2tkRjs7QW9EbGtkQTtFQUNFO0FwRHFrZEY7O0FvRG5rZEE7RUFDRTtBcERza2RGOztBb0Rwa2RBO0VBQ0U7QXBEdWtkRjs7QW9EcmtkQTtFQUNFO0FwRHdrZEY7O0FvRHRrZEE7RUFDRTtBcER5a2RGOztBb0R2a2RBO0VBQ0U7QXBEMGtkRjs7QW9EeGtkQTtFQUNFO0FwRDJrZEY7O0FvRHprZEE7RUFDRTtBcEQ0a2RGOztBb0Qxa2RBO0VBQ0U7QXBENmtkRjs7QW9EM2tkQTtFQUNFO0FwRDhrZEY7O0FvRDVrZEE7RUFDRTtBcEQra2RGOztBb0Q3a2RBO0VBQ0U7QXBEZ2xkRjs7QW9EOWtkQTtFQUNFO0FwRGlsZEY7O0FvRC9rZEE7RUFDRTtBcERrbGRGOztBb0RobGRBO0VBQ0U7QXBEbWxkRjs7QW9EamxkQTtFQUNFO0FwRG9sZEY7O0FvRGxsZEE7O0VBRUU7QXBEcWxkRjs7QW9EbmxkQTtFQUNFO0FwRHNsZEY7O0FvRHBsZEE7RUFDRTtBcER1bGRGOztBb0RybGRBO0VBQ0U7QXBEd2xkRjs7QW9EdGxkQTtFQUNFO0FwRHlsZEY7O0FvRHZsZEE7RUFDRTtBcEQwbGRGOztBb0R4bGRBO0VBQ0U7QXBEMmxkRjs7QW9EemxkQTtFQUNFO0FwRDRsZEY7O0FvRDFsZEE7RUFDRTtBcEQ2bGRGOztBb0QzbGRBO0VBQ0U7QXBEOGxkRjs7QW9ENWxkQTtFQUNFO0FwRCtsZEY7O0FvRDdsZEE7RUFDRTtBcERnbWRGOztBb0Q5bGRBOztFQUVFO0FwRGltZEY7O0FvRC9sZEE7RUFDRTtBcERrbWRGOztBb0RobWRBO0VBQ0U7QXBEbW1kRjs7QW9Eam1kQTtFQUNFO0FwRG9tZEY7O0FvRGxtZEE7O0VBRUU7QXBEcW1kRjs7QW9Ebm1kQTtFQUNFO0FwRHNtZEY7O0FvRHBtZEE7RUFDRTtBcER1bWRGOztBb0RybWRBO0VBQ0U7QXBEd21kRjs7QW9EdG1kQTtFQUNFO0FwRHltZEY7O0FvRHZtZEE7RUFDRTtBcEQwbWRGOztBb0R4bWRBO0VBQ0U7QXBEMm1kRjs7QW9Eem1kQTs7O0VBR0U7QXBENG1kRjs7QW9EMW1kQTs7RUFFRTtBcEQ2bWRGOztBb0QzbWRBO0VBQ0U7QXBEOG1kRjs7QW9ENW1kQTtFQUNFO0FwRCttZEY7O0FvRDdtZEE7RUFDRTtBcERnbmRGOztBb0Q5bWRBO0VBQ0U7QXBEaW5kRjs7QW9EL21kQTtFQUNFO0FwRGtuZEY7O0FvRGhuZEE7RUFDRTtBcERtbmRGOztBb0RqbmRBO0VBQ0U7QXBEb25kRjs7QW9EbG5kQTtFQUNFO0FwRHFuZEY7O0FvRG5uZEE7RUFDRTtBcERzbmRGOztBb0RwbmRBO0VBQ0U7QXBEdW5kRjs7QW9Ecm5kQTtFQUNFO0FwRHduZEY7O0FvRHRuZEE7RUFDRTtBcER5bmRGOztBb0R2bmRBO0VBQ0U7QXBEMG5kRjs7QW9EeG5kQTtFQUNFO0FwRDJuZEY7O0FvRHpuZEE7RUFDRTtBcEQ0bmRGOztBb0QxbmRBO0VBQ0U7QXBENm5kRjs7QW9EM25kQTtFQUNFO0FwRDhuZEY7O0FvRDVuZEE7RUFDRTtBcEQrbmRGOztBb0Q3bmRBO0VBQ0U7QXBEZ29kRjs7QW9EOW5kQTtFQUNFO0FwRGlvZEY7O0FvRC9uZEE7RUFDRTtBcERrb2RGOztBb0Rob2RBO0VBQ0U7QXBEbW9kRjs7QW9Eam9kQTtFQUNFO0FwRG9vZEY7O0FvRGxvZEE7RUFDRTtBcERxb2RGOztBb0Rub2RBO0VBQ0U7QXBEc29kRjs7QW9EcG9kQTs7RUFFRTtBcER1b2RGOztBb0Ryb2RBOztFQUVFO0FwRHdvZEY7O0FvRHRvZEE7RUFDRTtBcER5b2RGOztBb0R2b2RBO0VBQ0U7QXBEMG9kRjs7QW9EeG9kQTtFQUNFO0FwRDJvZEY7O0FvRHpvZEE7RUFDRTtBcEQ0b2RGOztBb0Qxb2RBO0VBQ0U7QXBENm9kRjs7QW9EM29kQTtFQUNFO0FwRDhvZEY7O0FvRDVvZEE7RUFDRTtBcEQrb2RGOztBb0Q3b2RBO0VBQ0U7QXBEZ3BkRjs7QW9EOW9kQTtFQUNFO0FwRGlwZEY7O0FvRC9vZEE7OztFQUdFO0FwRGtwZEY7O0FvRGhwZEE7O0VBRUU7QXBEbXBkRjs7QW9EanBkQTs7RUFFRTtBcERvcGRGOztBb0RscGRBOztFQUVFO0FwRHFwZEY7O0FvRG5wZEE7RUFDRTtBcERzcGRGOztBb0RwcGRBO0VBQ0U7QXBEdXBkRjs7QW9EcnBkQTtFQUNFO0FwRHdwZEY7O0FvRHRwZEE7RUFDRTtBcER5cGRGOztBb0R2cGRBOzs7OztFQUtFO0FwRDBwZEY7O0FvRHhwZEE7RUFDRTtBcEQycGRGOztBb0R6cGRBOzs7RUFHRTtBcEQ0cGRGOztBb0QxcGRBOztFQUVFO0FwRDZwZEY7O0FvRDNwZEE7RUFDRTtBcEQ4cGRGOztBb0Q1cGRBO0VBQ0U7QXBEK3BkRjs7QW9EN3BkQTs7O0VBR0U7QXBEZ3FkRjs7QW9EOXBkQTtFQUNFO0FwRGlxZEY7O0FvRC9wZEE7RUFDRTtBcERrcWRGOztBb0RocWRBOztFQUVFO0FwRG1xZEY7O0FvRGpxZEE7O0VBRUU7QXBEb3FkRjs7QW9EbHFkQTs7RUFFRTtBcERxcWRGOztBb0RucWRBO0VBQ0U7QXBEc3FkRjs7QW9EcHFkQTtFQUNFO0FwRHVxZEY7O0FvRHJxZEE7RUFDRTtBcER3cWRGOztBb0R0cWRBO0VBQ0U7QXBEeXFkRjs7QW9EdnFkQTtFQUNFO0FwRDBxZEY7O0FvRHhxZEE7RUFDRTtBcEQycWRGOztBb0R6cWRBO0VBQ0U7QXBENHFkRjs7QW9EMXFkQTtFQUNFO0FwRDZxZEY7O0FvRDNxZEE7O0VBRUU7QXBEOHFkRjs7QW9ENXFkQTtFQUNFO0FwRCtxZEY7O0FvRDdxZEE7RUFDRTtBcERncmRGOztBb0Q5cWRBO0VBQ0U7QXBEaXJkRjs7QW9EL3FkQTtFQUNFO0FwRGtyZEY7O0FvRGhyZEE7RUFDRTtBcERtcmRGOztBb0RqcmRBO0VBQ0U7QXBEb3JkRjs7QW9EbHJkQTtFQUNFO0FwRHFyZEY7O0FvRG5yZEE7RUFDRTtBcERzcmRGOztBb0RwcmRBO0VBQ0U7QXBEdXJkRjs7QW9EcnJkQTtFQUNFO0FwRHdyZEY7O0FvRHRyZEE7RUFDRTtBcER5cmRGOztBb0R2cmRBO0VBQ0U7QXBEMHJkRjs7QW9EeHJkQTtFQUNFO0FwRDJyZEY7O0FvRHpyZEE7RUFDRTtBcEQ0cmRGOztBb0QxcmRBO0VBQ0U7QXBENnJkRjs7QW9EM3JkQTtFQUNFO0FwRDhyZEY7O0FvRDVyZEE7RUFDRTtBcEQrcmRGOztBb0Q3cmRBO0VBQ0U7QXBEZ3NkRjs7QW9EOXJkQTtFQUNFO0FwRGlzZEY7O0FvRC9yZEE7RUFDRTtBcERrc2RGOztBb0Roc2RBO0VBQ0U7QXBEbXNkRjs7QW9EanNkQTtFQUNFO0FwRG9zZEY7O0FvRGxzZEE7RUFDRTtBcERxc2RGOztBb0Ruc2RBO0VBQ0U7QXBEc3NkRjs7QW9EcHNkQTtFQUNFO0FwRHVzZEY7O0FvRHJzZEE7RUFDRTtBcER3c2RGOztBb0R0c2RBO0VBQ0U7QXBEeXNkRjs7QW9EdnNkQTtFQUNFO0FwRDBzZEY7O0FvRHhzZEE7RUFDRTtBcEQyc2RGOztBb0R6c2RBO0VBQ0U7QXBENHNkRjs7QW9EMXNkQTtFQUNFO0FwRDZzZEY7O0FvRDNzZEE7RUFDRTtBcEQ4c2RGOztBb0Q1c2RBO0VBQ0U7QXBEK3NkRjs7QW9EN3NkQTtFQUNFO0FwRGd0ZEY7O0FvRDlzZEE7RUFDRTtBcERpdGRGOztBb0Qvc2RBO0VBQ0U7QXBEa3RkRjs7QW9EaHRkQTtFQUNFO0FwRG10ZEY7O0FvRGp0ZEE7OztFQUdFO0FwRG90ZEY7O0FvRGx0ZEE7RUFDRTtBcERxdGRGOztBb0RudGRBO0VBQ0U7QXBEc3RkRjs7QW9EcHRkQTtFQUNFO0FwRHV0ZEY7O0FvRHJ0ZEE7RUFDRTtBcER3dGRGOztBb0R0dGRBO0VBQ0U7QXBEeXRkRjs7QW9EdnRkQTtFQUNFO0FwRDB0ZEY7O0FvRHh0ZEE7RUFDRTtBcEQydGRGOztBb0R6dGRBO0VBQ0U7QXBENHRkRjs7QW9EMXRkQTtFQUNFO0FwRDZ0ZEY7O0FvRDN0ZEE7RUFDRTtBcEQ4dGRGOztBb0Q1dGRBO0VBQ0U7QXBEK3RkRjs7QW9EN3RkQTtFQUNFO0FwRGd1ZEY7O0FvRDl0ZEE7RUFDRTtBcERpdWRGOztBb0QvdGRBO0VBQ0U7QXBEa3VkRjs7QW9EaHVkQTtFQUNFO0FwRG11ZEY7O0FvRGp1ZEE7RUFDRTtBcERvdWRGOztBb0RsdWRBO0VBQ0U7QXBEcXVkRjs7QW9EbnVkQTtFQUNFO0FwRHN1ZEY7O0FvRHB1ZEE7RUFDRTtBcER1dWRGOztBb0RydWRBO0VBQ0U7QXBEd3VkRjs7QW9EdHVkQTtFQUNFO0FwRHl1ZEY7O0FvRHZ1ZEE7O0VBRUU7QXBEMHVkRjs7QW9EeHVkQTtFQUNFO0FwRDJ1ZEY7O0FvRHp1ZEE7RUFDRTtBcEQ0dWRGOztBb0QxdWRBO0VBQ0U7QXBENnVkRjs7QW9EM3VkQTtFQUNFO0FwRDh1ZEY7O0FvRDV1ZEE7RUFDRTtBcEQrdWRGOztBb0Q3dWRBO0VBQ0U7QXBEZ3ZkRjs7QW9EOXVkQTtFQUNFO0FwRGl2ZEY7O0FvRC91ZEE7RUFDRTtBcERrdmRGOztBb0RodmRBO0VBQ0U7QXBEbXZkRjs7QW9EanZkQTtFQUNFO0FwRG92ZEY7O0FvRGx2ZEE7RUFDRTtBcERxdmRGOztBb0RudmRBO0VBQ0U7QXBEc3ZkRjs7QW9EcHZkQTtFQUNFO0FwRHV2ZEY7O0FvRHJ2ZEE7RUFDRTtBcER3dmRGOztBb0R0dmRBO0VBQ0U7QXBEeXZkRjs7QW9EdnZkQTs7RUFFRTtBcEQwdmRGOztBb0R4dmRBO0VBQ0U7QXBEMnZkRjs7QW9EenZkQTtFQUNFO0FwRDR2ZEY7O0FvRDF2ZEE7RUFDRTtBcEQ2dmRGOztBb0QzdmRBO0VBQ0U7QXBEOHZkRjs7QW9ENXZkQTs7RUFFRTtBcEQrdmRGOztBb0Q3dmRBO0VBQ0U7QXBEZ3dkRjs7QW9EOXZkQTtFQUNFO0FwRGl3ZEY7O0FvRC92ZEE7RUFDRTtBcERrd2RGOztBb0Rod2RBOzs7RUFHRTtBcERtd2RGOztBb0Rqd2RBOztFQUVFO0FwRG93ZEY7O0FvRGx3ZEE7O0VBRUU7QXBEcXdkRjs7QW9EbndkQTs7RUFFRTtBcERzd2RGOztBb0Rwd2RBOztFQUVFO0FwRHV3ZEY7O0FvRHJ3ZEE7RUFDRTtBcER3d2RGOztBb0R0d2RBO0VBQ0U7QXBEeXdkRjs7QW9EdndkQTtFQUNFO0FwRDB3ZEY7O0FvRHh3ZEE7RUFDRTtBcEQyd2RGOztBb0R6d2RBO0VBQ0U7QXBENHdkRjs7QW9EMXdkQTtFQUNFO0FwRDZ3ZEY7O0FvRDN3ZEE7RUFDRTtBcEQ4d2RGOztBb0Q1d2RBO0VBQ0U7QXBEK3dkRjs7QW9EN3dkQTtFQUNFO0FwRGd4ZEY7O0FvRDl3ZEE7RUFDRTtBcERpeGRGOztBb0Qvd2RBO0VBQ0U7QXBEa3hkRjs7QW9EaHhkQTs7RUFFRTtBcERteGRGOztBb0RqeGRBOztFQUVFO0FwRG94ZEY7O0FvRGx4ZEE7O0VBRUU7QXBEcXhkRjs7QW9EbnhkQTtFQUNFO0FwRHN4ZEY7O0FvRHB4ZEE7O0VBRUU7QXBEdXhkRjs7QW9EcnhkQTs7RUFFRTtBcER3eGRGOztBb0R0eGRBO0VBQ0U7QXBEeXhkRjs7QW9EdnhkQTtFQUNFO0FwRDB4ZEY7O0FvRHh4ZEE7RUFDRTtBcEQyeGRGOztBb0R6eGRBO0VBQ0U7QXBENHhkRjs7QW9EMXhkQTtFQUNFO0FwRDZ4ZEY7O0FvRDN4ZEE7RUFDRTtBcEQ4eGRGOztBb0Q1eGRBO0VBQ0U7QXBEK3hkRjs7QW9EN3hkQTtFQUNFO0FwRGd5ZEY7O0FvRDl4ZEE7RUFDRTtBcERpeWRGOztBb0QveGRBO0VBQ0U7QXBEa3lkRjs7QW9EaHlkQTtFQUNFO0FwRG15ZEY7O0FvRGp5ZEE7RUFDRTtBcERveWRGOztBb0RseWRBO0VBQ0U7QXBEcXlkRjs7QW9EbnlkQTtFQUNFO0FwRHN5ZEY7O0FvRHB5ZEE7RUFDRTtBcER1eWRGOztBb0RyeWRBO0VBQ0U7QXBEd3lkRjs7QW9EdHlkQTtFQUNFO0FwRHl5ZEY7O0FvRHZ5ZEE7RUFDRTtBcEQweWRGOztBb0R4eWRBO0VBQ0U7QXBEMnlkRjs7QW9EenlkQTtFQUNFO0FwRDR5ZEY7O0FvRDF5ZEE7O0VBRUU7QXBENnlkRjs7QW9EM3lkQTtFQUNFO0FwRDh5ZEY7O0FvRDV5ZEE7RUFDRTtBcEQreWRGOztBb0Q3eWRBO0VBQ0U7QXBEZ3pkRjs7QW9EOXlkQTtFQUNFO0FwRGl6ZEY7O0FvRC95ZEE7RUFDRTtBcERremRGOztBb0RoemRBO0VBQ0U7QXBEbXpkRjs7QW9EanpkQTtFQUNFO0FwRG96ZEY7O0FvRGx6ZEE7RUFDRTtBcERxemRGOztBb0RuemRBO0VBQ0U7QXBEc3pkRjs7QW9EcHpkQTtFQUNFO0FwRHV6ZEY7O0FvRHJ6ZEE7RUFDRTtBcER3emRGOztBb0R0emRBO0VBQ0U7QXBEeXpkRjs7QW9EdnpkQTtFQUNFO0FwRDB6ZEY7O0FvRHh6ZEE7RUFDRTtBcEQyemRGOztBb0R6emRBO0VBQ0U7QXBENHpkRjs7QW9EMXpkQTtFQUNFO0FwRDZ6ZEY7O0FvRDN6ZEE7RUFDRTtBcEQ4emRGOztBb0Q1emRBO0VBQ0U7QXBEK3pkRjs7QW9EN3pkQTtFQUNFO0FwRGcwZEY7O0FvRDl6ZEE7RUFDRTtBcERpMGRGOztBb0QvemRBO0VBQ0U7QXBEazBkRjs7QW9EaDBkQTtFQUNFO0FwRG0wZEY7O0FvRGowZEE7RUFDRTtBcERvMGRGOztBb0RsMGRBO0VBQ0U7QXBEcTBkRjs7QW9EbjBkQTtFQUNFO0FwRHMwZEY7O0FvRHAwZEE7RUFDRTtBcER1MGRGOztBb0RyMGRBO0VBQ0U7QXBEdzBkRjs7QW9EdDBkQTtFQUNFO0FwRHkwZEY7O0FvRHYwZEE7RUFDRTtBcEQwMGRGOztBb0R4MGRBO0VBQ0U7QXBEMjBkRjs7QW9EejBkQTtFQUNFO0FwRDQwZEY7O0FvRDEwZEE7RUFDRTtBcEQ2MGRGOztBb0QzMGRBO0VBQ0U7QXBEODBkRjs7QW9ENTBkQTtFQUNFO0FwRCswZEY7O0FvRDcwZEE7RUFDRTtBcERnMWRGOztBb0Q5MGRBO0VBQ0U7QXBEaTFkRjs7QW9ELzBkQTtFQUNFO0FwRGsxZEY7O0FvRGgxZEE7RUFDRTtBcERtMWRGOztBb0RqMWRBO0VBQ0U7QXBEbzFkRjs7QW9EbDFkQTtFQUNFO0FwRHExZEY7O0FvRG4xZEE7RUFDRTtBcERzMWRGOztBb0RwMWRBO0VBQ0U7QXBEdTFkRjs7QW9EcjFkQTtFQUNFO0FwRHcxZEY7O0FvRHQxZEE7RUFDRTtBcER5MWRGOztBb0R2MWRBO0VBQ0U7QXBEMDFkRjs7QW9EeDFkQTtFQUNFO0FwRDIxZEY7O0FvRHoxZEE7RUFDRTtBcEQ0MWRGOztBb0QxMWRBO0VBQ0U7QXBENjFkRjs7QW9EMzFkQTtFQUNFO0FwRDgxZEY7O0FvRDUxZEE7RUFDRTtBcEQrMWRGOztBb0Q3MWRBOztFQUVFO0FwRGcyZEY7O0FvRDkxZEE7OztFQUdFO0FwRGkyZEY7O0FvRC8xZEE7RUFDRTtBcERrMmRGOztBb0RoMmRBO0VBQ0U7QXBEbTJkRjs7QW9EajJkQTs7RUFFRTtBcERvMmRGOztBb0RsMmRBO0VBQ0U7QXBEcTJkRjs7QW9EbjJkQTtFQUNFO0FwRHMyZEY7O0FvRHAyZEE7RUFDRTtBcER1MmRGOztBb0RyMmRBO0VBQ0U7QXBEdzJkRjs7QW9EdDJkQTtFQUNFO0FwRHkyZEY7O0FvRHYyZEE7RUFDRTtBcEQwMmRGOztBb0R4MmRBO0VBQ0U7QXBEMjJkRjs7QW9EejJkQTtFQUNFO0FwRDQyZEY7O0FvRDEyZEE7RUFDRTtBcEQ2MmRGOztBb0QzMmRBO0VBQ0U7QXBEODJkRjs7QW9ENTJkQTs7RUFFRTtBcEQrMmRGOztBb0Q3MmRBOztFQUVFO0FwRGczZEY7O0FvRDkyZEE7RUFDRTtBcERpM2RGOztBb0QvMmRBO0VBQ0U7QXBEazNkRjs7QW9EaDNkQTtFQUNFO0FwRG0zZEY7O0FvRGozZEE7RUFDRTtBcERvM2RGOztBb0RsM2RBO0VBQ0U7QXBEcTNkRjs7QW9EbjNkQTtFQUNFO0FwRHMzZEY7O0FvRHAzZEE7O0VBRUU7QXBEdTNkRjs7QW9EcjNkQTs7RUFFRTtBcER3M2RGOztBb0R0M2RBO0VBQ0U7QXBEeTNkRjs7QW9EdjNkQTtFQUNFO0FwRDAzZEY7O0FvRHgzZEE7RUFDRTtBcEQyM2RGOztBb0R6M2RBO0VBQ0U7QXBENDNkRjs7QW9EMTNkQTs7RUFFRTtBcEQ2M2RGOztBb0QzM2RBOztFQUVFO0FwRDgzZEY7O0FvRDUzZEE7RUFDRTtBcEQrM2RGOztBb0Q3M2RBO0VBQ0U7QXBEZzRkRjs7QW9EOTNkQTtFQUNFO0FwRGk0ZEY7O0FvRC8zZEE7OztFQUdFO0FwRGs0ZEY7O0FvRGg0ZEE7O0VBRUU7QXBEbTRkRjs7QW9EajRkQTs7RUFFRTtBcERvNGRGOztBb0RsNGRBOztFQUVFO0FwRHE0ZEY7O0FvRG40ZEE7O0VBRUU7QXBEczRkRjs7QW9EcDRkQTtFQUNFO0FwRHU0ZEY7O0FvRHI0ZEE7OztFQUdFO0FwRHc0ZEY7O0FvRHQ0ZEE7RUFDRTtBcER5NGRGOztBb0R2NGRBO0VBQ0U7QXBEMDRkRjs7QW9EeDRkQTtFQUNFO0FwRDI0ZEY7O0FvRHo0ZEE7RUFDRTtBcEQ0NGRGOztBb0QxNGRBOztFQUVFO0FwRDY0ZEY7O0FvRDM0ZEE7O0VBRUU7QXBEODRkRjs7QW9ENTRkQTtFQUNFO0FwRCs0ZEY7O0FvRDc0ZEE7RUFDRTtBcERnNWRGOztBb0Q5NGRBO0VBQ0U7QXBEaTVkRjs7QW9ELzRkQTtFQUNFO0FwRGs1ZEY7O0FvRGg1ZEE7RUFDRTtBcERtNWRGOztBb0RqNWRBO0VBQ0U7QXBEbzVkRjs7QW9EbDVkQTtFQUNFO0FwRHE1ZEY7O0FvRG41ZEE7RUFDRTtBcERzNWRGOztBb0RwNWRBO0VBQ0U7QXBEdTVkRjs7QW9EcjVkQTtFQUNFO0FwRHc1ZEY7O0FvRHQ1ZEE7RUFDRTtBcER5NWRGOztBb0R2NWRBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEQwNWRGOztBb0R4NWRBOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEQyNWRGLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2Ryb3B6b25lLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2FwcC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvZXN0cnVjdHVyYS9fZ2xvYmFsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2VzdHJ1Y3R1cmEvX2NvbmZpZ3VyYWNpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2VzdHJ1Y3R1cmEvZm91bmRhdGlvbi9jb21wb25lbnRzL19nbG9iYWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2VzdHJ1Y3R1cmEvZm91bmRhdGlvbi9jb21wb25lbnRzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fYWxlcnQtYm94ZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2VzdHJ1Y3R1cmEvZm91bmRhdGlvbi9jb21wb25lbnRzL19ibG9jay1ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2VzdHJ1Y3R1cmEvZm91bmRhdGlvbi9jb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fYnV0dG9uLWdyb3Vwcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvZXN0cnVjdHVyYS9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2NsZWFyaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2VzdHJ1Y3R1cmEvZm91bmRhdGlvbi9jb21wb25lbnRzL19kcm9wZG93bi1idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZmxleC12aWRlby5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvZXN0cnVjdHVyYS9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL2ZvdW5kYXRpb24vY29tcG9uZW50cy9faWNvbi1iYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2VzdHJ1Y3R1cmEvZm91bmRhdGlvbi9jb21wb25lbnRzL19pbmxpbmUtbGlzdHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2VzdHJ1Y3R1cmEvZm91bmRhdGlvbi9jb21wb25lbnRzL19qb3lyaWRlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fa2V5c3Ryb2tlcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvZXN0cnVjdHVyYS9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2xhYmVscy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvZXN0cnVjdHVyYS9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX21hZ2VsbGFuLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2VzdHJ1Y3R1cmEvZm91bmRhdGlvbi9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fcGFuZWxzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fcHJpY2luZy10YWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2VzdHJ1Y3R1cmEvZm91bmRhdGlvbi9jb21wb25lbnRzL19wcm9ncmVzcy1iYXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fcmFuZ2Utc2xpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fc2lkZS1uYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2VzdHJ1Y3R1cmEvZm91bmRhdGlvbi9jb21wb25lbnRzL19zcGxpdC1idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fc3ViLW5hdi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvZXN0cnVjdHVyYS9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3N3aXRjaGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdGFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdGFicy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvZXN0cnVjdHVyYS9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3RodW1icy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvZXN0cnVjdHVyYS9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3Rvb2x0aXBzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvZXN0cnVjdHVyYS9mb3VuZGF0aW9uL19mdW5jdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2VzdHJ1Y3R1cmEvZm91bmRhdGlvbi9jb21wb25lbnRzL190eXBlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fb2ZmY2FudmFzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvZXN0cnVjdHVyYS9fbG9naW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2VzdHJ1Y3R1cmEvX2NhYmVjZXJhLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL190YWJsYURhdG9zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL19jb250ZW5pZG9zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL19zZWxlY3QyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL19tb2RhbC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvZXN0cnVjdHVyYS9fZnVsbGNhbGVuZGFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL19jb211bmVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL19tZW51Lm1vdmlsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9lc3RydWN0dXJhL19hdXRoZW50aWNhdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvY3NzL2ZvbnQtYXdlc29tZS5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogVGhlIE1JVCBMaWNlbnNlXHJcbiAqIENvcHlyaWdodCAoYykgMjAxMiBNYXRpYXMgTWVubyA8bUB0aWFzLm1lPlxyXG4gKi9cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBwYXNzaW5nLXRocm91Z2gge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xyXG4gICAgfVxyXG4gICAgMzAlLFxyXG4gICAgNzAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALW1vei1rZXlmcmFtZXMgcGFzc2luZy10aHJvdWdoIHtcclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcclxuICAgIH1cclxuICAgIDMwJSxcclxuICAgIDcwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBwYXNzaW5nLXRocm91Z2gge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xyXG4gICAgfVxyXG4gICAgMzAlLFxyXG4gICAgNzAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGUtaW4ge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xyXG4gICAgfVxyXG4gICAgMzAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtbW96LWtleWZyYW1lcyBzbGlkZS1pbiB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XHJcbiAgICB9XHJcbiAgICAzMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZS1pbiB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XHJcbiAgICB9XHJcbiAgICAzMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcclxuICAgIDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIH1cclxuICAgIDEwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gICAgfVxyXG4gICAgMjAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIH1cclxufVxyXG5cclxuQC1tb3ota2V5ZnJhbWVzIHB1bHNlIHtcclxuICAgIDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIH1cclxuICAgIDEwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gICAgfVxyXG4gICAgMjAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBwdWxzZSB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB9XHJcbiAgICAxMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgIH1cclxuICAgIDIwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kcm9wem9uZSxcclxuLmRyb3B6b25lICoge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuLmRyb3B6b25lIHtcclxuICAgIG1pbi1oZWlnaHQ6IDE1MHB4O1xyXG4gICAgYm9yZGVyOiA2cHggZGFzaGVkIHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgcGFkZGluZzogMWVtO1xyXG59XHJcblxyXG4uZHJvcHpvbmUuZHotY2xpY2thYmxlIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmRyb3B6b25lLmR6LWNsaWNrYWJsZSAqIHtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG5cclxuLmRyb3B6b25lLmR6LWNsaWNrYWJsZSAuZHotbWVzc2FnZSxcclxuLmRyb3B6b25lLmR6LWNsaWNrYWJsZSAuZHotbWVzc2FnZSAqIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmRyb3B6b25lLmR6LXN0YXJ0ZWQgLmR6LW1lc3NhZ2Uge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmRyb3B6b25lLmR6LWRyYWctaG92ZXIge1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxufVxyXG5cclxuLmRyb3B6b25lLmR6LWRyYWctaG92ZXIgLmR6LW1lc3NhZ2Uge1xyXG4gICAgb3BhY2l0eTogMC41O1xyXG59XHJcblxyXG4uZHJvcHpvbmUgLmR6LW1lc3NhZ2Uge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAyZW0gMDtcclxufVxyXG5cclxuLmRyb3B6b25lIC5kei1wcmV2aWV3IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWU1ZTU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICBtYXJnaW46IDE1cHggMDtcclxufVxyXG5cclxuLmRyb3B6b25lIC5kei1wcmV2aWV3OmhvdmVyIHtcclxuICAgIHotaW5kZXg6IDEwMDA7XHJcbn1cclxuXHJcbi5kcm9wem9uZSAuZHotcHJldmlldzpob3ZlciAuZHotZGV0YWlscyB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4uZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotZmlsZS1wcmV2aWV3IC5kei1kZXRhaWxzIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi5kcm9wem9uZSAuZHotcHJldmlldy5kei1pbWFnZS1wcmV2aWV3IHtcclxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG59XHJcblxyXG4uZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotaW1hZ2UtcHJldmlldyAuZHotZGV0YWlscyB7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XHJcbiAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XHJcbiAgICAtbXMtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjtcclxuICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyO1xyXG59XHJcblxyXG4uZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LXJlbW92ZSB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXIhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDY4cHg7XHJcbn1cclxuXHJcbi5kcm9wem9uZSAuZHotcHJldmlldyAuZHotcmVtb3ZlIGkge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyIWltcG9ydGFudDtcclxufVxyXG5cclxuLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1yZW1vdmU6aG92ZXIge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn1cclxuXHJcbi5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZGV0YWlscyB7XHJcbiAgICB6LWluZGV4OiAyMDtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICBtaW4td2lkdGg6IDc1JTtcclxuICAgIG1heC13aWR0aDogNzUlO1xyXG4gICAgcGFkZGluZzogLjFlbSAxZW07XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XHJcbiAgICAvKiBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7ICovXHJcbiAgICBtYXgtd2lkdGg6IDUwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWRldGFpbHMgLmR6LXNpemUge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWF4LXdpZHRoOiA1MCU7XHJcbn1cclxuXHJcbi5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZGV0YWlscyAuZHotZmlsZW5hbWUge1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1heC13aWR0aDogNTAlO1xyXG59XHJcblxyXG4uZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWRldGFpbHMgLmR6LWZpbGVuYW1lOm5vdCg6aG92ZXIpIHtcclxuICAgIC8qIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgKi9cclxufVxyXG5cclxuLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1maWxlbmFtZSBzcGFuLFxyXG4uZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWRldGFpbHMgLmR6LXNpemUgc3BhbixcclxuLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1kaW0gc3BhbiB7XHJcbiAgICBwYWRkaW5nOiAwIDAuNGVtO1xyXG59XHJcblxyXG4uZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWltYWdlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgLyogd2lkdGg6IDEwMCU7ICovXHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xyXG4gICAgbWluLWhlaWdodDogMTAwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbn1cclxuXHJcbi5kcm9wem9uZSAuZHotcHJldmlldyAuZHotaW1hZ2UgaW1nLFxyXG4uZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWltYWdlIGkge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbi5kcm9wem9uZSAuZHotcHJldmlldy5kei1zdWNjZXNzIC5kei1zdWNjZXNzLW1hcmsge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHBhc3NpbmctdGhyb3VnaCAzcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xyXG4gICAgLW1vei1hbmltYXRpb246IHBhc3NpbmctdGhyb3VnaCAzcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xyXG4gICAgLW1zLWFuaW1hdGlvbjogcGFzc2luZy10aHJvdWdoIDNzIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7XHJcbiAgICAtby1hbmltYXRpb246IHBhc3NpbmctdGhyb3VnaCAzcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xyXG4gICAgYW5pbWF0aW9uOiBwYXNzaW5nLXRocm91Z2ggM3MgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcclxufVxyXG5cclxuLmRyb3B6b25lIC5kei1wcmV2aWV3LmR6LWVycm9yIC5kei1lcnJvci1tYXJrIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc2xpZGUtaW4gM3MgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcclxuICAgIC1tb3otYW5pbWF0aW9uOiBzbGlkZS1pbiAzcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xyXG4gICAgLW1zLWFuaW1hdGlvbjogc2xpZGUtaW4gM3MgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcclxuICAgIC1vLWFuaW1hdGlvbjogc2xpZGUtaW4gM3MgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcclxuICAgIGFuaW1hdGlvbjogc2xpZGUtaW4gM3MgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcclxufVxyXG5cclxuLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1zdWNjZXNzLW1hcmssXHJcbi5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZXJyb3ItbWFyayB7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB6LWluZGV4OiA1MDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0yN3B4O1xyXG4gICAgbWFyZ2luLXRvcDogLTI3cHg7XHJcbn1cclxuXHJcbi5kcm9wem9uZSAuZHotcHJldmlldyAuZHotc3VjY2Vzcy1tYXJrIHN2ZyxcclxuLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1lcnJvci1tYXJrIHN2ZyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiA1NHB4O1xyXG4gICAgaGVpZ2h0OiA1NHB4O1xyXG59XHJcblxyXG4uZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotcHJvY2Vzc2luZyAuZHotcHJvZ3Jlc3Mge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XHJcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xyXG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xyXG59XHJcblxyXG4uZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotY29tcGxldGUgLmR6LXByb2dyZXNzIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlLWluO1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZS1pbjtcclxuICAgIC1tcy10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZS1pbjtcclxuICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlLWluO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2UtaW47XHJcbn1cclxuXHJcbi5kcm9wem9uZSAuZHotcHJldmlldzpub3QoLmR6LXByb2Nlc3NpbmcpIC5kei1wcm9ncmVzcyB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogcHVsc2UgNnMgZWFzZSBpbmZpbml0ZTtcclxuICAgIC1tb3otYW5pbWF0aW9uOiBwdWxzZSA2cyBlYXNlIGluZmluaXRlO1xyXG4gICAgLW1zLWFuaW1hdGlvbjogcHVsc2UgNnMgZWFzZSBpbmZpbml0ZTtcclxuICAgIC1vLWFuaW1hdGlvbjogcHVsc2UgNnMgZWFzZSBpbmZpbml0ZTtcclxuICAgIGFuaW1hdGlvbjogcHVsc2UgNnMgZWFzZSBpbmZpbml0ZTtcclxufVxyXG5cclxuLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1wcm9ncmVzcyB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgei1pbmRleDogMTAwMDtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBtYXJnaW4tdG9wOiAtOHB4O1xyXG4gICAgd2lkdGg6IDgwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogLTQwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LXByb2dyZXNzIC5kei11cGxvYWQge1xyXG4gICAgYmFja2dyb3VuZDogIzMzMztcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM2NjYsICM0NDQpO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiB3aWR0aCAzMDBtcyBlYXNlLWluLW91dDtcclxuICAgIC1tb3otdHJhbnNpdGlvbjogd2lkdGggMzAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAtbXMtdHJhbnNpdGlvbjogd2lkdGggMzAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAtby10cmFuc2l0aW9uOiB3aWR0aCAzMDBtcyBlYXNlLWluLW91dDtcclxuICAgIHRyYW5zaXRpb246IHdpZHRoIDMwMG1zIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4uZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotZXJyb3IgLmR6LWVycm9yLW1lc3NhZ2Uge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5kcm9wem9uZSAuZHotcHJldmlldy5kei1lcnJvcjpob3ZlciAuZHotZXJyb3ItbWVzc2FnZSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbn1cclxuXHJcbi5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZXJyb3ItbWVzc2FnZSB7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcclxuICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XHJcbiAgICAtbXMtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XHJcbiAgICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgdG9wOiAxMzBweDtcclxuICAgIGxlZnQ6IC0xMHB4O1xyXG4gICAgd2lkdGg6IDE0MHB4O1xyXG4gICAgYmFja2dyb3VuZDogI2JlMjYyNjtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNiZTI2MjYsICNhOTIyMjIpO1xyXG4gICAgcGFkZGluZzogMC41ZW0gMS4yZW07XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZXJyb3ItbWVzc2FnZTphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLTZweDtcclxuICAgIGxlZnQ6IDY0cHg7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAjYmUyNjI2O1xyXG59XHJcblxyXG4uZHJvcHpvbmUgLmZpbGVkb3dubG9hZCB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXIhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDI1cHg7XHJcbn1cclxuXHJcbi5kcm9wem9uZSAuZmlsZWRvd25sb2FkIGkge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyIWltcG9ydGFudDtcclxufVxyXG5cclxuLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1lZGl0IHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGN1cnNvcjogcG9pbnRlciFpbXBvcnRhbnQ7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMTExcHg7XHJcbn1cclxuXHJcbi5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZWRpdCBpIHtcclxuICAgIGN1cnNvcjogcG9pbnRlciFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZWRpdDpob3ZlciB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxufVxyXG5cclxuLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1kaW0ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59IiwiICAgIC8vIENvbG9yZXMgZ2VuZXJhbGVzXHJcbiAgICAvL0NvbG9yIGluY2lhbCBiYXNlOiAjMDBhY2QwIC8vICMwMDhhYTZcclxuICAgICRmb25kb2NhYmVjZXJhOiAjZmVkMTAwO1xyXG4gICAgJHNlY3VuZGFyaW9jYWJlY2VyYTogI2Y2ZDEyNjtcclxuICAgICRsb2dvaW52ZXJ0OiBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcyg1MDAlKSBzZXBpYSgwJSkgc2F0dXJhdGUoMTAwJSkgY29udHJhc3QoMSk7XHJcbiAgICAkY29sb3J0eHRjYWJlY2VyYTogIzM4MzgzODtcclxuICAgICRjb2xvckNhYmVjZXJhVGFibGE6ICNmZmY7IC8vICM1ODkzZDVcclxuICAgICRjb2xvckNhYmVjZXJhVGFibGFBY3Q6ICNmY2ZjZmM7XHJcbiAgICAkY29sb3JTZWxlY3QyOiAkZm9uZG9jYWJlY2VyYTsgLy8gIzU4OTNkNVxyXG4gICAgJENhbGVuZGFyaW9DYWJiZ2NvbG9yOiAkZm9uZG9jYWJlY2VyYTsgLy8gIzU4OTNkNVxyXG4gICAgJEJvdG9uZXNGb25kbzogJGZvbmRvY2FiZWNlcmE7IC8vICM1ODkzZDVcclxuICAgICRCb3RvbmVzRm9uZG9TZWNvbmRhcnk6ICNiOWI5Yjk7IC8vICM1ODkzZDVcclxuICAgICRzZWxlY3RlZFRhYmxlUm93OiAjZmVmZWUxICFpbXBvcnRhbnQ7XHJcbiAgICAkaG92ZXJUYWJsZVJvdzogcmdiYSgyNTUsIDI0NywgMjIwLCAwLjQpO1xyXG4gICAgJGNvbG9yQWxlcnRCZzogI0IyMjIyMjtcclxuICAgICRjb2xvckFsZXJ0VGV4dDogd2hpdGU7XHJcbiAgICAkY29sb3JBZG1pbjogIzA3NEM3MTtcclxuICAgICRjb2xvckNoYW5nZTogI2YzOWMxMjtcclxuICAgIC8vQ29sb3JlcyBjb211bmVzXHJcbiAgICAkYmxhbmNvOiAjRkZGRkZGO1xyXG4gICAgJGdyYXkxOiAjRjJGNEY3O1xyXG4gICAgJGdyYXkyOiAjRTRFN0VDO1xyXG4gICAgJGdyYXkzOiAjQjdCRUNCO1xyXG4gICAgJGdyYXk0OiAjODY4QTk0O1xyXG4gICAgJGdyYXk1OiAjNDY0QzU2O1xyXG4gICAgJHdhcm5pbmc6ICNGNzkwMDk7XHJcbiAgICAkd2FybmluZzMwOiByZ2JhKDI0NywgMTQ0LCA5LCAwLjMpOyBcclxuICAgIC8vQ29sb3JlcyB2YXJpYWJsZSBjbGllbnRlXHJcbiAgICAkYXp1bG9zY3VybzogIzA3NEM3MTtcclxuICAgICRhenVsbWVkaW86ICMwMDdCQjM7XHJcbiAgICBAbWl4aW4gZGVncmFkYWRvIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICRhenVsb3NjdXJvIDAlLCAkYXp1bG1lZGlvIDEwNy40OCUpOyBcclxuICAgIH1cclxuICAgIC8vQGltcG9ydCBcImVzdHJ1Y3R1cmEvZm91bmRhdGlvblwiOyAvLyBmb3VuZGF0aW9uXHJcbiAgICBAaW1wb3J0IFwiZXN0cnVjdHVyYS9nbG9iYWxlc1wiOyAvLyBFc3RpbG9zIGdlbmVyYWxlc1xyXG4gICAgQGltcG9ydCBcImVzdHJ1Y3R1cmEvY29uZmlndXJhY2lvblwiOyAvLyBDT05GSUdVUkFDSU9OIFBST1lFQ1RPXHJcbiAgICBAaW1wb3J0IFwiZXN0cnVjdHVyYS9mb3VuZGF0aW9uVk9cIjsgLy8gZm91bmRhdGlvblxyXG4gICAgQGltcG9ydCBcImVzdHJ1Y3R1cmEvbG9naW5cIjsgLy8gTG9naW5cclxuICAgIEBpbXBvcnQgXCJlc3RydWN0dXJhL2NhYmVjZXJhXCI7IC8vIENBQkVDRVJBXHJcbiAgICBAaW1wb3J0IFwiZXN0cnVjdHVyYS90YWJsYURhdG9zXCI7IC8vIFRBQkxBREFUT1NcclxuICAgIEBpbXBvcnQgXCJlc3RydWN0dXJhL2NvbnRlbmlkb3NcIjsgLy8gQ09OVEVOSURPU1xyXG4gICAgQGltcG9ydCBcImVzdHJ1Y3R1cmEvc2VsZWN0MlwiOyAvLyBKUyBTZWxlY3RcclxuICAgIEBpbXBvcnQgXCJlc3RydWN0dXJhL21vZGFsXCI7IC8vIE1PREFMXHJcbiAgICBAaW1wb3J0IFwiZXN0cnVjdHVyYS9mdWxsY2FsZW5kYXJcIjsgLy8gRlVMTENBTEVOREFSXHJcbiAgICBAaW1wb3J0IFwiZXN0cnVjdHVyYS9jb211bmVzXCI7IC8vIEZVTExDQUxFTkRBUlxyXG4gICAgQGltcG9ydCBcImVzdHJ1Y3R1cmEvZnVsbGNhbGVuZGFyXCI7IC8vIEZVTExDQUxFTkRBUlxyXG4gICAgQGltcG9ydCBcImVzdHJ1Y3R1cmEvbWVudS5tb3ZpbFwiOyAvLyBtb3ZpbFxyXG4gICAgQGltcG9ydCBcImVzdHJ1Y3R1cmEvYXV0aGVudGljYXRpb25cIjsgLy8gR09PR0xFIEFVVEhFTlRJQ0FUT1IgTE9HSU5cclxuICAgIEBpbXBvcnQgJ35mb250LWF3ZXNvbWUnO1xyXG4gICAgQGltcG9ydCB1cmwoXCJodHRwczovL2Nkbi11aWNvbnMuZmxhdGljb24uY29tL3VpY29ucy1yZWd1bGFyLXJvdW5kZWQvY3NzL3VpY29ucy1yZWd1bGFyLXJvdW5kZWQuY3NzXCIpOyAvL1VJY29uc1xyXG4gICAgLy9AaW1wb3J0IFwiLy9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC4zLjAvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzXCJcclxuICAgIC8vZHJvcHpvbmUuanMiLCIvLy8vLy8vLy8vLy8vXHJcbi8vIENPTE9SRVMgLy9cclxuLy8vLy8vLy8vLy8vL1xyXG4kY29ycG9yYXRpdm86ICMwMDA7XHJcbiRncmlzOiAjY2NjO1xyXG4kZ3Jpc09zY3VybzogIzMzMzMzMztcclxuJGdyaXNDbGFybzogI0U5RUFFOTtcclxuJGdyaXNNZWRpbzogIzk0OTQ5NDtcclxuJGRvcmFkbzogI2EwN2Y2YjtcclxuJGNvbG9ySGFtYnVyZ3Vlc2E6ICRjb3Jwb3JhdGl2bztcclxuXHJcbiRzdWNjZXNzOiAjM2FkYjc2O1xyXG4kd2FybmluZzogI0Y3OTAwOTtcclxuJGFsZXJ0OiAjY2M0YjM3O1xyXG5cclxuJGhvdmVyOiBsaWdodGVuKCRjb3Jwb3JhdGl2bywgMTAlKTtcclxuIFxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gRElNRU5TSU9ORVMgLy9cclxuLy8vLy8vLy8vLy8vLy8vLy9cclxuJG1vdmlsbWluaTogMjMuNDM4cmVtO1xyXG4kbW92aWw6IDMwcmVtO1xyXG4kbW92aWxtZWRpbzogMzguNzUwZW07XHJcbiRtaW5pOiA0OHJlbTtcclxuJG1lZGlvOiA1Ny41MDBlbTtcclxuJG5vcm1hbDogODByZW07XHJcbiRhbmNobzogMTAwcmVtO1xyXG4kYW5jaG9NYXg6IDEwMCU7XHJcblxyXG4vLy8vLy8vLy8vLy8vXHJcbi8vIEZVRU5URVMgLy8gXHJcbi8vLy8vLy8vLy8vLy9cclxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9TW9udHNlcnJhdDp3Z2h0QDMwMDs1MDA7NzAwJmRpc3BsYXk9c3dhcCcpOyBcclxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvOndnaHRAMTAwOzMwMDs0MDA7NTAwOzcwMDs5MDAmZGlzcGxheT1zd2FwJyk7XHJcblxyXG4vLy8vLy8vLy8vL1xyXG4vLyBHUklEIC8vXHJcbi8vLy8vLy8vL1xyXG5cclxuJG1lZGlhbmlsIDogMC45Mzc1ZW07XHJcbiRudW1lcm8tY29sdW1uYXM6IDEyO1xyXG5cclxuJGJvZHktZm9udC1jb2xvcjogIzIyMjsgXHJcbiRib2R5LWZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcclxuJGJvZHktZm9udC13ZWlnaHQ6IDQwMDtcclxuJGhlYWRlcnMtZm9udDogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gXHJcbi8vIEFOSU1BQ0lPTkVTIC8vXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG4kYm90YTogY3ViaWMtYmV6aWVyKDAuMzc1LCAxLjQ5NSwgMC42MTAsIDAuNzgwKTtcclxuJGtvcnRpbmE6IGN1YmljLWJlemllcigwLjYsMCwwLjQsMSk7XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gS0VZRlJBTUVTIC8vXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuQGtleWZyYW1lcyBnaXJhIHtcclxuXHRmcm9tIHsgdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTsgfVxyXG5cdHRvIHsgdHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpOyB9XHJcbn1cclxuXHJcbi8vLy8vLy8vLy8vL1xyXG4vLyBNSVhJTlMgLy9cclxuLy8vLy8vLy8vLy8vXHJcblxyXG5AbWl4aW4gbm8geyBwb3NpdGlvbjpyZWxhdGl2ZTsgaGVpZ2h0OjA7IH1cclxuQG1peGluIGFsQ2VudHJvKCRhbmNob01heDoxMDAlKSB7IHdpZHRoOjEwMCU7IG1heC13aWR0aDokYW5jaG9NYXg7IG1hcmdpbi1sZWZ0OmF1dG87IG1hcmdpbi1yaWdodDphdXRvOyB9XHJcbkBtaXhpbiBrYWphKCRlc3BhY2lvczowKSB7IGJveC1zaXppbmc6Ym9yZGVyLWJveDsgQGlmICRlc3BhY2lvcyBub3QgMCB7IHBhZGRpbmctbGVmdDokZXNwYWNpb3M7IHBhZGRpbmctcmlnaHQ6JGVzcGFjaW9zOyB9IH1cclxuQG1peGluIHJla3QoJG1lZGlkYToxZW0sICRyZWRvbmRvOmZhbHNlKSB7IHdpZHRoOiRtZWRpZGE7IGhlaWdodDokbWVkaWRhOyBkaXNwbGF5OmlubGluZS1ibG9jazsgQGlmKCRyZWRvbmRvKXsgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpOyB9IH1cclxuQG1peGluIGJlZm9yZUFmdGVyKCRjb250ZW5pZG86JycpIHsgY29udGVudDokY29udGVuaWRvOyBkaXNwbGF5OmJsb2NrOyBjbGVhcjpib3RoOyB9XHJcbkBtaXhpbiBmdWxsIHsgd2lkdGg6MTAwJTsgaGVpZ2h0OjEwMCU7IGRpc3BsYXk6YmxvY2s7IH1cclxuQG1peGluIG1pbmlSZXNldCB7IG1hcmdpbjowOyBwYWRkaW5nOjA7IH1cclxuQG1peGluIHNpbkxpc3RhIHsgQGluY2x1ZGUgbWluaVJlc2V0OyBsaXN0LXN0eWxlLXR5cGU6bm9uZTsgfVxyXG5AbWl4aW4gYWJzb2x1dCgkeTowLCAkeDowLCAkeTI6YXV0bywgJHgyOmF1dG8pIHsgcG9zaXRpb246YWJzb2x1dGU7IHRvcDokeTsgbGVmdDokeDsgYm90dG9tOiR5MjsgcmlnaHQ6JHgyOyB9XHJcbkBtaXhpbiBlc2tpbmFzKCRtYXJnZW46MCkgeyBAaW5jbHVkZSBhYnNvbHV0KCRtYXJnZW4sICRtYXJnZW4sICRtYXJnZW4sICRtYXJnZW4pOyB9XHJcbkBtaXhpbiBmb25kbygkY29sb3I6JGNvbG9yUHJpbmNpcGFsLCAkdHJhbnNwYXJlbmNpYTouODUsICR6SW5kZXg6MSkgeyBAaW5jbHVkZSBhYnNvbHV0OyBAaW5jbHVkZSBmdWxsOyBAaW5jbHVkZSBiZWZvcmVBZnRlcjsgYmFja2dyb3VuZDokY29sb3I7IEBpbmNsdWRlIG9wYWNpdHkoJHRyYW5zcGFyZW5jaWEpOyB6LWluZGV4OiR6SW5kZXg7IH1cclxuQG1peGluIGZvbnRhd2Vzb21lKCRrb250ZW5pZG86JycpIHsgZGlzcGxheTppbmxpbmUtYmxvY2s7IGZvbnQtZmFtaWx5OidGb250QXdlc29tZSc7IGZvbnQtZmVhdHVyZS1zZXR0aW5nczpub3JtYWw7IGZvbnQta2VybmluZzphdXRvOyBmb250LWxhbmd1YWdlLW92ZXJyaWRlOm5vcm1hbDsgZm9udC1zaXplOmluaGVyaXQ7IGZvbnQtc2l6ZS1hZGp1c3Q6bm9uZTsgZm9udC1zdHJldGNoOm5vcm1hbDsgZm9udC1zdHlsZTpub3JtYWw7IGZvbnQtc3ludGhlc2lzOndlaWdodCBzdHlsZTsgZm9udC12YXJpYW50Om5vcm1hbDsgZm9udC13ZWlnaHQ6bm9ybWFsOyBsaW5lLWhlaWdodDoxOyB0ZXh0LXJlbmRlcmluZzphdXRvOyBjb250ZW50OiRrb250ZW5pZG87IH1cclxuQG1peGluIHNpemUoJGZvbnRNaW46IDE2LCAkZm9udE1heDogMjQsICRzY3JlZW5NaW46IDQwMCwgJHNjcmVlbk1heDogMTkyMCkge1xyXG4gICRmb250TWluUHg6ICRmb250TWluICogMXB4O1xyXG4gICRzY3JlZW5NaW5QeDogJHNjcmVlbk1pbiAqIDFweDtcclxuICBmb250LXNpemU6IGNhbGMoI3skZm9udE1pblB4fSArICgjeyRmb250TWF4fSAtICN7JGZvbnRNaW59KSAqICgxMDB2dyAtICN7JHNjcmVlbk1pblB4fSkgLyAoI3skc2NyZWVuTWF4fSAtICN7JHNjcmVlbk1pbn0pKTtcclxufVxyXG5AbWl4aW4gbmFzaHZpbGxlIHtcclxuICAmOmJlZm9yZSB7IEBpbmNsdWRlIGVza2luYXM7IEBpbmNsdWRlIGJlZm9yZUFmdGVyOyBiYWNrZ3JvdW5kOnJnYmEoMjQ3LDE3NiwxNTMsLjU2KTsgbWl4LWJsZW5kLW1vZGU6ZGFya2VuOyB6LWluZGV4OjE7IH1cclxuICAmOmFmdGVyIHsgQGluY2x1ZGUgZXNraW5hczsgQGluY2x1ZGUgYmVmb3JlQWZ0ZXI7IGJhY2tncm91bmQ6cmdiYSgwLDcwLDE1MCwuNCk7IG1peC1ibGVuZC1tb2RlOmxpZ2h0ZW47IHotaW5kZXg6MjsgfVxyXG4gIEBzdXBwb3J0cyAoLW1zLWltZS1hbGlnbjphdXRvKSB7ICY6YmVmb3JlLCAmOmFmdGVyIHsgZGlzcGxheTpub25lOyB9IH1cclxufVxyXG5AbWl4aW4gdHJhbnNpdGlvbnt0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7fVxyXG5AbWl4aW4gZmxpcHsgdHJhbnNmb3JtOiBzY2FsZVgoLTEpOyB9XHJcbiBcclxuQG1peGluIHByb3AoJHByb3BpZWRhZCwgJG1pbjogMTYsICRtYXg6IDI0LCAkc2NyZWVuTWluOiA0MDAsICRzY3JlZW5NYXg6IDE5MjApIHtcclxuICAkbWluUHg6ICRtaW4gKiAxcHg7XHJcbiAgJHNjcmVlbk1pblB4OiAkc2NyZWVuTWluICogMXB4O1xyXG4gICN7JHByb3BpZWRhZH06IGNhbGMoI3skbWluUHh9ICsgKCN7JG1heH0gLSAjeyRtaW59KSAqICgxMDB2dyAtICN7JHNjcmVlbk1pblB4fSkgLyAoI3skc2NyZWVuTWF4fSAtICN7JHNjcmVlbk1pbn0pKTtcclxufVxyXG4gXHJcbkBtaXhpbiBncmlkQ29udGVuaWRveyBtYXgtd2lkdGg6ICRhbmNobzsgbWFyZ2luOiAwIGF1dG87IH1cclxuXHJcblxyXG5AbWl4aW4gZ3JpZCgkZ3JpZC10eXBlLCAkYXJncywgJHJvdy1nYXAsICRjb2x1bW4tZ2FwOiAkcm93LWdhcCkge1xyXG4gIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgICN7JGdyaWQtdHlwZX06ICN7JGFyZ3N9O1xyXG4gICAgZ3JpZC1nYXA6ICgkcm93LWdhcCkgKCRjb2x1bW4tZ2FwKTtcclxuICB9XHJcbn1cclxuLyogZW1wbGVvXHJcbkBpbmNsdWRlIGdyaWQoJ2dyaWQtdGVtcGxhdGUtcm93cycsICcxZnIgMmZyJywgMTBweCwgMjBweCk7IC0tLS0tZmlsYXNcclxuQGluY2x1ZGUgZ3JpZCgnZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJywgJ3JlcGVhdCgzLCBhdXRvKScsIDFyZW0sIDEuNXJlbSk7IC0tLS0gY29sdW1uYXMqL1xyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBHTE9CQUxFUyAvL1xyXG4vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuKiB7IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO1xyXG5cdCY6Zm9jdXMgeyBvdXRsaW5lOm5vbmU7IH1cclxufVxyXG4qLCAqOmJlZm9yZSwgKjphZnRlciwgZGl2IHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG5odG1sIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7IH1cclxuYm9keSB7IGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTsgbWFyZ2luOiAwOyBjb2xvcjogJGJvZHktZm9udC1jb2xvcjsgZm9udC13ZWlnaHQ6ICRib2R5LWZvbnQtd2VpZ2h0OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmY2ZjOyBjb3VudGVyLXJlc2V0OiBzZWN0aW9uOyB9XHJcbmEsIGE6aG92ZXIsIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjpub25lOyB9XHJcbmE6aG92ZXJ7IGNvbG9yOiAkY29ycG9yYXRpdm87IH0gXHJcbmltZyB7IG1heC13aWR0aDoxMDAlOyBoZWlnaHQ6IGF1dG87IH1cclxudWx7QGluY2x1ZGUgc2luTGlzdGE7fVxyXG4vLy8vLy8vLy8vLy8vLy9cclxuLy8gQ09OQ1JFVE9TIC8vXHJcbi8vLy8vLy8vLy8vLy8vL1xyXG4uZmF7Zm9udDpub3JtYWwgbm9ybWFsIG5vcm1hbCAxOHB4IEZvbnRBd2Vzb21lIWltcG9ydGFudDt9XHJcbi50ZXh0LXJpZ2h0eyB0ZXh0LWFsaWduOiByaWdodDsgfVxyXG4ucGFnZSBkaXYge3Bvc2l0aW9uOiByZWxhdGl2ZTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4uYWxlcnQtYm94e3otaW5kZXg6IDk5OTt9XHJcbi5lbWJlZC1jb250YWluZXIgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgcGFkZGluZy1ib3R0b206NTYuMjUlOyBoZWlnaHQ6MDsgb3ZlcmZsb3c6aGlkZGVuOyB3aWR0aDoxMDAlO1xyXG5cdGlmcmFtZSwgb2JqZWN0LCBlbWJlZCB7IEBpbmNsdWRlIGFic29sdXQ7IEBpbmNsdWRlIGZ1bGw7IH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlaW57XHJcbiAgICAwJSB7IG9wYWNpdHk6LjE7ICAgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7ICB9XHJcbn1cclxuIiwiLypcclxuVG8gY2hhbmdlIHRoaXMgbGljZW5zZSBoZWFkZXIsIGNob29zZSBMaWNlbnNlIEhlYWRlcnMgaW4gUHJvamVjdCBQcm9wZXJ0aWVzLlxyXG5UbyBjaGFuZ2UgdGhpcyB0ZW1wbGF0ZSBmaWxlLCBjaG9vc2UgVG9vbHMgfCBUZW1wbGF0ZXNcclxuYW5kIG9wZW4gdGhlIHRlbXBsYXRlIGluIHRoZSBlZGl0b3IuXHJcbiovXHJcbi8qIFxyXG4gICAgQ3JlYXRlZCBvbiA6IDA2LW1hci0yMDE1LCAxMDowOToyOVxyXG4gICAgQXV0aG9yICAgICA6IEFyaXR6XHJcbiovIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuQGltcG9ydCBcIi4uL2Z1bmN0aW9uc1wiO1xyXG4vL1xyXG4vLyBGb3VuZGF0aW9uIFZhcmlhYmxlc1xyXG4vL1xyXG4vLyBEYXRhIGF0dHJpYnV0ZSBuYW1lc3BhY2VcclxuLy8gc3R5bGVzIGdldCBhcHBsaWVkIHRvIFtkYXRhLW15c2l0ZS1wbHVnaW5dLCBldGNcclxuJG5hbWVzcGFjZTogZmFsc2UgIWRlZmF1bHQ7XHJcbi8vIFRoZSBkZWZhdWx0IGZvbnQtc2l6ZSBpcyBzZXQgdG8gMTAwJSBvZiB0aGUgYnJvd3NlciBzdHlsZSBzaGVldCAodXN1YWxseSAxNnB4KVxyXG4vLyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIGJyb3dzZXItYmFzZWQgdGV4dCB6b29tIG9yIHVzZXItc2V0IGRlZmF1bHRzLlxyXG4vLyBTaW5jZSB0aGUgdHlwaWNhbCBkZWZhdWx0IGJyb3dzZXIgZm9udC1zaXplIGlzIDE2cHgsIHRoYXQgbWFrZXMgdGhlIGNhbGN1bGF0aW9uIGZvciBncmlkIHNpemUuXHJcbi8vIElmIHlvdSB3YW50IHlvdXIgYmFzZSBmb250LXNpemUgdG8gYmUgZGlmZmVyZW50IGFuZCBub3QgaGF2ZSBpdCBhZmZlY3QgdGhlIGdyaWQgYnJlYWtwb2ludHMsXHJcbi8vIHNldCAkcmVtLWJhc2UgdG8gJGJhc2UtZm9udC1zaXplIGFuZCBtYWtlIHN1cmUgJGJhc2UtZm9udC1zaXplIGlzIGEgcHggdmFsdWUuXHJcbiRiYXNlLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcclxuLy8gJGJhc2UtbGluZS1oZWlnaHQgaXMgMjRweCB3aGlsZSAkYmFzZS1mb250LXNpemUgaXMgMTZweFxyXG4kYmFzZS1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xyXG4vL1xyXG4vLyBHbG9iYWwgRm91bmRhdGlvbiBNaXhpbnNcclxuLy9cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGJvcmRlciByYWRpdXMuXHJcbi8vICRyYWRpdXMgLSBEZWZhdWx0OiAkZ2xvYmFsLXJhZGl1cyB8fCA0cHhcclxuQG1peGluIHJhZGl1cygkcmFkaXVzOiRnbG9iYWwtcmFkaXVzKSB7XHJcbiAgICBAaWYgJHJhZGl1cyB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgIH1cclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgZXF1YWwgc2lkZSBib3JkZXIgcmFkaXVzIG9uIGVsZW1lbnRzLlxyXG4vLyAkc2lkZSAtIE9wdGlvbnM6IGxlZnQsIHJpZ2h0LCB0b3AsIGJvdHRvbVxyXG5AbWl4aW4gc2lkZS1yYWRpdXMoJHNpZGUsICRyYWRpdXM6JGdsb2JhbC1yYWRpdXMpIHtcclxuICAgIEBpZiAoJHNpZGU9PWxlZnQgb3IgJHNpZGU9PXJpZ2h0KSB7XHJcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLSN7JHNpZGV9LXJhZGl1czogJHJhZGl1cztcclxuICAgICAgICAtd2Via2l0LWJvcmRlci10b3AtI3skc2lkZX0tcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skc2lkZX0tcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgICAgIGJvcmRlci10b3AtI3skc2lkZX0tcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAgIC13ZWJraXQtI3skc2lkZX0tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICAgICAgLXdlYmtpdC0jeyRzaWRlfS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICAgICAgYm9yZGVyLSN7JHNpZGV9LWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgICAgIGJvcmRlci0jeyRzaWRlfS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gV2UgY2FuIGNvbnRyb2wgd2hldGhlciBvciBub3Qgd2UgaGF2ZSBpbnNldCBzaGFkb3dzIGVkZ2VzLlxyXG4vLyAkYWN0aXZlIC0gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2VcclxuQG1peGluIGluc2V0LXNoYWRvdygkYWN0aXZlOnRydWUpIHtcclxuICAgIGJveC1zaGFkb3c6ICRzaGlueS1lZGdlLXNpemUgJHNoaW55LWVkZ2UtY29sb3IgaW5zZXQ7XHJcbiAgICBAaWYgJGFjdGl2ZSB7XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkc2hpbnktZWRnZS1zaXplICRzaGlueS1lZGdlLWFjdGl2ZS1jb2xvciBpbnNldDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgdG8gYWRkIHRyYW5zaXRpb25zIHRvIGVsZW1lbnRzXHJcbi8vICRwcm9wZXJ0eSAtIERlZmF1bHQ6IGFsbCwgT3B0aW9uczogaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy10cmFuc2l0aW9ucy8jYW5pbWF0YWJsZS1wcm9wZXJ0aWVzXHJcbi8vICRzcGVlZCAtIERlZmF1bHQ6IDMwMG1zXHJcbi8vICRlYXNlIC0gRGVmYXVsdDplYXNlLW91dCwgT3B0aW9uczogaHR0cDovL2Nzcy10cmlja3MuY29tL2FsbWFuYWMvcHJvcGVydGllcy90L3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uL1xyXG5AbWl4aW4gc2luZ2xlLXRyYW5zaXRpb24oJHByb3BlcnR5OmFsbCwgJHNwZWVkOjMwMG1zLCAkZWFzZTplYXNlLW91dCkge1xyXG4gICAgdHJhbnNpdGlvbjogJHByb3BlcnR5ICRzcGVlZCAkZWFzZTtcclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgYm94LXNpemluZyBhY3Jvc3MgYnJvd3NlciBwcmVmaXhlc1xyXG5AbWl4aW4gYm94LXNpemluZygkdHlwZTpib3JkZXItYm94KSB7XHJcbiAgICAtd2Via2l0LWJveC1zaXppbmc6ICR0eXBlOyAvLyBBbmRyb2lkIDwgMi4zLCBpT1MgPCA0XHJcbiAgICBib3gtc2l6aW5nOiAkdHlwZTsgLy8gQ2hyb21lLCBJRSA4KywgT3BlcmEsIFNhZmFyaSA1LjFcclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgaXNvc2NlbGVzIHRyaWFuZ2xlc1xyXG4vLyAkdHJpYW5nbGUtc2l6ZSAtIFVzZWQgdG8gc2V0IGJvcmRlci1zaXplLiBObyBkZWZhdWx0LCBzZXQgYSBweCBvciBlbSBzaXplLlxyXG4vLyAkdHJpYW5nbGUtY29sb3IgLSBVc2VkIHRvIHNldCBib3JkZXItY29sb3Igd2hpY2ggbWFrZXMgdXAgdHJpYW5nbGUuIE5vIGRlZmF1bHRcclxuLy8gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIFVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIGRpcmVjdGlvbiB0cmlhbmdsZSBwb2ludHMuIE9wdGlvbnM6IHRvcCwgYm90dG9tLCBsZWZ0LCByaWdodFxyXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKCR0cmlhbmdsZS1zaXplLCAkdHJpYW5nbGUtY29sb3IsICR0cmlhbmdsZS1kaXJlY3Rpb24pIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcclxuICAgIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbj09dG9wKSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XHJcbiAgICB9XHJcbiAgICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb249PWJvdHRvbSkge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xyXG4gICAgfVxyXG4gICAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uPT1sZWZ0KSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xyXG4gICAgfVxyXG4gICAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uPT1yaWdodCkge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIHRoZSBpY29uIHdpdGggdGhyZWUgbGluZXMgYWthIHRoZSBoYW1idXJnZXIgaWNvbiwgdGhlIG1lbnUtaWNvbiBvciB0aGUgbmF2aWNvblxyXG4vLyAkd2lkdGggLSBXaWR0aCBvZiBoYW1idXJnZXIgaWNvbiBpbiByZW1cclxuLy8gJGxlZnQgLSBJZiBmYWxzZSwgaWNvbiB3aWxsIGJlIGNlbnRlcmVkIGhvcml6b250YWxseSB8fCBleHBsaWNpdGx5IHNldCB2YWx1ZSBpbiByZW1cclxuLy8gJHRvcCAtIElmIGZhbHNlLCBpY29uIHdpbGwgYmUgY2VudGVyZWQgdmVydGljYWxseSB8fCBleHBsaWNpdGx5IHNldCB2YWx1ZSBpbiByZW1cclxuLy8gJHRoaWNrbmVzcyAtIHRoaWNrbmVzcyBvZiBsaW5lcyBpbiBoYW1idXJnZXIgaWNvbiwgc2V0IHZhbHVlIGluIHB4XHJcbi8vICRnYXAgLSBzcGFjaW5nIGJldHdlZW4gdGhlIGxpbmVzIGluIGhhbWJ1cmdlciBpY29uLCBzZXQgdmFsdWUgaW4gcHhcclxuLy8gJGNvbG9yIC0gaWNvbiBjb2xvclxyXG4vLyAkaG92ZXItY29sb3IgLSBpY29uIGNvbG9yIGR1cmluZyBob3ZlclxyXG4vLyAkb2ZmY2FudmFzIC0gU2V0IHRvIHRydWUgb2YgQGluY2x1ZGUgaW4gb2ZmY2FudmFzXHJcbkBtaXhpbiBoYW1idXJnZXIoJHdpZHRoLCAkbGVmdCwgJHRvcCwgJHRoaWNrbmVzcywgJGdhcCwgJGNvbG9yLCAkaG92ZXItY29sb3IsICRvZmZjYW52YXMpIHtcclxuICAgIHNwYW46OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgQGlmICRvZmZjYW52YXMge1xyXG4gICAgICAgICAgICBAaWYgJHRvcCB7XHJcbiAgICAgICAgICAgICAgICB0b3A6ICR0b3A7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAvL21hcmdpbi10b3A6ICgtJHdpZHRoLzIpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogKG1hdGguZGl2KC0kd2lkdGgsIDIpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJGxlZnQge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogJGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy9sZWZ0OiAoJHRhYmJhci1tZW51LWljb24td2lkdGggLSAkd2lkdGgpLzI7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBtYXRoLmRpdigkdGFiYmFyLW1lbnUtaWNvbi13aWR0aCAtICR3aWR0aCwgMik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgLy9tYXJnaW4tdG9wOiAtKCR3aWR0aC8yKTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLShtYXRoLmRpdigkd2lkdGgsIDIpKTtcclxuICAgICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1saW5rLXBhZGRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICR0aGlja25lc3MgJGNvbG9yLFxyXG4gICAgICAgIDAgJGdhcCskdGhpY2tuZXNzIDAgJHRoaWNrbmVzcyAkY29sb3IsXHJcbiAgICAgICAgMCAoMiAqICRnYXAgKyAyKiR0aGlja25lc3MpIDAgJHRoaWNrbmVzcyAkY29sb3I7XHJcbiAgICAgICAgd2lkdGg6ICR3aWR0aDtcclxuICAgIH1cclxuICAgIHNwYW46aG92ZXI6YWZ0ZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICR0aGlja25lc3MgJGhvdmVyLWNvbG9yLCAwICRnYXAgKyAkdGhpY2tuZXNzIDAgJHRoaWNrbmVzcyAkaG92ZXItY29sb3IsIDAgKDIgKiAkZ2FwICsgMiokdGhpY2tuZXNzKSAwICR0aGlja25lc3MgJGhvdmVyLWNvbG9yO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBkbyBjbGVhciBmbG9hdHNcclxuQG1peGluIGNsZWFyZml4IHtcclxuICAgICY6YmVmb3JlLFxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCIgXCI7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgYSBnbG93aW5nIGVmZmVjdCB0byBibG9jayBlbGVtZW50c1xyXG4vLyAkc2VsZWN0b3IgLSBVc2VkIGZvciBzZWxlY3RvciBzdGF0ZS4gRGVmYXVsdDogZm9jdXMsIE9wdGlvbnM6IGhvdmVyLCBhY3RpdmUsIHZpc2l0ZWRcclxuLy8gJGZhZGUtdGltZSAtIERlZmF1bHQ6IDMwMG1zXHJcbi8vICRnbG93aW5nLWVmZmVjdC1jb2xvciAtIERlZmF1bHQ6IGZhZGUtb3V0KCRwcmltYXJ5LWNvbG9yLCAuMjUpXHJcbkBtaXhpbiBibG9jay1nbG93aW5nLWVmZmVjdCgkc2VsZWN0b3I6Zm9jdXMsICRmYWRlLXRpbWU6MzAwbXMsICRnbG93aW5nLWVmZmVjdC1jb2xvcjpmYWRlLW91dCgkcHJpbWFyeS1jb2xvciwgLjI1KSkge1xyXG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkZmFkZS10aW1lLCBib3JkZXItY29sb3IgJGZhZGUtdGltZSBlYXNlLWluLW91dDtcclxuICAgICY6I3skc2VsZWN0b3J9IHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgNXB4ICRnbG93aW5nLWVmZmVjdC1jb2xvcjtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRnbG93aW5nLWVmZmVjdC1jb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyB0byB0cmFuc2xhdGUgZWxlbWVudHMgaW4gMkRcclxuLy8gJGhvcml6b250YWw6IERlZmF1bHQ6IDBcclxuLy8gJHZlcnRpY2FsOiBEZWZhdWx0OiAwXHJcbkBtaXhpbiB0cmFuc2xhdGUyZCgkaG9yaXpvbnRhbDowLCAkdmVydGljYWw6MCkge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJGhvcml6b250YWwsICR2ZXJ0aWNhbClcclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IGFjY2Vzc2libGUuXHJcbi8vIEBzZWUgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxyXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIHdpZHRoOiAxcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xyXG59XHJcblxyXG4vLyBAbWl4aW5zXHJcbi8vXHJcbi8vIFR1cm5zIG9mZiB0aGUgZWxlbWVudC1pbnZpc2libGUgZWZmZWN0LlxyXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcclxuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICBjbGlwOiBhdXRvO1xyXG59XHJcblxyXG4kd2hpdGU6ICNGRkZGRkYgIWRlZmF1bHQ7XHJcbiRnaG9zdDogI0ZBRkFGQSAhZGVmYXVsdDtcclxuJHNub3c6ICNGOUY5RjkgIWRlZmF1bHQ7XHJcbiR2YXBvcjogI0Y2RjZGNiAhZGVmYXVsdDtcclxuJHdoaXRlLXNtb2tlOiAjRjVGNUY1ICFkZWZhdWx0O1xyXG4kc2lsdmVyOiAjRUZFRkVGICFkZWZhdWx0O1xyXG4kc21va2U6ICNFRUVFRUUgIWRlZmF1bHQ7XHJcbiRnYWluc2Jvcm86ICNEREREREQgIWRlZmF1bHQ7XHJcbiRpcm9uOiAjQ0NDQ0NDICFkZWZhdWx0O1xyXG4kYmFzZTogI0FBQUFBQSAhZGVmYXVsdDtcclxuJGFsdW1pbnVtOiAjOTk5OTk5ICFkZWZhdWx0O1xyXG4kanVtYm86ICM4ODg4ODggIWRlZmF1bHQ7XHJcbiRtb25zb29uOiAjNzc3Nzc3ICFkZWZhdWx0O1xyXG4kc3RlZWw6ICM2NjY2NjYgIWRlZmF1bHQ7XHJcbiRjaGFyY29hbDogIzU1NTU1NSAhZGVmYXVsdDtcclxuJHR1YXRhcmE6ICM0NDQ0NDQgIWRlZmF1bHQ7XHJcbiRvaWw6ICMzMzMzMzMgIWRlZmF1bHQ7XHJcbiRqZXQ6ICMyMjIyMjIgIWRlZmF1bHQ7XHJcbiRibGFjazogIzAwMDAwMCAhZGVmYXVsdDtcclxuLy8gV2UgdXNlIHRoZXNlIGFzIGRlZmF1bHQgY29sb3JzIHRocm91Z2hvdXRcclxuJHByaW1hcnktY29sb3I6ICMwMDhDQkEgIWRlZmF1bHQ7IC8vIGJvbmRpLWJsdWVcclxuJHNlY29uZGFyeS1jb2xvcjogI2U3ZTdlNyAhZGVmYXVsdDsgLy8gd2hpdGUtbGlsYWNcclxuJGFsZXJ0LWNvbG9yOiAjZjA0MTI0ICFkZWZhdWx0OyAvLyBjaW5uYWJhclxyXG4kc3VjY2Vzcy1jb2xvcjogIzQzQUM2QSAhZGVmYXVsdDsgLy8gc2VhLWdyZWVuXHJcbiR3YXJuaW5nLWNvbG9yOiAjZjA4YTI0ICFkZWZhdWx0OyAvLyBjYXJyb3RcclxuJGluZm8tY29sb3I6ICNhMGQzZTggIWRlZmF1bHQ7IC8vIGNvcm5mbG93ZXJcclxuLy8gV2UgdXNlIHRoZXNlIHRvIGRlZmluZSBkZWZhdWx0IGZvbnQgc3RhY2tzXHJcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiBcIkhlbHZldGljYSBOZXVlXCIsXHJcbkhlbHZldGljYSxcclxuUm9ib3RvLFxyXG5BcmlhbCxcclxuc2Fucy1zZXJpZiAhZGVmYXVsdDtcclxuJGZvbnQtZmFtaWx5LXNlcmlmOiBHZW9yZ2lhLFxyXG5DYW1icmlhLFxyXG5cIlRpbWVzIE5ldyBSb21hblwiLFxyXG5UaW1lcyxcclxuc2VyaWYgIWRlZmF1bHQ7XHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLFxyXG5cIkxpYmVyYXRpb24gTW9ub1wiLFxyXG5Db3VyaWVyLFxyXG5tb25vc3BhY2UgIWRlZmF1bHQ7XHJcbi8vIFdlIHVzZSB0aGVzZSB0byBkZWZpbmUgZGVmYXVsdCBmb250IHdlaWdodHNcclxuJGZvbnQtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xyXG4kZm9udC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmFyaW91cyBnbG9iYWwgc3R5bGVzXHJcbiRib2R5LWJnOiAjZmNmY2ZjO1xyXG4kYm9keS1mb250LWNvbG9yOiAjMjIyICFkZWZhdWx0O1xyXG4kYm9keS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XHJcbiRib2R5LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kYm9keS1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgZm9udC1zbW9vdGhpbmdcclxuJGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZCAhZGVmYXVsdDtcclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGV4dCBkaXJlY3Rpb24gc2V0dGluZ3NcclxuJHRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XHJcbiRkZWZhdWx0LWZsb2F0OiBsZWZ0ICFkZWZhdWx0O1xyXG4kb3Bwb3NpdGUtZGlyZWN0aW9uOiByaWdodCAhZGVmYXVsdDtcclxuQGlmICR0ZXh0LWRpcmVjdGlvbj09bHRyIHtcclxuICAgICRkZWZhdWx0LWZsb2F0OiBsZWZ0O1xyXG4gICAgJG9wcG9zaXRlLWRpcmVjdGlvbjogcmlnaHQ7XHJcbn1cclxuXHJcbkBlbHNlIHtcclxuICAgICRkZWZhdWx0LWZsb2F0OiByaWdodDtcclxuICAgICRvcHBvc2l0ZS1kaXJlY3Rpb246IGxlZnQ7XHJcbn1cclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBtYWtlIHN1cmUgYm9yZGVyIHJhZGl1cyBtYXRjaGVzIHVubGVzcyB3ZSB3YW50IGl0IGRpZmZlcmVudC5cclxuJGdsb2JhbC1yYWRpdXM6IDNweCAhZGVmYXVsdDtcclxuJGdsb2JhbC1yb3VuZGVkOiAxMDAwcHggIWRlZmF1bHQ7XHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGluc2V0IHNoYWRvdyBzaGlueSBlZGdlcyBhbmQgZGVwcmVzc2lvbnMuXHJcbiRzaGlueS1lZGdlLXNpemU6IDAgMXB4IDAgIWRlZmF1bHQ7XHJcbiRzaGlueS1lZGdlLWNvbG9yOiByZ2JhKCNmZmYsIC41KSAhZGVmYXVsdDtcclxuJHNoaW55LWVkZ2UtYWN0aXZlLWNvbG9yOiByZ2JhKCMwMDAsIC4yKSAhZGVmYXVsdDtcclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB3aGV0aGVyIG9yIG5vdCBDU1MgY2xhc3NlcyBjb21lIHRocm91Z2ggaW4gdGhlIGdlbSBmaWxlcy5cclxuJGluY2x1ZGUtaHRtbC1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xyXG4kaW5jbHVkZS1wcmludC1zdHlsZXM6IHRydWUgIWRlZmF1bHQ7XHJcbiRpbmNsdWRlLWh0bWwtZ2xvYmFsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuJGNvbHVtbi1ndXR0ZXI6IHJlbS1jYWxjKDMwKSAhZGVmYXVsdDtcclxuLy8gTWVkaWEgUXVlcnkgUmFuZ2VzXHJcbiRzbWFsbC1yYW5nZTogKDAsIDQwZW0pICFkZWZhdWx0O1xyXG4kbWVkaXVtLXJhbmdlOiAoNDAuMDYzZW0sIDY0ZW0pICFkZWZhdWx0O1xyXG4kbGFyZ2UtcmFuZ2U6ICg2NC4wNjNlbSwgOTBlbSkgIWRlZmF1bHQ7XHJcbiR4bGFyZ2UtcmFuZ2U6ICg5MC4wNjNlbSwgMTIwZW0pICFkZWZhdWx0O1xyXG4keHhsYXJnZS1yYW5nZTogKDEyMC4wNjNlbSwgOTk5OTk5OTllbSkgIWRlZmF1bHQ7XHJcbiRzY3JlZW46IFwib25seSBzY3JlZW5cIiAhZGVmYXVsdDtcclxuJGxhbmRzY2FwZTogXCIjeyRzY3JlZW59IGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSlcIiAhZGVmYXVsdDtcclxuJHBvcnRyYWl0OiBcIiN7JHNjcmVlbn0gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpXCIgIWRlZmF1bHQ7XHJcbiRzbWFsbC11cDogJHNjcmVlbiAhZGVmYXVsdDtcclxuJHNtYWxsLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1heC13aWR0aDogI3t1cHBlci1ib3VuZCgkc21hbGwtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcclxuJG1lZGl1bS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9KVwiICFkZWZhdWx0O1xyXG4kbWVkaXVtLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XHJcbiRsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XHJcbiRsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcclxuJHhsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xyXG4keGxhcmdlLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkeGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XHJcbiR4eGxhcmdlLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xyXG4keHhsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XHJcbi8vIExlZ2FjeVxyXG4kc21hbGw6ICRtZWRpdW0tdXA7XHJcbiRtZWRpdW06ICRtZWRpdW0tdXA7XHJcbiRsYXJnZTogJGxhcmdlLXVwO1xyXG4vL1dlIHVzZSB0aGlzIGFzIGN1cnNvcnMgdmFsdWVzIGZvciBlbmFibGluZyB0aGUgb3B0aW9uIG9mIGhhdmluZyBjdXN0b20gY3Vyc29ycyBpbiB0aGUgd2hvbGUgc2l0ZSdzIHN0eWxlc2hlZXRcclxuJGN1cnNvci1hdXRvLXZhbHVlOiBhdXRvICFkZWZhdWx0O1xyXG4kY3Vyc29yLWNyb3NzaGFpci12YWx1ZTogY3Jvc3NoYWlyICFkZWZhdWx0O1xyXG4kY3Vyc29yLWRlZmF1bHQtdmFsdWU6IGRlZmF1bHQgIWRlZmF1bHQ7XHJcbiRjdXJzb3ItZGlzYWJsZWQtdmFsdWU6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xyXG4kY3Vyc29yLXBvaW50ZXItdmFsdWU6IHBvaW50ZXIgIWRlZmF1bHQ7XHJcbiRjdXJzb3ItaGVscC12YWx1ZTogaGVscCAhZGVmYXVsdDtcclxuJGN1cnNvci10ZXh0LXZhbHVlOiB0ZXh0ICFkZWZhdWx0O1xyXG5AaW5jbHVkZSBleHBvcnRzKFwiZ2xvYmFsXCIpIHtcclxuICAgIC8vIE1ldGEgc3R5bGVzIGFyZSBpbmNsdWRlZCBpbiBhbGwgYnVpbGRzLCBhcyB0aGV5IGFyZSBhIGRlcGVuZGFuY3kgb2YgdGhlIEphdmFzY3JpcHQuXHJcbiAgICAvLyBVc2VkIHRvIHByb3ZpZGUgbWVkaWEgcXVlcnkgdmFsdWVzIGZvciBqYXZhc2NyaXB0IGNvbXBvbmVudHMuXHJcbiAgICAvLyBGb3J3YXJkIHNsYXNoIHBsYWNlZCBhcm91bmQgZXZlcnl0aGluZyB0byBjb252aW5jZSBQaGFudG9tSlMgdG8gcmVhZCB0aGUgdmFsdWUuXHJcbiAgICBtZXRhLmZvdW5kYXRpb24tdmVyc2lvbiB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiLzUuNS4xL1wiO1xyXG4gICAgfVxyXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXNtYWxsIHtcclxuICAgICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRzbWFsbC11cCkgKyBcIi9cIjtcclxuICAgICAgICB3aWR0aDogbG93ZXItYm91bmQoJHNtYWxsLXJhbmdlKTtcclxuICAgIH1cclxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1zbWFsbC1vbmx5IHtcclxuICAgICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRzbWFsbC1vbmx5KSArIFwiL1wiO1xyXG4gICAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkc21hbGwtcmFuZ2UpO1xyXG4gICAgfVxyXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLW1lZGl1bSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkbWVkaXVtLXVwKSArIFwiL1wiO1xyXG4gICAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKTtcclxuICAgIH1cclxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1tZWRpdW0tb25seSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkbWVkaXVtLW9ubHkpICsgXCIvXCI7XHJcbiAgICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpO1xyXG4gICAgfVxyXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLWxhcmdlIHtcclxuICAgICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRsYXJnZS11cCkgKyBcIi9cIjtcclxuICAgICAgICB3aWR0aDogbG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKTtcclxuICAgIH1cclxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1sYXJnZS1vbmx5IHtcclxuICAgICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRsYXJnZS1vbmx5KSArIFwiL1wiO1xyXG4gICAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpO1xyXG4gICAgfVxyXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXhsYXJnZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkeGxhcmdlLXVwKSArIFwiL1wiO1xyXG4gICAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKTtcclxuICAgIH1cclxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS14bGFyZ2Utb25seSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkeGxhcmdlLW9ubHkpICsgXCIvXCI7XHJcbiAgICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpO1xyXG4gICAgfVxyXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXh4bGFyZ2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHh4bGFyZ2UtdXApICsgXCIvXCI7XHJcbiAgICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKTtcclxuICAgIH1cclxuICAgIG1ldGEuZm91bmRhdGlvbi1kYXRhLWF0dHJpYnV0ZS1uYW1lc3BhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAjeyRuYW1lc3BhY2V9O1xyXG4gICAgfVxyXG4gICAgQGlmICRpbmNsdWRlLWh0bWwtZ2xvYmFsLWNsYXNzZXMge1xyXG4gICAgICAgIC8vIE11c3QgYmUgMTAwJSBmb3Igb2ZmIGNhbnZhcyB0byB3b3JrXHJcbiAgICAgICAgaHRtbCxcclxuICAgICAgICBib2R5IHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xyXG4gICAgICAgIGh0bWwge1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIH1cclxuICAgICAgICAqLFxyXG4gICAgICAgICo6YmVmb3JlLFxyXG4gICAgICAgICo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGluaGVyaXQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBodG1sLFxyXG4gICAgICAgIGJvZHkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xyXG4gICAgICAgIGJvZHkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYm9keS1iZztcclxuICAgICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGJvZHktZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRib2R5LWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1saW5lLWhlaWdodDsgLy8gU2V0IHRvICRiYXNlLWxpbmUtaGVpZ2h0IHRvIHRha2Ugb24gYnJvd3NlciBkZWZhdWx0IG9mIDE1MCVcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBjdXJzb3I6ICRjdXJzb3ItYXV0by12YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYTpob3ZlciB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBHcmlkIERlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNtYXBfY2FudmFzLFxyXG4gICAgICAgIC5tYXBfY2FudmFzIHtcclxuICAgICAgICAgICAgaW1nLFxyXG4gICAgICAgICAgICBlbWJlZCxcclxuICAgICAgICAgICAgb2JqZWN0IHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIE1pc2NlbGxhbmVvdXMgdXNlZnVsIEhUTUwgY2xhc3Nlc1xyXG4gICAgICAgIC5sZWZ0IHtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnJpZ2h0IHtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jbGVhcmZpeCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbiByZWFkZXJzXHJcbiAgICAgICAgLmhpZGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbiByZWFkZXJzLCBidXQgbWFpbnRhaW4gbGF5b3V0XHJcbiAgICAgICAgLmludmlzaWJsZSB7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRm9udCBzbW9vdGhpbmdcclxuICAgICAgICAvLyBBbnRpYWxpYXNlZCBmb250IHNtb290aGluZyB3b3JrcyBiZXN0IGZvciBsaWdodCB0ZXh0IG9uIGEgZGFyayBiYWNrZ3JvdW5kLlxyXG4gICAgICAgIC8vIEFwcGx5IHRvIHNpbmdsZSBlbGVtZW50cyBpbnN0ZWFkIG9mIGdsb2JhbGx5IHRvIGJvZHkuXHJcbiAgICAgICAgLy8gTm90ZSB0aGlzIG9ubHkgYXBwbGllcyB0byB3ZWJraXQtYmFzZWQgZGVza3RvcCBicm93c2VycyBhbmQgRmlyZWZveCAyNSAoYW5kIGxhdGVyKSBvbiB0aGUgTWFjLlxyXG4gICAgICAgIC5hbnRpYWxpYXNlZCB7XHJcbiAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL1xyXG4gICAgICAgIC8vIEdsb2JhbCByZXNldHMgZm9yIGZvcm1zXHJcbiAgICAgICAgLy9cclxuICAgICAgICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcclxuICAgICAgICB0ZXh0YXJlYSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgbWluLWhlaWdodDogNTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgMTAwJSB3aWR0aCBieSBkZWZhdWx0XHJcbiAgICAgICAgc2VsZWN0IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuQGltcG9ydCBcImdsb2JhbFwiO1xyXG4vL1xyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtZ3JpZC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcbiRpbmNsdWRlLXhsLWh0bWwtZ3JpZC1jbGFzc2VzOiBmYWxzZSAhZGVmYXVsdDtcclxuJHJvdy13aWR0aDogcmVtLWNhbGMoMTAwMCkgIWRlZmF1bHQ7XHJcbiR0b3RhbC1jb2x1bW5zOiAxMiAhZGVmYXVsdDtcclxuJGxhc3QtY2hpbGQtZmxvYXQ6ICRvcHBvc2l0ZS1kaXJlY3Rpb24gIWRlZmF1bHQ7XHJcbi8vXHJcbi8vIEdyaWQgRnVuY3Rpb25zXHJcbi8vXHJcbi8vIERlcHJlY2F0ZWQ6IFdlJ2xsIGRyb3Agc3VwcG9ydCBmb3IgdGhpcyBpbiA1LjEsIHVzZSBncmlkLWNhbGMoKVxyXG5AZnVuY3Rpb24gZ3JpZENhbGMoJGNvbE51bWJlciwgJHRvdGFsQ29sdW1ucykge1xyXG4gICAgQHdhcm4gXCJncmlkQ2FsYygpIGlzIGRlcHJlY2F0ZWQsIHVzZSBncmlkLWNhbGMoKVwiO1xyXG4gICAgQHJldHVybiBncmlkLWNhbGMoJGNvbE51bWJlciwgJHRvdGFsQ29sdW1ucyk7XHJcbn1cclxuXHJcbi8vIEBGVU5DVElPTlxyXG4vLyAkY29sTnVtYmVyIC0gRm91bmQgaW4gc2V0dGluZ3MgZmlsZVxyXG4vLyAkdG90YWxDb2x1bW5zIC0gRm91bmQgaW4gc2V0dGluZ3MgZmlsZVxyXG5AZnVuY3Rpb24gZ3JpZC1jYWxjKCRjb2xOdW1iZXIsICR0b3RhbENvbHVtbnMpIHtcclxuICAgIC8vJHJlc3VsdDogcGVyY2VudGFnZSgoJGNvbE51bWJlciAvICR0b3RhbENvbHVtbnMpKTtcclxuICAgICRyZXN1bHQ6IHBlcmNlbnRhZ2UoKG1hdGguZGl2KCRjb2xOdW1iZXIsICR0b3RhbENvbHVtbnMpKSk7XHJcbiAgICBAaWYgJHJlc3VsdD09MCUge1xyXG4gICAgICAgICRyZXN1bHQ6IDA7XHJcbiAgICB9XHJcbiAgICBAcmV0dXJuICRyZXN1bHQ7XHJcbn1cclxuXHJcbi8vXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gRm9yIGNyZWF0aW5nIGNvbnRhaW5lciwgbmVzdGVkLCBhbmQgY29sbGFwc2VkIHJvd3MuXHJcbi8vXHJcbi8vXHJcbi8vICRiZWhhdmlvciAtIEFueSBzcGVjaWFsIGJlaGF2aW9yIGZvciB0aGlzIHJvdz8gRGVmYXVsdDogZmFsc2UuIE9wdGlvbnM6IG5lc3QsIGNvbGxhcHNlLCBuZXN0LWNvbGxhcHNlLCBmYWxzZS5cclxuQG1peGluIGdyaWQtcm93KCRiZWhhdmlvcjogZmFsc2UpIHtcclxuICAgIC8vIHVzZSBAaW5jbHVkZSBncmlkLXJvdyhuZXN0KTsgdG8gaW5jbHVkZSBhIG5lc3RlZCByb3dcclxuICAgIEBpZiAkYmVoYXZpb3I9PW5lc3Qge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIC8vbWFyZ2luOiAwICgtKCRjb2x1bW4tZ3V0dGVyLzIpKTtcclxuICAgICAgICBtYXJnaW46IDAgKC0oIG1hdGguZGl2KCRjb2x1bW4tZ3V0dGVyLCAyKSkpO1xyXG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgIH1cclxuICAgIC8vIHVzZSBAaW5jbHVkZSBncmlkLXJvdyhjb2xsYXBzZSk7IHRvIGNvbGxhcHNlZCBhIGNvbnRhaW5lciByb3cgbWFyZ2luc1xyXG4gICAgQGVsc2UgaWYgJGJlaGF2aW9yPT1jb2xsYXBzZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIG1heC13aWR0aDogJHJvdy13aWR0aDtcclxuICAgIH1cclxuICAgIC8vIHVzZSBAaW5jbHVkZSBncmlkLXJvdyhuZXN0LWNvbGxhcHNlKTsgdG8gY29sbGFwc2Ugb3V0ZXIgbWFyZ2lucyBvbiBhIG5lc3RlZCByb3dcclxuICAgIEBlbHNlIGlmICRiZWhhdmlvcj09bmVzdC1jb2xsYXBzZSB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgIH1cclxuICAgIC8vIHVzZSBAaW5jbHVkZSBncmlkLXJvdzsgdG8gdXNlIGEgY29udGFpbmVyIHJvd1xyXG4gICAgQGVsc2Uge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIG1heC13aWR0aDogJHJvdy13aWR0aDtcclxuICAgIH1cclxuICAgIC8vIENsZWFyZml4IGZvciBhbGwgcm93c1xyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcclxufVxyXG5cclxuLy8gQ3JlYXRlcyBhIGNvbHVtbiwgc2hvdWxkIGJlIHVzZWQgaW5zaWRlIG9mIGEgbWVkaWEgcXVlcnkgdG8gY29udHJvbCBsYXlvdXRzXHJcbi8vXHJcbi8vICRjb2x1bW5zIC0gVGhlIG51bWJlciBvZiBjb2x1bW5zIHRoaXMgc2hvdWxkIGJlXHJcbi8vICRsYXN0LWNvbHVtbiAtIElzIHRoaXMgdGhlIGxhc3QgY29sdW1uPyBEZWZhdWx0OiBmYWxzZS5cclxuLy8gJGNlbnRlciAtIENlbnRlciB0aGVzZSBjb2x1bW5zPyBEZWZhdWx0OiBmYWxzZS5cclxuLy8gJG9mZnNldCAtICMgb2YgY29sdW1ucyB0byBvZmZzZXQuIERlZmF1bHQ6IGZhbHNlLlxyXG4vLyAkcHVzaCAtICMgb2YgY29sdW1ucyB0byBwdXNoLiBEZWZhdWx0OiBmYWxzZS5cclxuLy8gJHB1bGwgLSAjIG9mIGNvbHVtbnMgdG8gcHVsbC4gRGVmYXVsdDogZmFsc2UuXHJcbi8vICRjb2xsYXBzZSAtIEdldCByaWQgb2YgZ3V0dGVyIHBhZGRpbmcgb24gY29sdW1uPyBEZWZhdWx0OiBmYWxzZS5cclxuLy8gJGZsb2F0IC0gU2hvdWxkIHRoaXMgZmxvYXQ/IERlZmF1bHQ6IHRydWUuIE9wdGlvbnM6IHRydWUsIGZhbHNlLCBsZWZ0LCByaWdodC5cclxuQG1peGluIGdyaWQtY29sdW1uKCAkY29sdW1uczpmYWxzZSwgJGxhc3QtY29sdW1uOmZhbHNlLCAkY2VudGVyOmZhbHNlLCAkb2Zmc2V0OmZhbHNlLCAkcHVzaDpmYWxzZSwgJHB1bGw6ZmFsc2UsICRjb2xsYXBzZTpmYWxzZSwgJGZsb2F0OnRydWUsICRwb3NpdGlvbjpmYWxzZSkge1xyXG4gICAgLy8gSWYgcG9zaXRpb25lZCBmb3IgZGVmYXVsdCAuY29sdW1uLCBpbmNsdWRlIHJlbGF0aXZlIHBvc2l0aW9uXHJcbiAgICAvLyBwdXNoIGFuZCBwdWxsIHJlcXVpcmUgcG9zaXRpb24gc2V0XHJcbiAgICBAaWYgJHBvc2l0aW9uIG9yICRwdXNoIG9yICRwdWxsIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbiAgICAvLyBJZiBjb2xsYXBzZWQsIGdldCByaWQgb2YgZ3V0dGVyIHBhZGRpbmdcclxuICAgIEBpZiAkY29sbGFwc2Uge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gICAgLy8gR3V0dGVyIHBhZGRpbmcgd2hlbmV2ZXIgYSBjb2x1bW4gaXNuJ3Qgc2V0IHRvIGNvbGxhcHNlXHJcbiAgICAvLyAodXNlICRjb2xsYXBzZTpudWxsIHRvIGRvIG5vdGhpbmcpXHJcbiAgICBAZWxzZSBpZiAkY29sbGFwc2U9PWZhbHNlIHtcclxuICAgICAgICAvL3BhZGRpbmctbGVmdDogKCRjb2x1bW4tZ3V0dGVyIC8gMik7XHJcbiAgICAgICAgLy9wYWRkaW5nLXJpZ2h0OiAoJGNvbHVtbi1ndXR0ZXIgLyAyKTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IG1hdGguZGl2KCRjb2x1bW4tZ3V0dGVyLCAyKTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBtYXRoLmRpdigkY29sdW1uLWd1dHRlciwgMik7XHJcbiAgICB9XHJcbiAgICAvLyBJZiBhIGNvbHVtbiBudW1iZXIgaXMgZ2l2ZW4sIGNhbGN1bGF0ZSB3aWR0aFxyXG4gICAgQGlmICRjb2x1bW5zIHtcclxuICAgICAgICB3aWR0aDogZ3JpZC1jYWxjKCRjb2x1bW5zLCAkdG90YWwtY29sdW1ucyk7XHJcbiAgICAgICAgLy8gSWYgbGFzdCBjb2x1bW4sIGZsb2F0IG5hdHVyYWxseSBpbnN0ZWFkIG9mIHRvIHRoZSByaWdodFxyXG4gICAgICAgIEBpZiAkbGFzdC1jb2x1bW4ge1xyXG4gICAgICAgICAgICBmbG9hdDogJG9wcG9zaXRlLWRpcmVjdGlvbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBTb3VyY2UgT3JkZXJpbmcsIGFkZHMgbGVmdC9yaWdodCBkZXBlbmRpbmcgb24gd2hpY2ggeW91IHVzZS5cclxuICAgIEBpZiAkcHVzaCB7XHJcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IGdyaWQtY2FsYygkcHVzaCwgJHRvdGFsLWNvbHVtbnMpO1xyXG4gICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XHJcbiAgICB9XHJcbiAgICBAaWYgJHB1bGwge1xyXG4gICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGdyaWQtY2FsYygkcHVsbCwgJHRvdGFsLWNvbHVtbnMpO1xyXG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xyXG4gICAgfVxyXG4gICAgQGlmICRmbG9hdCB7XHJcbiAgICAgICAgQGlmICRmbG9hdD09bGVmdCBvciAkZmxvYXQ9PXRydWUge1xyXG4gICAgICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBlbHNlIGlmICRmbG9hdD09cmlnaHQge1xyXG4gICAgICAgICAgICBmbG9hdDogJG9wcG9zaXRlLWRpcmVjdGlvbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBJZiBjZW50ZXJlZCwgZ2V0IHJpZCBvZiBmbG9hdCBhbmQgYWRkIGFwcHJvcHJpYXRlIG1hcmdpbnNcclxuICAgIEBpZiAkY2VudGVyIHtcclxuICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAvLyBJZiBvZmZzZXQsIGNhbGN1bGF0ZSBhcHByb3ByaWF0ZSBtYXJnaW5zXHJcbiAgICBAaWYgJG9mZnNldCB7XHJcbiAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiBncmlkLWNhbGMoJG9mZnNldCwgJHRvdGFsLWNvbHVtbnMpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIENyZWF0ZSBwcmVzZW50YXRpb25hbCBjbGFzc2VzIGZvciBncmlkXHJcbi8vXHJcbi8vICRzaXplIC0gTmFtZSBvZiBjbGFzcyB0byB1c2UsIGkuZS4gXCJsYXJnZVwiIHdpbGwgZ2VuZXJhdGUgLmxhcmdlLTEsIC5sYXJnZS0yLCBldGMuXHJcbkBtaXhpbiBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZSkge1xyXG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkdG90YWwtY29sdW1ucyAtIDEge1xyXG4gICAgICAgIC4jeyRzaXplfS1wdXNoLSN7JGl9IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1c2g6ICRpLCAkY29sbGFwc2U6IG51bGwsICRmbG9hdDogZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuI3skc2l6ZX0tcHVsbC0jeyRpfSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdWxsOiAkaSwgJGNvbGxhcHNlOiBudWxsLCAkZmxvYXQ6IGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29sdW1uLFxyXG4gICAgLmNvbHVtbnMge1xyXG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zOiBmYWxzZSwgJHBvc2l0aW9uOiB0cnVlKTtcclxuICAgIH1cclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHRvdGFsLWNvbHVtbnMge1xyXG4gICAgICAgIC4jeyRzaXplfS0jeyRpfSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zOiAkaSwgJGNvbGxhcHNlOiBudWxsLCAkZmxvYXQ6IGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIC0gMSB7XHJcbiAgICAgICAgLiN7JHNpemV9LW9mZnNldC0jeyRpfSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRvZmZzZXQ6ICRpLCAkY29sbGFwc2U6IG51bGwsICRmbG9hdDogZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC4jeyRzaXplfS1yZXNldC1vcmRlciB7XHJcbiAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xyXG4gICAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xyXG4gICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xyXG4gICAgfVxyXG4gICAgLmNvbHVtbi4jeyRzaXplfS1jZW50ZXJlZCxcclxuICAgIC5jb2x1bW5zLiN7JHNpemV9LWNlbnRlcmVkIHtcclxuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY2VudGVyOiB0cnVlLCAkY29sbGFwc2U6IG51bGwsICRmbG9hdDogZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgLmNvbHVtbi4jeyRzaXplfS11bmNlbnRlcmVkLFxyXG4gICAgLmNvbHVtbnMuI3skc2l6ZX0tdW5jZW50ZXJlZCB7XHJcbiAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xyXG4gICAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xyXG4gICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcclxuICAgIH1cclxuICAgIC8vIEZpZ2h0aW5nIFtjbGFzcyo9XCJjb2x1bW5cIl0gKyBbY2xhc3MqPVwiY29sdW1uXCJdOmxhc3QtY2hpbGRcclxuICAgIC5jb2x1bW4uI3skc2l6ZX0tY2VudGVyZWQ6bGFzdC1jaGlsZCxcclxuICAgIC5jb2x1bW5zLiN7JHNpemV9LWNlbnRlcmVkOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgfVxyXG4gICAgLy8gRmlnaHRpbmcgLmNvbHVtbi48cHJldmlvdXMtc2l6ZT4tY2VudGVyZWQ6bGFzdC1jaGlsZFxyXG4gICAgLmNvbHVtbi4jeyRzaXplfS11bmNlbnRlcmVkOmxhc3QtY2hpbGQsXHJcbiAgICAuY29sdW1ucy4jeyRzaXplfS11bmNlbnRlcmVkOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcclxuICAgIH1cclxuICAgIC5jb2x1bW4uI3skc2l6ZX0tdW5jZW50ZXJlZC5vcHBvc2l0ZSxcclxuICAgIC5jb2x1bW5zLiN7JHNpemV9LXVuY2VudGVyZWQub3Bwb3NpdGUge1xyXG4gICAgICAgIGZsb2F0OiAkb3Bwb3NpdGUtZGlyZWN0aW9uO1xyXG4gICAgfVxyXG4gICAgLnJvdyB7XHJcbiAgICAgICAgJi4jeyRzaXplfS1jb2xsYXBzZSB7XHJcbiAgICAgICAgICAgID4uY29sdW1uLFxyXG4gICAgICAgICAgICA+LmNvbHVtbnMge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbGxhcHNlOiB0cnVlLCAkZmxvYXQ6IGZhbHNlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucm93IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuI3skc2l6ZX0tdW5jb2xsYXBzZSB7XHJcbiAgICAgICAgICAgID4uY29sdW1uLFxyXG4gICAgICAgICAgICA+LmNvbHVtbnMge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJncmlkXCIpIHtcclxuICAgIEBpZiAkaW5jbHVkZS1odG1sLWdyaWQtY2xhc3NlcyB7XHJcbiAgICAgICAgLnJvdyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtcm93O1xyXG4gICAgICAgICAgICAmLmNvbGxhcHNlIHtcclxuICAgICAgICAgICAgICAgID4uY29sdW1uLFxyXG4gICAgICAgICAgICAgICAgPi5jb2x1bW5zIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sbGFwc2U6IHRydWUsICRmbG9hdDogZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnJvdyB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yb3cge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcclxuICAgICAgICAgICAgICAgICYuY29sbGFwc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdC1jb2xsYXBzZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbHVtbixcclxuICAgICAgICAuY29sdW1ucyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zOiAkdG90YWwtY29sdW1ucyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFtjbGFzcyo9XCJjb2x1bW5cIl0rW2NsYXNzKj1cImNvbHVtblwiXTpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgZmxvYXQ6ICRsYXN0LWNoaWxkLWZsb2F0O1xyXG4gICAgICAgIH1cclxuICAgICAgICBbY2xhc3MqPVwiY29sdW1uXCJdK1tjbGFzcyo9XCJjb2x1bW5cIl0uZW5kIHtcclxuICAgICAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgI3skc21hbGwtdXB9IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6IHNtYWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTogbWVkaXVtKTtcclxuICAgICAgICAgICAgLy8gT2xkIHB1c2ggYW5kIHB1bGwgY2xhc3Nlc1xyXG4gICAgICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIC0gMSB7XHJcbiAgICAgICAgICAgICAgICAucHVzaC0jeyRpfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1c2g6ICRpLCAkY29sbGFwc2U6IG51bGwsICRmbG9hdDogZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnB1bGwtI3skaX0ge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdWxsOiAkaSwgJGNvbGxhcHNlOiBudWxsLCAkZmxvYXQ6IGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6IGxhcmdlKTtcclxuICAgICAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkdG90YWwtY29sdW1ucyAtIDEge1xyXG4gICAgICAgICAgICAgICAgLnB1c2gtI3skaX0ge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdXNoOiAkaSwgJGNvbGxhcHNlOiBudWxsLCAkZmxvYXQ6IGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5wdWxsLSN7JGl9IHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVsbDogJGksICRjb2xsYXBzZTogbnVsbCwgJGZsb2F0OiBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaWYgJGluY2x1ZGUteGwtaHRtbC1ncmlkLWNsYXNzZXMge1xyXG4gICAgICAgIEBtZWRpYSAjeyR4bGFyZ2UtdXB9IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6IHhsYXJnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyR4eGxhcmdlLXVwfSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOiB4eGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuQHVzZSBcInNhc3M6bWF0aFwiO1xyXG5AaW1wb3J0IFwiZ2xvYmFsXCI7XHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuJGluY2x1ZGUtaHRtbC1hY2NvcmRpb24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG4kYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZzogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xyXG4kYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3I6ICRzaWx2ZXIgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvcjogc2NhbGUtY29sb3IoJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0O1xyXG4kYWNjb3JkaW9uLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3IsICRsaWdodG5lc3M6IC0zJSkgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xyXG4kYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XHJcbi8vJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6ICgkY29sdW1uLWd1dHRlci8yKSAhZGVmYXVsdDtcclxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IChtYXRoLmRpdigkY29sdW1uLWd1dHRlciwgMikpICFkZWZhdWx0O1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlLWJnLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbi8vICBNaXhpbjogYWNjb3JkaW9uLWNvbnRhaW5lcigpXHJcbi8vICBEZWNyaXB0aW9uOiBSZXNwb25zaWJsZSBmb3IgdGhlIGNvbnRhaW5lciBjb21wb25lbnQgb2YgYWNjb3JkaW9ucywgZ2VuZXJhdGluZyBzdHlsZXMgcmVsYXRpbmcgdG8gYSBtYXJnaW4gb2YgemVybyBhbmQgYSBjbGVhcmZpeFxyXG4vLyAgRXhwbGljaXQgRGVwZW5kZW5jaWVzOiBhIGNsZWFyZml4IG1peGluICppcyogZGVmaW5lZC5cclxuLy8gIEltcGxpY2l0IERlcGVuZGVuY2llczogTm9uZVxyXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lcigpIHtcclxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuLy8gIE1peGluOiBhY2NvcmRpb24tbmF2aWdhdGlvbiggJGJnLCAkaG92ZXItYmcsICRhY3RpdmUtYmcsICRwYWRkaW5nLCAkYWN0aXZlX2NsYXNzLCAgJGZvbnQtY29sb3IsICRmb250LXNpemUsICRmb250LWZhbWlseSkge1xyXG4vLyAgICBAcGFyYW1zICRiZy1jb2xvcjogWyBjb2xvciBvciBzdHJpbmcgXTogU3BlY2lmeSB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG5hdmlnYXRpb24gZWxlbWVudFxyXG4vLyAgICBAcGFyYW1zICRob3Zlci1iZy1jb2xvciBbIGNvbG9yIG9yIHN0cmluZyBdOiBTcGVjaWZ5IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgbmF2aWdhdGlvbiBlbGVtZW50IHdoZW4gaG92ZXJlZFxyXG4vLyAgICBAcGFyYW1zICRhY3RpdmUtYmcgWyBjb2xvciBvciBzdHJpbmcgXTogU3BlY2lmeSB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG5hdmlnYXRpb24gZWxlbWVudCB3aGVuIGNsaWNrZWQgYW5kIG5vdCByZWxlYXNlZC5cclxuLy8gICAgQHBhcmFtcyAkYWN0aXZlX2NsYXNzIFsgc3RyaW5nIF06IFNwZWNpZnkgdGhlIGNsYXNzIG5hbWUgdXNlZCB0byBrZWVwIHRyYWNrIG9mIHdoaWNoIGFjY29yZGlvbiB0YWIgc2hvdWxkIGJlIHZpc2libGVcclxuLy8gICAgQHBhcmFtcyAkZm9udC1jb2xvciBbIGNvbG9yIG9yIHN0cmluZyBdOiBDb2xvciBvZiB0aGUgZm9udCBmb3IgYWNjb3JkaW9uXHJcbi8vICAgIEBwYXJhbXMgJGZvbnQtc2l6ZSBbIG51bWJlciBdOiBTcGVjaWZpeSB0aGUgZm9udC1zaXplIG9mIHRoZSB0ZXh0IGluc2lkZSB0aGUgbmF2aWdhdGlvbiBlbGVtZW50XHJcbi8vICAgIEBwYXJhbXMgJGZvbnQtZmFtaWx5IFsgc3RyaW5nIF06IFNwZWNpZnkgdGhlIGZvbnQgZmFtaWx5IGZvciB0aGUgdGV4dCBvZiB0aGUgbmF2aWdhdGlvbiBvZiB0aGUgYWNjb3Jpb25cclxuQG1peGluIGFjY29yZGlvbi1uYXZpZ2F0aW9uKCAkYmc6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvciwgJGhvdmVyLWJnOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24taG92ZXItYmctY29sb3IsICRhY3RpdmUtYmc6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3IsICRwYWRkaW5nOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZywgJGFjdGl2ZV9jbGFzczogJ2FjdGl2ZScsICRmb250LWNvbG9yOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1jb2xvciwgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZSwgJGZvbnQtZmFtaWx5OiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1mYW1pbHkpIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgQGlmIHR5cGUtb2YoJGFjdGl2ZV9jbGFzcykgIT1cInN0cmluZ1wiIHtcclxuICAgICAgICBAd2FybiBcImAjeyRhY3RpdmVfY2xhc3N9YCBpc24ndCBhIHZhbGlkIHN0cmluZy4gQSB2YWxpZCBzdHJpbmcgaXMgbmVlZGVkIHRvIGNvcnJlY3RseSBiZSBpbnRlcnBvbGF0ZWQgYXMgYSBDU1MgY2xhc3MuIENTUyBjbGFzc2VzIGNhbm5vdCBzdGFydCB3aXRoIGEgbnVtYmVyIG9yIGNvbnNpc3Qgb2Ygb25seSBudW1iZXJzLiBDU1Mgd2lsbCBub3QgYmUgZ2VuZXJhdGVkIGZvciB0aGUgYWN0aXZlIHN0YXRlIG9mIHRoaXMgbmF2aWdhdGlvbiBjb21wb25lbnQuXCJcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgICAmLiN7ICRhY3RpdmVfY2xhc3MgfT5hIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjdGl2ZS1iZztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICA+YSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGJnO1xyXG4gICAgICAgIGNvbG9yOiAkZm9udC1jb2xvcjtcclxuICAgICAgICBAaWYgdHlwZS1vZigkcGFkZGluZykgIT1udW1iZXIge1xyXG4gICAgICAgICAgICBAd2FybiBcImAjeyRwYWRkaW5nfWAgd2FzIHJlYWQgYXMgI3t0eXBlLW9mKCRwYWRkaW5nKX1cIjtcclxuICAgICAgICAgICAgQGlmICRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nICE9bnVsbCB7XHJcbiAgICAgICAgICAgICAgICBAd2FybiBcIiN7JHBhZGRpbmd9IHdhcyByZWFkIGFzIGEgI3t0eXBlLW9mKCRwYWRkaW5nKX1cIjtcclxuICAgICAgICAgICAgICAgIEB3YXJuIFwiYCN7JHBhZGRpbmd9YCBpc24ndCBhIHZhbGlkIG51bWJlci4gJGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmcgKCN7JGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmd9KSB3aWxsIGJlIHVzZWQgaW5zdGVhZC4pXCI7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBAd2FybiBcImAjeyRwYWRkaW5nfWAgaXNuJ3QgYSB2YWxpZCBudW1iZXIgYW5kICRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nIGlzIG1pc3NpbmcuIEEgdmFsdWUgb2YgYG51bGxgIGlzIHJldHVybmVkIHRvIG5vdCBvdXRwdXQgYW4gaW52YWxpZCB2YWx1ZSBmb3IgcGFkZGluZ1wiO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xyXG4gICAgICAgIEBpZiB0eXBlLW9mKCRmb250LXNpemUpICE9bnVtYmVyIHtcclxuICAgICAgICAgICAgQHdhcm4gXCJgI3skZm9udC1zaXplfWAgd2FzIHJlYWQgYXMgYSAje3R5cGUtb2YoJGZvbnQtc2l6ZSl9XCI7XHJcbiAgICAgICAgICAgIEBpZiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplICE9bnVsbCB7XHJcbiAgICAgICAgICAgICAgICBAd2FybiBcImAjeyRmb250LXNpemV9YCBpcyBub3QgYSB2YWxpZCBudW1iZXIuIFRoZSB2YWx1ZSBvZiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplIHdpbGwgYmUgdXNlZCBpbnN0ZWFkICgjeyRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemV9KS5cIjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBAd2FybiBcImAjeyRmb250LXNpemV9YCBpcyBub3QgYSB2YWxpZCBudW1iZXIgYW5kIHRoZSBkZWZhdWx0IHZhbHVlIG9mICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemUgaXMgbm90IGRlZmluZWQuIEEgdmFsdWUgb2YgYG51bGxgIHdpbGwgYmUgcmV0dXJuZWQgdG8gbm90IGdlbmVyYXRlIGFuIGludmFsaWQgdmFsdWUgZm9yIGZvbnQtc2l6ZS5cIjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRob3Zlci1iZztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vICBNaXhpbjogYWNjb3JkaW9uLWNvbnRlbnQoJGJnLCAkcGFkZGluZywgJGFjdGl2ZS1jbGFzcylcclxuLy8gICAgQHBhcmFtcyAkcGFkZGluZyBbIG51bWJlciBdOiBQYWRkaW5nIGZvciB0aGUgY29udGVudCBvZiB0aGUgY29udGFpbmVyXHJcbi8vICAgIEBwYXJhbXMgJGJnIFsgY29sb3IgIF06IEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBjb250ZW50IHdoZW4gaXQncyB2aXNpYmxlXHJcbi8vICAgIEBwYXJhbXMgJGFjdGl2ZV9jbGFzcyBbIHN0cmluZyBdOiBDbGFzcyBuYW1lIHVzZWQgdG8ga2VlcCB0cmFjayBvZiB3aGljaCBhY2NvcmRpb24gdGFiIHNob3VsZCBiZSB2aXNpYmxlLlxyXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQoJGJnOiAkYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlLWJnLWNvbG9yLCAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsICRhY3RpdmVfY2xhc3M6ICdhY3RpdmUnKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgQGlmIHR5cGUtb2YoJHBhZGRpbmcpICE9XCJudW1iZXJcIiB7XHJcbiAgICAgICAgQHdhcm4gXCIjeyRwYWRkaW5nfSB3YXMgcmVhZCBhcyBhICN7dHlwZS1vZigkcGFkZGluZyl9XCI7XHJcbiAgICAgICAgQGlmICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nICE9bnVsbCB7XHJcbiAgICAgICAgICAgIEB3YXJuIFwiYCN7JHBhZGRpbmd9YCBpc24ndCBhIHZhbGlkIG51bWJlci4gJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcgdXNlZCBpbnN0ZWFkXCI7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICAgIEB3YXJuIFwiYCN7JHBhZGRpbmd9YCBpc24ndCBhIHZhbGlkIG51bWJlciBhbmQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcgaXMgbm90IGRlZmluZWQuIEEgdmFsdWUgb2YgYG51bGxgIGlzIHJldHVybmVkIHRvIG5vdCBvdXRwdXQgYW4gaW52YWxpZCB2YWx1ZSBmb3IgcGFkZGluZy5cIjtcclxuICAgICAgICAgICAgcGFkZGluZzogbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICBAaWYgdHlwZS1vZigkYWN0aXZlX2NsYXNzKSAhPVwic3RyaW5nXCIge1xyXG4gICAgICAgIEB3YXJuIFwiYCN7JGFjdGl2ZV9jbGFzc31gIGlzbid0IGEgdmFsaWQgc3RyaW5nLiBBIHZhbGlkIHN0cmluZyBpcyBuZWVkZWQgdG8gY29ycmVjdGx5IGJlIGludGVycG9sYXRlZCBhcyBhIENTUyBjbGFzcy4gQ1NTIGNsYXNzZXMgY2Fubm90IHN0YXJ0IHdpdGggYSBudW1iZXIgb3IgY29uc2lzdCBvZiBvbmx5IG51bWJlcnMuIENTUyB3aWxsIG5vdCBiZSBnZW5lcmF0ZWQgZm9yIHRoZSBhY3RpdmUgc3RhdGUgb2YgdGhlIGNvbnRlbnQuIFwiXHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICAgJi4jeyRhY3RpdmVfY2xhc3N9IHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRiZztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJhY2NvcmRpb25cIikge1xyXG4gICAgQGlmICRpbmNsdWRlLWh0bWwtYWNjb3JkaW9uLWNsYXNzZXMge1xyXG4gICAgICAgIC5hY2NvcmRpb24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgLmFjY29yZGlvbi1uYXZpZ2F0aW9uLFxyXG4gICAgICAgICAgICBkZCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICYuYWN0aXZlPmEge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+YSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZztcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4uY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlLWJnLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5AdXNlIFwic2FzczptYXRoXCI7XHJcbkBpbXBvcnQgXCJnbG9iYWxcIjtcclxuLy9cclxuLy8gQWxlcnQgQm94IFZhcmlhYmxlc1xyXG4vL1xyXG4kaW5jbHVkZS1odG1sLWFsZXJ0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhbGVydCBwYWRkaW5nLlxyXG4kYWxlcnQtcGFkZGluZy10b3A6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcclxuJGFsZXJ0LXBhZGRpbmctZGVmYXVsdC1mbG9hdDogJGFsZXJ0LXBhZGRpbmctdG9wICFkZWZhdWx0O1xyXG4kYWxlcnQtcGFkZGluZy1vcHBvc2l0ZS1kaXJlY3Rpb246ICRhbGVydC1wYWRkaW5nLXRvcCtyZW0tY2FsYygxMCkgIWRlZmF1bHQ7XHJcbiRhbGVydC1wYWRkaW5nLWJvdHRvbTogJGFsZXJ0LXBhZGRpbmctdG9wICFkZWZhdWx0O1xyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IHN0eWxlLlxyXG4kYWxlcnQtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcbiRhbGVydC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcclxuJGFsZXJ0LWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJGFsZXJ0LWZvbnQtY29sb3ItYWx0OiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtNjYlKSAhZGVmYXVsdDtcclxuLy8gV2UgdXNlIHRoaXMgZm9yIGNsb3NlIGhvdmVyIGVmZmVjdC5cclxuJGFsZXJ0LWZ1bmN0aW9uLWZhY3RvcjogLTE0JSAhZGVmYXVsdDtcclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlcy5cclxuJGFsZXJ0LWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XHJcbiRhbGVydC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcclxuJGFsZXJ0LWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6ICRhbGVydC1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xyXG4kYWxlcnQtYm90dG9tLW1hcmdpbjogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGNsb3NlIGJ1dHRvbnNcclxuJGFsZXJ0LWNsb3NlLWNvbG9yOiAkb2lsICFkZWZhdWx0O1xyXG4kYWxlcnQtY2xvc2UtdG9wOiA1MCUgIWRlZmF1bHQ7XHJcbiRhbGVydC1jbG9zZS1wb3NpdGlvbjogcmVtLWNhbGMoNCkgIWRlZmF1bHQ7XHJcbiRhbGVydC1jbG9zZS1mb250LXNpemU6IHJlbS1jYWxjKDIyKSAhZGVmYXVsdDtcclxuJGFsZXJ0LWNsb3NlLW9wYWNpdHk6IC4zICFkZWZhdWx0O1xyXG4kYWxlcnQtY2xvc2Utb3BhY2l0eS1ob3ZlcjogLjUgIWRlZmF1bHQ7XHJcbiRhbGVydC1jbG9zZS1wYWRkaW5nOiAwIDZweCA0cHggIWRlZmF1bHQ7XHJcbiRhbGVydC1jbG9zZS1iYWNrZ3JvdW5kOiBpbmhlcml0ICFkZWZhdWx0O1xyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGJvcmRlciByYWRpdXNcclxuJGFsZXJ0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcbiRhbGVydC10cmFuc2l0aW9uLXNwZWVkOiAzMDBtcyAhZGVmYXVsdDtcclxuJGFsZXJ0LXRyYW5zaXRpb24tZWFzZTogZWFzZS1vdXQgIWRlZmF1bHQ7XHJcbi8vXHJcbi8vIEFsZXJ0IE1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYSBkZWZhdWx0IGFsZXJ0IGJhc2UuXHJcbkBtaXhpbiBhbGVydC1iYXNlIHtcclxuICAgIGJvcmRlci1zdHlsZTogJGFsZXJ0LWJvcmRlci1zdHlsZTtcclxuICAgIGJvcmRlci13aWR0aDogJGFsZXJ0LWJvcmRlci13aWR0aDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRhbGVydC1mb250LXdlaWdodDtcclxuICAgIG1hcmdpbi1ib3R0b206ICRhbGVydC1ib3R0b20tbWFyZ2luO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmctdG9wICRhbGVydC1wYWRkaW5nLW9wcG9zaXRlLWRpcmVjdGlvbiAkYWxlcnQtcGFkZGluZy1ib3R0b20gJGFsZXJ0LXBhZGRpbmctZGVmYXVsdC1mbG9hdDtcclxuICAgIGZvbnQtc2l6ZTogJGFsZXJ0LWZvbnQtc2l6ZTtcclxuICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKG9wYWNpdHksICRhbGVydC10cmFuc2l0aW9uLXNwZWVkLCAkYWxlcnQtdHJhbnNpdGlvbi1lYXNlKVxyXG59XHJcblxyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgYWxlcnQgc3R5bGVzXHJcbi8vXHJcbi8vICRiZyAtIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSBhbGVydC4gRGVmYXVsdDogJHByaW1hcnktY29sb3IuXHJcbkBtaXhpbiBhbGVydC1zdHlsZSgkYmc6JHByaW1hcnktY29sb3IpIHtcclxuICAgIC8vIFRoaXMgZmluZHMgdGhlIGxpZ2h0bmVzcyBwZXJjZW50YWdlIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxyXG4gICAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XHJcbiAgICAvLyBXZSBjb250cm9sIHdoaWNoIGJhY2tncm91bmQgY29sb3IgYW5kIGJvcmRlciBjb21lIHRocm91Z2guXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XHJcbiAgICBib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRiZywgJGxpZ2h0bmVzczogJGFsZXJ0LWZ1bmN0aW9uLWZhY3Rvcik7XHJcbiAgICAvLyBXZSBjb250cm9sIHRoZSB0ZXh0IGNvbG9yIGZvciB5b3UgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXHJcbiAgICBAaWYgJGJnLWxpZ2h0bmVzcz43MCUge1xyXG4gICAgICAgIGNvbG9yOiAkYWxlcnQtZm9udC1jb2xvci1hbHQ7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICAgY29sb3I6ICRhbGVydC1mb250LWNvbG9yO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgdGhlIGNsb3NlIGJ1dHRvbi5cclxuQG1peGluIGFsZXJ0LWNsb3NlIHtcclxuICAgIGZvbnQtc2l6ZTogJGFsZXJ0LWNsb3NlLWZvbnQtc2l6ZTtcclxuICAgIHBhZGRpbmc6ICRhbGVydC1jbG9zZS1wYWRkaW5nO1xyXG4gICAgbGluZS1oZWlnaHQ6IC45O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAkYWxlcnQtY2xvc2UtdG9wO1xyXG4gICAgLy9tYXJnaW4tdG9wOiAtKCRhbGVydC1jbG9zZS1mb250LXNpemUgLyAyKTtcclxuICAgIG1hcmdpbi10b3A6IC0obWF0aC5kaXYoJGFsZXJ0LWNsb3NlLWZvbnQtc2l6ZSwgMikpO1xyXG4gICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGFsZXJ0LWNsb3NlLXBvc2l0aW9uO1xyXG4gICAgY29sb3I6ICRhbGVydC1jbG9zZS1jb2xvcjtcclxuICAgIG9wYWNpdHk6ICRhbGVydC1jbG9zZS1vcGFjaXR5O1xyXG4gICAgYmFja2dyb3VuZDogJGFsZXJ0LWNsb3NlLWJhY2tncm91bmQ7XHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgb3BhY2l0eTogJGFsZXJ0LWNsb3NlLW9wYWNpdHktaG92ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIHF1aWNrbHkgY3JlYXRlIGFsZXJ0cyB3aXRoIGEgc2luZ2xlIG1peGluLlxyXG4vL1xyXG4vLyAkYmcgLSBCYWNrZ3JvdW5kIG9mIGFsZXJ0LiBEZWZhdWx0OiAkcHJpbWFyeS1jb2xvci5cclxuLy8gJHJhZGl1cyAtIFJhZGl1cyBvZiBhbGVydCBib3guIERlZmF1bHQ6IGZhbHNlLlxyXG5AbWl4aW4gYWxlcnQoJGJnOiRwcmltYXJ5LWNvbG9yLCAkcmFkaXVzOmZhbHNlKSB7XHJcbiAgICBAaW5jbHVkZSBhbGVydC1iYXNlO1xyXG4gICAgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJGJnKTtcclxuICAgIEBpbmNsdWRlIHJhZGl1cygkcmFkaXVzKTtcclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcImFsZXJ0LWJveFwiKSB7XHJcbiAgICBAaWYgJGluY2x1ZGUtaHRtbC1hbGVydC1jbGFzc2VzIHtcclxuICAgICAgICAuYWxlcnQtYm94IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYWxlcnQ7XHJcbiAgICAgICAgICAgIC5jbG9zZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBhbGVydC1jbG9zZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnJhZGl1cyB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByYWRpdXMoJGFsZXJ0LXJhZGl1cyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5yb3VuZCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByYWRpdXMoJGdsb2JhbC1yb3VuZGVkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJHN1Y2Nlc3MtY29sb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWxlcnQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJGFsZXJ0LWNvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnNlY29uZGFyeSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBhbGVydC1zdHlsZSgkc2Vjb25kYXJ5LWNvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLndhcm5pbmcge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJHdhcm5pbmctY29sb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaW5mbyB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBhbGVydC1zdHlsZSgkaW5mby1jb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hbGVydC1jbG9zZSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuQHVzZSBcInNhc3M6bWF0aFwiO1xyXG5AaW1wb3J0IFwiZ2xvYmFsXCI7XHJcbi8vXHJcbi8vIEJsb2NrIEdyaWQgVmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtYmxvY2stZ3JpZC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcbiRpbmNsdWRlLXhsLWh0bWwtYmxvY2stZ3JpZC1jbGFzc2VzOiBmYWxzZSAhZGVmYXVsdDtcclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgbWF4aW11bSBudW1iZXIgb2YgYmxvY2sgZ3JpZCBlbGVtZW50cyBwZXIgcm93XHJcbiRibG9jay1ncmlkLWVsZW1lbnRzOiAxMiAhZGVmYXVsdDtcclxuJGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XHJcbiRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQ6IGZhbHNlICFkZWZhdWx0O1xyXG5AaWYgJGFsaWduLWJsb2NrLWdyaWQtdG8tZ3JpZCB7XHJcbiAgICAkYmxvY2stZ3JpZC1kZWZhdWx0LXNwYWNpbmc6ICRjb2x1bW4tZ3V0dGVyO1xyXG59XHJcblxyXG4vLyBFbmFibGVzIG1lZGlhIHF1ZXJpZXMgZm9yIGJsb2NrLWdyaWQgY2xhc3Nlcy4gU2V0IHRvIGZhbHNlIGlmIHdyaXRpbmcgc2VtYW50aWMgSFRNTC5cclxuJGJsb2NrLWdyaWQtbWVkaWEtcXVlcmllczogdHJ1ZSAhZGVmYXVsdDtcclxuLy9cclxuLy8gQmxvY2sgR3JpZCBNaXhpbnNcclxuLy9cclxuLy8gQ3JlYXRlIGEgY3VzdG9tIGJsb2NrIGdyaWRcclxuLy9cclxuLy8gJHBlci1yb3cgLSAjIG9mIGl0ZW1zIHRvIGRpc3BsYXkgcGVyIHJvdy4gRGVmYXVsdDogZmFsc2UuXHJcbi8vICRzcGFjaW5nIC0gIyBvZiBlbXMgdG8gdXNlIGFzIHBhZGRpbmcgb24gZWFjaCBibG9jayBpdGVtLiBEZWZhdWx0OiByZW0tY2FsYygyMCkuXHJcbi8vICRpbmNsdWRlLXNwYWNpbmcgLSBBZGRzIHBhZGRpbmcgdG8gb3VyIGxpc3QgaXRlbS4gRGVmYXVsdDogdHJ1ZS5cclxuLy8gJGJhc2Utc3R5bGUgLSBBcHBseSBhIGJhc2Ugc3R5bGUgdG8gYmxvY2sgZ3JpZC4gRGVmYXVsdDogdHJ1ZS5cclxuQG1peGluIGJsb2NrLWdyaWQoICRwZXItcm93OmZhbHNlLCAkc3BhY2luZzokYmxvY2stZ3JpZC1kZWZhdWx0LXNwYWNpbmcsICRpbmNsdWRlLXNwYWNpbmc6dHJ1ZSwgJGJhc2Utc3R5bGU6dHJ1ZSkge1xyXG4gICAgQGlmICRiYXNlLXN0eWxlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIEBpZiAkYWxpZ24tYmxvY2stZ3JpZC10by1ncmlkIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICAgIC8vbWFyZ2luOiAwICgtJHNwYWNpbmcvMik7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAobWF0aC5kaXYoLSRzcGFjaW5nLCAyKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgICY+bGkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XHJcbiAgICAgICAgICAgIEBpZiAkaW5jbHVkZS1zcGFjaW5nIHtcclxuICAgICAgICAgICAgICAgIC8vcGFkZGluZzogMCAoJHNwYWNpbmcvMikgJHNwYWNpbmc7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIChtYXRoLmRpdigkc3BhY2luZywgMikpICRzcGFjaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGlmICRwZXItcm93IHtcclxuICAgICAgICAmPmxpIHtcclxuICAgICAgICAgICAgLy93aWR0aDogMTAwJS8kcGVyLXJvdztcclxuICAgICAgICAgICAgd2lkdGg6IG1hdGguZGl2KDEwMCUsICRwZXItcm93KTtcclxuICAgICAgICAgICAgQGlmICRpbmNsdWRlLXNwYWNpbmcge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAoJHNwYWNpbmcvMikgJHNwYWNpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgxbikge1xyXG4gICAgICAgICAgICAgICAgY2xlYXI6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgjeyRwZXItcm93fW4rMSkge1xyXG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1hbGlnbmVkKCRwZXItcm93LCAkc3BhY2luZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBibG9jay1ncmlkLWFsaWduZWQoJHBlci1yb3csICRzcGFjaW5nKSB7XHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLWVsZW1lbnRzIHtcclxuICAgICAgICBAaWYgJHBlci1yb3c+PSRpIHtcclxuICAgICAgICAgICAgJGdyaWQtY29sdW1uOiAnKycgKyAkaTtcclxuICAgICAgICAgICAgQGlmICRwZXItcm93PT0kaSB7XHJcbiAgICAgICAgICAgICAgICAkZ3JpZC1jb2x1bW46ICcnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoI3skcGVyLXJvd31uI3t1bnF1b3RlKCRncmlkLWNvbHVtbil9KSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICgkc3BhY2luZyAtICgoJHNwYWNpbmcgLyAkcGVyLXJvdykgKiAoJHBlci1yb3cgLSAoJGkgLSAxKSkpKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICgkc3BhY2luZyAtICgoJHNwYWNpbmcgLyAkcGVyLXJvdykgKiAkaSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBHZW5lcmF0ZSBwcmVzZW50YXRpb25hbCBtYXJrdXAgZm9yIGJsb2NrIGdyaWQuXHJcbi8vXHJcbi8vICRzaXplIC0gTmFtZSBvZiBjbGFzcyB0byB1c2UsIGkuZS4gXCJsYXJnZVwiIHdpbGwgZ2VuZXJhdGUgLmxhcmdlLWJsb2NrLWdyaWQtMSwgLmxhcmdlLWJsb2NrLWdyaWQtMiwgZXRjLlxyXG5AbWl4aW4gYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemUsICRpbmNsdWRlLXNwYWNpbmcpIHtcclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtZWxlbWVudHMge1xyXG4gICAgICAgIC4jeyRzaXplfS1ibG9jay1ncmlkLSN7KCRpKX0ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBibG9jay1ncmlkKCRpLCAkYmxvY2stZ3JpZC1kZWZhdWx0LXNwYWNpbmcsICRpbmNsdWRlLXNwYWNpbmcsIGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJibG9jay1ncmlkXCIpIHtcclxuICAgIEBpZiAkaW5jbHVkZS1odG1sLWJsb2NrLWdyaWQtY2xhc3NlcyB7XHJcbiAgICAgICAgW2NsYXNzKj1cImJsb2NrLWdyaWQtXCJdIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICRibG9jay1ncmlkLW1lZGlhLXF1ZXJpZXMge1xyXG4gICAgICAgICAgICBAbWVkaWEgI3skc21hbGwtdXB9IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOiBzbWFsbCwgJGluY2x1ZGUtc3BhY2luZzogZmFsc2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOiBtZWRpdW0sICRpbmNsdWRlLXNwYWNpbmc6IGZhbHNlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOiBsYXJnZSwgJGluY2x1ZGUtc3BhY2luZzogZmFsc2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkaW5jbHVkZS14bC1odG1sLWJsb2NrLWdyaWQtY2xhc3NlcyB7XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skeGxhcmdlLXVwfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6IHhsYXJnZSwgJGluY2x1ZGUtc3BhY2luZzogZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQG1lZGlhICN7JHh4bGFyZ2UtdXB9IHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBibG9jay1ncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTogeHhsYXJnZSwgJGluY2x1ZGUtc3BhY2luZzogZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0IFwiZ2xvYmFsXCI7XHJcblxyXG4vL1xyXG4vLyBCcmVhZGNydW1iIFZhcmlhYmxlc1xyXG4vL1xyXG4kaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBicmVhZGNydW1iIGNvbnRhaW5lci5cclxuJGNydW1iLWJnOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA1NSUpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgcGFkZGluZyBhcm91bmQgdGhlIGJyZWFkY3J1bWJzLlxyXG4kY3J1bWItcGFkZGluZzogcmVtLWNhbGMoOSAxNCA5KSAhZGVmYXVsdDtcclxuJGNydW1iLXNpZGUtcGFkZGluZzogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlcy5cclxuJGNydW1iLWZ1bmN0aW9uLWZhY3RvcjogLTEwJSAhZGVmYXVsdDtcclxuJGNydW1iLWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XHJcbiRjcnVtYi1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xyXG4kY3J1bWItYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkY3J1bWItYmcsICRsaWdodG5lc3M6ICRjcnVtYi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xyXG4kY3J1bWItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdmFyaW91cyB0ZXh0IHN0eWxlcyBmb3IgYnJlYWRjcnVtYnMuXHJcbiRjcnVtYi1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcclxuJGNydW1iLWZvbnQtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG4kY3J1bWItZm9udC1jb2xvci1jdXJyZW50OiAkb2lsICFkZWZhdWx0O1xyXG4kY3J1bWItZm9udC1jb2xvci11bmF2YWlsYWJsZTogJGFsdW1pbnVtICFkZWZhdWx0O1xyXG4kY3J1bWItZm9udC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcclxuJGNydW1iLWxpbmstZGVjb3I6IHVuZGVybGluZSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzbGFzaCBiZXR3ZWVuIGJyZWFkY3J1bWJzXHJcbiRjcnVtYi1zbGFzaC1jb2xvcjogJGJhc2UgIWRlZmF1bHQ7XHJcbiRjcnVtYi1zbGFzaDogXCIvXCIgIWRlZmF1bHQ7XHJcblxyXG4vL1xyXG4vLyBCcmVhZGNydW1iIE1peGluc1xyXG4vL1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGEgY29udGFpbmVyIGFyb3VuZCBvdXIgYnJlYWRjcnVtYnNcclxuQG1peGluIGNydW1iLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcGFkZGluZzogJGNydW1iLXBhZGRpbmc7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBib3JkZXItc3R5bGU6ICRjcnVtYi1ib3JkZXItc3R5bGU7XHJcbiAgYm9yZGVyLXdpZHRoOiAkY3J1bWItYm9yZGVyLXNpemU7XHJcblxyXG4gIC8vIFdlIGNvbnRyb2wgd2hpY2ggYmFja2dyb3VuZCBjb2xvciBhbmQgYm9yZGVyIGNvbWUgdGhyb3VnaC5cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3J1bWItYmc7XHJcbiAgYm9yZGVyLWNvbG9yOiAkY3J1bWItYm9yZGVyLWNvbG9yO1xyXG59XHJcblxyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYnJlYWRjcnVtYiBzdHlsZXMgZnJvbSBsaXN0IGl0ZW1zLlxyXG5AbWl4aW4gY3J1bWJzIHtcclxuXHJcbiAgLy8gQSBub3JtYWwgc3RhdGUgd2lsbCBtYWtlIHRoZSBsaW5rcyBsb29rIGFuZCBhY3QgbGlrZSBjbGlja2FibGUgYnJlYWRjcnVtYnMuXHJcbiAgbWFyZ2luOiAwO1xyXG4gIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcclxuICBmb250LXNpemU6ICRjcnVtYi1mb250LXNpemU7XHJcbiAgbGluZS1oZWlnaHQ6ICRjcnVtYi1mb250LXNpemU7XHJcbiAgdGV4dC10cmFuc2Zvcm06ICRjcnVtYi1mb250LXRyYW5zZm9ybTtcclxuICBjb2xvcjogJGNydW1iLWZvbnQtY29sb3I7XHJcblxyXG4gICY6aG92ZXIgYSwgJjpmb2N1cyBhIHsgdGV4dC1kZWNvcmF0aW9uOiAkY3J1bWItbGluay1kZWNvcjsgfVxyXG5cclxuICBhIHtcclxuICAgIGNvbG9yOiAkY3J1bWItZm9udC1jb2xvcjtcclxuICB9XHJcblxyXG4gIC8vIEN1cnJlbnQgaXMgZm9yIHRoZSBsaW5rIG9mIHRoZSBjdXJyZW50IHBhZ2VcclxuICAmLmN1cnJlbnQge1xyXG4gICAgY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWU7XHJcbiAgICBjb2xvcjogJGNydW1iLWZvbnQtY29sb3ItY3VycmVudDtcclxuICAgIGEge1xyXG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZTtcclxuICAgICAgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yLWN1cnJlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciwgJjpob3ZlciBhLFxyXG4gICAgJjpmb2N1cywgJjpmb2N1cyBhIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XHJcbiAgfVxyXG5cclxuICAvLyBVbmF2YWlsYWJsZSByZW1vdmVkIGNvbG9yIGFuZCBsaW5rIHN0eWxlcyBzbyBpdCBsb29rcyBpbmFjdGl2ZS5cclxuICAmLnVuYXZhaWxhYmxlIHtcclxuICAgIGNvbG9yOiAkY3J1bWItZm9udC1jb2xvci11bmF2YWlsYWJsZTtcclxuICAgIGEgeyBjb2xvcjogJGNydW1iLWZvbnQtY29sb3ItdW5hdmFpbGFibGU7IH1cclxuXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpob3ZlciBhLFxyXG4gICAgJjpmb2N1cyxcclxuICAgIGE6Zm9jdXMge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIGNvbG9yOiAkY3J1bWItZm9udC1jb2xvci11bmF2YWlsYWJsZTtcclxuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkLXZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCIjeyRjcnVtYi1zbGFzaH1cIjtcclxuICAgIGNvbG9yOiAkY3J1bWItc2xhc2gtY29sb3I7XHJcbiAgICBtYXJnaW46IDAgJGNydW1iLXNpZGUtcGFkZGluZztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogMXB4O1xyXG4gIH1cclxuXHJcbiAgJjpmaXJzdC1jaGlsZDpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCIgXCI7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwiYnJlYWRjcnVtYnNcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzIHtcclxuICAgIC5icmVhZGNydW1icyB7XHJcbiAgICAgIEBpbmNsdWRlIGNydW1iLWNvbnRhaW5lcjtcclxuICAgICAgQGluY2x1ZGUgcmFkaXVzKCRjcnVtYi1yYWRpdXMpO1xyXG5cclxuICAgICAgJj4qIHtcclxuICAgICAgICBAaW5jbHVkZSBjcnVtYnM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qIEFjY2Vzc2liaWxpdHkgLSBoaWRlcyB0aGUgZm9yd2FyZCBzbGFzaCAqL1xyXG5bYXJpYS1sYWJlbD1cImJyZWFkY3J1bWJzXCJdIFthcmlhLWhpZGRlbj1cInRydWVcIl06YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6IFwiL1wiO1xyXG4gIH1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0IFwiZ2xvYmFsXCI7XHJcblxyXG4vL1xyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBidWlsZCBwYWRkaW5nIGZvciBidXR0b25zLlxyXG4kYnV0dG9uLXRueTogcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XHJcbiRidXR0b24tc21sOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XHJcbiRidXR0b24tbWVkOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XHJcbiRidXR0b24tbHJnOiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBkaXNwbGF5IHByb3BlcnR5LlxyXG4kYnV0dG9uLWRpc3BsYXk6IGlubGluZS1ibG9jayAhZGVmYXVsdDtcclxuJGJ1dHRvbi1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBidXR0b24gdGV4dCBzdHlsZXMuXHJcbiRidXR0b24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xyXG4kYnV0dG9uLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJGJ1dHRvbi1mb250LWNvbG9yLWFsdDogJG9pbCAhZGVmYXVsdDtcclxuJGJ1dHRvbi1mb250LXRueTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xyXG4kYnV0dG9uLWZvbnQtc21sOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XHJcbiRidXR0b24tZm9udC1tZWQ6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcclxuJGJ1dHRvbi1mb250LWxyZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xyXG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kYnV0dG9uLWZvbnQtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHZhcmlvdXMgaG92ZXIgZWZmZWN0cy5cclxuJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3I6IC0yMCUgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBidXR0b24gYm9yZGVyIHN0eWxlcy5cclxuJGJ1dHRvbi1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XHJcbiRidXR0b24tYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcclxuJGJ1dHRvbi1iZy1jb2xvcjogJEJvdG9uZXNGb25kbztcclxuJGJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xyXG4kYnV0dG9uLWJvcmRlci1jb2xvcjogJGJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcclxuJHNlY29uZGFyeS1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcclxuJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcclxuJHN1Y2Nlc3MtYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkc3VjY2Vzcy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xyXG4kc3VjY2Vzcy1idXR0b24tYm9yZGVyLWNvbG9yOiAkc3VjY2Vzcy1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XHJcbiRhbGVydC1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRhbGVydC1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xyXG4kYWxlcnQtYnV0dG9uLWJvcmRlci1jb2xvcjogJGFsZXJ0LWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcclxuJHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkd2FybmluZy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xyXG4kd2FybmluZy1idXR0b24tYm9yZGVyLWNvbG9yOiAkd2FybmluZy1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XHJcbiRpbmZvLWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJGluZm8tY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcclxuJGluZm8tYnV0dG9uLWJvcmRlci1jb2xvcjogJGluZm8tYnV0dG9uLWJnLWhvdmVyICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBkZWZhdWx0IHJhZGl1cyB1c2VkIHRocm91Z2hvdXQgdGhlIGNvcmUuXHJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuJGJ1dHRvbi1yb3VuZDogJGdsb2JhbC1yb3VuZGVkICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IGRlZmF1bHQgb3BhY2l0eSBhbmQgY3Vyc29yIGZvciBkaXNhYmxlZCBidXR0b25zLlxyXG4kYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk6IC43ICFkZWZhdWx0O1xyXG4kYnV0dG9uLWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vXHJcbi8vIEBNSVhJTlxyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYSBkZWZhdWx0IGJ1dHRvbiBiYXNlLlxyXG4vL1xyXG4vLyAkc3R5bGUgLSBTZXRzIGJhc2Ugc3R5bGVzLiBDYW4gYmUgc2V0IHRvIGZhbHNlLiBEZWZhdWx0OiB0cnVlLlxyXG4vLyAkZGlzcGxheSAtIFVzZWQgdG8gY29udHJvbCBkaXNwbGF5IHByb3BlcnR5LiBEZWZhdWx0OiAkYnV0dG9uLWRpc3BsYXkgfHwgaW5saW5lLWJsb2NrXHJcblxyXG5AbWl4aW4gYnV0dG9uLWJhc2UoJHN0eWxlOnRydWUsICRkaXNwbGF5OiRidXR0b24tZGlzcGxheSkge1xyXG4gIEBpZiAkc3R5bGUge1xyXG4gICAgYm9yZGVyLXN0eWxlOiAkYnV0dG9uLWJvcmRlci1zdHlsZTtcclxuICAgIGJvcmRlci13aWR0aDogJGJ1dHRvbi1ib3JkZXItd2lkdGg7XHJcbiAgICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTtcclxuICAgIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC13ZWlnaHQ6ICRidXR0b24tZm9udC13ZWlnaHQ7XHJcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgbWFyZ2luOiAwIDAgJGJ1dHRvbi1tYXJnaW4tYm90dG9tO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgdGV4dC1hbGlnbjogJGJ1dHRvbi1mb250LWFsaWduO1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czowO1xyXG4gIH1cclxuICBAaWYgJGRpc3BsYXkgeyBkaXNwbGF5OiAkZGlzcGxheTsgfVxyXG59XHJcblxyXG4vLyBATUlYSU5cclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGJ1dHRvbiBzaXplIHN0eWxlc1xyXG4vL1xyXG4vLyAkcGFkZGluZyAtIFVzZWQgdG8gYnVpbGQgcGFkZGluZyBmb3IgYnV0dG9ucyBEZWZhdWx0OiAkYnV0dG9uLW1lZCB8fD0gcmVtLWNhbGMoMTIpXHJcbi8vICRmdWxsLXdpZHRoIC0gV2UgY2FuIHNldCAkZnVsbC13aWR0aDp0cnVlIHRvIHJlbW92ZSBzaWRlIHBhZGRpbmcgZXh0ZW5kIHdpZHRoIC0gRGVmYXVsdDogZmFsc2VcclxuXHJcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZzokYnV0dG9uLW1lZCwgJGZ1bGwtd2lkdGg6ZmFsc2UpIHtcclxuXHJcbiAgLy8gV2UgY29udHJvbCB3aGljaCBwYWRkaW5nIHN0eWxlcyBjb21lIHRocm91Z2gsXHJcbiAgLy8gdGhlc2UgY2FuIGJlIHR1cm5lZCBvZmYgYnkgc2V0dGluZyAkcGFkZGluZzpmYWxzZVxyXG4gIEBpZiAkcGFkZGluZyB7XHJcbiAgICBwYWRkaW5nOiAkcGFkZGluZyAoJHBhZGRpbmcgKiAyKSAoJHBhZGRpbmcgKyByZW0tY2FsYygxKSkgKCRwYWRkaW5nICogMik7XHJcbiAgICAvLyBXZSBjb250cm9sIHRoZSBmb250LXNpemUgYmFzZWQgb24gbWl4aW4gaW5wdXQuXHJcbiAgICBAaWYgICAgICAkcGFkZGluZyA9PSAkYnV0dG9uLW1lZCB7IGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LW1lZDsgfVxyXG4gICAgQGVsc2UgaWYgJHBhZGRpbmcgPT0gJGJ1dHRvbi10bnkgeyBmb250LXNpemU6ICRidXR0b24tZm9udC10bnk7IH1cclxuICAgIEBlbHNlIGlmICRwYWRkaW5nID09ICRidXR0b24tc21sIHsgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtc21sOyB9XHJcbiAgICBAZWxzZSBpZiAkcGFkZGluZyA9PSAkYnV0dG9uLWxyZyB7IGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LWxyZzsgfVxyXG4gIH1cclxuXHJcbiAgLy8gV2UgY2FuIHNldCAkZnVsbC13aWR0aDp0cnVlIHRvIHJlbW92ZSBzaWRlIHBhZGRpbmcgZXh0ZW5kIHdpZHRoLlxyXG4gIEBpZiAkZnVsbC13aWR0aCB7XHJcbiAgICAvLyBXZSBzdGlsbCBuZWVkIHRvIGNoZWNrIGlmICRwYWRkaW5nIGlzIHNldC5cclxuICAgIEBpZiAkcGFkZGluZyB7XHJcbiAgICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmcgKyByZW0tY2FsYygxKTtcclxuICAgIH0gQGVsc2UgaWYgJHBhZGRpbmcgPT0gZmFsc2Uge1xyXG4gICAgICBwYWRkaW5nLXRvcDowO1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTowO1xyXG4gICAgfVxyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuLy8gQE1JWElOXHJcbi8vXHJcbi8vIHdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgYnV0dG9uIGhvdmVyIGFuZCBib3JkZXIgY29sb3JzXHJcblxyXG4vLyBATUlYSU5cclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGJ1dHRvbiBjb2xvciBzdHlsZXNcclxuLy9cclxuLy8gJGJnIC0gQmFja2dyb3VuZCBjb2xvci4gV2UgY2FuIHNldCAkYmc6ZmFsc2UgZm9yIGEgdHJhbnNwYXJlbnQgYmFja2dyb3VuZC4gRGVmYXVsdDogJHByaW1hcnktY29sb3IuXHJcbi8vICRyYWRpdXMgLSBJZiB0cnVlLCBzZXQgdG8gYnV0dG9uIHJhZGl1cyB3aGljaCBpcyAkYnV0dG9uLXJhZGl1cyB8fCBleHBsaWNpdGx5IHNldCByYWRpdXMgYW1vdW50IGluIHB4IChleC4gJHJhZGl1czoxMHB4KS4gRGVmYXVsdDogZmFsc2VcclxuLy8gJGRpc2FibGVkIC0gV2UgY2FuIHNldCAkZGlzYWJsZWQ6dHJ1ZSB0byBjcmVhdGUgYSBkaXNhYmxlZCB0cmFuc3BhcmVudCBidXR0b24uIERlZmF1bHQ6IGZhbHNlXHJcbi8vICRiZy1ob3ZlciAtIEJ1dHRvbiBIb3ZlciBCYWNrZ3JvdW5kIENvbG9yLiBEZWZhdWx0OiAkYnV0dG9uLWJnLWhvdmVyXHJcbi8vICRib3JkZXItY29sb3IgLSBCdXR0b24gQm9yZGVyIENvbG9yLiBEZWZhdWx0OiAkYnV0dG9uLWJvcmRlci1jb2xvclxyXG5AbWl4aW4gYnV0dG9uLXN0eWxlKCRiZzokYnV0dG9uLWJnLWNvbG9yLCAkcmFkaXVzOmZhbHNlLCAkZGlzYWJsZWQ6ZmFsc2UsICRiZy1ob3ZlcjpudWxsLCAkYm9yZGVyLWNvbG9yOm51bGwpIHtcclxuXHJcbiAgLy8gV2UgY29udHJvbCB3aGljaCBiYWNrZ3JvdW5kIHN0eWxlcyBhcmUgdXNlZCxcclxuICAvLyB0aGVzZSBjYW4gYmUgcmVtb3ZlZCBieSBzZXR0aW5nICRiZzpmYWxzZVxyXG4gIEBpZiAkYmcge1xyXG5cclxuICAgIEBpZiAkYmctaG92ZXIgPT0gbnVsbCB7XHJcbiAgICAgICRiZy1ob3ZlcjogaWYoJGJnID09ICRidXR0b24tYmctY29sb3IsICRidXR0b24tYmctaG92ZXIsIHNjYWxlLWNvbG9yKCRiZywgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpKTtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJGJvcmRlci1jb2xvciA9PSBudWxsIHtcclxuICAgICAgJGJvcmRlci1jb2xvcjogaWYoJGJnID09ICRidXR0b24tYmctY29sb3IsICRidXR0b24tYm9yZGVyLWNvbG9yLCBzY2FsZS1jb2xvcigkYmcsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGhpcyBmaW5kIHRoZSBsaWdodG5lc3MgcGVyY2VudGFnZSBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cclxuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xyXG4gICAgJGJnLWhvdmVyLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZy1ob3Zlcik7XHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctaG92ZXI7IH1cclxuXHJcbiAgICAvLyBXZSBjb250cm9sIHRoZSB0ZXh0IGNvbG9yIGZvciB5b3UgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXHJcbiAgICBjb2xvcjogaWYoJGJnLWxpZ2h0bmVzcyA+IDcwJSwgJGJ1dHRvbi1mb250LWNvbG9yLWFsdCwgJGJ1dHRvbi1mb250LWNvbG9yKTtcclxuXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGNvbG9yOiBpZigkYmctaG92ZXItbGlnaHRuZXNzID4gNzAlLCAkYnV0dG9uLWZvbnQtY29sb3ItYWx0LCAkYnV0dG9uLWZvbnQtY29sb3IpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gV2UgY2FuIHNldCAkZGlzYWJsZWQ6dHJ1ZSB0byBjcmVhdGUgYSBkaXNhYmxlZCB0cmFuc3BhcmVudCBidXR0b24uXHJcbiAgQGlmICRkaXNhYmxlZCB7XHJcbiAgICBjdXJzb3I6ICRidXR0b24tZGlzYWJsZWQtY3Vyc29yO1xyXG4gICAgb3BhY2l0eTogJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5O1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogJGJnOyB9XHJcbiAgfVxyXG5cclxuICAvLyBXZSBjYW4gY29udHJvbCBob3cgbXVjaCBidXR0b24gcmFkaXVzIGlzIHVzZWQuXHJcbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkYnV0dG9uLXJhZGl1cyk7IH1cclxuICBAZWxzZSBpZiAkcmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRyYWRpdXMpOyB9XHJcblxyXG59XHJcblxyXG4vLyBATUlYSU5cclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgdG8gcXVpY2tseSBjcmVhdGUgYnV0dG9ucyB3aXRoIGEgc2luZ2xlIG1peGluLiBBcyBAamFyZWRoYXJkeSBwdXRzIGl0LCBcInRoZSBraXRjaGVuIHNpbmsgbWl4aW5cIlxyXG4vL1xyXG4vLyAkcGFkZGluZyAtIFVzZWQgdG8gYnVpbGQgcGFkZGluZyBmb3IgYnV0dG9ucyBEZWZhdWx0OiAkYnV0dG9uLW1lZCB8fD0gcmVtLWNhbGMoMTIpXHJcbi8vICRiZyAtIFByaW1hcnkgY29sb3Igc2V0IGluIHNldHRpbmdzIGZpbGUuIERlZmF1bHQ6ICRidXR0b24tYmcuXHJcbi8vICRyYWRpdXMgLSBJZiB0cnVlLCBzZXQgdG8gYnV0dG9uIHJhZGl1cyB3aGljaCBpcyAkZ2xvYmFsLXJhZGl1cyB8fCBleHBsaWNpdGx5IHNldCByYWRpdXMgYW1vdW50IGluIHB4IChleC4gJHJhZGl1czoxMHB4KS4gRGVmYXVsdDpmYWxzZS5cclxuLy8gJGZ1bGwtd2lkdGggLSBXZSBjYW4gc2V0ICRmdWxsLXdpZHRoOnRydWUgdG8gcmVtb3ZlIHNpZGUgcGFkZGluZyBleHRlbmQgd2lkdGguIERlZmF1bHQ6ZmFsc2UuXHJcbi8vICRkaXNhYmxlZCAtIFdlIGNhbiBzZXQgJGRpc2FibGVkOnRydWUgdG8gY3JlYXRlIGEgZGlzYWJsZWQgdHJhbnNwYXJlbnQgYnV0dG9uLiBEZWZhdWx0OmZhbHNlLlxyXG4vLyAkaXMtcHJlZml4IC0gTm90IHVzZWQ/IERlZmF1bHQ6ZmFsc2UuXHJcbi8vICRiZy1ob3ZlciAtIEJ1dHRvbiBIb3ZlciBDb2xvciAtIERlZmF1bHQgbnVsbCAtIHNlZSBidXR0b24tc3R5bGUgbWl4aW5cclxuLy8gJGJvcmRlci1jb2xvciAtIEJ1dHRvbiBCb3JkZXIgQ29sb3IgLSBEZWZhdWx0IG51bGwgLSBzZWUgYnV0dG9uLXN0eWxlIG1peGluXHJcbi8vICR0cmFuc2l0aW9uIC0gV2UgY2FuIGNvbnRyb2wgd2hldGhlciBvciBub3QgdG8gaW5jbHVkZSB0aGUgYmFja2dyb3VuZC1jb2xvciB0cmFuc2l0aW9uIHByb3BlcnR5IC0gRGVmYXVsdDp0cnVlLlxyXG5AbWl4aW4gYnV0dG9uKCRwYWRkaW5nOiRidXR0b24tbWVkLCAkYmc6JGJ1dHRvbi1iZy1jb2xvciwgJHJhZGl1czpmYWxzZSwgJGZ1bGwtd2lkdGg6ZmFsc2UsICRkaXNhYmxlZDpmYWxzZSwgJGlzLXByZWZpeDpmYWxzZSwgJGJnLWhvdmVyOm51bGwsICRib3JkZXItY29sb3I6bnVsbCwgJHRyYW5zaXRpb246IHRydWUpIHtcclxuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcclxuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZywgJGZ1bGwtd2lkdGgpO1xyXG4gIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmcsICRyYWRpdXMsICRkaXNhYmxlZCwgJGJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yKTtcclxuXHJcbiAgQGlmICR0cmFuc2l0aW9uIHtcclxuICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJidXR0b25cIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzIHtcclxuXHJcbiAgICAvLyBEZWZhdWx0IHN0eWxlcyBhcHBsaWVkIG91dHNpZGUgb2YgbWVkaWEgcXVlcnlcclxuICAgIGJ1dHRvbiwgLmJ1dHRvbiB7XHJcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xyXG4gICAgICBAaW5jbHVkZSBidXR0b24tc2l6ZTtcclxuICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlO1xyXG5cclxuICAgICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvcik7XHJcblxyXG4gICAgICAmLnNlY29uZGFyeSB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHNlY29uZGFyeS1jb2xvciwgJGJnLWhvdmVyOiRzZWNvbmRhcnktYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cclxuICAgICAgJi5zdWNjZXNzICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzdWNjZXNzLWNvbG9yLCAkYmctaG92ZXI6JHN1Y2Nlc3MtYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRzdWNjZXNzLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XHJcbiAgICAgICYuYWxlcnQgICAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokYWxlcnQtY29sb3IsICRiZy1ob3ZlcjokYWxlcnQtYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRhbGVydC1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxyXG4gICAgICAmLndhcm5pbmcgICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHdhcm5pbmctY29sb3IsICRiZy1ob3Zlcjokd2FybmluZy1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHdhcm5pbmctYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cclxuICAgICAgJi5pbmZvICAgICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRpbmZvLWNvbG9yLCAkYmctaG92ZXI6JGluZm8tYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRpbmZvLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XHJcblxyXG4gICAgICAmLmxhcmdlICB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nOiRidXR0b24tbHJnKTsgfVxyXG4gICAgICAmLnNtYWxsICB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nOiRidXR0b24tc21sKTsgfVxyXG4gICAgICAmLnRpbnkgICB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nOiRidXR0b24tdG55KTsgfVxyXG4gICAgICAmLmV4cGFuZCB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nOm51bGwsICRmdWxsLXdpZHRoOnRydWUpOyB9XHJcblxyXG4gICAgICAmLmxlZnQtYWxpZ24gIHsgdGV4dC1hbGlnbjogbGVmdDsgdGV4dC1pbmRlbnQ6IHJlbS1jYWxjKDEyKTsgfVxyXG4gICAgICAmLnJpZ2h0LWFsaWduIHsgdGV4dC1hbGlnbjogcmlnaHQ7IHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDEyKTsgfVxyXG5cclxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOmZhbHNlLCAkcmFkaXVzOnRydWUpOyB9XHJcbiAgICAgICYucm91bmQgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzpmYWxzZSwgJHJhZGl1czokYnV0dG9uLXJvdW5kKTsgfVxyXG5cclxuICAgICAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0geyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRidXR0b24tYmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JGJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokYnV0dG9uLWJvcmRlci1jb2xvcik7XHJcbiAgICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzZWNvbmRhcnktY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JHNlY29uZGFyeS1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxyXG4gICAgICAgICYuc3VjY2VzcyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHN1Y2Nlc3MtY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JHN1Y2Nlc3MtYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRzdWNjZXNzLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XHJcbiAgICAgICAgJi5hbGVydCB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGFsZXJ0LWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRhbGVydC1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGFsZXJ0LWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XHJcbiAgICAgICAgJi53YXJuaW5nIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokd2FybmluZy1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3Zlcjokd2FybmluZy1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHdhcm5pbmctYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cclxuICAgICAgICAmLmluZm8geyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRpbmZvLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRpbmZvLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokaW5mby1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy9maXJlZm94IDJweCBmaXhcclxuICAgIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7Ym9yZGVyOjA7IHBhZGRpbmc6MDt9XHJcblxyXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG4gICAgICBidXR0b24sIC5idXR0b24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1iYXNlKCRzdHlsZTpmYWxzZSwgJGRpc3BsYXk6aW5saW5lLWJsb2NrKTtcclxuICAgICAgICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzpmYWxzZSwgJGZ1bGwtd2lkdGg6ZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5AdXNlIFwic2FzczptYXRoXCI7XHJcbkBpbXBvcnQgXCJnbG9iYWxcIjtcclxuQGltcG9ydCBcImJ1dHRvbnNcIjtcclxuLy9cclxuLy8gQnV0dG9uIEdyb3VwIFZhcmlhYmxlc1xyXG4vL1xyXG4kaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcbi8vIFNldHMgdGhlIG1hcmdpbiBmb3IgdGhlIHJpZ2h0IHNpZGUgYnkgZGVmYXVsdCwgYW5kIHRoZSBsZWZ0IG1hcmdpbiBpZiByaWdodC10by1sZWZ0IGRpcmVjdGlvbiBpcyB1c2VkXHJcbiRidXR0b24tYmFyLW1hcmdpbi1vcHBvc2l0ZTogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xyXG4kYnV0dG9uLWdyb3VwLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xyXG4vL1xyXG4vLyBCdXR0b24gR3JvdXAgTWl4aW5zXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lclxyXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWNvbnRhaW5lcigkc3R5bGVzOnRydWUsICRmbG9hdDpmYWxzZSkge1xyXG4gICAgQGlmICRzdHlsZXMge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XHJcbiAgICB9XHJcbiAgICBAaWYgJGZsb2F0IHtcclxuICAgICAgICBmbG9hdDogI3skZGVmYXVsdC1mbG9hdH07XHJcbiAgICAgICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRidXR0b24tYmFyLW1hcmdpbi1vcHBvc2l0ZTtcclxuICAgICAgICAmIGRpdiB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHN0eWxlcyBmb3IgYnV0dG9uIGdyb3Vwc1xyXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6ZmFsc2UsICRldmVuOmZhbHNlLCAkZmxvYXQ6ZmFsc2UsICRvcmllbnRhdGlvbjpob3Jpem9udGFsKSB7XHJcbiAgICA+YnV0dG9uLFxyXG4gICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9OiAkYnV0dG9uLWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZDtcclxuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpO1xyXG4gICAgfVxyXG4gICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgYnV0dG9uLFxyXG4gICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJGJ1dHRvbi1ncm91cC1kaXNwbGF5OiBsaXN0LWl0ZW07XHJcbiAgICAkYnV0dG9uLWdyb3VwLW1hcmdpbjogMDtcclxuICAgIC8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGZsb3csIG9yIHJlbW92ZSB0aG9zZSBzdHlsZXMgY29tcGxldGVseS5cclxuICAgIEBpZiAkZmxvYXQge1xyXG4gICAgICAgICRidXR0b24tZ3JvdXAtZGlzcGxheTogbGlzdC1pdGVtO1xyXG4gICAgICAgICRidXR0b24tZ3JvdXAtbWFyZ2luOiAwO1xyXG4gICAgICAgIGZsb2F0OiAkZmxvYXQ7XHJcbiAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBmaXJzdCBjaGlsZCBkb2Vzbid0IGdldCB0aGUgbmVnYXRpdmUgbWFyZ2luLlxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAgICRidXR0b24tZ3JvdXAtZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICRidXR0b24tZ3JvdXAtbWFyZ2luOiAwIC0ycHg7XHJcbiAgICB9XHJcbiAgICBAaWYgJG9yaWVudGF0aW9uPT12ZXJ0aWNhbCB7XHJcbiAgICAgICAgJGJ1dHRvbi1ncm91cC1kaXNwbGF5OiBibG9jaztcclxuICAgICAgICAkYnV0dG9uLWdyb3VwLW1hcmdpbjogMDtcclxuICAgICAgICA+YnV0dG9uLFxyXG4gICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAkYnV0dG9uLWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KTtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID5idXR0b24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGJ1dHRvbixcclxuICAgICAgICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZGlzcGxheTogJGJ1dHRvbi1ncm91cC1kaXNwbGF5O1xyXG4gICAgbWFyZ2luOiAkYnV0dG9uLWdyb3VwLW1hcmdpbjtcclxuICAgIC8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGxlZnQgYW5kIHJpZ2h0IHJhZGl1cyBvbiBmaXJzdC9sYXN0IGJ1dHRvbnMgaW4gdGhlIGdyb3VwLlxyXG4gICAgQGlmICRyYWRpdXM9PXRydWUge1xyXG4gICAgICAgICYsXHJcbiAgICAgICAgJj5hLFxyXG4gICAgICAgICY+YnV0dG9uLFxyXG4gICAgICAgICY+LmJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHJhZGl1cygwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCxcclxuICAgICAgICAmOmZpcnN0LWNoaWxkPmEsXHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZD5idXR0b24sXHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZD4uYnV0dG9uIHtcclxuICAgICAgICAgICAgQGlmICRvcmllbnRhdGlvbj09dmVydGljYWwge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXModG9wLCAkYnV0dG9uLXJhZGl1cyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcmFkaXVzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmxhc3QtY2hpbGQsXHJcbiAgICAgICAgJjpsYXN0LWNoaWxkPmEsXHJcbiAgICAgICAgJjpsYXN0LWNoaWxkPmJ1dHRvbixcclxuICAgICAgICAmOmxhc3QtY2hpbGQ+LmJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpZiAkb3JpZW50YXRpb249PXZlcnRpY2FsIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKGJvdHRvbSwgJGJ1dHRvbi1yYWRpdXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcmFkaXVzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRyYWRpdXMge1xyXG4gICAgICAgICYsXHJcbiAgICAgICAgJj5hLFxyXG4gICAgICAgICY+YnV0dG9uLFxyXG4gICAgICAgICY+LmJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHJhZGl1cygwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCxcclxuICAgICAgICAmOmZpcnN0LWNoaWxkPmEsXHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZD5idXR0b24sXHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZD4uYnV0dG9uIHtcclxuICAgICAgICAgICAgQGlmICRvcmllbnRhdGlvbj09dmVydGljYWwge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXModG9wLCAkcmFkaXVzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJHJhZGl1cyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpsYXN0LWNoaWxkLFxyXG4gICAgICAgICY6bGFzdC1jaGlsZD5hLFxyXG4gICAgICAgICY6bGFzdC1jaGlsZD5idXR0b24sXHJcbiAgICAgICAgJjpsYXN0LWNoaWxkPi5idXR0b24ge1xyXG4gICAgICAgICAgICBAaWYgJG9yaWVudGF0aW9uPT12ZXJ0aWNhbCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cyhib3R0b20sICRyYWRpdXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRyYWRpdXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gV2UgdXNlIHRoaXMgdG8gbWFrZSB0aGUgYnV0dG9ucyBldmVuIHdpZHRoIGFjcm9zcyB0aGVpciBjb250YWluZXJcclxuICAgIEBpZiAkZXZlbiB7XHJcbiAgICAgICAgLy93aWR0aDogcGVyY2VudGFnZSgoMTAwLyRldmVuKSAvIDEwMCk7XHJcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoIG1hdGguZGl2KG1hdGguZGl2KDEwMCwgJGV2ZW4pLCAxMDApKTtcclxuICAgICAgICBidXR0b24sXHJcbiAgICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcImJ1dHRvbi1ncm91cFwiKSB7XHJcbiAgICBAaWYgJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlcyB7XHJcbiAgICAgICAgLmJ1dHRvbi1ncm91cCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1jb250YWluZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNTAlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIDApO1xyXG4gICAgICAgICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIDgge1xyXG4gICAgICAgICAgICAgICAgJi5ldmVuLSN7JGl9IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJGV2ZW46ICRpLCAkZmxvYXQ6IG51bGwpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY+bGkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zdGFjayB7XHJcbiAgICAgICAgICAgICAgICAmPmxpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJG9yaWVudGF0aW9uOiB2ZXJ0aWNhbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zdGFjay1mb3Itc21hbGwge1xyXG4gICAgICAgICAgICAgICAgJj5saSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRvcmllbnRhdGlvbjogdmVydGljYWwpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnJhZGl1cz4qIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkcmFkaXVzOiAkYnV0dG9uLXJhZGl1cywgJGZsb2F0OiBudWxsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnJhZGl1cy5zdGFjaz4qIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkcmFkaXVzOiAkYnV0dG9uLXJhZGl1cywgJGZsb2F0OiBudWxsLCAkb3JpZW50YXRpb246IHZlcnRpY2FsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnJhZGl1cy5zdGFjay1mb3Itc21hbGw+KiB7XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6ICRidXR0b24tcmFkaXVzLCAkb3JpZW50YXRpb246IGhvcml6b250YWwpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czogJGJ1dHRvbi1yYWRpdXMsICRvcmllbnRhdGlvbjogdmVydGljYWwpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYucm91bmQ+KiB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czogJGJ1dHRvbi1yb3VuZCwgJGZsb2F0OiBudWxsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnJvdW5kLnN0YWNrPioge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6ICRidXR0b24tbWVkLCAkZmxvYXQ6IG51bGwsICRvcmllbnRhdGlvbjogdmVydGljYWwpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYucm91bmQuc3RhY2stZm9yLXNtYWxsPioge1xyXG4gICAgICAgICAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkcmFkaXVzOiAkYnV0dG9uLXJvdW5kLCAkb3JpZW50YXRpb246IGhvcml6b250YWwpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czogJGJ1dHRvbi1tZWQsICRvcmllbnRhdGlvbjogdmVydGljYWwpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5idXR0b24tYmFyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgICAgICAgIC5idXR0b24tZ3JvdXAge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWNvbnRhaW5lcigkc3R5bGVzOiBmYWxzZSwgJGZsb2F0OiB0cnVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCBcImdsb2JhbFwiO1xyXG5cclxuLy9cclxuLy8gQHZhcmlhYmxlc1xyXG4vL1xyXG4kaW5jbHVkZS1odG1sLWNsZWFyaW5nLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIGJhY2tncm91bmQgY29sb3JzIGZvciBwYXJ0cyBvZiBDbGVhcmluZy5cclxuJGNsZWFyaW5nLWJnOiAkb2lsICFkZWZhdWx0O1xyXG4kY2xlYXJpbmctY2FwdGlvbi1iZzogJGNsZWFyaW5nLWJnICFkZWZhdWx0O1xyXG4kY2xlYXJpbmctY2Fyb3VzZWwtYmc6IHJnYmEoNTEsNTEsNTEsMC44KSAhZGVmYXVsdDtcclxuJGNsZWFyaW5nLWltZy1iZzogJGNsZWFyaW5nLWJnICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBjbG9zZSBidXR0b25cclxuJGNsZWFyaW5nLWNsb3NlLWNvbG9yOiAkaXJvbiAhZGVmYXVsdDtcclxuJGNsZWFyaW5nLWNsb3NlLXNpemU6IDMwcHggIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGFycm93c1xyXG4kY2xlYXJpbmctYXJyb3ctc2l6ZTogMTJweCAhZGVmYXVsdDtcclxuJGNsZWFyaW5nLWFycm93LWNvbG9yOiAkY2xlYXJpbmctY2xvc2UtY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgY2FwdGlvbnNcclxuJGNsZWFyaW5nLWNhcHRpb24tZm9udC1jb2xvcjogJGlyb24gIWRlZmF1bHQ7XHJcbiRjbGVhcmluZy1jYXB0aW9uLWZvbnQtc2l6ZTogLjg3NWVtICFkZWZhdWx0O1xyXG4kY2xlYXJpbmctY2FwdGlvbi1wYWRkaW5nOiAxMHB4IDMwcHggMjBweCAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBtYWtlIHRoZSBpbWFnZSBhbmQgY2Fyb3VzZWwgaGVpZ2h0IGFuZCBzdHlsZVxyXG4kY2xlYXJpbmctYWN0aXZlLWltZy1oZWlnaHQ6IDg1JSAhZGVmYXVsdDtcclxuJGNsZWFyaW5nLWNhcm91c2VsLWhlaWdodDogMTIwcHggIWRlZmF1bHQ7XHJcbiRjbGVhcmluZy1jYXJvdXNlbC10aHVtYi13aWR0aDogMTIwcHggIWRlZmF1bHQ7XHJcbiRjbGVhcmluZy1jYXJvdXNlbC10aHVtYi1hY3RpdmUtYm9yZGVyOiAxcHggc29saWQgcmdiKDI1NSwyNTUsMjU1KSAhZGVmYXVsdDtcclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJjbGVhcmluZ1wiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtY2xlYXJpbmctY2xhc3NlcyB7XHJcbiAgICAvLyBXZSBkZWNpZGVkIHRvIG5vdCBjcmVhdGUgYSBtaXhpbiBmb3IgQ2xlYXJpbmcgYmVjYXVzZSBpdCByZWxpZXNcclxuICAgIC8vIG9uIHByZWRlZmluZWQgY2xhc3NlcyBhbmQgc3RydWN0dXJlIHRvIHdvcmsgcHJvcGVybHkuXHJcbiAgICAvLyBUaGUgdmFyaWFibGVzIGFib3ZlIHNob3VsZCBnaXZlIGVub3VnaCBjb250cm9sLlxyXG5cclxuICAgIC8qIENsZWFyaW5nIFN0eWxlcyAqL1xyXG4gICAgLmNsZWFyaW5nLXRodW1icywgI3tkYXRhKCdjbGVhcmluZycpfSB7XHJcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcblxyXG4gICAgICBsaSB7XHJcbiAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xyXG4gICAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAxMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmW2NsYXNzKj1cImJsb2NrLWdyaWQtXCJdIGxpIHtcclxuICAgICAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jbGVhcmluZy1ibGFja291dCB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjbGVhcmluZy1iZztcclxuICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xyXG4gICAgICB6LWluZGV4OiA5OTg7XHJcblxyXG4gICAgICAuY2xlYXJpbmctY2xvc2UgeyBkaXNwbGF5OiBibG9jazsgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jbGVhcmluZy1jb250YWluZXIge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHotaW5kZXg6IDk5ODtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmNsZWFyaW5nLXRvdWNoLWxhYmVsIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICBjb2xvcjogJGJhc2U7XHJcbiAgICAgIGZvbnQtc2l6ZTogLjZlbTtcclxuICAgIH1cclxuXHJcbiAgICAudmlzaWJsZS1pbWcge1xyXG4gICAgICBoZWlnaHQ6IDk1JTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgaW1nIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDUwJTtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICBAaWYgJGRlZmF1bHQtZmxvYXQgPT0gbGVmdCB7XHJcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKTtcclxuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKTtcclxuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpO1xyXG4gICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jbGVhcmluZy1jYXB0aW9uIHtcclxuICAgICAgY29sb3I6ICRjbGVhcmluZy1jYXB0aW9uLWZvbnQtY29sb3I7XHJcbiAgICAgIGZvbnQtc2l6ZTogJGNsZWFyaW5nLWNhcHRpb24tZm9udC1zaXplO1xyXG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgYmFja2dyb3VuZDogJGNsZWFyaW5nLWNhcHRpb24tYmc7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBwYWRkaW5nOiAkY2xlYXJpbmctY2FwdGlvbi1wYWRkaW5nO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5jbGVhcmluZy1jbG9zZSB7XHJcbiAgICAgIHotaW5kZXg6IDk5OTtcclxuICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogMjBweDtcclxuICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogJGNsZWFyaW5nLWNsb3NlLXNpemU7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICBjb2xvcjogJGNsZWFyaW5nLWNsb3NlLWNvbG9yO1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgICAgJjpob3ZlcixcclxuICAgICAgJjpmb2N1cyB7IGNvbG9yOiAkaXJvbjsgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jbGVhcmluZy1hc3NlbWJsZWQgLmNsZWFyaW5nLWNvbnRhaW5lciB7IGhlaWdodDogMTAwJTtcclxuICAgICAgLmNhcm91c2VsID4gdWwgeyBkaXNwbGF5OiBub25lOyB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSWYgeW91IHdhbnQgdG8gc2hvdyBhIGxpZ2h0Ym94LCBidXQgb25seSBoYXZlIGEgc2luZ2xlIGltYWdlIGNvbWUgdGhyb3VnaCBhcyB0aGUgdGh1bWJuYWlsXHJcbiAgICAuY2xlYXJpbmctZmVhdHVyZSBsaSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICYuY2xlYXJpbmctZmVhdHVyZWQtaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIExhcmdlIHNjcmVlbiBvdmVycmlkZXNcclxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcclxuICAgICAgLmNsZWFyaW5nLW1haW4tcHJldixcclxuICAgICAgLmNsZWFyaW5nLW1haW4tbmV4dCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB3aWR0aDogNDBweDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgJiA+IHNwYW4ge1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAkY2xlYXJpbmctYXJyb3ctc2l6ZTtcclxuICAgICAgICAgICY6aG92ZXIgeyBvcGFjaXR5OiAuODsgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuY2xlYXJpbmctbWFpbi1wcmV2IHtcclxuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcclxuICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogNXB4O1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259LWNvbG9yOiAkY2xlYXJpbmctYXJyb3ctY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5jbGVhcmluZy1tYWluLW5leHQge1xyXG4gICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XHJcbiAgICAgICAgJiA+IHNwYW4ge1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1jb2xvcjogJGNsZWFyaW5nLWFycm93LWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmNsZWFyaW5nLW1haW4tcHJldi5kaXNhYmxlZCxcclxuICAgICAgLmNsZWFyaW5nLW1haW4tbmV4dC5kaXNhYmxlZCB7IG9wYWNpdHk6IC4zOyB9XHJcblxyXG4gICAgICAuY2xlYXJpbmctYXNzZW1ibGVkIC5jbGVhcmluZy1jb250YWluZXIge1xyXG5cclxuICAgICAgICAuY2Fyb3VzZWwge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogJGNsZWFyaW5nLWNhcm91c2VsLWJnO1xyXG4gICAgICAgICAgaGVpZ2h0OiAkY2xlYXJpbmctY2Fyb3VzZWwtaGVpZ2h0O1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAmID4gdWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xyXG5cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAkY2xlYXJpbmctY2Fyb3VzZWwtdGh1bWItd2lkdGg7XHJcbiAgICAgICAgICAgICAgbWluLWhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XHJcbiAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcclxuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTtcclxuICAgICAgICAgICAgICBvcGFjaXR5OiAuNDtcclxuICAgICAgICAgICAgICBjbGVhcjogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICAgJi5maXgtaGVpZ2h0IHtcclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgYS50aCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgIGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICYudmlzaWJsZSB7IG9wYWNpdHk6IDE7IH1cclxuICAgICAgICAgICAgICAmOmhvdmVyIHsgb3BhY2l0eTogLjg7IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnZpc2libGUtaW1nIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICRjbGVhcmluZy1pbWctYmc7XHJcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgaGVpZ2h0OiAkY2xlYXJpbmctYWN0aXZlLWltZy1oZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuY2xlYXJpbmctY2xvc2Uge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMjBweDtcclxuICAgICAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgXCJnbG9iYWxcIjtcclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuJGluY2x1ZGUtaHRtbC1kcm9wZG93bi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbHMgaGVpZ2h0IGFuZCB3aWR0aCBzdHlsZXMuXHJcbiRmLWRyb3Bkb3duLW1heC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XHJcbiRmLWRyb3Bkb3duLWhlaWdodDogYXV0byAhZGVmYXVsdDtcclxuJGYtZHJvcGRvd24tbWF4LWhlaWdodDogbm9uZSAhZGVmYXVsdDtcclxuXHJcbi8vIFVzZWQgZm9yIGJvdHRvbSBwb3NpdGlvblxyXG4kZi1kcm9wZG93bi1tYXJnaW4tdG9wOiAycHggIWRlZmF1bHQ7XHJcblxyXG4vLyBVc2VkIGZvciByaWdodCBwb3NpdGlvblxyXG4kZi1kcm9wZG93bi1tYXJnaW4tbGVmdDogJGYtZHJvcGRvd24tbWFyZ2luLXRvcCAhZGVmYXVsdDtcclxuXHJcbi8vIFVzZWQgZm9yIGxlZnQgcG9zaXRpb25cclxuJGYtZHJvcGRvd24tbWFyZ2luLXJpZ2h0OiAkZi1kcm9wZG93bi1tYXJnaW4tdG9wICFkZWZhdWx0O1xyXG5cclxuLy8gVXNlZCBmb3IgdG9wIHBvc2l0aW9uXHJcbiRmLWRyb3Bkb3duLW1hcmdpbi1ib3R0b206ICRmLWRyb3Bkb3duLW1hcmdpbi10b3AgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBiYWNrZ3JvdW5kIGNvbG9yXHJcbiRmLWRyb3Bkb3duLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGJvcmRlciBzdHlsZXMgZm9yIGRyb3Bkb3ducy5cclxuJGYtZHJvcGRvd24tYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcclxuJGYtZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XHJcbiRmLWRyb3Bkb3duLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMjAlKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgdHJpYW5nbGUgcGlwLlxyXG4kZi1kcm9wZG93bi10cmlhbmdsZS1zaXplOiA2cHggIWRlZmF1bHQ7XHJcbiRmLWRyb3Bkb3duLXRyaWFuZ2xlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0OiAxMHB4ICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgc3R5bGVzIGZvciB0aGUgbGlzdCBlbGVtZW50cy5cclxuJGYtZHJvcGRvd24tbGlzdC1zdHlsZTogbm9uZSAhZGVmYXVsdDtcclxuJGYtZHJvcGRvd24tZm9udC1jb2xvcjogJGNoYXJjb2FsICFkZWZhdWx0O1xyXG4kZi1kcm9wZG93bi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcclxuJGYtZHJvcGRvd24tbGlzdC1wYWRkaW5nOiByZW0tY2FsYyg1LCAxMCkgIWRlZmF1bHQ7XHJcbiRmLWRyb3Bkb3duLWxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XHJcbiRmLWRyb3Bkb3duLWxpc3QtaG92ZXItYmc6ICRzbW9rZSAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLW1vYmlsZS1kZWZhdWx0LWZsb2F0OiAwICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgc3R5bGVzIGZvciB3aGVuIHRoZSBkcm9wZG93biBoYXMgY3VzdG9tIGNvbnRlbnQuXHJcbiRmLWRyb3Bkb3duLWNvbnRlbnQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xyXG5cclxuLy8gRGVmYXVsdCByYWRpdXMgZm9yIGRyb3Bkb3duLlxyXG4kZi1kcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuLy9cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vL1xyXG4vLyBOT1RFOiBNYWtlIGRlZmF1bHQgbWF4LXdpZHRoIGNoYW5nZSBiZXR3ZWVuIGxpc3QgYW5kIGNvbnRlbnQgdHlwZXMuIENhbiBhZGQgbW9yZSB3aWR0aCB3aXRoIGNsYXNzZXMsIG1heWJlIC5zbWFsbCwgLm1lZGl1bSwgLmxhcmdlLCBldGMuO1xyXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgZHJvcGRvd24gY29udGFpbmVyIGVsZW1lbnQuXHJcbi8vICRjb250ZW50LWxpc3QgLSBTZXRzIGxpc3Qtc3R5bGUuIERlZmF1bHQ6IGxpc3QuIE9wdGlvbnM6IFtsaXN0LCBjb250ZW50XVxyXG4vLyAkdHJpYW5nbGUgLSBTZXRzIGlmIGRyb3Bkb3duIGhhcyB0cmlhbmdsZS4gRGVmYXVsdDp0cnVlLlxyXG4vLyAkbWF4LXdpZHRoIC0gRGVmYXVsdDogJGYtZHJvcGRvd24tbWF4LXdpZHRoIHx8IDIwMHB4LlxyXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyKCRjb250ZW50Omxpc3QsICR0cmlhbmdsZTp0cnVlLCAkbWF4LXdpZHRoOiRmLWRyb3Bkb3duLW1heC13aWR0aCkge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAtOTk5OXB4O1xyXG4gIGxpc3Qtc3R5bGU6ICRmLWRyb3Bkb3duLWxpc3Qtc3R5bGU7XHJcbiAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgJi5vcGVuIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuXHJcbiAgPiAqOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMDsgfVxyXG4gID4gKjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG5cclxuICBAaWYgJGNvbnRlbnQgPT0gbGlzdCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC1oZWlnaHQ6ICRmLWRyb3Bkb3duLW1heC1oZWlnaHQ7XHJcbiAgICBoZWlnaHQ6ICRmLWRyb3Bkb3duLWhlaWdodDtcclxuICAgIGJhY2tncm91bmQ6ICRmLWRyb3Bkb3duLWJnO1xyXG4gICAgYm9yZGVyOiAkZi1kcm9wZG93bi1ib3JkZXItc3R5bGUgJGYtZHJvcGRvd24tYm9yZGVyLXdpZHRoICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvcjtcclxuICAgIGZvbnQtc2l6ZTogJGYtZHJvcGRvd24tZm9udC1zaXplO1xyXG4gICAgei1pbmRleDogODk7XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRjb250ZW50ID09IGNvbnRlbnQge1xyXG4gICAgcGFkZGluZzogJGYtZHJvcGRvd24tY29udGVudC1wYWRkaW5nO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6ICRmLWRyb3Bkb3duLWhlaWdodDtcclxuICAgIG1heC1oZWlnaHQ6ICRmLWRyb3Bkb3duLW1heC1oZWlnaHQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAkZi1kcm9wZG93bi1iZztcclxuICAgIGJvcmRlcjogJGYtZHJvcGRvd24tYm9yZGVyLXN0eWxlICRmLWRyb3Bkb3duLWJvcmRlci13aWR0aCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3I7XHJcbiAgICBmb250LXNpemU6ICRmLWRyb3Bkb3duLWZvbnQtc2l6ZTtcclxuICAgIHotaW5kZXg6IDg5O1xyXG4gIH1cclxuXHJcbiAgQGlmICR0cmlhbmdsZSA9PSBib3R0b20ge1xyXG4gICAgbWFyZ2luLXRvcDogJGYtZHJvcGRvd24tbWFyZ2luLXRvcDtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplLCAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvciwgYm90dG9tKTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpO1xyXG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ7XHJcbiAgICAgIHotaW5kZXg6IDg5O1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICsgMSwgJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yLCBib3R0b20pO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogLSgoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEpICogMik7XHJcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldCAtIDE7XHJcbiAgICAgIHotaW5kZXg6IDg4O1xyXG4gICAgfVxyXG5cclxuICAgICYucmlnaHQ6YmVmb3JlIHtcclxuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XHJcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0O1xyXG4gICAgfVxyXG4gICAgJi5yaWdodDphZnRlciB7XHJcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xyXG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldCAtIDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJHRyaWFuZ2xlID09ICRkZWZhdWx0LWZsb2F0IHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRmLWRyb3Bkb3duLW1hcmdpbi1yaWdodDtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplLCAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvciwgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufSk7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcclxuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpO1xyXG4gICAgICB6LWluZGV4OiA4OTtcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEsICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvciwgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufSk7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldCAtIDE7XHJcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKSAtIDI7XHJcbiAgICAgIHotaW5kZXg6IDg4O1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIEBpZiAkdHJpYW5nbGUgPT0gJG9wcG9zaXRlLWRpcmVjdGlvbiB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAtJGYtZHJvcGRvd24tbWFyZ2luLXJpZ2h0O1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUsICRmLWRyb3Bkb3duLXRyaWFuZ2xlLWNvbG9yLCAjeyRkZWZhdWx0LWZsb2F0fSk7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcclxuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMik7XHJcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xyXG4gICAgICB6LWluZGV4OiA4OTtcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEsICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvciwgI3skZGVmYXVsdC1mbG9hdH0pO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQgLSAxO1xyXG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKSAtIDI7XHJcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xyXG4gICAgICB6LWluZGV4OiA4ODtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBAaWYgJHRyaWFuZ2xlID09IHRvcCB7XHJcbiAgICBtYXJnaW4tdG9wOiAtJGYtZHJvcGRvd24tbWFyZ2luLWJvdHRvbTtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUsICRmLWRyb3Bkb3duLXRyaWFuZ2xlLWNvbG9yLCB0b3ApO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogYXV0bztcclxuICAgICAgYm90dG9tOiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKTtcclxuICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0O1xyXG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBhdXRvO1xyXG4gICAgICB6LWluZGV4OiA4OTtcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEsICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvciwgdG9wKTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IGF1dG87XHJcbiAgICAgIGJvdHRvbTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMikgLSAyO1xyXG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQgLSAxO1xyXG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBhdXRvO1xyXG4gICAgICB6LWluZGV4OiA4ODtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBAaWYgJG1heC13aWR0aCB7IG1heC13aWR0aDogJG1heC13aWR0aDsgfVxyXG4gIEBlbHNlIHsgbWF4LXdpZHRoOiAkZi1kcm9wZG93bi1tYXgtd2lkdGg7IH1cclxuXHJcbn1cclxuXHJcbi8vIEBNSVhJTlxyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgbGlzdCBlbGVtZW50cyBvciBjb250ZW50IGluc2lkZSB0aGUgZHJvcGRvd24uXHJcblxyXG5AbWl4aW4gZHJvcGRvd24tc3R5bGUge1xyXG4gIGZvbnQtc2l6ZTogJGYtZHJvcGRvd24tZm9udC1zaXplO1xyXG4gIGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlO1xyXG5cclxuICBsaW5lLWhlaWdodDogJGYtZHJvcGRvd24tbGluZS1oZWlnaHQ7XHJcbiAgbWFyZ2luOiAwO1xyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMgeyBiYWNrZ3JvdW5kOiAkZi1kcm9wZG93bi1saXN0LWhvdmVyLWJnOyB9XHJcblxyXG4gICYucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRmLWRyb3Bkb3duLXJhZGl1cyk7IH1cclxuXHJcbiAgYSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6ICRmLWRyb3Bkb3duLWxpc3QtcGFkZGluZztcclxuICAgIGNvbG9yOiAkZi1kcm9wZG93bi1mb250LWNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcImRyb3Bkb3duXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1kcm9wZG93bi1jbGFzc2VzIHtcclxuXHJcbiAgICAvKiBGb3VuZGF0aW9uIERyb3Bkb3ducyAqL1xyXG4gICAgLmYtZHJvcGRvd24ge1xyXG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIobGlzdCwgYm90dG9tKTtcclxuXHJcbiAgICAgICYuZHJvcC0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259IHtcclxuICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIobGlzdCwgI3skZGVmYXVsdC1mbG9hdH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmRyb3AtI3skZGVmYXVsdC1mbG9hdH0ge1xyXG4gICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcihsaXN0LCAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5kcm9wLXRvcCB7XHJcbiAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyKGxpc3QsIHRvcCk7XHJcbiAgICAgIH1cclxuICAgICAgLy8gbWF4LXdpZHRoOiBub25lO1xyXG5cclxuICAgICAgbGkgeyBAaW5jbHVkZSBkcm9wZG93bi1zdHlsZTsgfVxyXG5cclxuICAgICAgLy8gWW91IGNhbiBhbHNvIHB1dCBjdXN0b20gY29udGVudCBpbiB0aGVzZSBkcm9wZG93bnNcclxuICAgICAgJi5jb250ZW50IHsgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyKGNvbnRlbnQsICR0cmlhbmdsZTpmYWxzZSk7IH1cclxuXHJcbiAgICAgIC8vIFNpemVzXHJcbiAgICAgICYudGlueSAgICB7IG1heC13aWR0aDogMjAwcHg7IH1cclxuICAgICAgJi5zbWFsbCAgIHsgbWF4LXdpZHRoOiAzMDBweDsgfVxyXG4gICAgICAmLm1lZGl1bSAgeyBtYXgtd2lkdGg6IDUwMHB4OyB9XHJcbiAgICAgICYubGFyZ2UgICB7IG1heC13aWR0aDogODAwcHg7IH1cclxuICAgICAgJi5tZWdhICAgIHtcclxuICAgICAgICB3aWR0aDoxMDAlIWltcG9ydGFudDtcclxuICAgICAgICBtYXgtd2lkdGg6MTAwJSFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICYub3BlbntcclxuICAgICAgICAgIGxlZnQ6MCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuQHVzZSBcInNhc3M6bWF0aFwiO1xyXG5AaW1wb3J0IFwiZ2xvYmFsXCI7XHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBjb2xvciBvZiB0aGUgcGlwIGluIGRyb3Bkb3duIGJ1dHRvbnNcclxuJGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3ItYWx0OiAkb2lsICFkZWZhdWx0O1xyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBzaXplIG9mIHRoZSBwaXAgaW4gZHJvcGRvd24gYnV0dG9uc1xyXG4kYnV0dG9uLXBpcC10bnk6IHJlbS1jYWxjKDYpICFkZWZhdWx0O1xyXG4kYnV0dG9uLXBpcC1zbWw6IHJlbS1jYWxjKDcpICFkZWZhdWx0O1xyXG4kYnV0dG9uLXBpcC1tZWQ6IHJlbS1jYWxjKDkpICFkZWZhdWx0O1xyXG4kYnV0dG9uLXBpcC1scmc6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRpbnkgZHJvcGRvd24gYnV0dG9uc1xyXG4kZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctdG55OiAkYnV0dG9uLXBpcC10bnkgKiA3ICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLXRueTogJGJ1dHRvbi1waXAtdG55ICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS10bnk6ICRidXR0b24tcGlwLXRueSAqIDMgIWRlZmF1bHQ7XHJcbi8vJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLXRueTogKC0kYnV0dG9uLXBpcC10bnkgLyAyKStyZW0tY2FsYygxKSAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLXRueTogKG1hdGguZGl2KC0kYnV0dG9uLXBpcC10bnksIDIpKStyZW0tY2FsYygxKSAhZGVmYXVsdDtcclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHNtYWxsIGRyb3Bkb3duIGJ1dHRvbnNcclxuJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLXNtbDogJGJ1dHRvbi1waXAtc21sICogNyAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1zbWw6ICRidXR0b24tcGlwLXNtbCAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtc21sOiAkYnV0dG9uLXBpcC1zbWwgKiAzICFkZWZhdWx0O1xyXG4vLyRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1zbWw6ICgtJGJ1dHRvbi1waXAtc21sIC8gMikrcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1zbWw6IChtYXRoLmRpdigtJGJ1dHRvbi1waXAtdG55LCAyKSkrcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBtZWRpdW0gZHJvcGRvd24gYnV0dG9uc1xyXG4kZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiA2K3JlbS1jYWxjKDMpICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLW1lZDogJGJ1dHRvbi1waXAtbWVkIC0gcmVtLWNhbGMoMykgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLW1lZDogJGJ1dHRvbi1waXAtbWVkICogMi41ICFkZWZhdWx0O1xyXG4vLyRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1tZWQ6ICgtJGJ1dHRvbi1waXAtbWVkIC8gMikrcmVtLWNhbGMoMikgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1tZWQ6IChtYXRoLmRpdigtJGJ1dHRvbi1waXAtbWVkLCAyKSkrcmVtLWNhbGMoMikgIWRlZmF1bHQ7XHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBsYXJnZSBkcm9wZG93biBidXR0b25zXHJcbiRkcm9wZG93bi1idXR0b24tcGFkZGluZy1scmc6ICRidXR0b24tcGlwLWxyZyAqIDUrcmVtLWNhbGMoMykgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtbHJnOiAkYnV0dG9uLXBpcC1scmcgLSByZW0tY2FsYyg2KSAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtbHJnOiAkYnV0dG9uLXBpcC1scmcgKiAyLjUgIWRlZmF1bHQ7XHJcbi8vJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLWxyZzogKC0kYnV0dG9uLXBpcC1scmcgLyAyKStyZW0tY2FsYygzKSAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLWxyZzogKG1hdGguZGl2KC0kYnV0dG9uLXBpcC1scmcsIDIpKStyZW0tY2FsYygzKSAhZGVmYXVsdDtcclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBEcm9wZG93biBCdXR0b24gTWl4aW5cclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYnVpbGQgb2ZmIG9mIHRoZSBidXR0b24gbWl4aW4gYW5kIGFkZCBkcm9wZG93biBidXR0b24gc3R5bGVzXHJcbi8vXHJcbi8vICRwYWRkaW5nIC0gRGV0ZXJtaW5lcyB0aGUgc2l6ZSBvZiBidXR0b24geW91J3JlIHdvcmtpbmcgd2l0aC4gRGVmYXVsdDogbWVkaXVtLiBPcHRpb25zIFt0aW55LCBzbWFsbCwgbWVkaXVtLCBsYXJnZV1cclxuLy8gJHBpcC1jb2xvciAtIENvbG9yIG9mIHRoZSBsaXR0bGUgdHJpYW5nbGUgdGhhdCBwb2ludHMgdG8gdGhlIGRyb3Bkb3duLiBEZWZhdWx0OiAkd2hpdGUuXHJcbi8vICRiYXNlLXN0eWxlIC0gQWRkIGluIGJhc2Utc3R5bGVzLiBUaGlzIGNhbiBiZSBzZXQgdG8gZmFsc2UuIERlZmF1bHQ6dHJ1ZVxyXG5AbWl4aW4gZHJvcGRvd24tYnV0dG9uKCRwYWRkaW5nOm1lZGl1bSwgJHBpcC1jb2xvcjokZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvciwgJGJhc2Utc3R5bGU6dHJ1ZSkge1xyXG4gICAgLy8gV2UgYWRkIGluIGJhc2Ugc3R5bGVzLCBidXQgdGhleSBjYW4gYmUgbmVnYXRlZCBieSBzZXR0aW5nIHRvICdmYWxzZScuXHJcbiAgICBAaWYgJGJhc2Utc3R5bGUge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIC8vIFRoaXMgY3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIHRoZSB0cmlhbmdsZSBwaXBcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIElmIHdlJ3JlIGRlYWxpbmcgd2l0aCB0aW55IGJ1dHRvbnMsIHVzZSB0aGVzZSBzdHlsZXNcclxuICAgIEBpZiAkcGFkZGluZz09dGlueSB7XHJcbiAgICAgICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctdG55O1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtdG55O1xyXG4gICAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS10bnk7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC10bnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gSWYgd2UncmUgZGVhbGluZyB3aXRoIHNtYWxsIGJ1dHRvbnMsIHVzZSB0aGVzZSBzdHlsZXNcclxuICAgIEBpZiAkcGFkZGluZz09c21hbGwge1xyXG4gICAgICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLXNtbDtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1zbWw7XHJcbiAgICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXNtbDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLXNtbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBJZiB3ZSdyZSBkZWFsaW5nIHdpdGggZGVmYXVsdCAobWVkaXVtKSBidXR0b25zLCB1c2UgdGhlc2Ugc3R5bGVzXHJcbiAgICBAaWYgJHBhZGRpbmc9PW1lZGl1bSB7XHJcbiAgICAgICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctbWVkO1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLW1lZDtcclxuICAgICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtbWVkO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtbWVkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIElmIHdlJ3JlIGRlYWxpbmcgd2l0aCBsYXJnZSBidXR0b25zLCB1c2UgdGhlc2Ugc3R5bGVzXHJcbiAgICBAaWYgJHBhZGRpbmc9PWxhcmdlIHtcclxuICAgICAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGFkZGluZy1scmc7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtbHJnO1xyXG4gICAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1scmc7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1scmc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gV2UgY2FuIGNvbnRyb2wgdGhlIHBpcCBjb2xvci4gV2UgZGlkbid0IHVzZSBsb2dpYyBpbiB0aGlzIGNhc2UsIGp1c3Qgc2V0IGl0IGFuZCBmb3JnZXQgaXQuXHJcbiAgICBAaWYgJHBpcC1jb2xvciB7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwaXAtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwiZHJvcGRvd24tYnV0dG9uXCIpIHtcclxuICAgIEBpZiAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzIHtcclxuICAgICAgICAuZHJvcGRvd24uYnV0dG9uLFxyXG4gICAgICAgIGJ1dHRvbi5kcm9wZG93biB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWJ1dHRvbjtcclxuICAgICAgICAgICAgJi50aW55IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWJ1dHRvbih0aW55LCAkYmFzZS1zdHlsZTogZmFsc2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuc21hbGwge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tYnV0dG9uKHNtYWxsLCAkYmFzZS1zdHlsZTogZmFsc2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYubGFyZ2Uge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tYnV0dG9uKGxhcmdlLCAkYmFzZS1zdHlsZTogZmFsc2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuc2Vjb25kYXJ5OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3ItYWx0IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0IFwiZ2xvYmFsXCI7XHJcblxyXG4vL1xyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmlkZW8gY29udGFpbmVyIHBhZGRpbmcgYW5kIG1hcmdpbnNcclxuJGZsZXgtdmlkZW8tcGFkZGluZy10b3A6IHJlbS1jYWxjKDI1KSAhZGVmYXVsdDtcclxuJGZsZXgtdmlkZW8tcGFkZGluZy1ib3R0b206IDY3LjUlICFkZWZhdWx0O1xyXG4kZmxleC12aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHdpZGVzY3JlZW4gYm90dG9tIHBhZGRpbmdcclxuJGZsZXgtdmlkZW8td2lkZXNjcmVlbi1wYWRkaW5nLWJvdHRvbTogNTYuMzQlICFkZWZhdWx0O1xyXG5cclxuLy9cclxuLy8gQG1peGluc1xyXG4vL1xyXG5cclxuQG1peGluIGZsZXgtdmlkZW8tY29udGFpbmVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcGFkZGluZy10b3A6ICRmbGV4LXZpZGVvLXBhZGRpbmctdG9wO1xyXG4gIHBhZGRpbmctYm90dG9tOiAkZmxleC12aWRlby1wYWRkaW5nLWJvdHRvbTtcclxuICBoZWlnaHQ6IDA7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGZsZXgtdmlkZW8tbWFyZ2luLWJvdHRvbTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAmLndpZGVzY3JlZW4geyBwYWRkaW5nLWJvdHRvbTogJGZsZXgtdmlkZW8td2lkZXNjcmVlbi1wYWRkaW5nLWJvdHRvbTsgfVxyXG4gICYudmltZW8geyBwYWRkaW5nLXRvcDogMDsgfVxyXG5cclxuICBpZnJhbWUsXHJcbiAgb2JqZWN0LFxyXG4gIGVtYmVkLFxyXG4gIHZpZGVvIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwiZmxleC12aWRlb1wiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlcyB7XHJcbiAgICAuZmxleC12aWRlbyB7IEBpbmNsdWRlIGZsZXgtdmlkZW8tY29udGFpbmVyOyB9XHJcbiAgfVxyXG59IiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuQGltcG9ydCBcImdsb2JhbFwiO1xyXG5AaW1wb3J0IFwiYnV0dG9uc1wiO1xyXG4vL1xyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYmFzZSBmb3IgbG90cyBvZiBmb3JtIHNwYWNpbmcgYW5kIHBvc2l0aW9uaW5nIHN0eWxlc1xyXG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGFiZWxzIGluIGRpZmZlcmVudCB3YXlzXHJcbiRmb3JtLWxhYmVsLXBvaW50ZXI6IHBvaW50ZXIgIWRlZmF1bHQ7XHJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xyXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcclxuJGZvcm0tbGFiZWwtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGJsYWNrLCAkbGlnaHRuZXNzOiAzMCUpICFkZWZhdWx0O1xyXG4kZm9ybS1sYWJlbC1zbWFsbC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWRlZmF1bHQ7XHJcbiRmb3JtLWxhYmVsLWJvdHRvbS1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcclxuJGlucHV0LWZvbnQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMSkgIWRlZmF1bHQ7XHJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcclxuJGlucHV0LWJnLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRpbnB1dC1mb2N1cy1iZy1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMiUpICFkZWZhdWx0O1xyXG4kaW5wdXQtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yMCUpICFkZWZhdWx0O1xyXG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC00MCUpICFkZWZhdWx0O1xyXG4kaW5wdXQtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcclxuJGlucHV0LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xyXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcbiRpbnB1dC1kaXNhYmxlZC1iZzogJGdhaW5zYm9ybyAhZGVmYXVsdDtcclxuJGlucHV0LWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlICFkZWZhdWx0O1xyXG4kaW5wdXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKSAhZGVmYXVsdDtcclxuJGlucHV0LWluY2x1ZGUtZ2xvd2luZy1lZmZlY3Q6IGZhbHNlICFkZWZhdWx0O1xyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGZpZWxkc2V0IGJvcmRlciBhbmQgc3BhY2luZy5cclxuJGZpZWxkc2V0LWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XHJcbiRmaWVsZHNldC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybyAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDM1IDEwIDEwIDEwKSAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTAgMCkgIWRlZmF1bHQ7XHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGVnZW5kcyB3aGVuIHlvdSB1c2UgdGhlbVxyXG4kbGVnZW5kLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRsZWdlbmQtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDIgMykgIWRlZmF1bHQ7XHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgcHJlZml4IGFuZCBwb3N0Zml4IGlucHV0IGVsZW1lbnRzXHJcbiRpbnB1dC1wcmVmaXgtYmc6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcclxuJGlucHV0LXByZWZpeC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIwJSkgIWRlZmF1bHQ7XHJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcclxuJGlucHV0LXByZWZpeC1ib3JkZXItdHlwZTogc29saWQgIWRlZmF1bHQ7XHJcbiRpbnB1dC1wcmVmaXgtb3ZlcmZsb3c6IHZpc2libGUgIWRlZmF1bHQ7XHJcbiRpbnB1dC1wcmVmaXgtZm9udC1jb2xvcjogJG9pbCAhZGVmYXVsdDtcclxuJGlucHV0LXByZWZpeC1mb250LWNvbG9yLWFsdDogJHdoaXRlICFkZWZhdWx0O1xyXG4vLyBXZSB1c2UgdGhpcyBzZXR0aW5nIHRvIHR1cm4gb24vb2ZmIEhUTUw1IG51bWJlciBzcGlubmVycyAodGhlIHVwL2Rvd24gYXJyb3dzKVxyXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGVycm9yIHN0YXRlcyBmb3IgaW5wdXRzIGFuZCBsYWJlbHNcclxuJGlucHV0LWVycm9yLW1lc3NhZ2UtcGFkZGluZzogcmVtLWNhbGMoNiA5IDkpICFkZWZhdWx0O1xyXG4kaW5wdXQtZXJyb3ItbWVzc2FnZS10b3A6IC0xcHggIWRlZmF1bHQ7XHJcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xyXG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWJnLWNvbG9yOiAkYWxlcnQtY29sb3IgIWRlZmF1bHQ7XHJcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtY29sb3ItYWx0OiAkb2lsICFkZWZhdWx0O1xyXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgZ2xvd2luZyBlZmZlY3Qgb2YgaW5wdXRzIHdoZW4gZm9jdXNlZFxyXG4kZ2xvd2luZy1lZmZlY3QtZmFkZS10aW1lOiAuNDVzICFkZWZhdWx0O1xyXG4kZ2xvd2luZy1lZmZlY3QtY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcbi8vIFNlbGVjdCB2YXJpYWJsZXNcclxuJHNlbGVjdC1iZy1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kc2VsZWN0LWhvdmVyLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkc2VsZWN0LWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtMyUpICFkZWZhdWx0O1xyXG4vL1xyXG4vLyBATUlYSU5TXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGdpdmUgdXMgZm9ybSBzdHlsZXMgZm9yIHJvd3MgaW5zaWRlIG9mIGZvcm1zXHJcbkBtaXhpbiBmb3JtLXJvdy1iYXNlIHtcclxuICAgIC5yb3cge1xyXG4gICAgICAgIC8vbWFyZ2luOiAwICgoLSRmb3JtLXNwYWNpbmcpIC8gMik7XHJcbiAgICAgICAgbWFyZ2luOiAwIChtYXRoLmRpdigtJGZvcm0tc3BhY2luZywgMikpO1xyXG4gICAgICAgIC5jb2x1bW4sXHJcbiAgICAgICAgLmNvbHVtbnMge1xyXG4gICAgICAgICAgICAvL3BhZGRpbmc6IDAgKCRmb3JtLXNwYWNpbmcgLyAyKTtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAobWF0aC5kaXYoJGZvcm0tc3BhY2luZywgMikpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBVc2UgdGhpcyB0byBjb2xsYXBzZSB0aGUgbWFyZ2lucyBvZiBhIGZvcm0gcm93XHJcbiAgICAgICAgJi5jb2xsYXBzZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgLmNvbHVtbixcclxuICAgICAgICAgICAgLmNvbHVtbnMge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGlucHV0LmNvbHVtbixcclxuICAgIGlucHV0LmNvbHVtbnMsXHJcbiAgICB0ZXh0YXJlYS5jb2x1bW4sXHJcbiAgICB0ZXh0YXJlYS5jb2x1bW5zIHtcclxuICAgICAgICAvL3BhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06ICgkZm9ybS1zcGFjaW5nIC8gMik7XHJcbiAgICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogKG1hdGguZGl2KCRmb3JtLXNwYWNpbmcsIDIpKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQE1JWElOXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGdpdmUgYWxsIGJhc2ljIGZvcm0gZWxlbWVudHMgdGhlaXIgc3R5bGVcclxuQG1peGluIGZvcm0tZWxlbWVudCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmctY29sb3I7XHJcbiAgICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xyXG4gICAgYm9yZGVyOiB7XHJcbiAgICAgICAgc3R5bGU6ICRpbnB1dC1ib3JkZXItc3R5bGU7XHJcbiAgICAgICAgd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbiAgICAvL2JveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93O1xyXG4gICAgLy9jb2xvcjogJGlucHV0LWZvbnQtY29sb3I7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcclxuICAgIC8vbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZyAwO1xyXG4gICAgLy9wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gNDtcclxuICAgIHBhZGRpbmc6IG1hdGguZGl2KCRmb3JtLXNwYWNpbmcsIDQpO1xyXG4gICAgLy9oZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xyXG4gICAgQGlmICRpbnB1dC1pbmNsdWRlLWdsb3dpbmctZWZmZWN0IHtcclxuICAgICAgICBAaW5jbHVkZSBibG9jay1nbG93aW5nLWVmZmVjdChmb2N1cywgJGdsb3dpbmctZWZmZWN0LWZhZGUtdGltZSwgJGdsb3dpbmctZWZmZWN0LWNvbG9yKTtcclxuICAgIH1cclxuICAgIC8vIEJhc2ljIGZvY3VzIHN0eWxlc1xyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGlucHV0LWZvY3VzLWJnLWNvbG9yO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgfVxyXG4gICAgLy8gRGlzYmFsZWQgU3R5bGVzXHJcbiAgICAmOmRpc2FibGVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XHJcbiAgICAgICAgY3Vyc29yOiAkaW5wdXQtZGlzYWJsZWQtY3Vyc29yO1xyXG4gICAgfVxyXG4gICAgLy8gRGlzYWJsZWQgYmFja2dyb3VuZCBpbnB1dCBiYWNrZ3JvdW5kIGNvbG9yXHJcbiAgICAmW2Rpc2FibGVkXSxcclxuICAgICZbcmVhZG9ubHldLFxyXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcclxuICAgICAgICBjdXJzb3I6ICRpbnB1dC1kaXNhYmxlZC1jdXJzb3I7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEBNSVhJTlxyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgZm9ybSBsYWJlbHNcclxuLy9cclxuLy8gJGFsaWdubWVudCAtIEFsaWdubWVudCBvcHRpb25zLiBEZWZhdWx0OiBmYWxzZS4gT3B0aW9uczogW3JpZ2h0LCBpbmxpbmUsIGZhbHNlXVxyXG4vLyAkYmFzZS1zdHlsZSAtIENvbnRyb2wgd2hldGhlciBvciBub3QgdGhlIGJhc2Ugc3R5bGVzIGNvbWUgdGhyb3VnaC4gRGVmYXVsdDogdHJ1ZS5cclxuQG1peGluIGZvcm0tbGFiZWwoJGFsaWdubWVudDpmYWxzZSwgJGJhc2Utc3R5bGU6dHJ1ZSkge1xyXG4gICAgLy8gQ29udHJvbCB3aGV0aGVyIG9yIG5vdCB0aGUgYmFzZSBzdHlsZXMgY29tZSB0aHJvdWdoLlxyXG4gICAgQGlmICRiYXNlLXN0eWxlIHtcclxuICAgICAgICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcclxuICAgICAgICBjb2xvcjogJGZvcm0tbGFiZWwtZm9udC1jb2xvcjtcclxuICAgICAgICBjdXJzb3I6ICRmb3JtLWxhYmVsLXBvaW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcclxuICAgICAgICBtYXJnaW46IDAgcmVtLWNhbGMoNSkgMCAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDAuMjVlbSAwIDAuM2VtIDA7XHJcbiAgICB9XHJcbiAgICAvLyBBbGlnbm1lbnQgb3B0aW9uc1xyXG4gICAgQGlmICRhbGlnbm1lbnQ9PXJpZ2h0IHtcclxuICAgICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJGFsaWdubWVudD09aW5saW5lIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nIDA7XHJcbiAgICAgICAgLy9wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpIDA7XHJcbiAgICAgICAgcGFkZGluZzogbWF0aC5kaXYoJGZvcm0tc3BhY2luZywgMikgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgcG9zdGZpeC9wcmVmaXggZm9ybSBMYWJlbHNcclxuQG1peGluIHByZWZpeC1wb3N0Zml4LWJhc2Uge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgYm9yZGVyLXN0eWxlOiAkaW5wdXQtcHJlZml4LWJvcmRlci10eXBlO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtcHJlZml4LWJvcmRlci1zaXplO1xyXG4gICAgb3ZlcmZsb3c6ICRpbnB1dC1wcmVmaXgtb3ZlcmZsb3c7XHJcbiAgICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcclxuICAgIGhlaWdodDogMS41NXJlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcclxufVxyXG5cclxuLy8gQE1JWElOXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBwcmVmaXggbGFiZWwgc3R5bGVzXHJcbi8vICRiZyAtIERlZmF1bHQ6JGlucHV0LXByZWZpeC1iZyB8fCBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XHJcbi8vICRpcy1idXR0b24gLSBUb2dnbGUgcG9zaXRpb24gc2V0dGluZ3MgaWYgcHJlZml4IGlzIGEgYnV0dG9uLiBEZWZhdWx0OmZhbHNlXHJcbi8vXHJcbkBtaXhpbiBwcmVmaXgoJGJnOiRpbnB1dC1wcmVmaXgtYmcsICRib3JkZXI6JGlucHV0LXByZWZpeC1ib3JkZXItY29sb3IsICRpcy1idXR0b246ZmFsc2UpIHtcclxuICAgIEBpZiAkYmcge1xyXG4gICAgICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRiZztcclxuICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogbm9uZTtcclxuICAgICAgICAvLyBDb250cm9sIHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIGJhY2tncm91bmQgYnJpZ2h0bmVzc1xyXG4gICAgICAgIEBpZiAkYmctbGlnaHRuZXNzPjcwJSBvciAkYmc9PXllbGxvdyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWZvbnQtY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvci1hbHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGlmICRib3JkZXIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcclxuICAgIH1cclxuICAgIEBpZiAkaXMtYnV0dG9uIHtcclxuICAgICAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xyXG4gICAgICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBATUlYSU5cclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHBvc3RmaXggbGFiZWwgc3R5bGVzXHJcbi8vICRiZyAtIERlZmF1bHQ6JGlucHV0LXByZWZpeC1iZyB8fCBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XHJcbi8vICRpcy1idXR0b24gLSBUb2dnbGUgcG9zaXRpb24gc2V0dGluZ3MgaWYgcHJlZml4IGlzIGEgYnV0dG9uLiBEZWZhdWx0OiBmYWxzZVxyXG5AbWl4aW4gcG9zdGZpeCgkYmc6JGlucHV0LXByZWZpeC1iZywgJGJvcmRlcjokaW5wdXQtcHJlZml4LWJvcmRlci1jb2xvciwgJGlzLWJ1dHRvbjpmYWxzZSkge1xyXG4gICAgQGlmICRiZyB7XHJcbiAgICAgICAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGJnO1xyXG4gICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fTogbm9uZTtcclxuICAgICAgICAvLyBDb250cm9sIHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIGJhY2tncm91bmQgYnJpZ2h0bmVzc1xyXG4gICAgICAgIEBpZiAkYmctbGlnaHRuZXNzPjcwJSBvciAkYmc9PXllbGxvdyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWZvbnQtY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvci1hbHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGlmICRib3JkZXIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcclxuICAgIH1cclxuICAgIEBpZiAkaXMtYnV0dG9uIHtcclxuICAgICAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xyXG4gICAgICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBzdHlsZSBmaWVsZHNldHNcclxuQG1peGluIGZpZWxkc2V0IHtcclxuICAgIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlci13aWR0aCAkZmllbGRzZXQtYm9yZGVyLXN0eWxlICRmaWVsZHNldC1ib3JkZXItY29sb3I7XHJcbiAgICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcclxuICAgIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vIGFuZCBsZWdlbmQgc3R5bGVzXHJcbiAgICBsZWdlbmQge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkbGVnZW5kLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRsZWdlbmQtYmc7XHJcbiAgICAgICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IHJlbS1jYWxjKC0zKTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiByZW0tY2FsYygwKTtcclxuICAgICAgICBsZWZ0OiByZW0tY2FsYygzKTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBATUlYSU5cclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY29udHJvbCBib3JkZXIgYW5kIGJhY2tncm91bmQgY29sb3Igb2YgZXJyb3IgaW5wdXRzXHJcbi8vICRjb2xvciAtIERlZmF1bHQ6ICRhbGVydC1jb2xvciAoZm91bmQgaW4gc2V0dGluZ3MgZmlsZSlcclxuQG1peGluIGZvcm0tZXJyb3ItY29sb3IoJGNvbG9yOiRhbGVydC1jb2xvcikge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgLjEpO1xyXG4gICAgLy8gR28gYmFjayB0byBub3JtYWwgb24gZm9jdXNcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRpbnB1dC1mb2N1cy1iZy1jb2xvcjtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEBNSVhJTlxyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBzaW1wbGUgbWl4aW4gdG8gc3R5bGUgbGFiZWxzIGZvciBlcnJvciBpbnB1dHNcclxuLy8gJGNvbG9yIC0gRGVmYXVsdDokYWxlcnQtY29sb3IuIEZvdW5kIGluIHNldHRpbmdzIGZpbGVcclxuQG1peGluIGZvcm0tbGFiZWwtZXJyb3ItY29sb3IoJGNvbG9yOiRhbGVydC1jb2xvcikge1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxufVxyXG5cclxuLy8gQE1JWElOXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBlcnJvciBtZXNzYWdlIHN0eWxlc1xyXG4vLyAkYmcgLSBEZWZhdWx0OiAkYWxlcnQtY29sb3IgKEZvdW5kIGluIHNldHRpbmdzIGZpbGUpXHJcbkBtaXhpbiBmb3JtLWVycm9yLW1lc3NhZ2UoJGJnOiRpbnB1dC1lcnJvci1tZXNzYWdlLWJnLWNvbG9yKSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6ICRpbnB1dC1lcnJvci1tZXNzYWdlLXBhZGRpbmc7XHJcbiAgICBtYXJnaW4tdG9wOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS10b3A7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xyXG4gICAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXNpemU7XHJcbiAgICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC13ZWlnaHQ7XHJcbiAgICBmb250LXN0eWxlOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXN0eWxlO1xyXG4gICAgLy8gV2UgY2FuIGNvbnRyb2wgdGhlIHRleHQgY29sb3IgYmFzZWQgb24gdGhlIGJyaWdodG5lc3Mgb2YgdGhlIGJhY2tncm91bmQuXHJcbiAgICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcclxuICAgIGJhY2tncm91bmQ6ICRiZztcclxuICAgIEBpZiAkYmctbGlnaHRuZXNzIDwgNzAlIG9yICRiZz09eWVsbG93IHtcclxuICAgICAgICBjb2xvcjogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvcjtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgICBjb2xvcjogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvci1hbHQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIHN0eWxlIHNlbGVjdCBlbGVtZW50c1xyXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iZy1jb2xvcjtcclxuICAgIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXHJcbiAgICAmOjotbXMtZXhwYW5kIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgLy8gVGhlIGN1c3RvbSBhcnJvdyBoYXMgc29tZSBmYWtlIGhvcml6b250YWwgcGFkZGluZyBzbyB3ZSBjYW4gYWxpZ24gaXRcclxuICAgIC8vIGZyb20gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIGVsZW1lbnQgd2l0aG91dCByZWx5aW5nIG9uIENTUzNcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUdDQVlBQUFENjhBL0dBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQnpTVVJCVkhnQmJjeXhEWUFnRkFUUXcxalo2Q2l1WU84T01vSzFGRlQyT2dGeEFoTkQ3d29PWklMOEh5Skl2T1JJdUR3QUtIcHZNUHJtMFhFcitMekxFNVZ2aWduUnJxeWhhOG1qY3l1RU1BRjNxTU5qb1BWZGlJajNoK21RakIydXNIb2tKT1orKzhJVWN5TDZEMkZsaDN4K0FIeU9JVCs2eE5oT0FBQUFBRWxGVGtTdVFtQ0MpO1xyXG4gICAgLy8gV2UgY2FuIHNhZmVseSB1c2UgbGVmdG1vc3QgYW5kIHJpZ2h0bW9zdCBub3dcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGlmKCR0ZXh0LWRpcmVjdGlvbj09J3J0bCcsIDAlLCA5MCUpIGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBib3JkZXI6IHtcclxuICAgICAgICBzdHlsZTogJGlucHV0LWJvcmRlci1zdHlsZTtcclxuICAgICAgICB3aWR0aDogJGlucHV0LWJvcmRlci13aWR0aDtcclxuICAgICAgICBjb2xvcjogJGlucHV0LWJvcmRlci1jb2xvcjtcclxuICAgIH1cclxuICAgIC8vcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyKTtcclxuICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcclxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuICAgIGNvbG9yOiAkaW5wdXQtZm9udC1jb2xvcjtcclxuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICBAaW5jbHVkZSByYWRpdXMoMCk7XHJcbiAgICAmLnJhZGl1cyB7XHJcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzKCRnbG9iYWwtcmFkaXVzKTtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1ob3Zlci1iZy1jb2xvcjtcclxuICAgICAgICAvL2JvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcclxuICAgIH1cclxuICAgIC8vIERpc2FibGVkIFN0eWxlc1xyXG4gICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xyXG4gICAgICAgIGN1cnNvcjogJGlucHV0LWRpc2FibGVkLWN1cnNvcjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gdHVybiBvbi9vZmYgSFRNTDUgbnVtYmVyIHNwaW5uZXJzXHJcbkBtaXhpbiBodG1sNW51bWJlcigkYnJvd3NlciwgJG9uOnRydWUpIHtcclxuICAgIEBpZiAkb249PWZhbHNlIHtcclxuICAgICAgICBAaWYgJGJyb3dzZXI9PXdlYmtpdCB7XHJcbiAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAZWxzZSBpZiAkYnJvd3Nlcj09bW96IHtcclxuICAgICAgICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwiZm9ybVwiKSB7XHJcbiAgICBAaWYgJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXMge1xyXG4gICAgICAgIC8qIFN0YW5kYXJkIEZvcm1zICovXHJcbiAgICAgICAgZm9ybSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8qIFVzaW5nIGZvcm1zIHdpdGhpbiByb3dzLCB3ZSBuZWVkIHRvIHNldCBzb21lIGRlZmF1bHRzICovXHJcbiAgICAgICAgZm9ybSAucm93IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9ybS1yb3ctYmFzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLyogTGFiZWwgU3R5bGVzICovXHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xyXG4gICAgICAgICAgICAmLnJpZ2h0IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwocmlnaHQsIGZhbHNlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmlubGluZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsKGlubGluZSwgZmFsc2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8qIFN0eWxlcyBmb3IgcmVxdWlyZWQgaW5wdXRzICovXHJcbiAgICAgICAgICAgIHNtYWxsIHtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9ybS1sYWJlbC1zbWFsbC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGZvcm0tbGFiZWwtZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMTUlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvKiBBdHRhY2ggZWxlbWVudHMgdG8gdGhlIGJlZ2lubmluZyBvciBlbmQgb2YgYW4gaW5wdXQgKi9cclxuICAgICAgICAucHJlZml4LFxyXG4gICAgICAgIC5wb3N0Zml4IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4LXBvc3RmaXgtYmFzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLyogQWRqdXN0IHBhZGRpbmcsIGFsaWdubWVudCBhbmQgcmFkaXVzIGlmIHByZS9wb3N0IGVsZW1lbnQgaXMgYSBidXR0b24gKi9cclxuICAgICAgICAucG9zdGZpeC5idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc2l6ZShmYWxzZSwgZmFsc2UpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwb3N0Zml4KGZhbHNlLCBmYWxzZSwgdHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcmVmaXguYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXNpemUoZmFsc2UsIGZhbHNlKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4KGZhbHNlLCBmYWxzZSwgdHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcmVmaXguYnV0dG9uLnJhZGl1cyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHJhZGl1cygwKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcmFkaXVzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnBvc3RmaXguYnV0dG9uLnJhZGl1cyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHJhZGl1cygwKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucHJlZml4LmJ1dHRvbi5yb3VuZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHJhZGl1cygwKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcm91bmQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucG9zdGZpeC5idXR0b24ucm91bmQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSByYWRpdXMoMCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcm91bmQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvKiBTZXBhcmF0ZSBwcmVmaXggYW5kIHBvc3RmaXggc3R5bGVzIHdoZW4gb24gc3BhbiBvciBsYWJlbCBzbyBidXR0b25zIGtlZXAgdGhlaXIgb3duICovXHJcbiAgICAgICAgc3Bhbi5wcmVmaXgsXHJcbiAgICAgICAgbGFiZWwucHJlZml4IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcHJlZml4KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4ucG9zdGZpeCxcclxuICAgICAgICBsYWJlbC5wb3N0Zml4IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcG9zdGZpeCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvKiBXZSB1c2UgdGhpcyB0byBnZXQgYmFzaWMgc3R5bGluZyBvbiBhbGwgYmFzaWMgZm9ybSBlbGVtZW50cyAqL1xyXG4gICAgICAgICN7dGV4dC1pbnB1dHMoYWxsLCAnaW5wdXQnKX0ge1xyXG4gICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcclxuICAgICAgICAgICAgQGlmICRpbnB1dC1pbmNsdWRlLWdsb3dpbmctZWZmZWN0PT1mYWxzZSB7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQgMC4xNXMgbGluZWFyO1xyXG4gICAgICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgbGluZWFyLCBiYWNrZ3JvdW5kIDAuMTVzIGxpbmVhcjtcclxuICAgICAgICAgICAgICAgIC1tcy10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgbGluZWFyLCBiYWNrZ3JvdW5kIDAuMTVzIGxpbmVhcjtcclxuICAgICAgICAgICAgICAgIC1vLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQgMC4xNXMgbGluZWFyO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGxpbmVhciwgYmFja2dyb3VuZCAwLjE1cyBsaW5lYXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5yYWRpdXMge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBmb3JtIHtcclxuICAgICAgICAgICAgLnJvdyB7XHJcbiAgICAgICAgICAgICAgICAucHJlZml4LXJhZGl1cy5yb3cuY29sbGFwc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGlucHV0LFxyXG4gICAgICAgICAgICAgICAgICAgIHRleHRhcmVhLFxyXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdCxcclxuICAgICAgICAgICAgICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByYWRpdXMoMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnByZWZpeCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJhZGl1cygwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAucG9zdGZpeC1yYWRpdXMucm93LmNvbGxhcHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBpbnB1dCxcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0YXJlYSxcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3QsXHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcmFkaXVzKDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yYWRpdXMpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAucG9zdGZpeCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJhZGl1cygwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5wcmVmaXgtcm91bmQucm93LmNvbGxhcHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBpbnB1dCxcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0YXJlYSxcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3QsXHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcmFkaXVzKDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkYnV0dG9uLXJvdW5kKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnByZWZpeCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJhZGl1cygwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcm91bmQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5wb3N0Zml4LXJvdW5kLnJvdy5jb2xsYXBzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dGFyZWEsXHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0LFxyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJhZGl1cygwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcm91bmQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAucG9zdGZpeCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJhZGl1cygwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yb3VuZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8qIFJlc3BlY3QgZW5mb3JjZWQgYW1vdW50IG9mIHJvd3MgZm9yIHRleHRhcmVhICovXHJcbiAgICAgICAgdGV4dGFyZWFbcm93c10ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8qIE5vdCBhbGxvdyByZXNpemUgb3V0IG9mIHBhcmVudCAqL1xyXG4gICAgICAgIHRleHRhcmVhIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvKiBBZGQgaGVpZ2h0IHZhbHVlIGZvciBzZWxlY3QgZWxlbWVudHMgdG8gbWF0Y2ggdGV4dCBpbnB1dCBoZWlnaHQgKi9cclxuICAgICAgICBzZWxlY3Qge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEyKSk7XHJcbiAgICAgICAgICAgICZbbXVsdGlwbGVdIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvKiBBZGp1c3QgbWFyZ2luIGZvciBmb3JtIGVsZW1lbnRzIGJlbG93ICovXHJcbiAgICAgICAgaW5wdXRbdHlwZT1cImZpbGVcIl0sXHJcbiAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxyXG4gICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcclxuICAgICAgICAvKnNlbGVjdCovXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXStsYWJlbCxcclxuICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0rbGFiZWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGZvcm0tc3BhY2luZyAqIC41O1xyXG4gICAgICAgICAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGZvcm0tc3BhY2luZztcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvKiBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aCAqL1xyXG4gICAgICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8qIEhUTUw1IE51bWJlciBzcGlubmVycyBzZXR0aW5ncyAqL1xyXG4gICAgICAgIGlucHV0W3R5cGU9bnVtYmVyXSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGh0bWw1bnVtYmVyKG1veiwgJGlucHV0LW51bWJlci1zcGlubmVycylcclxuICAgICAgICB9XHJcbiAgICAgICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcclxuICAgICAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgaHRtbDVudW1iZXIod2Via2l0LCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLyogV2UgYWRkIGJhc2ljIGZpZWxkc2V0IHN0eWxpbmcgKi9cclxuICAgICAgICBmaWVsZHNldCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvKiBFcnJvciBIYW5kbGluZyAqL1xyXG4gICAgICAgICN7ZGF0YSgnYWJpZGUnKX0ge1xyXG4gICAgICAgICAgICAuZXJyb3Igc21hbGwuZXJyb3IsXHJcbiAgICAgICAgICAgIC5lcnJvciBzcGFuLmVycm9yLFxyXG4gICAgICAgICAgICBzcGFuLmVycm9yLFxyXG4gICAgICAgICAgICBzbWFsbC5lcnJvciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb3JtLWVycm9yLW1lc3NhZ2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3Bhbi5lcnJvcixcclxuICAgICAgICAgICAgc21hbGwuZXJyb3Ige1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuLmVycm9yLFxyXG4gICAgICAgIHNtYWxsLmVycm9yIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9ybS1lcnJvci1tZXNzYWdlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZXJyb3Ige1xyXG4gICAgICAgICAgICBpbnB1dCxcclxuICAgICAgICAgICAgdGV4dGFyZWEsXHJcbiAgICAgICAgICAgIHNlbGVjdCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcclxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmdcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsYWJlbCxcclxuICAgICAgICAgICAgbGFiZWwuZXJyb3Ige1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1lcnJvci1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzbWFsbC5lcnJvciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb3JtLWVycm9yLW1lc3NhZ2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPmxhYmVsIHtcclxuICAgICAgICAgICAgICAgID5zbWFsbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRmb3JtLWxhYmVsLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDE1JSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvcm0tbGFiZWwtc21hbGwtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDYwJTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW4uZXJyb3ItbWVzc2FnZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpbnB1dC5lcnJvcixcclxuICAgICAgICB0ZXh0YXJlYS5lcnJvcixcclxuICAgICAgICBzZWxlY3QuZXJyb3Ige1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsYWJlbC5lcnJvciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtZXJyb3ItY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0IFwiZ2xvYmFsXCI7XHJcblxyXG5cclxuLy8gQG5hbWVcclxuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3NcclxuXHJcbiRpbmNsdWRlLWh0bWwtaWNvbi1iYXItY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gQHZhcmlhYmxlc1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBpY29uLWJhciBhbmQgaXRlbXNcclxuJGljb24tYmFyLWJnOiAkb2lsICFkZWZhdWx0O1xyXG4kaWNvbi1iYXItZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kaWNvbi1iYXItZm9udC1jb2xvci1ob3ZlcjogJGljb24tYmFyLWZvbnQtY29sb3IgIWRlZmF1bHQ7XHJcbiRpY29uLWJhci1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XHJcbiRpY29uLWJhci1ob3Zlci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcbiRpY29uLWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRpY29uLWJhci1pY29uLWNvbG9yLWhvdmVyOiAkaWNvbi1iYXItaWNvbi1jb2xvciAhZGVmYXVsdDtcclxuJGljb24tYmFyLWljb24tc2l6ZTogMS44NzVyZW0gIWRlZmF1bHQ7XHJcbiRpY29uLWJhci1pbWFnZS13aWR0aDogMS44NzVyZW0gIWRlZmF1bHQ7XHJcbiRpY29uLWJhci1pbWFnZS1oZWlnaHQ6IDEuODc1cmVtICFkZWZhdWx0O1xyXG4kaWNvbi1iYXItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuJGljb24tYmFyLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIHNldCBkZWZhdWx0IG9wYWNpdHkgYW5kIGN1cnNvciBmb3IgZGlzYWJsZWQgaWNvbnMuXHJcbiRpY29uLWJhci1kaXNhYmxlZC1vcGFjaXR5OiAuNyAhZGVmYXVsdDtcclxuJGljb24tYmFyLWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kaXNhYmxlZC12YWx1ZSAhZGVmYXVsdDtcclxuXHJcblxyXG4vL1xyXG4vLyBAbWl4aW5zXHJcbi8vXHJcblxyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIGJhc2Ugc3R5bGVzIGZvciBvdXIgSWNvbiBiYXIgZWxlbWVudC5cclxuLy9cclxuQG1peGluIGljb24tYmFyLWJhc2UoKSB7XHJcblxyXG4gXHR3aWR0aDogMTAwJTtcclxuXHRmb250LXNpemU6IDA7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuXHQmID4gKiB7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRmb250LXNpemU6ICRpY29uLWJhci1mb250LXNpemU7XHJcblx0XHR3aWR0aDogMjUlO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHBhZGRpbmc6ICRpY29uLWJhci1pdGVtLXBhZGRpbmc7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHJcblx0XHRpLCBpbWcge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0bWFyZ2luOiAwIGF1dG87XHJcblxyXG5cdFx0XHQmICsgbGFiZWwge1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IC4wNjI1cmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0aSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogJGljb24tYmFyLWljb24tc2l6ZTtcclxuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdH1cclxuXHJcblx0XHRpbWcge1xyXG5cdFx0XHR3aWR0aDogJGljb24tYmFyLWltYWdlLXdpZHRoO1xyXG5cdFx0XHRoZWlnaHQ6ICRpY29uLWJhci1pbWFnZS1oZWlnaHQ7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLmxhYmVsLXJpZ2h0ID4gKiB7XHJcblxyXG5cdFx0aSwgaW1nIHtcclxuXHRcdFx0bWFyZ2luOiAwIC4wNjI1cmVtIDAgMDtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuXHRcdFx0JiArIGxhYmVsIHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0bGFiZWwgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cclxuXHR9XHJcblxyXG5cdCYudmVydGljYWwubGFiZWwtcmlnaHQgPiAqIHtcclxuXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0fVxyXG5cclxuXHQmLnZlcnRpY2FsLCAmLnNtYWxsLXZlcnRpY2Fse1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblxyXG5cdFx0Lml0ZW0ge1xyXG5cdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0bWFyZ2luOiBhdXRvO1xyXG5cdFx0XHRmbG9hdDogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYubWVkaXVtLXZlcnRpY2FsIHtcclxuXHRcdEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHR3aWR0aDogYXV0bztcclxuXHJcblx0XHRcdC5pdGVtIHtcclxuXHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0XHRtYXJnaW46IGF1dG87XHJcblx0XHRcdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Ji5sYXJnZS12ZXJ0aWNhbCB7XHJcblx0XHRAbWVkaWEgI3skbGFyZ2UtdXB9IHtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHR3aWR0aDogYXV0bztcclxuXHJcblx0XHRcdC5pdGVtIHtcclxuXHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0XHRtYXJnaW46IGF1dG87XHJcblx0XHRcdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgc2l6ZSBzdHlsZXMgZm9yIGljb24gYmFycy5cclxuQG1peGluIGljb24tYmFyLXNpemUoXHJcblx0JHBhZGRpbmc6ICRpY29uLWJhci1pdGVtLXBhZGRpbmcsXHJcblx0JGZvbnQtc2l6ZTogJGljb24tYmFyLWZvbnQtc2l6ZSxcclxuXHQkaWNvbi1zaXplOiAkaWNvbi1iYXItaWNvbi1zaXplLFxyXG5cdCRpbWFnZS13aWR0aDogJGljb24tYmFyLWltYWdlLXdpZHRoLFxyXG5cdCRpbWFnZS1oZWlnaHQ6ICRpY29uLWJhci1pbWFnZS1oZWlnaHQpIHtcclxuXHJcblx0JiA+ICoge1xyXG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplO1xyXG5cdFx0cGFkZGluZzogJHBhZGRpbmc7XHJcblxyXG5cdFx0aSwgaW1nIHtcclxuXHJcblx0XHRcdCYgKyBsYWJlbCB7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogLjA2MjVyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRpIHtcclxuXHRcdFx0Zm9udC1zaXplOiAkaWNvbi1zaXplO1xyXG5cdFx0fVxyXG5cclxuXHRcdGltZyB7XHJcblx0XHRcdHdpZHRoOiAkaW1hZ2Utd2lkdGg7XHJcblx0XHRcdGhlaWdodDogJGltYWdlLWhlaWdodDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG59XHJcblxyXG5AbWl4aW4gaWNvbi1iYXItc3R5bGUoXHJcbiAgJGJhci1iZzokaWNvbi1iYXItYmcsXHJcbiAgJGJhci1mb250LWNvbG9yOiRpY29uLWJhci1mb250LWNvbG9yLFxyXG4gICRiYXItZm9udC1jb2xvci1ob3ZlcjokaWNvbi1iYXItZm9udC1jb2xvci1ob3ZlcixcclxuICAkYmFyLWhvdmVyLWNvbG9yOiRpY29uLWJhci1ob3Zlci1jb2xvcixcclxuICAkYmFyLWljb24tY29sb3I6JGljb24tYmFyLWljb24tY29sb3IsXHJcbiAgJGJhci1pY29uLWNvbG9yLWhvdmVyOiRpY29uLWJhci1pY29uLWNvbG9yLWhvdmVyLFxyXG4gICRiYXItYWN0aXZlLWNvbG9yOiRpY29uLWJhci1hY3RpdmUtY29sb3IsXHJcbiAgJGJhc2Utc3R5bGU6dHJ1ZSxcclxuICAkZGlzYWJsZWQ6ZmFsc2UpIHtcclxuXHJcblx0QGlmICRiYXNlLXN0eWxlIHtcclxuXHJcblx0XHRiYWNrZ3JvdW5kOiAkYmFyLWJnO1xyXG5cclxuXHRcdCYgPiAqIHtcclxuXHRcdFx0bGFiZWwgeyBjb2xvcjogJGJhci1mb250LWNvbG9yOyB9XHJcblxyXG5cdFx0XHRpIHsgY29sb3I6ICRiYXItaWNvbi1jb2xvcjsgfVxyXG5cdFx0fVxyXG5cclxuXHRcdCYgPiBhOmhvdmVyIHtcclxuXHJcblx0XHRcdGJhY2tncm91bmQ6ICRiYXItaG92ZXItY29sb3I7XHJcblxyXG5cdFx0XHRsYWJlbCB7IGNvbG9yOiAkYmFyLWZvbnQtY29sb3ItaG92ZXI7IH1cclxuXHJcblx0XHRcdGkgeyBjb2xvcjogJGJhci1pY29uLWNvbG9yLWhvdmVyOyB9XHJcblx0XHR9XHJcblxyXG4gICAgICAgICYgPiBhLmFjdGl2ZSB7XHJcblxyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkYmFyLWFjdGl2ZS1jb2xvcjtcclxuXHJcblx0XHRcdGxhYmVsIHsgY29sb3I6ICRiYXItZm9udC1jb2xvci1ob3ZlcjsgfVxyXG5cclxuXHRcdFx0aSB7IGNvbG9yOiAkYmFyLWljb24tY29sb3ItaG92ZXI7IH1cclxuXHRcdH1cclxuXHR9XHJcbiAgQGlmICRkaXNhYmxlZCB7XHJcbiAgICAuaXRlbS5kaXNhYmxlZCB7XHJcbiAgICAgIG9wYWNpdHk6ICRpY29uLWJhci1kaXNhYmxlZC1vcGFjaXR5O1xyXG4gICAgICBjdXJzb3I6ICRpY29uLWJhci1kaXNhYmxlZC1jdXJzb3I7XHJcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICA+KiB7XHJcbiAgICAgICAgb3BhY2l0eTogJGljb24tYmFyLWRpc2FibGVkLW9wYWNpdHk7XHJcbiAgICAgICAgY3Vyc29yOiAkaWNvbi1iYXItZGlzYWJsZWQtY3Vyc29yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gcXVpY2tseSBjcmVhdGUgaWNvbiBiYXJzIHdpdGggYSBzaW5nbGUgbWl4aW5cclxuLy8gJGhlaWdodCAtIFRoZSBvdmVyYWxsIGNhbGN1bGF0ZWQgaGVpZ2h0IG9mIHRoZSBpY29uIGJhciAoaG9yaXpvbnRhbClcclxuLy8gJGJhci1iZyAtIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBiYXJcclxuLy8gJGJhci1mb250LWNvbG9yIC0gdGhlIGZvbnQgY29sb3JcclxuLy8gJGJhci1ob3Zlci1jb2xvciAtIG9rYXkgdGhlc2UgYXJlIHByZXR0eSBvYnZpb3VzIHZhcmlhYmxlc1xyXG4vLyAkYmFyLWljb24tY29sb3IgLSBtYXliZSB3ZSBjb3VsZCBza2lwIGV4cGxhaW5pbmcgdGhlbSBhbGw/IE9rYXkgdGhpcyBvbmUgZG9lcyBjaGFuZ2UgaWNvbiBjb2xvciBpZiB5b3UgdXNlIGFuIGljb24gZm9udFxyXG4vLyAkYmFyLWFjdGl2ZS1jb2xvciAtIHRoZSBjb2xvciBvZiBhbiBhY3RpdmUgLyBob3ZlciBzdGF0ZVxyXG4vLyAkYmFzZS1zdHlsZSAtIEFwcGx5IGJhc2Ugc3R5bGVzPyBEZWZhdWx0OiB0cnVlLlxyXG4vLyAkZGlzYWJsZWQgLSBBbGxvdyBkaXNhYmxlZCBpY29ucz8gRGVmYXVsdDogZmFsc2UuXHJcblxyXG5AbWl4aW4gaWNvbi1iYXIoXHJcbiAgJGJhci1iZzokaWNvbi1iYXItYmcsXHJcbiAgJGJhci1mb250LWNvbG9yOiRpY29uLWJhci1mb250LWNvbG9yLFxyXG4gICRiYXItZm9udC1jb2xvci1ob3ZlcjokaWNvbi1iYXItZm9udC1jb2xvci1ob3ZlcixcclxuICAkYmFyLWhvdmVyLWNvbG9yOiRpY29uLWJhci1ob3Zlci1jb2xvcixcclxuICAkYmFyLWljb24tY29sb3I6JGljb24tYmFyLWljb24tY29sb3IsXHJcbiAgJGJhci1pY29uLWNvbG9yLWhvdmVyOiRpY29uLWJhci1pY29uLWNvbG9yLWhvdmVyLFxyXG4gICRiYXItYWN0aXZlLWNvbG9yOiRpY29uLWJhci1hY3RpdmUtY29sb3IsXHJcbiAgJHBhZGRpbmc6ICRpY29uLWJhci1pdGVtLXBhZGRpbmcsXHJcblx0JGZvbnQtc2l6ZTogJGljb24tYmFyLWZvbnQtc2l6ZSxcclxuXHQkaWNvbi1zaXplOiAkaWNvbi1iYXItaWNvbi1zaXplLFxyXG5cdCRpbWFnZS13aWR0aDogJGljb24tYmFyLWltYWdlLXdpZHRoLFxyXG5cdCRpbWFnZS1oZWlnaHQ6ICRpY29uLWJhci1pbWFnZS1oZWlnaHQsXHJcbiAgJGJhc2Utc3R5bGU6dHJ1ZSxcclxuICAkZGlzYWJsZWQ6dHJ1ZSkge1xyXG4gICAgQGluY2x1ZGUgaWNvbi1iYXItYmFzZSgpO1xyXG4gICAgQGluY2x1ZGUgaWNvbi1iYXItc2l6ZSgkcGFkZGluZywgJGZvbnQtc2l6ZSwgJGljb24tc2l6ZSwgJGltYWdlLXdpZHRoLCAkaW1hZ2UtaGVpZ2h0KTtcclxuICAgIEBpbmNsdWRlIGljb24tYmFyLXN0eWxlKCRiYXItYmcsICRiYXItZm9udC1jb2xvciwgJGJhci1mb250LWNvbG9yLWhvdmVyLCAkYmFyLWhvdmVyLWNvbG9yLCAkYmFyLWljb24tY29sb3IsICRiYXItaWNvbi1jb2xvci1ob3ZlciwgJGJhci1hY3RpdmUtY29sb3IsICRiYXNlLXN0eWxlLCAkZGlzYWJsZWQpO1xyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwiaWNvbi1iYXJcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLWljb24tYmFyLWNsYXNzZXMge1xyXG4gICAgLmljb24tYmFyIHtcclxuICAgICAgQGluY2x1ZGUgaWNvbi1iYXI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AaWYgJGluY2x1ZGUtaHRtbC1pY29uLWJhci1jbGFzc2VzIHtcclxuXHJcblx0Ly8gdG9vbGJhciBzdHlsZXNcclxuXHJcblx0Lmljb24tYmFyIHtcclxuXHJcblx0XHQvLyBDb3VudHNcclxuXHJcblx0XHQmLnR3by11cCB7XHJcblx0XHRcdC5pdGVtIHsgd2lkdGg6IDUwJTsgfVxyXG5cdFx0XHQmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cclxuXHRcdFx0Ji5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xyXG5cdFx0XHRcdEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcclxuXHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcclxuXHRcdFx0XHRAbWVkaWEgI3skbGFyZ2UtdXB9IHtcclxuXHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Ji50aHJlZS11cCB7XHJcblx0XHRcdC5pdGVtIHsgd2lkdGg6IDMzLjMzMzMlOyB9XHJcblx0XHRcdCYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxyXG5cdFx0XHQmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XHJcblx0XHRcdFx0QG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG5cdFx0XHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdCYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xyXG5cdFx0XHRcdEBtZWRpYSAjeyRsYXJnZS11cH0ge1xyXG5cdFx0XHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmLmZvdXItdXAge1xyXG5cdFx0XHQuaXRlbSB7IHdpZHRoOiAyNSU7IH1cclxuXHRcdFx0Ji52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XHJcblx0XHRcdCYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcclxuXHRcdFx0XHRAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcblx0XHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XHJcblx0XHRcdFx0QG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcblx0XHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCYuZml2ZS11cCB7XHJcblx0XHRcdC5pdGVtIHsgd2lkdGg6IDIwJTsgfVxyXG5cdFx0XHQmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cclxuXHRcdFx0Ji5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xyXG5cdFx0XHRcdEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcclxuXHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcclxuXHRcdFx0XHRAbWVkaWEgI3skbGFyZ2UtdXB9IHtcclxuXHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Ji5zaXgtdXAge1xyXG5cdFx0XHQuaXRlbSB7IHdpZHRoOiAxNi42NjY2NyU7IH1cclxuXHRcdFx0Ji52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XHJcblx0XHRcdCYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcclxuXHRcdFx0XHRAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcblx0XHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XHJcblx0XHRcdFx0QG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcblx0XHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCYuc2V2ZW4tdXAge1xyXG4gIFx0XHQuaXRlbSB7IHdpZHRoOiAxNC4yODU3MSU7IH1cclxuICBcdFx0Ji52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XHJcbiAgXHRcdCYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcclxuICAgIFx0XHRAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAgICAgXHRcdFx0d2lkdGg6IGF1dG87XHJcbiAgICBcdFx0fVxyXG4gIFx0XHR9XHJcbiAgXHRcdCYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xyXG4gICAgICBcdEBtZWRpYSAjeyRsYXJnZS11cH0ge1xyXG4gICAgICAgXHRcdHdpZHRoOiBhdXRvO1xyXG4gICAgICBcdH1cclxuICBcdFx0fVxyXG4gICAgfVxyXG4gICAgJi5laWdodC11cCB7XHJcbiAgXHRcdC5pdGVtIHsgd2lkdGg6IDEyLjUlOyB9XHJcbiAgXHRcdCYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxyXG4gIFx0XHQmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XHJcbiAgICBcdFx0QG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG4gICAgICAgIFx0XHRcdHdpZHRoOiBhdXRvO1xyXG4gICAgXHRcdH1cclxuICBcdFx0fVxyXG4gIFx0XHQmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcclxuICAgICAgXHRAbWVkaWEgI3skbGFyZ2UtdXB9IHtcclxuICAgICAgIFx0XHR3aWR0aDogYXV0bztcclxuICAgICAgXHR9XHJcbiAgXHRcdH1cclxuICAgIH1cclxuXHR9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0IFwiZ2xvYmFsXCI7XHJcblxyXG4vL1xyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtaW5saW5lLWxpc3QtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgbWFyZ2lucyBhbmQgcGFkZGluZyBvZiB0aGUgaW5saW5lIGxpc3QuXHJcbiRpbmxpbmUtbGlzdC10b3AtbWFyZ2luOiAwICFkZWZhdWx0O1xyXG4kaW5saW5lLWxpc3Qtb3Bwb3NpdGUtbWFyZ2luOiAwICFkZWZhdWx0O1xyXG4kaW5saW5lLWxpc3QtYm90dG9tLW1hcmdpbjogcmVtLWNhbGMoMTcpICFkZWZhdWx0O1xyXG4kaW5saW5lLWxpc3QtZGVmYXVsdC1mbG9hdC1tYXJnaW46IHJlbS1jYWxjKC0yMikgIWRlZmF1bHQ7XHJcbiRpbmxpbmUtbGlzdC1kZWZhdWx0LWZsb2F0LWxpc3QtbWFyZ2luOiByZW0tY2FsYygyMikgIWRlZmF1bHQ7XHJcblxyXG4kaW5saW5lLWxpc3QtcGFkZGluZzogMCAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIG92ZXJmbG93IG9mIHRoZSBpbmxpbmUgbGlzdC5cclxuJGlubGluZS1saXN0LW92ZXJmbG93OiBoaWRkZW4gIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBsaXN0IGl0ZW1zXHJcbiRpbmxpbmUtbGlzdC1kaXNwbGF5OiBibG9jayAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYW55IGVsZW1lbnRzIHdpdGhpbiBsaXN0IGl0ZW1zXHJcbiRpbmxpbmUtbGlzdC1jaGlsZHJlbi1kaXNwbGF5OiBibG9jayAhZGVmYXVsdDtcclxuXHJcbi8vXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGlubGluZSBsaXN0c1xyXG5AbWl4aW4gaW5saW5lLWxpc3Qge1xyXG4gIG1hcmdpbjogJGlubGluZS1saXN0LXRvcC1tYXJnaW4gYXV0byAkaW5saW5lLWxpc3QtYm90dG9tLW1hcmdpbiBhdXRvO1xyXG4gIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGlubGluZS1saXN0LWRlZmF1bHQtZmxvYXQtbWFyZ2luO1xyXG4gIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkaW5saW5lLWxpc3Qtb3Bwb3NpdGUtbWFyZ2luO1xyXG4gIHBhZGRpbmc6ICRpbmxpbmUtbGlzdC1wYWRkaW5nO1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgb3ZlcmZsb3c6ICRpbmxpbmUtbGlzdC1vdmVyZmxvdztcclxuXHJcbiAgJiA+IGxpIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XHJcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRpbmxpbmUtbGlzdC1kZWZhdWx0LWZsb2F0LWxpc3QtbWFyZ2luO1xyXG4gICAgZGlzcGxheTogJGlubGluZS1saXN0LWRpc3BsYXk7XHJcbiAgICAmPiogeyBkaXNwbGF5OiAkaW5saW5lLWxpc3QtY2hpbGRyZW4tZGlzcGxheTsgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcImlubGluZS1saXN0XCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1pbmxpbmUtbGlzdC1jbGFzc2VzIHtcclxuICAgIC5pbmxpbmUtbGlzdCB7XHJcbiAgICAgIEBpbmNsdWRlIGlubGluZS1saXN0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCBcImdsb2JhbFwiO1xyXG5cclxuLy9cclxuLy8gQHZhcmlhYmxlc1xyXG4vL1xyXG4kaW5jbHVkZS1odG1sLWpveXJpZGUtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gQ29udHJvbGxpbmcgZGVmYXVsdCBKb3lyaWRlIHN0eWxlc1xyXG4kam95cmlkZS10aXAtYmc6ICRvaWwgIWRlZmF1bHQ7XHJcbiRqb3lyaWRlLXRpcC1kZWZhdWx0LXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcclxuJGpveXJpZGUtdGlwLXBhZGRpbmc6IHJlbS1jYWxjKDE4IDIwIDI0KSAhZGVmYXVsdDtcclxuJGpveXJpZGUtdGlwLWJvcmRlcjogc29saWQgMXB4ICRjaGFyY29hbCAhZGVmYXVsdDtcclxuJGpveXJpZGUtdGlwLXJhZGl1czogNHB4ICFkZWZhdWx0O1xyXG4kam95cmlkZS10aXAtcG9zaXRpb24tb2Zmc2V0OiAyMnB4ICFkZWZhdWx0O1xyXG5cclxuLy8gSGVyZSwgd2UncmUgc2V0dGluZyB0aGUgdGlwIGZvbnQgc3R5bGVzXHJcbiRqb3lyaWRlLXRpcC1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRqb3lyaWRlLXRpcC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcclxuJGpveXJpZGUtdGlwLWhlYWRlci13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xyXG5cclxuLy8gVGhpcyBjaGFuZ2VzIHRoZSBudWIgc2l6ZVxyXG4kam95cmlkZS10aXAtbnViLXNpemU6IDEwcHggIWRlZmF1bHQ7XHJcblxyXG4vLyBUaGlzIGFkanVzdHMgdGhlIHN0eWxlcyBmb3IgdGhlIHRpbWVyIHdoZW4gaXRzIGVuYWJsZWRcclxuJGpveXJpZGUtdGlwLXRpbWVyLXdpZHRoOiA1MHB4ICFkZWZhdWx0O1xyXG4kam95cmlkZS10aXAtdGltZXItaGVpZ2h0OiAzcHggIWRlZmF1bHQ7XHJcbiRqb3lyaWRlLXRpcC10aW1lci1jb2xvcjogJHN0ZWVsICFkZWZhdWx0O1xyXG5cclxuLy8gVGhpcyBjaGFuZ2VzIHVwIHRoZSBzdHlsZXMgZm9yIHRoZSBjbG9zZSBidXR0b25cclxuJGpveXJpZGUtdGlwLWNsb3NlLWNvbG9yOiAkbW9uc29vbiAhZGVmYXVsdDtcclxuJGpveXJpZGUtdGlwLWNsb3NlLXNpemU6IDI0cHggIWRlZmF1bHQ7XHJcbiRqb3lyaWRlLXRpcC1jbG9zZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcblxyXG4vLyBXaGVuIEpveXJpZGUgaXMgZmlsbGluZyB0aGUgc2NyZWVuLCB3ZSB1c2UgdGhpcyBzdHlsZSBmb3IgdGhlIGJnXHJcbiRqb3lyaWRlLXNjcmVlbmZpbGw6IHJnYmEoMCwwLDAsMC41KSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBXZSBkZWNpZGVkIG5vdCB0byBtYWtlIGEgbWl4aW4gZm9yIHRoaXMgYmVjYXVzZSBpdCByZWxpZXMgb25cclxuLy8gcHJlZGVmaW5lZCBjbGFzc2VzIHRvIHdvcmsgcHJvcGVybHkuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJqb3lyaWRlXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1qb3lyaWRlLWNsYXNzZXMge1xyXG5cclxuICAgIC8qIEZvdW5kYXRpb24gSm95cmlkZSAqL1xyXG4gICAgLmpveXJpZGUtbGlzdCB7IGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbiAgICAvKiBEZWZhdWx0IHN0eWxlcyBmb3IgdGhlIGNvbnRhaW5lciAqL1xyXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkam95cmlkZS10aXAtYmc7XHJcbiAgICAgIGNvbG9yOiAkam95cmlkZS10aXAtZm9udC1jb2xvcjtcclxuICAgICAgei1pbmRleDogMTAxO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAyLjUlO1xyXG4gICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbiAgICAgIHdpZHRoOiA5NSU7XHJcbiAgICB9XHJcblxyXG4gICAgLmx0LWllOSAuam95cmlkZS10aXAtZ3VpZGUge1xyXG4gICAgICBtYXgtd2lkdGg6ODAwcHg7XHJcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiA1MCU7XHJcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTotNDAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmpveXJpZGUtY29udGVudC13cmFwcGVyIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICBwYWRkaW5nOiAkam95cmlkZS10aXAtcGFkZGluZztcclxuXHJcbiAgICAgIC5idXR0b24geyBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cclxuXHJcbiAgICAgIC5qb3lyaWRlLXByZXYtdGlwIHsgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogQWRkIGEgbGl0dGxlIGNzcyB0cmlhbmdsZSBwaXAsIG9sZGVyIGJyb3dzZXIganVzdCBtaXNzIG91dCBvbiB0aGUgZmFuY2luZXNzIG9mIGl0ICovXHJcbiAgICAuam95cmlkZS10aXAtZ3VpZGUge1xyXG4gICAgICAuam95cmlkZS1udWIge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJGpveXJpZGUtdGlwLXBvc2l0aW9uLW9mZnNldDtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgYm9yZGVyOiAkam95cmlkZS10aXAtbnViLXNpemUgc29saWQgJGpveXJpZGUtdGlwLWJnO1xyXG5cclxuICAgICAgICAmLnRvcCB7XHJcbiAgICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGpveXJpZGUtdGlwLWJnO1xyXG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgdG9wOiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5ib3R0b20ge1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRqb3lyaWRlLXRpcC1iZyAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm90dG9tOiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYucmlnaHQgeyByaWdodDogLSgkam95cmlkZS10aXAtbnViLXNpemUqMik7IH1cclxuICAgICAgICAmLmxlZnQgeyBsZWZ0OiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTsgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogVHlwb2dyYXBoeSAqL1xyXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIGgxLFxyXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIGgyLFxyXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIGgzLFxyXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIGg0LFxyXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIGg1LFxyXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIGg2IHtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRqb3lyaWRlLXRpcC1oZWFkZXItd2VpZ2h0O1xyXG4gICAgICBjb2xvcjogJGpveXJpZGUtdGlwLWZvbnQtY29sb3I7XHJcbiAgICB9XHJcbiAgICAuam95cmlkZS10aXAtZ3VpZGUgcCB7XHJcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAwIDE4IDApO1xyXG4gICAgICBmb250LXNpemU6ICRqb3lyaWRlLXRpcC1mb250LXNpemU7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICB9XHJcblxyXG4gICAgLmpveXJpZGUtdGltZXItaW5kaWNhdG9yLXdyYXAge1xyXG4gICAgICB3aWR0aDogJGpveXJpZGUtdGlwLXRpbWVyLXdpZHRoO1xyXG4gICAgICBoZWlnaHQ6ICRqb3lyaWRlLXRpcC10aW1lci1oZWlnaHQ7XHJcbiAgICAgIGJvcmRlcjogJGpveXJpZGUtdGlwLWJvcmRlcjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiByZW0tY2FsYygxNyk7XHJcbiAgICAgIGJvdHRvbTogcmVtLWNhbGMoMTYpO1xyXG4gICAgfVxyXG4gICAgLmpveXJpZGUtdGltZXItaW5kaWNhdG9yIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAwO1xyXG4gICAgICBoZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRqb3lyaWRlLXRpcC10aW1lci1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAuam95cmlkZS1jbG9zZS10aXAge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDEycHg7XHJcbiAgICAgIHRvcDogMTBweDtcclxuICAgICAgY29sb3I6ICRqb3lyaWRlLXRpcC1jbG9zZS1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIGZvbnQtc2l6ZTogJGpveXJpZGUtdGlwLWNsb3NlLXNpemU7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkam95cmlkZS10aXAtY2xvc2Utd2VpZ2h0O1xyXG4gICAgICBsaW5lLWhlaWdodDogLjUgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICY6aG92ZXIsXHJcbiAgICAgICY6Zm9jdXMgeyBjb2xvcjogJHNtb2tlICFpbXBvcnRhbnQ7IH1cclxuICAgIH1cclxuXHJcbiAgICAuam95cmlkZS1tb2RhbC1iZyB7XHJcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRqb3lyaWRlLXNjcmVlbmZpbGw7XHJcbiAgICAgIHotaW5kZXg6IDEwMDtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcclxuICAgICAgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgLmpveXJpZGUtZXhwb3NlLXdyYXBwZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICB6LWluZGV4OiAxMDI7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxNXB4ICR3aGl0ZTtcclxuICAgIH1cclxuXHJcbiAgICAuam95cmlkZS1leHBvc2UtY292ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHotaW5kZXg6IDk5OTk7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyogU3R5bGVzIGZvciBzY3JlZW5zIHRoYXQgYXJlIGF0IGxlYXN0IDc2OHB4OyAqL1xyXG4gICAgQG1lZGlhICN7JHNtYWxsfSB7XHJcbiAgICAgIC5qb3lyaWRlLXRpcC1ndWlkZSB7IHdpZHRoOiAkam95cmlkZS10aXAtZGVmYXVsdC13aWR0aDsgI3skZGVmYXVsdC1mbG9hdH06IGluaGVyaXQ7XHJcbiAgICAgICAgLmpveXJpZGUtbnViIHtcclxuICAgICAgICAgICYuYm90dG9tIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkam95cmlkZS10aXAtYmcgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm90dG9tOiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICYucmlnaHQge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRqb3lyaWRlLXRpcC1iZyAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHRvcDogJGpveXJpZGUtdGlwLXBvc2l0aW9uLW9mZnNldDtcclxuICAgICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgICAgcmlnaHQ6IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJi5sZWZ0IHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkam95cmlkZS10aXAtYmcgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHRvcDogJGpveXJpZGUtdGlwLXBvc2l0aW9uLW9mZnNldDtcclxuICAgICAgICAgICAgbGVmdDogLSgkam95cmlkZS10aXAtbnViLXNpemUqMik7XHJcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgXCJnbG9iYWxcIjtcclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuJGluY2x1ZGUtaHRtbC1rZXlzdHJva2UtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGV4dCBzdHlsZXMuXHJcbiRrZXlzdHJva2UtZm9udDogXCJDb25zb2xhc1wiLCBcIk1lbmxvXCIsIFwiQ291cmllclwiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XHJcbiRrZXlzdHJva2UtZm9udC1zaXplOiBpbmhlcml0ICFkZWZhdWx0O1xyXG4ka2V5c3Ryb2tlLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XHJcbiRrZXlzdHJva2UtZm9udC1jb2xvci1hbHQ6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3I6IC03JSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wga2V5c3Ryb2tlIHBhZGRpbmcuXHJcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYmFja2dyb3VuZCBhbmQgYm9yZGVyIHN0eWxlcy5cclxuJGtleXN0cm9rZS1iZzogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XHJcbiRrZXlzdHJva2UtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcclxuJGtleXN0cm9rZS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcclxuJGtleXN0cm9rZS1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRrZXlzdHJva2UtYmcsICRsaWdodG5lc3M6ICRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcclxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuLy9cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUga2V5c3Ryb2tlIHN0eWxlcy5cclxuLy8gJGJnIC0gRGVmYXVsdDogJGtleXN0cm9rZS1iZyB8fCBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6ICRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcclxuQG1peGluIGtleXN0cm9rZSgkYmc6JGtleXN0cm9rZS1iZykge1xyXG4gIC8vIFRoaXMgZmluZCB0aGUgbGlnaHRuZXNzIHBlcmNlbnRhZ2Ugb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXHJcbiAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XHJcblxyXG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcclxuICBib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRiZywgJGxpZ2h0bmVzczogJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3IpO1xyXG5cclxuICAvLyBXZSBhZGp1c3QgdGhlIGZvbnQgY29sb3IgYmFzZWQgb24gdGhlIGJyaWdodG5lc3Mgb2YgdGhlIGJhY2tncm91bmQuXHJcbiAgQGlmICRiZy1saWdodG5lc3MgPiA3MCUgeyBjb2xvcjogJGtleXN0cm9rZS1mb250LWNvbG9yOyB9XHJcbiAgQGVsc2UgeyBjb2xvcjogJGtleXN0cm9rZS1mb250LWNvbG9yLWFsdDsgfVxyXG5cclxuICBib3JkZXItc3R5bGU6ICRrZXlzdHJva2UtYm9yZGVyLXN0eWxlO1xyXG4gIGJvcmRlci13aWR0aDogJGtleXN0cm9rZS1ib3JkZXItd2lkdGg7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XHJcbiAgZm9udC1zaXplOiAka2V5c3Ryb2tlLWZvbnQtc2l6ZTtcclxuICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJrZXlzdHJva2VcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLWtleXN0cm9rZS1jbGFzc2VzICB7XHJcbiAgICAua2V5c3Ryb2tlLFxyXG4gICAga2JkIHtcclxuICAgICAgQGluY2x1ZGUga2V5c3Ryb2tlO1xyXG4gICAgICBAaW5jbHVkZSByYWRpdXMoJGtleXN0cm9rZS1yYWRpdXMpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgXCJnbG9iYWxcIjtcclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuJGluY2x1ZGUtaHRtbC1sYWJlbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxhYmVsc1xyXG4kbGFiZWwtcGFkZGluZzogcmVtLWNhbGMoNCA4IDQpICFkZWZhdWx0O1xyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGFiZWwgdGV4dFxyXG4kbGFiZWwtZm9udC1zaXppbmc6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcclxuJGxhYmVsLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kbGFiZWwtZm9udC1jb2xvcjogJG9pbCAhZGVmYXVsdDtcclxuJGxhYmVsLWZvbnQtY29sb3ItYWx0OiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRsYWJlbC1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XHJcblxyXG4vL1xyXG4vLyBAbWl4aW5zXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBhIGRlZmF1bHQgbGFiZWwgYmFzZS5cclxuQG1peGluIGxhYmVsLWJhc2Uge1xyXG4gIGZvbnQtd2VpZ2h0OiAkbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgZm9udC1mYW1pbHk6ICRsYWJlbC1mb250LWZhbWlseTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW4tYm90dG9tOiBhdXRvO1xyXG59XHJcblxyXG4vLyBAbWl4aW5zXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBsYWJlbCBzaXplIHN0eWxlcy5cclxuLy8gJHBhZGRpbmcgLSBVc2VkIHRvIGRldGVybWluZSBsYWJlbCBwYWRkaW5nLiBEZWZhdWx0OiAkbGFiZWwtcGFkZGluZyB8fCByZW0tY2FsYyg0IDggNCkgIWRlZmF1bHRcclxuLy8gJHRleHQtc2l6ZSAtIFVzZWQgdG8gZGV0ZXJtaW5lIGxhYmVsIHRleHQtc2l6ZS4gRGVmYXVsdDogJHRleHQtc2l6ZSBmb3VuZCBpbiBzZXR0aW5nc1xyXG5AbWl4aW4gbGFiZWwtc2l6ZSgkcGFkZGluZzokbGFiZWwtcGFkZGluZywgJHRleHQtc2l6ZTokbGFiZWwtZm9udC1zaXppbmcpIHtcclxuICBAaWYgJHBhZGRpbmcgeyBwYWRkaW5nOiAkcGFkZGluZzsgfVxyXG4gIEBpZiAkdGV4dC1zaXplIHsgZm9udC1zaXplOiAkdGV4dC1zaXplOyB9XHJcbn1cclxuXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGxhYmVsIHN0eWxlcy5cclxuLy8gJGJnIC0gRGVmYXVsdDogJHByaW1hcnktY29sb3IgKGZvdW5kIGluIHNldHRpbmdzIGZpbGUpXHJcbi8vICRyYWRpdXMgLSBEZWZhdWx0OiBmYWxzZSwgT3B0aW9uczogdHJ1ZSwgc2V0cyByYWRpdXMgdG8gJGdsb2JhbC1yYWRpdXMgKGZvdW5kIGluIHNldHRpbmdzIGZpbGUpXHJcbkBtaXhpbiBsYWJlbC1zdHlsZSgkYmc6JHByaW1hcnktY29sb3IsICRyYWRpdXM6ZmFsc2UpIHtcclxuXHJcbiAgLy8gV2UgY29udHJvbCB3aGljaCBiYWNrZ3JvdW5kIGNvbG9yIGNvbWVzIHRocm91Z2hcclxuICBAaWYgJGJnIHtcclxuXHJcbiAgICAvLyBUaGlzIGZpbmQgdGhlIGxpZ2h0bmVzcyBwZXJjZW50YWdlIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxyXG4gICAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xyXG5cclxuICAgIC8vIFdlIGNvbnRyb2wgdGhlIHRleHQgY29sb3IgZm9yIHlvdSBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cclxuICAgIEBpZiAkYmctbGlnaHRuZXNzIDwgNzAlIHsgY29sb3I6ICRsYWJlbC1mb250LWNvbG9yLWFsdDsgfVxyXG4gICAgQGVsc2UgeyBjb2xvcjogJGxhYmVsLWZvbnQtY29sb3I7IH1cclxuICB9XHJcblxyXG4gIC8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIHJhZGl1cyBvbiBsYWJlbHMuXHJcbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkbGFiZWwtcmFkaXVzKTsgfVxyXG4gIEBlbHNlIGlmICRyYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHJhZGl1cyk7IH1cclxuXHJcbn1cclxuXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgdG8gYWRkIGNsb3NlIGJ1dHRvbnMgdG8gYWxlcnRzXHJcbi8vICRwYWRkaW5nIC0gRGVmYXVsdDogJGxhYmVsLXBhZGRpbmcsXHJcbi8vICR0ZXh0LXNpemUgLSBEZWZhdWx0OiAkbGFiZWwtZm9udC1zaXppbmcsXHJcbi8vICRiZyAtIERlZmF1bHQ6ICRwcmltYXJ5LWNvbG9yKGZvdW5kIGluIHNldHRpbmdzIGZpbGUpXHJcbi8vICRyYWRpdXMgLSBEZWZhdWx0OiBmYWxzZSwgT3B0aW9uczogdHJ1ZSB3aGljaCBzZXRzIHJhZGl1cyB0byAkZ2xvYmFsLXJhZGl1cyAoZm91bmQgaW4gc2V0dGluZ3MgZmlsZSlcclxuQG1peGluIGxhYmVsKCRwYWRkaW5nOiRsYWJlbC1wYWRkaW5nLCAkdGV4dC1zaXplOiRsYWJlbC1mb250LXNpemluZywgJGJnOiRwcmltYXJ5LWNvbG9yLCAkcmFkaXVzOmZhbHNlKSB7XHJcblxyXG4gIEBpbmNsdWRlIGxhYmVsLWJhc2U7XHJcbiAgQGluY2x1ZGUgbGFiZWwtc2l6ZSgkcGFkZGluZywgJHRleHQtc2l6ZSk7XHJcbiAgQGluY2x1ZGUgbGFiZWwtc3R5bGUoJGJnLCAkcmFkaXVzKTtcclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcImxhYmVsXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1sYWJlbC1jbGFzc2VzIHtcclxuICAgIC5sYWJlbCB7XHJcbiAgICAgIEBpbmNsdWRlIGxhYmVsLWJhc2U7XHJcbiAgICAgIEBpbmNsdWRlIGxhYmVsLXNpemU7XHJcbiAgICAgIEBpbmNsdWRlIGxhYmVsLXN0eWxlO1xyXG5cclxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZShmYWxzZSwgdHJ1ZSk7IH1cclxuICAgICAgJi5yb3VuZCB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKGZhbHNlLCAkcmFkaXVzOjEwMDBweCk7IH1cclxuXHJcbiAgICAgICYuYWxlcnQgICAgIHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoJGFsZXJ0LWNvbG9yKTsgfVxyXG4gICAgICAmLndhcm5pbmcgICB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKCR3YXJuaW5nLWNvbG9yKTsgfVxyXG4gICAgICAmLnN1Y2Nlc3MgICB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKCRzdWNjZXNzLWNvbG9yKTsgfVxyXG4gICAgICAmLnNlY29uZGFyeSB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKCRzZWNvbmRhcnktY29sb3IpOyB9XHJcbiAgICAgICYuaW5mbyAgICAgIHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoJGluZm8tY29sb3IpOyB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCBcImdsb2JhbFwiO1xyXG5cclxuLy9cclxuLy8gQHZhcmlhYmxlc1xyXG4vL1xyXG4kaW5jbHVkZS1odG1sLW1hZ2VsbGFuLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbiRtYWdlbGxhbi1iZzogJHdoaXRlICFkZWZhdWx0O1xyXG4kbWFnZWxsYW4tcGFkZGluZzogMTBweCAhZGVmYXVsdDtcclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJtYWdlbGxhblwiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtbWFnZWxsYW4tY2xhc3NlcyB7XHJcblxyXG4gICAgI3tkYXRhKCdtYWdlbGxhbi1leHBlZGl0aW9uJyl9LCAje2RhdGEoJ21hZ2VsbGFuLWV4cGVkaXRpb24tY2xvbmUnKX0ge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkbWFnZWxsYW4tYmc7XHJcbiAgICAgIHotaW5kZXg6IDUwO1xyXG4gICAgICBtaW4td2lkdGg6IDEwMCU7XHJcbiAgICAgIHBhZGRpbmc6ICRtYWdlbGxhbi1wYWRkaW5nO1xyXG5cclxuICAgICAgLnN1Yi1uYXYge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgZGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS44ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgXCJnbG9iYWxcIjtcclxuXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuJGluY2x1ZGUtaHRtbC1vcmJpdC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgY2FwdGlvbiBzdHlsZXNcclxuJG9yYml0LWNvbnRhaW5lci1iZzogbm9uZSAhZGVmYXVsdDtcclxuJG9yYml0LWNhcHRpb24tYmc6IHJnYmEoNTEsNTEsNTEsIC44KSAhZGVmYXVsdDtcclxuJG9yYml0LWNhcHRpb24tZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kb3JiaXQtY2FwdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcclxuJG9yYml0LWNhcHRpb24tcG9zaXRpb246IFwiYm90dG9tXCIgIWRlZmF1bHQ7IC8vIFN1cHBvcnRlZCB2YWx1ZXM6IFwiYm90dG9tXCIsIFwidW5kZXJcIlxyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiByZW0tY2FsYygxMCAxNCkgIWRlZmF1bHQ7XHJcbiRvcmJpdC1jYXB0aW9uLWhlaWdodDogYXV0byAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBsZWZ0L3JpZ2h0IG5hdiBzdHlsZXNcclxuJG9yYml0LW5hdi1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcbiRvcmJpdC1uYXYtYmctaG92ZXI6IHJnYmEoMCwwLDAsMC4zKSAhZGVmYXVsdDtcclxuJG9yYml0LW5hdi1hcnJvdy1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kb3JiaXQtbmF2LWFycm93LWNvbG9yLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgdGltZXIgc3R5bGVzXHJcbiRvcmJpdC10aW1lci1iZzogcmdiYSgyNTUsMjU1LDI1NSwwLjMpICFkZWZhdWx0O1xyXG4kb3JiaXQtdGltZXItc2hvdy1wcm9ncmVzcy1iYXI6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYnVsbGV0IG5hdiBzdHlsZXNcclxuJG9yYml0LWJ1bGxldC1uYXYtY29sb3I6ICRpcm9uICFkZWZhdWx0O1xyXG4kb3JiaXQtYnVsbGV0LW5hdi1jb2xvci1hY3RpdmU6ICRhbHVtaW51bSAhZGVmYXVsdDtcclxuJG9yYml0LWJ1bGxldC1yYWRpdXM6IHJlbS1jYWxjKDkpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2xzIHRoZSBzdHlsZSBvZiBzbGlkZSBudW1iZXJzXHJcbiRvcmJpdC1zbGlkZS1udW1iZXItYmc6IHJnYmEoMCwwLDAsMCkgIWRlZmF1bHQ7XHJcbiRvcmJpdC1zbGlkZS1udW1iZXItZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kb3JiaXQtc2xpZGUtbnVtYmVyLXBhZGRpbmc6IHJlbS1jYWxjKDUpICFkZWZhdWx0O1xyXG5cclxuLy8gR3JhY2VmdWwgTG9hZGluZyBXcmFwcGVyIGFuZCBwcmVsb2FkZXJcclxuJHdyYXBwZXItY2xhc3M6IFwic2xpZGVzaG93LXdyYXBwZXJcIiAhZGVmYXVsdDtcclxuJHByZWxvYWRlci1jbGFzczogXCJwcmVsb2FkZXJcIiAhZGVmYXVsdDtcclxuXHJcbi8vIEhpZGUgY29udHJvbHMgb24gc21hbGxcclxuJG9yYml0LW5hdi1oaWRlLWZvci1zbWFsbDogdHJ1ZSAhZGVmYXVsdDtcclxuJG9yYml0LWJ1bGxldC1oaWRlLWZvci1zbWFsbDogdHJ1ZSAhZGVmYXVsdDtcclxuJG9yYml0LXRpbWVyLWhpZGUtZm9yLXNtYWxsOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJvcmJpdFwiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtb3JiaXQtY2xhc3NlcyB7XHJcblxyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZSB7XHJcbiAgICAgIGZyb20geyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgICAgIHRvIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XHJcbiAgICB9XHJcbiAgICBALW1vei1rZXlmcmFtZXMgcm90YXRlIHtcclxuICAgICAgZnJvbSB7IC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAgICAgdG8geyAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cclxuICAgIH1cclxuICAgIEAtby1rZXlmcmFtZXMgcm90YXRlIHtcclxuICAgICAgZnJvbSB7IC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgICAgIHRvIHsgLW8tdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxyXG4gICAgfVxyXG4gICAgQGtleWZyYW1lcyByb3RhdGUge1xyXG4gICAgICBmcm9tIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogT3JiaXQgR3JhY2VmdWwgTG9hZGluZyAqL1xyXG4gICAgLiN7JHdyYXBwZXItY2xhc3N9IHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgdWwge1xyXG4gICAgICAgIC8vIFByZXZlbnQgYnVsbGV0cyBzaG93aW5nIGJlZm9yZSAub3JiaXQtY29udGFpbmVyIGlzIGxvYWRlZFxyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICAgIC8vIEhpZGUgYWxsIGxpc3QgaXRlbXNcclxuICAgICAgICBsaSxcclxuICAgICAgICBsaSAub3JiaXQtY2FwdGlvbiB7IGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbiAgICAgICAgLy8gLi4uZXhjZXB0IGZvciB0aGUgZmlyc3Qgb25lXHJcbiAgICAgICAgbGk6Zmlyc3QtY2hpbGQgeyBkaXNwbGF5OiBibG9jazsgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAub3JiaXQtY29udGFpbmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgIC8vIFNob3cgaW1hZ2VzIHdoZW4gLm9yYml0LWNvbnRhaW5lciBpcyBsb2FkZWRcclxuICAgICAgICBsaSB7IGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgICAgIC5vcmJpdC1jYXB0aW9uIHsgZGlzcGxheTogYmxvY2s7IH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm9yYml0LWJ1bGxldHMgbGkge1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gT3JiaXQgcHJlbG9hZGVyXHJcbiAgICAgIC4jeyRwcmVsb2FkZXItY2xhc3N9IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogNDBweDtcclxuICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMjBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XHJcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAzcHg7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY2hhcmNvYWwgJHdoaXRlO1xyXG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cygxMDAwcHgpO1xyXG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGU7XHJcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xyXG4gICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAub3JiaXQtY29udGFpbmVyIHtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgYmFja2dyb3VuZDogJG9yYml0LWNvbnRhaW5lci1iZztcclxuXHJcbiAgICAgIC5vcmJpdC1zbGlkZXMtY29udGFpbmVyIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgLy8gUHJldmVudHMgaW1hZ2VzIChhbmQgY2FwdGlvbnMpIGZyb20gZGlzYXBwZWFyaW5nIGFmdGVyIGZpcnN0IHJvdGF0aW9uIG9uIENocm9tZSBmb3IgQW5kcm9pZFxyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG5cclxuICAgICAgICBpbWcgeyBkaXNwbGF5OiBibG9jazsgbWF4LXdpZHRoOiAxMDAlOyB9XHJcblxyXG4gICAgICAgICY+KiB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTAwJTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5vcmJpdC1jYXB0aW9uIHtcclxuICAgICAgICAgICAgQGlmICRvcmJpdC1jYXB0aW9uLXBvc2l0aW9uID09IFwiYm90dG9tXCIge1xyXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgJG9yYml0LWNhcHRpb24tcG9zaXRpb24gPT0gXCJ1bmRlclwiIHtcclxuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jYXB0aW9uLWJnO1xyXG4gICAgICAgICAgICBjb2xvcjogJG9yYml0LWNhcHRpb24tZm9udC1jb2xvcjtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJG9yYml0LWNhcHRpb24tZm9udC1zaXplO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLm9yYml0LXNsaWRlLW51bWJlciB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMTBweDtcclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgc3BhbiB7IGZvbnQtd2VpZ2h0OiA3MDA7IHBhZGRpbmc6ICRvcmJpdC1zbGlkZS1udW1iZXItcGFkZGluZzt9XHJcbiAgICAgICAgY29sb3I6ICRvcmJpdC1zbGlkZS1udW1iZXItZm9udC1jb2xvcjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JiaXQtc2xpZGUtbnVtYmVyLWJnO1xyXG4gICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAub3JiaXQtdGltZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDEycHg7XHJcbiAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMTBweDtcclxuICAgICAgICBoZWlnaHQ6IDZweDtcclxuICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgei1pbmRleDogMTA7XHJcbiAgICAgICAgLm9yYml0LXByb2dyZXNzIHtcclxuICAgICAgICAgIEBpZiAkb3JiaXQtdGltZXItc2hvdy1wcm9ncmVzcy1iYXIge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDNweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LXRpbWVyLWJnO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHRvcDogNXB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gUGxheSBidXR0b25cclxuICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcclxuICAgICAgICAgIHdpZHRoOiAxMXB4O1xyXG4gICAgICAgICAgaGVpZ2h0OiAxNHB4O1xyXG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xyXG4gICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBQYXVzZSBidXR0b25cclxuICAgICAgICAmLnBhdXNlZCB7XHJcbiAgICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IC00cHg7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDExcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTRweDtcclxuICAgICAgICAgICAgYm9yZGVyOiBpbnNldCA4cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgJi5kYXJrIHtcclxuICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJG9pbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuXHJcblxyXG4gICAgICAmOmhvdmVyIC5vcmJpdC10aW1lciA+IHNwYW4geyBkaXNwbGF5OiBibG9jazsgfVxyXG5cclxuICAgICAgLy8gTGV0J3MgZ2V0IHRob3NlIGNvbnRyb2xzIHRvIGJlIHJpZ2h0IGluIHRoZSBjZW50ZXIgb24gZWFjaCBzaWRlXHJcbiAgICAgIC5vcmJpdC1wcmV2LFxyXG4gICAgICAub3JiaXQtbmV4dCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNDUlO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0yNXB4O1xyXG4gICAgICAgIHdpZHRoOiAzNnB4O1xyXG4gICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcclxuICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LW5hdi1iZztcclxuICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHotaW5kZXg6IDEwO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1uYXYtYmctaG92ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgIGJvcmRlcjogaW5zZXQgMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLm9yYml0LXByZXYgeyAjeyRkZWZhdWx0LWZsb2F0fTogMDtcclxuICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0tY29sb3I6ICRvcmJpdC1uYXYtYXJyb3ctY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgPiBzcGFuIHtcclxuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259LWNvbG9yOiAkb3JiaXQtbmF2LWFycm93LWNvbG9yLWhvdmVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAub3JiaXQtbmV4dCB7ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XHJcbiAgICAgICAgJiA+IHNwYW4ge1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tY29sb3I6ICRvcmJpdC1uYXYtYXJyb3ctY29sb3I7XHJcbiAgICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogNTAlO1xyXG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAtNHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyID4gc3BhbiB7XHJcbiAgICAgICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tY29sb3I6ICRvcmJpdC1uYXYtYXJyb3ctY29sb3ItaG92ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm9yYml0LWJ1bGxldHMtY29udGFpbmVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XHJcbiAgICAub3JiaXQtYnVsbGV0cyB7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvIDMwcHggYXV0bztcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB0b3A6IDEwcHg7XHJcbiAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgbGkge1xyXG4gICAgICAgIGN1cnNvcjpwb2ludGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1yYWRpdXM7XHJcbiAgICAgICAgaGVpZ2h0OiAkb3JiaXQtYnVsbGV0LXJhZGl1cztcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JiaXQtYnVsbGV0LW5hdi1jb2xvcjtcclxuICAgICAgICAvLyBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDZweDtcclxuICAgICAgICBAaW5jbHVkZSByYWRpdXMoMTAwMHB4KTtcclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogJG9yYml0LWJ1bGxldC1uYXYtY29sb3ItYWN0aXZlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHsgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7IH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50b3VjaCB7XHJcbiAgICAgIC5vcmJpdC1jb250YWluZXIge1xyXG4gICAgICAgIC5vcmJpdC1wcmV2LFxyXG4gICAgICAgIC5vcmJpdC1uZXh0IHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAub3JiaXQtYnVsbGV0cyB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG5cclxuICAgICAgLnRvdWNoIHtcclxuICAgICAgICAub3JiaXQtY29udGFpbmVyIHtcclxuICAgICAgICAgIC5vcmJpdC1wcmV2LFxyXG4gICAgICAgICAgLm9yYml0LW5leHQgeyBkaXNwbGF5OiBpbmhlcml0OyB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAub3JiaXQtYnVsbGV0cyB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcclxuICAgICAgLm9yYml0LXN0YWNrLW9uLXNtYWxsIHtcclxuICAgICAgICAub3JiaXQtc2xpZGVzLWNvbnRhaW5lciB7aGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7fVxyXG4gICAgICAgIC5vcmJpdC1zbGlkZXMtY29udGFpbmVyID4gKiB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICBtYXJnaW46MCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgb3BhY2l0eToxICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAub3JiaXQtc2xpZGUtbnVtYmVyIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBAaWYgJG9yYml0LXRpbWVyLWhpZGUtZm9yLXNtYWxsIHtcclxuICAgICAgICAgLm9yYml0LXRpbWVye2Rpc3BsYXk6IG5vbmU7fVxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAkb3JiaXQtbmF2LWhpZGUtZm9yLXNtYWxsIHtcclxuICAgICAgICAgLm9yYml0LW5leHQsLm9yYml0LXByZXZ7ZGlzcGxheTogbm9uZTt9XHJcbiAgICAgIH1cclxuICAgICAgQGlmICRvcmJpdC1idWxsZXQtaGlkZS1mb3Itc21hbGwge1xyXG4gICAgICAgICAub3JiaXQtYnVsbGV0c3tkaXNwbGF5OiBub25lO31cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgXCJnbG9iYWxcIjtcclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuJGluY2x1ZGUtcGFnaW5hdGlvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgcGFnaW5hdGlvbiBjb250YWluZXJcclxuJHBhZ2luYXRpb24taGVpZ2h0OiByZW0tY2FsYygyNCkgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLW1hcmdpbjogcmVtLWNhbGMoLTUpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgbGlzdC1pdGVtIHByb3BlcnRpZXNcclxuJHBhZ2luYXRpb24tbGktZmxvYXQ6ICRkZWZhdWx0LWZsb2F0ICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1saS1oZWlnaHQ6IHJlbS1jYWxjKDI0KSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tbGktZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tbGktZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWxpLW1hcmdpbjogcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgZm9yIHRoZSBwYWdpbmF0aW9uIGFuY2hvciBsaW5rc1xyXG4kcGFnaW5hdGlvbi1saW5rLXBhZDogcmVtLWNhbGMoMSAxMCAxKSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tbGluay1mb250LWNvbG9yOiAkYWx1bWludW0gIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWxpbmstYWN0aXZlLWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0xMCUpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIGZvciBkaXNhYmxlZCBhbmNob3IgbGlua3NcclxuJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1jdXJzb3I6IGRlZmF1bHQgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtZm9udC1jb2xvcjogJGFsdW1pbnVtICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWJnLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgZm9yIGN1cnJlbnRseSBzZWxlY3RlZCBhbmNob3IgbGlua3NcclxuJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtY3Vyc29yOiBkZWZhdWx0ICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYWN0aXZlLWJnOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gU3R5bGUgdGhlIHBhZ2luYXRpb24gY29udGFpbmVyLiBDdXJyZW50bHkgb25seSB1c2VkIHdoZW4gY2VudGVyaW5nIGVsZW1lbnRzLlxyXG4vLyAkY2VudGVyIC0gRGVmYXVsdDogZmFsc2UsIE9wdGlvbnM6IHRydWVcclxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyKCRjZW50ZXI6ZmFsc2UpIHtcclxuICBAaWYgJGNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG59XHJcblxyXG4vLyBAbWl4aW5zXHJcbi8vIFN0eWxlIHVuYXZhaWxhYmxlIGxpc3QgaXRlbXNcclxuQG1peGluIHBhZ2luYXRpb24tdW5hdmFpbGFibGUtaXRlbSB7XHJcbiAgYSwgYnV0dG9uIHtcclxuICAgIGN1cnNvcjogJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1jdXJzb3I7XHJcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1mb250LWNvbG9yO1xyXG4gIH1cclxuICAmOmhvdmVyIGEsXHJcbiAgJiBhOmZvY3VzLFxyXG5cclxuICAmOmhvdmVyIGJ1dHRvbixcclxuICAmIGJ1dHRvbjpmb2N1c1xyXG4gIHsgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1iZy1hY3RpdmU7IH1cclxufVxyXG4vLyBAbWl4aW5zXHJcbi8vIFN0eWxlIHRoZSBjdXJyZW50IGxpc3QgaXRlbS4gRG8gbm90IGFzc3VtZSB0aGF0IHRoZSBjdXJyZW50IGl0ZW0gaGFzXHJcbi8vIGFuIGFuY2hvciA8YT4gZWxlbWVudC5cclxuLy8gJGhhcy1hbmNob3IgLSBEZWZhdWx0OiB0cnVlLCBPcHRpb25zOiBmYWxzZVxyXG5AbWl4aW4gcGFnaW5hdGlvbi1jdXJyZW50LWl0ZW0oJGhhcy1hbmNob3I6IHRydWUpIHtcclxuICBAaWYgJGhhcy1hbmNob3Ige1xyXG4gICAgYSwgYnV0dG9uIHtcclxuICAgICAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWJhY2tncm91bmQ7XHJcbiAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC1jb2xvcjtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LXdlaWdodDtcclxuICAgICAgY3Vyc29yOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtY3Vyc29yO1xyXG5cclxuICAgICAgJjpob3ZlcixcclxuICAgICAgJjpmb2N1cyB7IGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1hY3RpdmUtYmc7IH1cclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWxpbmstcGFkO1xyXG4gICAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtY29sb3I7XHJcbiAgICBmb250LXdlaWdodDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtd2VpZ2h0O1xyXG4gICAgY3Vyc29yOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtY3Vyc29yO1xyXG4gICAgQGluY2x1ZGUgcmFkaXVzO1xyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHsgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWFjdGl2ZS1iZzsgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBzZXQgdGhlIHByb3BlcnRpZXMgZm9yIHRoZSBjcmVhdGluZyBGb3VuZGF0aW9uIHBhZ2luYXRpb25cclxuLy8gJGNlbnRlciAtIExlZnQgb3IgY2VudGVyIGFsaWduIHRoZSBsaSBlbGVtZW50cy4gRGVmYXVsdDogZmFsc2VcclxuLy8gJGJhc2Utc3R5bGUgLSBTZXRzIGJhc2Ugc3R5bGVzIGZvciBwYWdpbmF0aW9uLiBEZWZhdWx0OiB0cnVlLCBPcHRpb25zOiBmYWxzZVxyXG4vLyAkdXNlLWRlZmF1bHQtY2xhc3NlcyAtIE1ha2VzIHVuYXZhaWxhYmxlICYgY3VycmVudCBjbGFzc2VzIGF2YWlsYWJsZSBmb3IgdXNlLiBEZWZhdWx0OiB0cnVlXHJcbkBtaXhpbiBwYWdpbmF0aW9uKCRjZW50ZXI6ZmFsc2UsICRiYXNlLXN0eWxlOnRydWUsICR1c2UtZGVmYXVsdC1jbGFzc2VzOnRydWUpIHtcclxuXHJcbiAgQGlmICRiYXNlLXN0eWxlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWluLWhlaWdodDogJHBhZ2luYXRpb24taGVpZ2h0O1xyXG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkcGFnaW5hdGlvbi1tYXJnaW47XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBoZWlnaHQ6ICRwYWdpbmF0aW9uLWxpLWhlaWdodDtcclxuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWxpLWZvbnQtY29sb3I7XHJcbiAgICAgIGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tbGktZm9udC1zaXplO1xyXG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRwYWdpbmF0aW9uLWxpLW1hcmdpbjtcclxuXHJcbiAgICAgIGEsIGJ1dHRvbiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZzogJHBhZ2luYXRpb24tbGluay1wYWQ7XHJcbiAgICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWxpbmstZm9udC1jb2xvcjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cztcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmhvdmVyIGEsXHJcbiAgICAgIGE6Zm9jdXMsXHJcbiAgICAgICY6aG92ZXIgYnV0dG9uLFxyXG4gICAgICBidXR0b246Zm9jdXNcclxuICAgICAgeyBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLWFjdGl2ZS1iZzsgfVxyXG5cclxuICAgICAgQGlmICR1c2UtZGVmYXVsdC1jbGFzc2VzIHtcclxuICAgICAgICAmLnVuYXZhaWxhYmxlIHsgQGluY2x1ZGUgcGFnaW5hdGlvbi11bmF2YWlsYWJsZS1pdGVtKCk7IH1cclxuICAgICAgICAmLmN1cnJlbnQgeyBAaW5jbHVkZSBwYWdpbmF0aW9uLWN1cnJlbnQtaXRlbSgpOyB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIExlZnQgb3IgY2VudGVyIGFsaWduIHRoZSBsaSBlbGVtZW50c1xyXG4gIGxpIHtcclxuICAgIEBpZiAkY2VudGVyIHtcclxuICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBmbG9hdDogJHBhZ2luYXRpb24tbGktZmxvYXQ7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcInBhZ2luYXRpb25cIikge1xyXG4gIEBpZiAkaW5jbHVkZS1wYWdpbmF0aW9uLWNsYXNzZXMge1xyXG4gICAgdWwucGFnaW5hdGlvbiB7XHJcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb247XHJcbiAgICB9XHJcblxyXG4gICAgLyogUGFnaW5hdGlvbiBjZW50cmVkIHdyYXBwZXIgKi9cclxuICAgIC5wYWdpbmF0aW9uLWNlbnRlcmVkIHtcclxuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXIodHJ1ZSk7XHJcblxyXG4gICAgICB1bC5wYWdpbmF0aW9uIHtcclxuICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uKHRydWUsIGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuQHVzZSBcInNhc3M6bWF0aFwiO1xyXG5AaW1wb3J0IFwiZ2xvYmFsXCI7XHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuJGluY2x1ZGUtaHRtbC1wYW5lbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgc3R5bGVzXHJcbiRwYW5lbC1iZzogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0O1xyXG4kcGFuZWwtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcclxuJHBhbmVsLWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XHJcbiRjYWxsb3V0LXBhbmVsLWJnOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogOTQlKSAhZGVmYXVsdDtcclxuLy8gV2UgdXNlIHRoaXMgJSB0byBjb250cm9sIGhvdyBtdWNoIHdlIGRhcmtlbiB0aGluZ3Mgb24gaG92ZXJcclxuJHBhbmVsLWZ1bmN0aW9uLWZhY3RvcjogLTExJSAhZGVmYXVsdDtcclxuJHBhbmVsLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHBhbmVsLWJnLCAkbGlnaHRuZXNzOiAkcGFuZWwtZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcclxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCBkZWZhdWx0IGlubmVyIHBhZGRpbmcgYW5kIGJvdHRvbSBtYXJnaW5cclxuJHBhbmVsLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcclxuJHBhbmVsLXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcclxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCBkZWZhdWx0IGZvbnQgY29sb3JzXHJcbiRwYW5lbC1mb250LWNvbG9yOiAkb2lsICFkZWZhdWx0O1xyXG4kcGFuZWwtZm9udC1jb2xvci1hbHQ6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHBhbmVsLWhlYWRlci1hZGp1c3Q6IHRydWUgIWRlZmF1bHQ7XHJcbiRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG4kY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcclxuLy9cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgcGFuZWxzLlxyXG4vLyAkYmcgLSBTZXRzIHRoZSBwYW5lbCBiYWNrZ3JvdW5kIGNvbG9yLiBEZWZhdWx0OiAkcGFuZWwtcGcgfHwgc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0XHJcbi8vICRwYWRkaW5nIC0gU2V0cyB0aGUgcGFuZWwgcGFkZGluZyBhbW91bnQuIERlZmF1bHQ6ICRwYW5lbC1wYWRkaW5nIHx8IHJlbS1jYWxjKDIwKVxyXG4vLyAkYWRqdXN0IC0gU2V0cyB0aGUgZm9udCBjb2xvciBiYXNlZCBvbiB0aGUgZGFya25lc3Mgb2YgdGhlIGJnICYgcmVzZXRzIGhlYWRlciBsaW5lLWhlaWdodHMgZm9yIHBhbmVscy4gRGVmYXVsdDogJHBhbmVsLWhlYWRlci1hZGp1c3QgfHwgdHJ1ZVxyXG5AbWl4aW4gcGFuZWwoJGJnOiRwYW5lbC1iZywgJHBhZGRpbmc6JHBhbmVsLXBhZGRpbmcsICRhZGp1c3Q6JHBhbmVsLWhlYWRlci1hZGp1c3QpIHtcclxuICAgIEBpZiAkYmcge1xyXG4gICAgICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogJHBhbmVsLWJvcmRlci1zdHlsZTtcclxuICAgICAgICBib3JkZXItd2lkdGg6ICRwYW5lbC1ib3JkZXItc2l6ZTtcclxuICAgICAgICBib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRiZywgJGxpZ2h0bmVzczogJHBhbmVsLWZ1bmN0aW9uLWZhY3Rvcik7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHBhbmVsLW1hcmdpbi1ib3R0b207XHJcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGJnO1xyXG4gICAgICAgIEBpZiAkYmctbGlnaHRuZXNzPj01MCUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHBhbmVsLWZvbnQtY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwYW5lbC1mb250LWNvbG9yLWFsdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cclxuICAgICAgICAmPjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY+Omxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgJGFkanVzdCB7XHJcbiAgICAgICAgICAgIC8vIFdlIHNldCB0aGUgZm9udCBjb2xvciBiYXNlZCBvbiB0aGUgZGFya25lc3Mgb2YgdGhlIGJnLlxyXG4gICAgICAgICAgICBAaWYgJGJnLWxpZ2h0bmVzcz49NTAlIHtcclxuICAgICAgICAgICAgICAgIGgxLFxyXG4gICAgICAgICAgICAgICAgaDIsXHJcbiAgICAgICAgICAgICAgICBoMyxcclxuICAgICAgICAgICAgICAgIGg0LFxyXG4gICAgICAgICAgICAgICAgaDUsXHJcbiAgICAgICAgICAgICAgICBoNixcclxuICAgICAgICAgICAgICAgIHAsXHJcbiAgICAgICAgICAgICAgICBsaSxcclxuICAgICAgICAgICAgICAgIGRsIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHBhbmVsLWZvbnQtY29sb3I7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaDEsXHJcbiAgICAgICAgICAgICAgICBoMixcclxuICAgICAgICAgICAgICAgIGgzLFxyXG4gICAgICAgICAgICAgICAgaDQsXHJcbiAgICAgICAgICAgICAgICBoNSxcclxuICAgICAgICAgICAgICAgIGg2LFxyXG4gICAgICAgICAgICAgICAgcCxcclxuICAgICAgICAgICAgICAgIGxpLFxyXG4gICAgICAgICAgICAgICAgZGwge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcGFuZWwtZm9udC1jb2xvci1hbHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gcmVzZXQgaGVhZGVyIGxpbmUtaGVpZ2h0cyBmb3IgcGFuZWxzXHJcbiAgICAgICAgICAgIGgxLFxyXG4gICAgICAgICAgICBoMixcclxuICAgICAgICAgICAgaDMsXHJcbiAgICAgICAgICAgIGg0LFxyXG4gICAgICAgICAgICBoNSxcclxuICAgICAgICAgICAgaDYge1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgICAgICAvL21hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAvIDI7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBtYXRoLmRpdihyZW0tY2FsYygyMCksIDIpO1xyXG4gICAgICAgICAgICAgICAgJi5zdWJoZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJwYW5lbFwiKSB7XHJcbiAgICBAaWYgJGluY2x1ZGUtaHRtbC1wYW5lbC1jbGFzc2VzIHtcclxuICAgICAgICAvKiBQYW5lbHMgKi9cclxuICAgICAgICAucGFuZWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwYW5lbDtcclxuICAgICAgICAgICAgJi5jYWxsb3V0IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBhbmVsKCRjYWxsb3V0LXBhbmVsLWJnKTtcclxuICAgICAgICAgICAgICAgIGE6bm90KC5idXR0b24pIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNhbGxvdXQtcGFuZWwtbGluay1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNhbGxvdXQtcGFuZWwtbGluay1jb2xvci1ob3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5yYWRpdXMge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmFkaXVzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0IFwiZ2xvYmFsXCI7XHJcblxyXG4vL1xyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtcHJpY2luZy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBib3JkZXIgY29sb3JcclxuJHByaWNlLXRhYmxlLWJvcmRlcjogc29saWQgMXB4ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBib3R0b20gbWFyZ2luIG9mIHRoZSBwcmljaW5nIHRhYmxlXHJcbiRwcmljZS10YWJsZS1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgdGl0bGUgc3R5bGVzXHJcbiRwcmljZS10aXRsZS1iZzogJG9pbCAhZGVmYXVsdDtcclxuJHByaWNlLXRpdGxlLXBhZGRpbmc6IHJlbS1jYWxjKDE1IDIwKSAhZGVmYXVsdDtcclxuJHByaWNlLXRpdGxlLWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XHJcbiRwcmljZS10aXRsZS1jb2xvcjogJHNtb2tlICFkZWZhdWx0O1xyXG4kcHJpY2UtdGl0bGUtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kcHJpY2UtdGl0bGUtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xyXG4kcHJpY2UtdGl0bGUtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHByaWNlIHN0eWxlc1xyXG4kcHJpY2UtbW9uZXktYmc6ICR2YXBvciAhZGVmYXVsdDtcclxuJHByaWNlLW1vbmV5LXBhZGRpbmc6IHJlbS1jYWxjKDE1IDIwKSAhZGVmYXVsdDtcclxuJHByaWNlLW1vbmV5LWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XHJcbiRwcmljZS1tb25leS1jb2xvcjogJG9pbCAhZGVmYXVsdDtcclxuJHByaWNlLW1vbmV5LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuJHByaWNlLW1vbmV5LXNpemU6IHJlbS1jYWxjKDMyKSAhZGVmYXVsdDtcclxuJHByaWNlLW1vbmV5LWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgZGVzY3JpcHRpb24gc3R5bGVzXHJcbiRwcmljZS1iZzogJHdoaXRlICFkZWZhdWx0O1xyXG4kcHJpY2UtZGVzYy1jb2xvcjogJG1vbnNvb24gIWRlZmF1bHQ7XHJcbiRwcmljZS1kZXNjLXBhZGRpbmc6IHJlbS1jYWxjKDE1KSAhZGVmYXVsdDtcclxuJHByaWNlLWRlc2MtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcclxuJHByaWNlLWRlc2MtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XHJcbiRwcmljZS1kZXNjLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuJHByaWNlLWRlc2MtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcclxuJHByaWNlLWRlc2MtYm90dG9tLWJvcmRlcjogZG90dGVkIDFweCAkZ2FpbnNib3JvICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGxpc3QgaXRlbSBzdHlsZXNcclxuJHByaWNlLWl0ZW0tY29sb3I6ICRvaWwgIWRlZmF1bHQ7XHJcbiRwcmljZS1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDE1KSAhZGVmYXVsdDtcclxuJHByaWNlLWl0ZW0tYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcclxuJHByaWNlLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XHJcbiRwcmljZS1pdGVtLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuJHByaWNlLWl0ZW0tYm90dG9tLWJvcmRlcjogZG90dGVkIDFweCAkZ2FpbnNib3JvICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIENUQSBhcmVhIHN0eWxlc1xyXG4kcHJpY2UtY3RhLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRwcmljZS1jdGEtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcclxuJHByaWNlLWN0YS1wYWRkaW5nOiByZW0tY2FsYygyMCAyMCAwKSAhZGVmYXVsdDtcclxuXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIHRoZSBjb250YWluZXIgZWxlbWVudCBmb3IgdGhlIHByaWNpbmcgdGFibGVzXHJcbkBtaXhpbiBwcmljaW5nLXRhYmxlLWNvbnRhaW5lciB7XHJcbiAgYm9yZGVyOiAkcHJpY2UtdGFibGUtYm9yZGVyO1xyXG4gIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogMDtcclxuICBtYXJnaW4tYm90dG9tOiAkcHJpY2UtdGFibGUtbWFyZ2luLWJvdHRvbTtcclxuXHJcbiAgJiAqIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICB9XHJcbn1cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIHByaWNpbmcgdGFibGUgdGl0bGUgc3R5bGVzXHJcbkBtaXhpbiBwcmljaW5nLXRhYmxlLXRpdGxlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpY2UtdGl0bGUtYmc7XHJcbiAgcGFkZGluZzogJHByaWNlLXRpdGxlLXBhZGRpbmc7XHJcbiAgdGV4dC1hbGlnbjogJHByaWNlLXRpdGxlLWFsaWduO1xyXG4gIGNvbG9yOiAkcHJpY2UtdGl0bGUtY29sb3I7XHJcbiAgZm9udC13ZWlnaHQ6ICRwcmljZS10aXRsZS13ZWlnaHQ7XHJcbiAgZm9udC1zaXplOiAkcHJpY2UtdGl0bGUtc2l6ZTtcclxuICBmb250LWZhbWlseTogJHByaWNlLXRpdGxlLWZvbnQtZmFtaWx5O1xyXG59XHJcblxyXG4vLyBAbWl4aW5zXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNvbnRyb2wgdGhlIHByaWNpbmcgdGFibGUgcHJpY2Ugc3R5bGVzXHJcbkBtaXhpbiBwcmljaW5nLXRhYmxlLXByaWNlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpY2UtbW9uZXktYmc7XHJcbiAgcGFkZGluZzogJHByaWNlLW1vbmV5LXBhZGRpbmc7XHJcbiAgdGV4dC1hbGlnbjogJHByaWNlLW1vbmV5LWFsaWduO1xyXG4gIGNvbG9yOiAkcHJpY2UtbW9uZXktY29sb3I7XHJcbiAgZm9udC13ZWlnaHQ6ICRwcmljZS1tb25leS13ZWlnaHQ7XHJcbiAgZm9udC1zaXplOiAkcHJpY2UtbW9uZXktc2l6ZTtcclxuICBmb250LWZhbWlseTogJHByaWNlLW1vbmV5LWZvbnQtZmFtaWx5O1xyXG59XHJcblxyXG4vLyBAbWl4aW5zXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgZGVzY3JpcHRpb24gc3R5bGVzIGZvciB0aGUgcHJpY2luZyB0YWJsZVxyXG5AbWl4aW4gcHJpY2luZy10YWJsZS1kZXNjcmlwdGlvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaWNlLWJnO1xyXG4gIHBhZGRpbmc6ICRwcmljZS1kZXNjLXBhZGRpbmc7XHJcbiAgdGV4dC1hbGlnbjogJHByaWNlLWRlc2MtYWxpZ247XHJcbiAgY29sb3I6ICRwcmljZS1kZXNjLWNvbG9yO1xyXG4gIGZvbnQtc2l6ZTogJHByaWNlLWRlc2MtZm9udC1zaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiAkcHJpY2UtZGVzYy13ZWlnaHQ7XHJcbiAgbGluZS1oZWlnaHQ6ICRwcmljZS1kZXNjLWxpbmUtaGVpZ2h0O1xyXG4gIGJvcmRlci1ib3R0b206ICRwcmljZS1kZXNjLWJvdHRvbS1ib3JkZXI7XHJcbn1cclxuXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gc3R5bGUgdGhlIGJ1bGxldCBpdGVtcyBpbiB0aGUgcHJpY2luZyB0YWJsZVxyXG5AbWl4aW4gcHJpY2luZy10YWJsZS1idWxsZXQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmljZS1iZztcclxuICBwYWRkaW5nOiAkcHJpY2UtaXRlbS1wYWRkaW5nO1xyXG4gIHRleHQtYWxpZ246ICRwcmljZS1pdGVtLWFsaWduO1xyXG4gIGNvbG9yOiAkcHJpY2UtaXRlbS1jb2xvcjtcclxuICBmb250LXNpemU6ICRwcmljZS1pdGVtLWZvbnQtc2l6ZTtcclxuICBmb250LXdlaWdodDogJHByaWNlLWl0ZW0td2VpZ2h0O1xyXG4gIGJvcmRlci1ib3R0b206ICRwcmljZS1pdGVtLWJvdHRvbS1ib3JkZXI7XHJcbn1cclxuXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gc3R5bGUgdGhlIENUQSBhcmVhIG9mIHRoZSBwcmljaW5nIHRhYmxlc1xyXG5AbWl4aW4gcHJpY2luZy10YWJsZS1jdGEge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmljZS1jdGEtYmc7XHJcbiAgdGV4dC1hbGlnbjogJHByaWNlLWN0YS1hbGlnbjtcclxuICBwYWRkaW5nOiAkcHJpY2UtY3RhLXBhZGRpbmc7XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJwcmljaW5nLXRhYmxlXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1wcmljaW5nLWNsYXNzZXMge1xyXG5cclxuICAgIC8qIFByaWNpbmcgVGFibGVzICovXHJcbiAgICAucHJpY2luZy10YWJsZSB7XHJcbiAgICAgIEBpbmNsdWRlIHByaWNpbmctdGFibGUtY29udGFpbmVyO1xyXG5cclxuICAgICAgLnRpdGxlIHsgQGluY2x1ZGUgcHJpY2luZy10YWJsZS10aXRsZTsgfVxyXG4gICAgICAucHJpY2UgeyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLXByaWNlOyB9XHJcbiAgICAgIC5kZXNjcmlwdGlvbiB7IEBpbmNsdWRlIHByaWNpbmctdGFibGUtZGVzY3JpcHRpb247IH1cclxuICAgICAgLmJ1bGxldC1pdGVtIHsgQGluY2x1ZGUgcHJpY2luZy10YWJsZS1idWxsZXQ7IH1cclxuICAgICAgLmN0YS1idXR0b24geyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLWN0YTsgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0IFwiZ2xvYmFsXCI7XHJcblxyXG4vL1xyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBwcm9ncmVzcyBiYXIgaGVpZ2h0XHJcbiRwcm9ncmVzcy1iYXItaGVpZ2h0OiByZW0tY2FsYygyNSkgIWRlZmF1bHQ7XHJcbiRwcm9ncmVzcy1iYXItY29sb3I6ICR2YXBvciAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBib3JkZXIgc3R5bGVzXHJcbiRwcm9ncmVzcy1iYXItYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IDIwJSkgIWRlZmF1bHQ7XHJcbiRwcm9ncmVzcy1iYXItYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcclxuJHByb2dyZXNzLWJhci1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtYmFyLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIG1hcmdpbiAmIHBhZGRpbmdcclxuJHByb2dyZXNzLWJhci1wYWQ6IHJlbS1jYWxjKDIpICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtYmFyLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIG1ldGVyIGNvbG9yc1xyXG4kcHJvZ3Jlc3MtbWV0ZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtbWV0ZXItc2Vjb25kYXJ5LWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtbWV0ZXItc3VjY2Vzcy1jb2xvcjogJHN1Y2Nlc3MtY29sb3IgIWRlZmF1bHQ7XHJcbiRwcm9ncmVzcy1tZXRlci1hbGVydC1jb2xvcjogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdXAgdGhlIHByb2dyZXNzIGJhciBjb250YWluZXJcclxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcclxuICBoZWlnaHQ6ICRwcm9ncmVzcy1iYXItaGVpZ2h0O1xyXG4gIGJvcmRlcjogJHByb2dyZXNzLWJhci1ib3JkZXItc2l6ZSAkcHJvZ3Jlc3MtYmFyLWJvcmRlci1zdHlsZSAkcHJvZ3Jlc3MtYmFyLWJvcmRlci1jb2xvcjtcclxuICBwYWRkaW5nOiAkcHJvZ3Jlc3MtYmFyLXBhZDtcclxuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtYmFyLW1hcmdpbi1ib3R0b207XHJcbn1cclxuXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gJGJnIC0gRGVmYXVsdDogJHByb2dyZXNzLW1ldGVyLWNvbG9yIHx8ICRwcmltYXJ5LWNvbG9yXHJcbkBtaXhpbiBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLWNvbG9yKSB7XHJcbiAgYmFja2dyb3VuZDogJGJnO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJwcm9ncmVzcy1iYXJcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXMge1xyXG5cclxuICAgIC8qIFByb2dyZXNzIEJhciAqL1xyXG4gICAgLnByb2dyZXNzIHtcclxuICAgICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xyXG5cclxuICAgICAgLy8gTWV0ZXJcclxuICAgICAgLm1ldGVyIHtcclxuICAgICAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcclxuICAgICAgfVxyXG4gICAgICAmLnNlY29uZGFyeSAubWV0ZXIgeyBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLXNlY29uZGFyeS1jb2xvcik7IH1cclxuICAgICAgJi5zdWNjZXNzIC5tZXRlciB7IEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyKCRiZzokcHJvZ3Jlc3MtbWV0ZXItc3VjY2Vzcy1jb2xvcik7IH1cclxuICAgICAgJi5hbGVydCAubWV0ZXIgeyBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLWFsZXJ0LWNvbG9yKTsgfVxyXG5cclxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHByb2dyZXNzLWJhci1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAubWV0ZXIgeyBAaW5jbHVkZSByYWRpdXMoJHByb2dyZXNzLWJhci1ib3JkZXItcmFkaXVzIC0gMSk7IH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5yb3VuZCB7IEBpbmNsdWRlIHJhZGl1cygxMDAwcHgpO1xyXG4gICAgICAgIC5tZXRlciB7IEBpbmNsdWRlIHJhZGl1cyg5OTlweCk7IH1cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5AdXNlIFwic2FzczptYXRoXCI7XHJcbkBpbXBvcnQgXCJnbG9iYWxcIjtcclxuLy9cclxuLy8gQG5hbWUgX3JhbmdlLXNsaWRlci5zY3NzXHJcbi8vIEBkZXBlbmRlbmNpZXMgX2dsb2JhbC5zY3NzXHJcbi8vXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuJGluY2x1ZGUtaHRtbC1yYW5nZS1zbGlkZXItY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG4vLyBUaGVzZSB2YXJpYWJlbHMgZGVmaW5lIHRoZSBzbGlkZXIgYmFyIHN0eWxlc1xyXG4kcmFuZ2Utc2xpZGVyLWJhci13aWR0aDogMTAwJSAhZGVmYXVsdDtcclxuJHJhbmdlLXNsaWRlci1iYXItaGVpZ2h0OiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XHJcbiRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xyXG4kcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xyXG4kcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XHJcbiRyYW5nZS1zbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuJHJhbmdlLXNsaWRlci1yb3VuZDogJGdsb2JhbC1yb3VuZGVkICFkZWZhdWx0O1xyXG4kcmFuZ2Utc2xpZGVyLWJhci1iZy1jb2xvcjogJGdob3N0ICFkZWZhdWx0O1xyXG4kcmFuZ2Utc2xpZGVyLWFjdGl2ZS1zZWdtZW50LWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMSUpICFkZWZhdWx0O1xyXG4vLyBWZXJ0aWNhbCBiYXIgc3R5bGVzXHJcbiRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLXdpZHRoOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XHJcbiRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLWhlaWdodDogcmVtLWNhbGMoMjAwKSAhZGVmYXVsdDtcclxuLy8gVGhlc2UgdmFyaWFiZWxzIGRlZmluZSB0aGUgc2xpZGVyIGhhbmRsZSBzdHlsZXNcclxuJHJhbmdlLXNsaWRlci1oYW5kbGUtd2lkdGg6IHJlbS1jYWxjKDMyKSAhZGVmYXVsdDtcclxuJHJhbmdlLXNsaWRlci1oYW5kbGUtaGVpZ2h0OiByZW0tY2FsYygyMikgIWRlZmF1bHQ7XHJcbiRyYW5nZS1zbGlkZXItaGFuZGxlLXBvc2l0aW9uLXRvcDogcmVtLWNhbGMoLTUpICFkZWZhdWx0O1xyXG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1iZy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcbiRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xyXG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xyXG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItY29sb3I6IG5vbmUgIWRlZmF1bHQ7XHJcbiRyYW5nZS1zbGlkZXItaGFuZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcbiRyYW5nZS1zbGlkZXItaGFuZGxlLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQgIWRlZmF1bHQ7XHJcbiRyYW5nZS1zbGlkZXItaGFuZGxlLWJnLWhvdmVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTEyJSkgIWRlZmF1bHQ7XHJcbiRyYW5nZS1zbGlkZXItaGFuZGxlLWN1cnNvcjogcG9pbnRlciAhZGVmYXVsdDtcclxuJHJhbmdlLXNsaWRlci1kaXNhYmxlZC1vcGFjaXR5OiAuNyAhZGVmYXVsdDtcclxuJHJhbmdlLXNsaWRlci1kaXNhYmxlZC1jdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQtdmFsdWUgIWRlZmF1bHQ7XHJcbi8vXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuQG1peGluIHJhbmdlLXNsaWRlci1iYXItYmFzZSgkdmVydGljYWw6IGZhbHNlKSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBib3JkZXI6ICRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci13aWR0aCAkcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItc3R5bGUgJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLWNvbG9yO1xyXG4gICAgbWFyZ2luOiByZW0tY2FsYygyMCAwKTtcclxuICAgIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XHJcbiAgICB0b3VjaC1hY3Rpb246IG5vbmU7XHJcbiAgICBAaWYgJHZlcnRpY2FsPT10cnVlIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6ICRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLXdpZHRoO1xyXG4gICAgICAgIGhlaWdodDogJHJhbmdlLXNsaWRlci12ZXJ0aWNhbC1iYXItaGVpZ2h0O1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAkcmFuZ2Utc2xpZGVyLWJhci13aWR0aDtcclxuICAgICAgICBoZWlnaHQ6ICRyYW5nZS1zbGlkZXItYmFyLWhlaWdodDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHJhbmdlLXNsaWRlci1iYXItc3R5bGUoICRiZzogdHJ1ZSwgJHJhZGl1czogZmFsc2UsICRyb3VuZDogZmFsc2UsICRkaXNhYmxlZDogZmFsc2UpIHtcclxuICAgIEBpZiAkYmc9PXRydWUge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRyYW5nZS1zbGlkZXItYmFyLWJnLWNvbG9yO1xyXG4gICAgfVxyXG4gICAgQGlmICRyYWRpdXM9PXRydWUge1xyXG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cygkcmFuZ2Utc2xpZGVyLXJhZGl1cyk7XHJcbiAgICB9XHJcbiAgICBAaWYgJHJvdW5kPT10cnVlIHtcclxuICAgICAgICBAaW5jbHVkZSByYWRpdXMoJHJhbmdlLXNsaWRlci1yb3VuZCk7XHJcbiAgICB9XHJcbiAgICBAaWYgJGRpc2FibGVkPT10cnVlIHtcclxuICAgICAgICBjdXJzb3I6ICRyYW5nZS1zbGlkZXItZGlzYWJsZWQtY3Vyc29yO1xyXG4gICAgICAgIG9wYWNpdHk6ICRyYW5nZS1zbGlkZXItZGlzYWJsZWQtb3BhY2l0eTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHJhbmdlLXNsaWRlci1iYXIoICRiZzogJHJhbmdlLXNsaWRlci1iYXItYmctY29sb3IsICRyYWRpdXM6ZmFsc2UpIHtcclxuICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItYmFzZTtcclxuICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItc3R5bGU7XHJcbn1cclxuXHJcbkBtaXhpbiByYW5nZS1zbGlkZXItaGFuZGxlLWJhc2UoKSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgdG9wOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1wb3NpdGlvbi10b3A7XHJcbiAgICB3aWR0aDogJHJhbmdlLXNsaWRlci1oYW5kbGUtd2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRyYW5nZS1zbGlkZXItaGFuZGxlLWhlaWdodDtcclxuICAgIGJvcmRlcjogJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLXdpZHRoICRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci1zdHlsZSAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItY29sb3I7XHJcbiAgICBjdXJzb3I6ICRyYW5nZS1zbGlkZXItaGFuZGxlLWN1cnNvcjtcclxuICAgIC8vIFRoaXMgcmVtb3ZlcyB0aGUgMzAwbXMgdG91Y2ggZGVsYXkgb24gV2luZG93cyA4XHJcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XHJcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcclxufVxyXG5cclxuQG1peGluIHJhbmdlLXNsaWRlci1oYW5kbGUtc3R5bGUoICRiZzogdHJ1ZSwgJHJhZGl1czogZmFsc2UsICRyb3VuZDogZmFsc2UsICRkaXNhYmxlZDogZmFsc2UpIHtcclxuICAgIEBpZiAkYmc9PXRydWUge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRyYW5nZS1zbGlkZXItaGFuZGxlLWJnLWNvbG9yO1xyXG4gICAgfVxyXG4gICAgQGlmICRyYWRpdXM9PXRydWUge1xyXG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cygkcmFuZ2Utc2xpZGVyLXJhZGl1cyk7XHJcbiAgICB9XHJcbiAgICBAaWYgJHJvdW5kPT10cnVlIHtcclxuICAgICAgICBAaW5jbHVkZSByYWRpdXMoJHJhbmdlLXNsaWRlci1yb3VuZCk7XHJcbiAgICB9XHJcbiAgICBAaWYgJGRpc2FibGVkPT10cnVlIHtcclxuICAgICAgICBjdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZTtcclxuICAgICAgICBvcGFjaXR5OiAkcmFuZ2Utc2xpZGVyLWRpc2FibGVkLW9wYWNpdHk7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1iZy1ob3Zlci1jb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHJhbmdlLXNsaWRlci1oYW5kbGUoKSB7XHJcbiAgICBAaW5jbHVkZSByYW5nZS1zbGlkZXItaGFuZGxlLWJhc2U7XHJcbiAgICBAaW5jbHVkZSByYW5nZS1zbGlkZXItaGFuZGxlLXN0eWxlO1xyXG59XHJcblxyXG4vLyBDU1MgR2VuZXJhdGlvblxyXG5AaW5jbHVkZSBleHBvcnRzKFwicmFuZ2Utc2xpZGVyLWJhclwiKSB7XHJcbiAgICBAaWYgJGluY2x1ZGUtaHRtbC1yYW5nZS1zbGlkZXItY2xhc3NlcyB7XHJcbiAgICAgICAgLnJhbmdlLXNsaWRlciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItYmFzZTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1zdHlsZSgkYmc6IHRydWUsICRyYWRpdXM6IGZhbHNlKTtcclxuICAgICAgICAgICAgJi52ZXJ0aWNhbC1yYW5nZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByYW5nZS1zbGlkZXItYmFyLWJhc2UoJHZlcnRpY2FsOiB0cnVlKTtcclxuICAgICAgICAgICAgICAgIC5yYW5nZS1zbGlkZXItaGFuZGxlIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAtKCRyYW5nZS1zbGlkZXItaGFuZGxlLXdpZHRoIC8gNCk7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAtKG1hdGguZGl2KCRyYW5nZS1zbGlkZXItaGFuZGxlLXdpZHRoLCA0KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLSgkcmFuZ2Utc2xpZGVyLXZlcnRpY2FsLWJhci1oZWlnaHQgLSAkcmFuZ2Utc2xpZGVyLWhhbmRsZS13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAucmFuZ2Utc2xpZGVyLWFjdGl2ZS1zZWdtZW50IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJHJhbmdlLXNsaWRlci1iYXItaGVpZ2h0IC0gcmVtLWNhbGMoKHN0cmlwLXVuaXQoJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXdpZHRoKSAqIDIpKTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYucmFkaXVzIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItc3R5bGUoJHJhZGl1czogdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAucmFuZ2Utc2xpZGVyLWhhbmRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1zdHlsZSgkcmFkaXVzOiB0cnVlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnJvdW5kIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItc3R5bGUoJHJvdW5kOiB0cnVlKTtcclxuICAgICAgICAgICAgICAgIC5yYW5nZS1zbGlkZXItaGFuZGxlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByYW5nZS1zbGlkZXItaGFuZGxlLXN0eWxlKCRyb3VuZDogdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5kaXNhYmxlZCxcclxuICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1zdHlsZSgkZGlzYWJsZWQ6IHRydWUpO1xyXG4gICAgICAgICAgICAgICAgLnJhbmdlLXNsaWRlci1oYW5kbGUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtc3R5bGUoJGRpc2FibGVkOiB0cnVlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucmFuZ2Utc2xpZGVyLWFjdGl2ZS1zZWdtZW50IHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGhlaWdodDogJHJhbmdlLXNsaWRlci1iYXItaGVpZ2h0IC0gcmVtLWNhbGMoKHN0cmlwLXVuaXQoJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXdpZHRoKSAqIDIpKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHJhbmdlLXNsaWRlci1hY3RpdmUtc2VnbWVudC1iZy1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnJhbmdlLXNsaWRlci1oYW5kbGUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSByYW5nZS1zbGlkZXItaGFuZGxlLWJhc2U7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtc3R5bGUoJGJnOiB0cnVlLCAkcmFkaXVzOiBmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0IFwiZ2xvYmFsXCI7XHJcbkBpbXBvcnQgXCJncmlkXCI7XHJcblxyXG4vL1xyXG4vLyBAbmFtZSBfcmV2ZWFsLnNjc3NcclxuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3NcclxuLy9cclxuXHJcbiRpbmNsdWRlLWh0bWwtcmV2ZWFsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzdHlsZSBvZiB0aGUgcmV2ZWFsIG92ZXJsYXkuXHJcbiRyZXZlYWwtb3ZlcmxheS1iZzogcmdiYSgkYmxhY2ssIC40NSkgIWRlZmF1bHQ7XHJcbiRyZXZlYWwtb3ZlcmxheS1iZy1vbGQ6ICRibGFjayAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzdHlsZSBvZiB0aGUgbW9kYWwgaXRzZWxmLlxyXG4kcmV2ZWFsLW1vZGFsLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRyZXZlYWwtcG9zaXRpb24tdG9wOiByZW0tY2FsYygxMDApICFkZWZhdWx0O1xyXG4kcmV2ZWFsLWRlZmF1bHQtd2lkdGg6IDgwJSAhZGVmYXVsdDtcclxuJHJldmVhbC1tYXgtd2lkdGg6ICRyb3ctd2lkdGggIWRlZmF1bHQ7XHJcbiRyZXZlYWwtbW9kYWwtcGFkZGluZzogcmVtLWNhbGMoMzApICFkZWZhdWx0O1xyXG4kcmV2ZWFsLWJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLC40KSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgcmV2ZWFsIGNsb3NlIGJ1dHRvblxyXG4kcmV2ZWFsLWNsb3NlLWZvbnQtc2l6ZTogcmVtLWNhbGMoNDApICFkZWZhdWx0O1xyXG4kcmV2ZWFsLWNsb3NlLXRvcDogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xyXG4kcmV2ZWFsLWNsb3NlLXNpZGU6IHJlbS1jYWxjKDIyKSAhZGVmYXVsdDtcclxuJHJldmVhbC1jbG9zZS1jb2xvcjogJGJhc2UgIWRlZmF1bHQ7XHJcbiRyZXZlYWwtY2xvc2Utd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgZGVmYXVsdCByYWRpdXMgdXNlZCB0aHJvdWdob3V0IHRoZSBjb3JlLlxyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcbiRyZXZlYWwtcm91bmQ6ICRnbG9iYWwtcm91bmRlZCAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBtb2RhbCBib3JkZXJcclxuJHJldmVhbC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xyXG4kcmV2ZWFsLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xyXG4kcmV2ZWFsLWJvcmRlci1jb2xvcjogJHN0ZWVsICFkZWZhdWx0O1xyXG5cclxuJHJldmVhbC1tb2RhbC1jbGFzczogXCJyZXZlYWwtbW9kYWxcIiAhZGVmYXVsdDtcclxuJGNsb3NlLXJldmVhbC1tb2RhbC1jbGFzczogXCJjbG9zZS1yZXZlYWwtbW9kYWxcIiAhZGVmYXVsdDtcclxuXHJcbi8vIFNldCBiYXNlIHotaW5kZXhcclxuJHotaW5kZXgtYmFzZTogMTAwNTtcclxuXHJcbi8vXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSB0aGUgcmV2ZWFsIGJhY2tncm91bmQgb3ZlcmxheSBzdHlsZXNcclxuQG1peGluIHJldmVhbC1iZyggJGluY2x1ZGUtei1pbmRleC12YWx1ZTogdHJ1ZSApIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgLy8gcG9zaXRpb246IGFic29sdXRlOyAvLyBhbGxvd3MgbW9kYWwgYmFja2dyb3VuZCB0byBleHRlbmQgYmV5b25kIHdpbmRvdyBwb3NpdGlvblxyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmctb2xkOyAvLyBBdXRvcHJlZml4ZXIgc2hvdWxkIGJlIHVzZWQgdG8gYXZvaWQgc3VjaCB2YXJpYWJsZXMgbmVlZGVkIHdoZW4gRm91bmRhdGlvbiBmb3IgU2l0ZXMgY2FuIGRvIHNvIGluIHRoZSBuZWFyIGZ1dHVyZS5cclxuICBiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmc7XHJcbiAgei1pbmRleDogaWYoICRpbmNsdWRlLXotaW5kZXgtdmFsdWUsICR6LWluZGV4LWJhc2UgLSAxLCBhdXRvICk7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcclxufVxyXG5cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBzdHJ1Y3R1cmUgb2YgYSByZXZlYWwgbW9kYWxcclxuLy9cclxuLy8gJGJhc2Utc3R5bGUgLSBQcm92aWRlcyByZXZlYWwgYmFzZSBzdHlsZXMsIGNhbiBiZSBzZXQgdG8gZmFsc2UgdG8gb3ZlcnJpZGUuIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXHJcbi8vICR3aWR0aCAtIFNldHMgcmV2ZWFsIHdpZHRoIERlZmF1bHQ6ICRyZXZlYWwtZGVmYXVsdC13aWR0aCB8fCA4MCVcclxuLy9cclxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlKCAkYmFzZS1zdHlsZTogdHJ1ZSwgJHdpZHRoOiRyZXZlYWwtZGVmYXVsdC13aWR0aCwgJG1heC13aWR0aDokcmV2ZWFsLW1heC13aWR0aCwgJGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzKSB7XHJcbiAgQGlmICRiYXNlLXN0eWxlIHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAkei1pbmRleC1iYXNlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0b3A6MDtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcblxyXG4gICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcclxuICAgICAgbWluLWhlaWdodDoxMDB2aDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cclxuICAgIC5jb2x1bW4sIC5jb2x1bW5zIHsgbWluLXdpZHRoOiAwOyB9XHJcblxyXG4gICAgLy8gR2V0IHJpZCBvZiBtYXJnaW4gZnJvbSBmaXJzdCBhbmQgbGFzdCBlbGVtZW50IGluc2lkZSBtb2RhbFxyXG4gICAgJiA+IDpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDA7IH1cclxuXHJcbiAgICAmID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XHJcbiAgfVxyXG5cclxuICBAaWYgJHdpZHRoIHtcclxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcclxuICAgICAgd2lkdGg6ICR3aWR0aDtcclxuICAgICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgcmV2ZWFsIG1vZGFsIGRlZmF1bHRzXHJcbi8vXHJcbi8vICRiZyAtIFNldHMgYmFja2dyb3VuZCBjb2xvciBvZiByZXZlYWwgbW9kYWwuIERlZmF1bHQ6ICRyZXZlYWwtbW9kYWwtYmcgfHwgJHdoaXRlXHJcbi8vICRwYWRkaW5nIC0gUGFkZGluZyB0byBhcHBseSB0byByZXZlYWwgbW9kYWwuIERlZmF1bHQ6ICRyZXZlYWwtbW9kYWwtcGFkZGluZy5cclxuLy8gJGJvcmRlciAtIENob29zZSB3aGV0aGVyIHJldmVhbCB1c2VzIGEgYm9yZGVyLiBEZWZhdWx0OiB0cnVlLCBPcHRpb25zOiBmYWxzZVxyXG4vLyAkYm9yZGVyLXN0eWxlIC0gU2V0IHJldmVhbCBib3JkZXIgc3R5bGUuIERlZmF1bHQ6ICRyZXZlYWwtYm9yZGVyLXN0eWxlIHx8IHNvbGlkXHJcbi8vICRib3JkZXItd2lkdGggLSBXaWR0aCBvZiBib3JkZXIgKGkuZS4gMXB4KS4gRGVmYXVsdDogJHJldmVhbC1ib3JkZXItd2lkdGguXHJcbi8vICRib3JkZXItY29sb3IgLSBDb2xvciBvZiBib3JkZXIuIERlZmF1bHQ6ICRyZXZlYWwtYm9yZGVyLWNvbG9yLlxyXG4vLyAkYm94LXNoYWRvdyAtIENob29zZSB3aGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIHRoZSBkZWZhdWx0IGJveC1zaGFkb3cuIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXHJcbi8vICRyYWRpdXMgLSBJZiB0cnVlLCBzZXQgdG8gbW9kYWwgcmFkaXVzIHdoaWNoIGlzICRnbG9iYWwtcmFkaXVzIHx8IGV4cGxpY2l0bHkgc2V0IHJhZGl1cyBhbW91bnQgaW4gcHggKGV4LiAkcmFkaXVzOjEwcHgpLiBEZWZhdWx0OiBmYWxzZVxyXG4vLyAkdG9wLW9mZnNldCAtIERlZmF1bHQ6ICRyZXZlYWwtcG9zaXRpb24tdG9wIHx8IDUwcHhcclxuQG1peGluIHJldmVhbC1tb2RhbC1zdHlsZShcclxuICAkYmc6ZmFsc2UsXHJcbiAgJHBhZGRpbmc6ZmFsc2UsXHJcbiAgJGJvcmRlcjpmYWxzZSxcclxuICAkYm9yZGVyLXN0eWxlOiRyZXZlYWwtYm9yZGVyLXN0eWxlLFxyXG4gICRib3JkZXItd2lkdGg6JHJldmVhbC1ib3JkZXItd2lkdGgsXHJcbiAgJGJvcmRlci1jb2xvcjokcmV2ZWFsLWJvcmRlci1jb2xvcixcclxuICAkYm94LXNoYWRvdzpmYWxzZSxcclxuICAkcmFkaXVzOmZhbHNlLFxyXG4gICR0b3Atb2Zmc2V0OmZhbHNlKSB7XHJcblxyXG4gIEBpZiAkYmcgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7IH1cclxuICBAaWYgJHBhZGRpbmcgIT0gZmFsc2UgeyBwYWRkaW5nOiAkcGFkZGluZzsgfVxyXG5cclxuICBAaWYgJGJvcmRlciB7IGJvcmRlcjogJGJvcmRlci1zdHlsZSAkYm9yZGVyLXdpZHRoICRib3JkZXItY29sb3I7IH1cclxuXHJcbiAgLy8gV2UgY2FuIGNob29zZSB3aGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIHRoZSBkZWZhdWx0IGJveC1zaGFkb3cuXHJcbiAgQGlmICRib3gtc2hhZG93IHtcclxuICAgIGJveC1zaGFkb3c6ICRyZXZlYWwtYm94LXNoYWRvdztcclxuICB9XHJcblxyXG4gIC8vIFdlIGNhbiBjb250cm9sIGhvdyBtdWNoIHJhZGl1cyBpcyB1c2VkIG9uIHRoZSBtb2RhbFxyXG4gIEBpZiAkcmFkaXVzID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJHJldmVhbC1yYWRpdXMpOyB9XHJcbiAgQGVsc2UgaWYgJHJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkcmFkaXVzKTsgfVxyXG5cclxuICBAaWYgJHRvcC1vZmZzZXQge1xyXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG4gICAgICB0b3A6ICR0b3Atb2Zmc2V0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIGEgY2xvc2UgYnV0dG9uIGZvciB0aGUgcmV2ZWFsIG1vZGFsXHJcbi8vXHJcbi8vICRjb2xvciAtIERlZmF1bHQ6ICRyZXZlYWwtY2xvc2UtY29sb3IgfHwgJGJhc2VcclxuQG1peGluIHJldmVhbC1jbG9zZSgkY29sb3I6JHJldmVhbC1jbG9zZS1jb2xvcikge1xyXG4gIGZvbnQtc2l6ZTogJHJldmVhbC1jbG9zZS1mb250LXNpemU7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogJHJldmVhbC1jbG9zZS10b3A7XHJcbiAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHJldmVhbC1jbG9zZS1zaWRlO1xyXG4gIGNvbG9yOiAkY29sb3I7XHJcbiAgZm9udC13ZWlnaHQ6ICRyZXZlYWwtY2xvc2Utd2VpZ2h0O1xyXG4gIGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlO1xyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwicmV2ZWFsXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1yZXZlYWwtY2xhc3NlcyB7XHJcblxyXG4gICAgLy8gUmV2ZWFsIE1vZGFsc1xyXG4gICAgLnJldmVhbC1tb2RhbC1iZyB7IEBpbmNsdWRlIHJldmVhbC1iZzsgfVxyXG5cclxuICAgIC4jeyRyZXZlYWwtbW9kYWwtY2xhc3N9IHtcclxuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XHJcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1zdHlsZShcclxuICAgICAgICAkYmc6JHJldmVhbC1tb2RhbC1iZyxcclxuICAgICAgICAkcGFkZGluZzokcmV2ZWFsLW1vZGFsLXBhZGRpbmcsXHJcbiAgICAgICAgJGJvcmRlcjp0cnVlLFxyXG4gICAgICAgICRib3gtc2hhZG93OnRydWUsXHJcbiAgICAgICAgJHJhZGl1czpmYWxzZSxcclxuICAgICAgICAkdG9wLW9mZnNldDokcmV2ZWFsLXBvc2l0aW9uLXRvcFxyXG4gICAgICApO1xyXG5cclxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtc3R5bGUoJHJhZGl1czp0cnVlKTsgfVxyXG4gICAgICAmLnJvdW5kICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1zdHlsZSgkcmFkaXVzOiRyZXZlYWwtcm91bmQpOyB9XHJcbiAgICAgICYuY29sbGFwc2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtc3R5bGUoJHBhZGRpbmc6MCk7IH1cclxuICAgICAgJi50aW55ICB7XHJcbiAgICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDMwJSk7XHJcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW07XHJcbiAgICAgIH1cclxuICAgICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlKGZhbHNlLCA0MCUpOyB9XHJcbiAgICAgICYubWVkaXVtICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlKGZhbHNlLCA2MCUpOyB9XHJcbiAgICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgNzAlKTsgfVxyXG4gICAgICAmLnhsYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlKGZhbHNlLCA5NSUpOyB9XHJcbiAgICAgICYuZnVsbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDEwMCUpO1xyXG4gICAgICAgIHRvcDowO1xyXG4gICAgICAgIGxlZnQ6MDtcclxuICAgICAgICBoZWlnaHQ6MTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6MTAwdmg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gTW9kYWxzIHB1c2hlZCB0byBiYWNrXHJcbiAgICAgICYudG9iYWNrIHtcclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1iYXNlIC0gMjtcclxuICAgICAgfVxyXG5cclxuICAgICAgLiN7JGNsb3NlLXJldmVhbC1tb2RhbC1jbGFzc30geyBAaW5jbHVkZSByZXZlYWwtY2xvc2U7IH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuQGltcG9ydCBcImdsb2JhbFwiO1xyXG4vL1xyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBwYWRkaW5nLlxyXG4kc2lkZS1uYXYtcGFkZGluZzogcmVtLWNhbGMoMTQgMCkgIWRlZmF1bHQ7XHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGxpc3Qgc3R5bGVzLlxyXG4kc2lkZS1uYXYtbGlzdC10eXBlOiBub25lICFkZWZhdWx0O1xyXG4kc2lkZS1uYXYtbGlzdC1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcclxuJHNpZGUtbmF2LWxpc3QtbWFyZ2luOiByZW0tY2FsYygwIDAgNyAwKSAhZGVmYXVsdDtcclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbGluayBzdHlsZXMuXHJcbiRzaWRlLW5hdi1saW5rLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuJHNpZGUtbmF2LWxpbmstY29sb3ItYWN0aXZlOiBzY2FsZS1jb2xvcigkc2lkZS1uYXYtbGluay1jb2xvciwgJGxpZ2h0bmVzczogMzAlKSAhZGVmYXVsdDtcclxuJHNpZGUtbmF2LWxpbmstY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRzaWRlLW5hdi1saW5rLWNvbG9yLCAkbGlnaHRuZXNzOiAzMCUpICFkZWZhdWx0O1xyXG4vLyRzaWRlLW5hdi1saW5rLWJnLWhvdmVyOiBoc2xhKDAsIDAsIDAsIC4wMjUpICFkZWZhdWx0O1xyXG4kc2lkZS1uYXYtbGluay1iZy1ob3ZlcjogaHNsYSgwLCAwJSwgMCUsIC4wMjUpICFkZWZhdWx0O1xyXG4kc2lkZS1uYXYtbGluay1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRzaWRlLW5hdi1saW5rLXBhZGRpbmc6IHJlbS1jYWxjKDcgMTQpICFkZWZhdWx0O1xyXG4kc2lkZS1uYXYtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XHJcbiRzaWRlLW5hdi1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuJHNpZGUtbmF2LWZvbnQtd2VpZ2h0LWFjdGl2ZTogJHNpZGUtbmF2LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kc2lkZS1uYXYtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xyXG4kc2lkZS1uYXYtZm9udC1mYW1pbHktYWN0aXZlOiAkc2lkZS1uYXYtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRpbmcgc3R5bGVzLlxyXG4kc2lkZS1uYXYtaGVhZGluZy1jb2xvcjogJHNpZGUtbmF2LWxpbmstY29sb3IgIWRlZmF1bHQ7XHJcbiRzaWRlLW5hdi1oZWFkaW5nLWZvbnQtc2l6ZTogJHNpZGUtbmF2LWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJHNpZGUtbmF2LWhlYWRpbmctZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XHJcbiRzaWRlLW5hdi1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJvcmRlciBzdHlsZXNcclxuJHNpZGUtbmF2LWRpdmlkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xyXG4kc2lkZS1uYXYtZGl2aWRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XHJcbiRzaWRlLW5hdi1kaXZpZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IDEwJSkgIWRlZmF1bHQ7XHJcbi8vXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIHNpZGUtbmF2XHJcbi8vXHJcbi8vICRkaXZpZGVyLWNvbG9yIC0gQm9yZGVyIGNvbG9yIG9mIGRpdmlkZXIuIERlZmF1bHQ6ICRzaWRlLW5hdi1kaXZpZGVyLWNvbG9yLlxyXG4vLyAkZm9udC1zaXplIC0gRm9udCBzaXplIG9mIG5hdiBpdGVtcy4gRGVmYXVsdDogJHNpZGUtbmF2LWZvbnQtc2l6ZS5cclxuLy8gJGxpbmstY29sb3IgLSBDb2xvciBvZiBuYXZpZ2F0aW9uIGxpbmtzLiBEZWZhdWx0OiAkc2lkZS1uYXYtbGluay1jb2xvci5cclxuLy8gJGxpbmstY29sb3ItaG92ZXIgLSBDb2xvciBvZiBuYXZpZ2F0aW9uIGxpbmtzIHdoZW4gaG92ZXJlZC4gRGVmYXVsdDogJHNpZGUtbmF2LWxpbmstY29sb3ItaG92ZXIuXHJcbkBtaXhpbiBzaWRlLW5hdiggJGRpdmlkZXItY29sb3I6JHNpZGUtbmF2LWRpdmlkZXItY29sb3IsICRmb250LXNpemU6JHNpZGUtbmF2LWZvbnQtc2l6ZSwgJGxpbmstY29sb3I6JHNpZGUtbmF2LWxpbmstY29sb3IsICRsaW5rLWNvbG9yLWFjdGl2ZTokc2lkZS1uYXYtbGluay1jb2xvci1hY3RpdmUsICRsaW5rLWNvbG9yLWhvdmVyOiRzaWRlLW5hdi1saW5rLWNvbG9yLWhvdmVyLCAkbGluay1iZy1ob3Zlcjokc2lkZS1uYXYtbGluay1iZy1ob3Zlcikge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAkc2lkZS1uYXYtcGFkZGluZztcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogJHNpZGUtbmF2LWxpc3QtdHlwZTtcclxuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRzaWRlLW5hdi1saXN0LXBvc2l0aW9uO1xyXG4gICAgZm9udC1mYW1pbHk6ICRzaWRlLW5hdi1mb250LWZhbWlseTtcclxuICAgIGxpIHtcclxuICAgICAgICBtYXJnaW46ICRzaWRlLW5hdi1saXN0LW1hcmdpbjtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRzaWRlLW5hdi1mb250LXdlaWdodDtcclxuICAgICAgICBhOm5vdCguYnV0dG9uKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBjb2xvcjogJGxpbmstY29sb3I7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJHNpZGUtbmF2LWxpbmstbWFyZ2luO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkc2lkZS1uYXYtbGluay1wYWRkaW5nO1xyXG4gICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaW5rLWJnLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yLWhvdmVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGluay1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hY3RpdmU+YTpmaXJzdC1jaGlsZDpub3QoLmJ1dHRvbikge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNpZGUtbmF2LWxpbmstY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHNpZGUtbmF2LWZvbnQtd2VpZ2h0LWFjdGl2ZTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzaWRlLW5hdi1mb250LWZhbWlseS1hY3RpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGl2aWRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6ICRzaWRlLW5hdi1kaXZpZGVyLXNpemUgJHNpZGUtbmF2LWRpdmlkZXItc3R5bGU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGRpdmlkZXItY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGVhZGluZyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2lkZS1uYXYtaGVhZGluZy1jb2xvcjtcclxuICAgICAgICAgICAgZm9udDoge1xyXG4gICAgICAgICAgICAgICAgc2l6ZTogJHNpZGUtbmF2LWhlYWRpbmctZm9udC1zaXplO1xyXG4gICAgICAgICAgICAgICAgd2VpZ2h0OiAkc2lkZS1uYXYtaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHNpZGUtbmF2LWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwic2lkZS1uYXZcIikge1xyXG4gICAgQGlmICRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXMge1xyXG4gICAgICAgIC5zaWRlLW5hdiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpZGUtbmF2O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCBcImdsb2JhbFwiO1xyXG5AaW1wb3J0IFwiYnV0dG9uc1wiO1xyXG5AaW1wb3J0IFwiZHJvcGRvd24tYnV0dG9uc1wiO1xyXG5cclxuLy9cclxuLy8gQG5hbWUgX3NwbGl0LWJ1dHRvbnMuc2Nzc1xyXG4vLyBAZGVwZW5kZW5jaWVzIF9idXR0b25zLnNjc3MsIF9nbG9iYWwuc2Nzc1xyXG4vL1xyXG5cclxuLy9cclxuLy8gQHZhcmlhYmxlc1xyXG4vL1xyXG5cclxuJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgZGlmZmVyZW50IHNoYXJlZCBzdHlsZXMgZm9yIFNwbGl0IEJ1dHRvbnNcclxuJHNwbGl0LWJ1dHRvbi1mdW5jdGlvbi1mYWN0b3I6IDEwJSAhZGVmYXVsdDtcclxuJHNwbGl0LWJ1dHRvbi1waXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHNwbGl0LWJ1dHRvbi1waXAtY29sb3ItYWx0OiAkb2lsICFkZWZhdWx0O1xyXG4kc3BsaXQtYnV0dG9uLWFjdGl2ZS1iZy10aW50OiByZ2JhKDAsMCwwLDAuMSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aW55IHNwbGl0IGJ1dHRvbnNcclxuJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLXRueTogJGJ1dHRvbi1waXAtdG55ICogMTAgIWRlZmF1bHQ7XHJcbiRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC10bnk6ICRidXR0b24tcGlwLXRueSAqIDYgIWRlZmF1bHQ7XHJcbiRzcGxpdC1idXR0b24tcGlwLXNpemUtdG55OiAkYnV0dG9uLXBpcC10bnkgIWRlZmF1bHQ7XHJcbiRzcGxpdC1idXR0b24tcGlwLXRvcC10bnk6ICRidXR0b24tcGlwLXRueSAqIDIgIWRlZmF1bHQ7XHJcbiRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtdG55OiByZW0tY2FsYygtNikgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBzbWFsbCBzcGxpdCBidXR0b25zXHJcbiRzcGxpdC1idXR0b24tcGFkZGluZy1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDEwICFkZWZhdWx0O1xyXG4kc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtc21sOiAkYnV0dG9uLXBpcC1zbWwgKiA2ICFkZWZhdWx0O1xyXG4kc3BsaXQtYnV0dG9uLXBpcC1zaXplLXNtbDogJGJ1dHRvbi1waXAtc21sICFkZWZhdWx0O1xyXG4kc3BsaXQtYnV0dG9uLXBpcC10b3Atc21sOiAkYnV0dG9uLXBpcC1zbWwgKiAxLjUgIWRlZmF1bHQ7XHJcbiRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtc21sOiByZW0tY2FsYygtNikgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBtZWRpdW0gc3BsaXQgYnV0dG9uc1xyXG4kc3BsaXQtYnV0dG9uLXBhZGRpbmctbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiA5ICFkZWZhdWx0O1xyXG4kc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiA1LjUgIWRlZmF1bHQ7XHJcbiRzcGxpdC1idXR0b24tcGlwLXNpemUtbWVkOiAkYnV0dG9uLXBpcC1tZWQgLSByZW0tY2FsYygzKSAhZGVmYXVsdDtcclxuJHNwbGl0LWJ1dHRvbi1waXAtdG9wLW1lZDogJGJ1dHRvbi1waXAtbWVkICogMS41ICFkZWZhdWx0O1xyXG4kc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LW1lZDogcmVtLWNhbGMoLTYpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbGFyZ2Ugc3BsaXQgYnV0dG9uc1xyXG4kc3BsaXQtYnV0dG9uLXBhZGRpbmctbHJnOiAkYnV0dG9uLXBpcC1scmcgKiA4ICFkZWZhdWx0O1xyXG4kc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtbHJnOiAkYnV0dG9uLXBpcC1scmcgKiA1ICFkZWZhdWx0O1xyXG4kc3BsaXQtYnV0dG9uLXBpcC1zaXplLWxyZzogJGJ1dHRvbi1waXAtbHJnIC0gcmVtLWNhbGMoNikgIWRlZmF1bHQ7XHJcbiRzcGxpdC1idXR0b24tcGlwLXRvcC1scmc6ICRidXR0b24tcGlwLWxyZyArIHJlbS1jYWxjKDUpICFkZWZhdWx0O1xyXG4kc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LWxyZzogcmVtLWNhbGMoLTYpICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBzcGxpdCBidXR0b25zIHRoYXQgYnVpbGQgdXBvbiB0aGUgYnV0dG9uIG1peGluc1xyXG4vL1xyXG4vLyAkcGFkZGluZyAtIFR5cGUgb2YgcGFkZGluZyB0byBhcHBseS4gRGVmYXVsdDogbWVkaXVtLiBPcHRpb25zOiB0aW55LCBzbWFsbCwgbWVkaXVtLCBsYXJnZS5cclxuLy8gJHBpcC1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS4gRGVmYXVsdDogJHNwbGl0LWJ1dHRvbi1waXAtY29sb3IuXHJcbi8vICRzcGFuLWJvcmRlciAtIEJvcmRlciBjb2xvciBvZiBidXR0b24gZGl2aWRlci4gRGVmYXVsdDogJHByaW1hcnktY29sb3IuXHJcbi8vICRiYXNlLXN0eWxlIC0gQXBwbHkgYmFzZSBzdHlsZSB0byBzcGxpdCBidXR0b24uIERlZmF1bHQ6IHRydWUuXHJcbkBtaXhpbiBzcGxpdC1idXR0b24oXHJcbiAgJHBhZGRpbmc6bWVkaXVtLFxyXG4gICRwaXAtY29sb3I6JHNwbGl0LWJ1dHRvbi1waXAtY29sb3IsIFxyXG4gICRzcGFuLWJvcmRlcjokcHJpbWFyeS1jb2xvciwgXHJcbiAgJGJhc2Utc3R5bGU6dHJ1ZSkge1xyXG5cclxuICAvLyBXaXRoIHRoaXMsIHdlIGNhbiBjb250cm9sIHdoZXRoZXIgb3Igbm90IHRoZSBiYXNlIHN0eWxlcyBjb21lIHRocm91Z2guXHJcbiAgQGlmICRiYXNlLXN0eWxlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAvLyBTdHlsaW5nIGZvciB0aGUgc3BsaXQgYXJyb3cgY2xpY2thYmxlIGFyZWFcclxuICAgIHNwYW4ge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9OiBzb2xpZCAxcHg7XHJcblxyXG4gICAgICAvLyBCdWlsZGluZyB0aGUgdHJpYW5nbGUgcGlwIGluZGljYXRvclxyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBpbnNldDtcclxuICAgICAgICB0b3A6IDUwJTtcclxuXHJcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDUwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc3BsaXQtYnV0dG9uLWFjdGl2ZS1iZy10aW50OyB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBDb250cm9sIHRoZSBib3JkZXIgY29sb3IgZm9yIHRoZSBzcGFuIGFyZWEgb2YgdGhlIHNwbGl0IGJ1dHRvblxyXG4gIEBpZiAkc3Bhbi1ib3JkZXIge1xyXG4gICAgc3BhbiB7XHJcbiAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gU3R5bGUgb2YgdGhlIGJ1dHRvbiBhbmQgY2xpY2thYmxlIGFyZWEgZm9yIHRpbnkgc2l6ZXNcclxuICBAaWYgJHBhZGRpbmcgPT0gdGlueSB7XHJcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRzcGxpdC1idXR0b24tcGFkZGluZy10bnk7XHJcblxyXG4gICAgc3BhbiB7IHdpZHRoOiAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtdG55O1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBib3JkZXItd2lkdGg6ICRzcGxpdC1idXR0b24tcGlwLXNpemUtdG55O1xyXG4gICAgICAgIHRvcDogNDglO1xyXG4gICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC10bnk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFN0eWxlIG9mIHRoZSBidXR0b24gYW5kIGNsaWNrYWJsZSBhcmVhIGZvciBzbWFsbCBzaXplc1xyXG4gIEBlbHNlIGlmICRwYWRkaW5nID09IHNtYWxsIHtcclxuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLXNtbDtcclxuXHJcbiAgICBzcGFuIHsgd2lkdGg6ICRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1zbWw7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1zbWw7XHJcbiAgICAgICAgdG9wOiA0OCU7XHJcbiAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LXNtbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gU3R5bGUgb2YgdGhlIGJ1dHRvbiBhbmQgY2xpY2thYmxlIGFyZWEgZm9yIGRlZmF1bHQgKG1lZGl1bSkgc2l6ZXNcclxuICBAZWxzZSBpZiAkcGFkZGluZyA9PSBtZWRpdW0ge1xyXG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkc3BsaXQtYnV0dG9uLXBhZGRpbmctbWVkO1xyXG5cclxuICAgIHNwYW4geyB3aWR0aDogJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLW1lZDtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLW1lZDtcclxuICAgICAgICB0b3A6IDQ4JTtcclxuICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtbWVkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBTdHlsZSBvZiB0aGUgYnV0dG9uIGFuZCBjbGlja2FibGUgYXJlYSBmb3IgbGFyZ2Ugc2l6ZXNcclxuICBAZWxzZSBpZiAkcGFkZGluZyA9PSBsYXJnZSB7XHJcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRzcGxpdC1idXR0b24tcGFkZGluZy1scmc7XHJcblxyXG4gICAgc3BhbiB7IHdpZHRoOiAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtbHJnO1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBib3JkZXItd2lkdGg6ICRzcGxpdC1idXR0b24tcGlwLXNpemUtbHJnO1xyXG4gICAgICAgIHRvcDogNDglO1xyXG4gICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1scmc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIENvbnRyb2wgdGhlIGNvbG9yIG9mIHRoZSB0cmlhbmdsZSBwaXBcclxuICBAaWYgJHBpcC1jb2xvciB7XHJcbiAgICBzcGFuOmFmdGVyIHsgYm9yZGVyLWNvbG9yOiAkcGlwLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwic3BsaXQtYnV0dG9uXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlcyB7XHJcblxyXG4gICAgLnNwbGl0LmJ1dHRvbiB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbjtcclxuXHJcbiAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKGZhbHNlLCAkc3BsaXQtYnV0dG9uLXBpcC1jb2xvciwgJHNlY29uZGFyeS1jb2xvciwgZmFsc2UpOyB9XHJcbiAgICAgICYuYWxlcnQgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24oZmFsc2UsIGZhbHNlLCAkYWxlcnQtY29sb3IsIGZhbHNlKTsgfVxyXG4gICAgICAmLnN1Y2Nlc3MgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24oZmFsc2UsIGZhbHNlLCAkc3VjY2Vzcy1jb2xvciwgZmFsc2UpOyB9XHJcblxyXG4gICAgICAmLnRpbnkgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24odGlueSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7IH1cclxuICAgICAgJi5zbWFsbCB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbihzbWFsbCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7IH1cclxuICAgICAgJi5sYXJnZSB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbihsYXJnZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7IH1cclxuICAgICAgJi5leHBhbmQgeyBwYWRkaW5nLWxlZnQ6IDJyZW07IH1cclxuXHJcbiAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKGZhbHNlLCAkc3BsaXQtYnV0dG9uLXBpcC1jb2xvci1hbHQsIGZhbHNlLCBmYWxzZSk7IH1cclxuXHJcbiAgICAgICYucmFkaXVzIHNwYW4geyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkZ2xvYmFsLXJhZGl1cyk7IH1cclxuICAgICAgJi5yb3VuZCBzcGFuIHsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgMTAwMHB4KTsgfVxyXG4gICAgICAmLm5vLXBpcHtcclxuICAgICAgICBzcGFuOmJlZm9yZXsgYm9yZGVyLXN0eWxlOm5vbmU7IH1cclxuICAgICAgICBzcGFuOmFmdGVyeyBib3JkZXItc3R5bGU6bm9uZTsgfVxyXG4gICAgICAgIHNwYW4+aXtcclxuICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTAuMjg4ODllbTtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjQ4ODg5ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgXCJnbG9iYWxcIjtcclxuXHJcbi8vXHJcbi8vIEBuYW1lIF9zdWItbmF2LnNjc3NcclxuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3NcclxuLy9cclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuXHJcbiRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIG1hcmdpbiBhbmQgcGFkZGluZ1xyXG4kc3ViLW5hdi1saXN0LW1hcmdpbjogcmVtLWNhbGMoLTQgMCAxOCkgIWRlZmF1bHQ7XHJcbiRzdWItbmF2LWxpc3QtcGFkZGluZy10b3A6IHJlbS1jYWxjKDQpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgZGVmaW5pdGlvblxyXG4kc3ViLW5hdi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XHJcbiRzdWItbmF2LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xyXG4kc3ViLW5hdi1mb250LWNvbG9yOiAkYWx1bWludW0gIWRlZmF1bHQ7XHJcbiRzdWItbmF2LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kc3ViLW5hdi10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XHJcbiRzdWItbmF2LXBhZGRpbmc6IHJlbS1jYWxjKDMgMTYpICFkZWZhdWx0O1xyXG4kc3ViLW5hdi1ib3JkZXItcmFkaXVzOiAzcHggIWRlZmF1bHQ7XHJcbiRzdWItbmF2LWZvbnQtY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRzdWItbmF2LWZvbnQtY29sb3IsICRsaWdodG5lc3M6IC0yNSUpICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBhY3RpdmUgaXRlbSBzdHlsZXNcclxuXHJcbiRzdWItbmF2LWFjdGl2ZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuJHN1Yi1uYXYtYWN0aXZlLWJnOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuJHN1Yi1uYXYtYWN0aXZlLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkc3ViLW5hdi1hY3RpdmUtYmcsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xyXG4kc3ViLW5hdi1hY3RpdmUtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHN1Yi1uYXYtYWN0aXZlLXBhZGRpbmc6ICRzdWItbmF2LXBhZGRpbmcgIWRlZmF1bHQ7XHJcbiRzdWItbmF2LWFjdGl2ZS1jdXJzb3I6IGRlZmF1bHQgIWRlZmF1bHQ7XHJcblxyXG4kc3ViLW5hdi1pdGVtLWRpdmlkZXI6IFwiXCIgIWRlZmF1bHQ7XHJcbiRzdWItbmF2LWl0ZW0tZGl2aWRlci1tYXJnaW46IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcclxuXHJcbi8vXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuXHJcblxyXG4vLyBDcmVhdGUgYSBzdWItbmF2IGl0ZW1cclxuLy9cclxuLy8gJGZvbnQtY29sb3IgLSBGb250IGNvbG9yLiBEZWZhdWx0OiAkc3ViLW5hdi1mb250LWNvbG9yLlxyXG4vLyAkZm9udC1zaXplIC0gRm9udCBzaXplLiBEZWZhdWx0OiAkc3ViLW5hdi1mb250LXNpemUuXHJcbi8vICRhY3RpdmUtYmcgLSBCYWNrZ3JvdW5kIG9mIGFjdGl2ZSBuYXYgaXRlbS4gRGVmYXVsdDogJHN1Yi1uYXYtYWN0aXZlLWJnLlxyXG4vLyAkYWN0aXZlLWJnLWhvdmVyIC0gQmFja2dyb3VuZCBvZiBhY3RpdmUgbmF2IGl0ZW0sIHdoZW4gaG92ZXJlZC4gRGVmYXVsdDogJHN1Yi1uYXYtYWN0aXZlLWJnLWhvdmVyLlxyXG5AbWl4aW4gc3ViLW5hdihcclxuICAkZm9udC1jb2xvcjogJHN1Yi1uYXYtZm9udC1jb2xvcixcclxuICAkZm9udC1zaXplOiAkc3ViLW5hdi1mb250LXNpemUsXHJcbiAgJGFjdGl2ZS1iZzogJHN1Yi1uYXYtYWN0aXZlLWJnLFxyXG4gICRhY3RpdmUtYmctaG92ZXI6ICRzdWItbmF2LWFjdGl2ZS1iZy1ob3Zlcikge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgbWFyZ2luLWJvdHRvbTogJHN1Yi1uYXYtbGlzdC1tYXJnaW47XHJcbiAgcGFkZGluZy10b3A6ICRzdWItbmF2LWxpc3QtcGFkZGluZy10b3A7XHJcblxyXG4gIGR0IHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgfVxyXG5cclxuICBkdCxcclxuICBkZCxcclxuICBsaSB7XHJcbiAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XHJcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IHJlbS1jYWxjKDE2KTtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBmb250LWZhbWlseTogJHN1Yi1uYXYtZm9udC1mYW1pbHk7XHJcbiAgICBmb250LXdlaWdodDogJHN1Yi1uYXYtZm9udC13ZWlnaHQ7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XHJcbiAgICBjb2xvcjogJGZvbnQtY29sb3I7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogJHN1Yi1uYXYtdGV4dC1kZWNvcmF0aW9uO1xyXG4gICAgICBjb2xvcjogJHN1Yi1uYXYtZm9udC1jb2xvcjtcclxuICAgICAgcGFkZGluZzogJHN1Yi1uYXYtcGFkZGluZztcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRzdWItbmF2LWZvbnQtY29sb3ItaG92ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmFjdGl2ZSBhIHtcclxuICAgICAgQGluY2x1ZGUgcmFkaXVzKCRzdWItbmF2LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICBmb250LXdlaWdodDogJHN1Yi1uYXYtYWN0aXZlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkYWN0aXZlLWJnO1xyXG4gICAgICBwYWRkaW5nOiAkc3ViLW5hdi1hY3RpdmUtcGFkZGluZztcclxuICAgICAgY3Vyc29yOiAkc3ViLW5hdi1hY3RpdmUtY3Vyc29yO1xyXG4gICAgICBjb2xvcjogJHN1Yi1uYXYtYWN0aXZlLWNvbG9yO1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkYWN0aXZlLWJnLWhvdmVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaWYgJHN1Yi1uYXYtaXRlbS1kaXZpZGVyICE9IFwiXCIge1xyXG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCIjeyRzdWItbmF2LWl0ZW0tZGl2aWRlcn1cIjtcclxuICAgICAgICBtYXJnaW46IDAgJHN1Yi1uYXYtaXRlbS1kaXZpZGVyLW1hcmdpbjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpmaXJzdC1jaGlsZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwic3ViLW5hdlwiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXMge1xyXG4gICAgLnN1Yi1uYXYgeyBAaW5jbHVkZSBzdWItbmF2OyB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5AdXNlIFwic2FzczptYXRoXCI7XHJcbkBpbXBvcnQgXCJnbG9iYWxcIjtcclxuLy9cclxuLy8gQG5hbWVcclxuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3NcclxuLy9cclxuLy9cclxuLy8gQHZhcmlhYmxlc1xyXG4vL1xyXG4kaW5jbHVkZS1odG1sLWZvcm0tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG4vLyBDb250cm9sbGluZyBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lclxyXG4kc3dpdGNoLWJnOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc3dpdGNoIGhlaWdodHMgZm9yIG91ciBkZWZhdWx0IGNsYXNzZXNcclxuJHN3aXRjaC1oZWlnaHQtdG55OiAxLjVyZW0gIWRlZmF1bHQ7XHJcbiRzd2l0Y2gtaGVpZ2h0LXNtbDogMS43NXJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaC1oZWlnaHQtbWVkOiAycmVtICFkZWZhdWx0O1xyXG4kc3dpdGNoLWhlaWdodC1scmc6IDIuNXJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaC1ib3R0b20tbWFyZ2luOiAxLjVyZW0gIWRlZmF1bHQ7XHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgc3dpdGNoLXBhZGRsZVxyXG4kc3dpdGNoLXBhZGRsZS1iZzogJHdoaXRlICFkZWZhdWx0O1xyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLXNwZWVkOiAuMTVzICFkZWZhdWx0O1xyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2U6IGVhc2Utb3V0ICFkZWZhdWx0O1xyXG4kc3dpdGNoLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcbi8vXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBiYXNlIHN0eWxlcyBmb3Igb3VyIHN3aXRjaCBlbGVtZW50LlxyXG4vL1xyXG4vLyAkdHJhbnNpdGlvbi1zcGVlZCAtIFRpbWUgaW4gbXMgZm9yIHN3aXRjaCB0byB0b2dnbGUuIERlZmF1bHQ6ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQuXHJcbi8vICR0cmFuc2l0aW9uLWVhc2UgLSBFYXNpbmcgZnVuY3Rpb24gdG8gdXNlIGZvciBhbmltYXRpb24gKGkuZS4gZWFzZS1vdXQpLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2UuXHJcbkBtaXhpbiBzd2l0Y2gtYmFzZSggJHRyYW5zaXRpb24tc3BlZWQ6JHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZCwgJHRyYW5zaXRpb24tZWFzZTokc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2UpIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1ib3R0b20tbWFyZ2luO1xyXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC8vIERlZmF1bHQgbGFiZWwgc3R5bGVzIGZvciB0eXBlIGFuZCB0cmFuc2l0aW9uXHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgLy9tYXJnaW4tYm90dG9tOiAoJHN3aXRjaC1oZWlnaHQtbWVkIC8gMik7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogKG1hdGguZGl2KCRzd2l0Y2gtaGVpZ2h0LW1lZCwgMikpO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHN3aXRjaC1iZztcclxuICAgICAgICB0ZXh0LWluZGVudDogMTAwJTtcclxuICAgICAgICB3aWR0aDogJHN3aXRjaC1oZWlnaHQtbWVkICogMjtcclxuICAgICAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgLy8gVHJhbnNpdGlvbiBmb3IgdGhlIHN3aXRjaCBsYWJlbCB0byBmb2xsb3cgcGFkZGxlXHJcbiAgICAgICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24obGVmdCwgJHRyYW5zaXRpb24tc3BlZWQsICR0cmFuc2l0aW9uLWVhc2UpO1xyXG4gICAgfVxyXG4gICAgLy8gU28gdGhhdCB3ZSBkb24ndCBuZWVkIHRvIHJlY3JlYXRlIHRoZSBmb3JtIHdpdGggYW55IEpTLCB3ZSB1c2UgdGhlXHJcbiAgICAvLyBleGlzdGluZyBjaGVja2JveCBvciByYWRpbyBidXR0b24sIGJ1dCB3ZSBjbGV2ZXJseSBwb3NpdGlvbiBhbmQgaGlkZSBpdC5cclxuICAgIGlucHV0IHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDlweDtcclxuICAgICAgICBsZWZ0OiAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgJitsYWJlbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVGhlIHBhZGRsZSBmb3IgdGhlIHN3aXRjaCBpcyBjcmVhdGVkIGZyb20gYW4gYWZ0ZXIgcHN1ZWRvY2xhc3NcclxuICAgIC8vIGNvbnRlbnQgZWxlbWVudC4gVGhpcyBpcyBzaXplZCBhbmQgcG9zaXRpb25lZCwgYW5kIHJlYWN0cyB0b1xyXG4gICAgLy8gdGhlIHN0YXRlIG9mIHRoZSBpbnB1dC5cclxuICAgIGxhYmVsOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IC4yNXJlbTtcclxuICAgICAgICBsZWZ0OiAuMjVyZW07XHJcbiAgICAgICAgd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0LW1lZCAtIC41cmVtO1xyXG4gICAgICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQtbWVkIC0gLjVyZW07XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0ICR0cmFuc2l0aW9uLXNwZWVkICR0cmFuc2l0aW9uLWVhc2U7XHJcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBsZWZ0ICR0cmFuc2l0aW9uLXNwZWVkICR0cmFuc2l0aW9uLWVhc2U7XHJcbiAgICAgICAgLW8tdHJhbnNpdGlvbjogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAkdHJhbnNpdGlvbi1zcGVlZCAkdHJhbnNpdGlvbi1lYXNlO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgfVxyXG4gICAgaW5wdXQ6Y2hlY2tlZCtsYWJlbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHN3aXRjaC1hY3RpdmUtY29sb3I7XHJcbiAgICB9XHJcbiAgICBpbnB1dDpjaGVja2VkK2xhYmVsOmFmdGVyIHtcclxuICAgICAgICBsZWZ0OiAkc3dpdGNoLWhlaWdodC1tZWQgKyAuMjVyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgc2l6ZSBzdHlsZXMgZm9yIHN3aXRjaGVzLlxyXG4vL1xyXG4vLyAkaGVpZ2h0IC0gSGVpZ2h0IChpbiBweCkgb2YgdGhlIHN3aXRjaC4gRGVmYXVsdDogJHN3aXRjaC1oZWlnaHQtbWVkLlxyXG4vLyAkZm9udC1zaXplIC0gRm9udCBzaXplIG9mIHRleHQgaW4gc3dpdGNoLiBEZWZhdWx0OiAkc3dpdGNoLWZvbnQtc2l6ZS1tZWQuXHJcbi8vICRsaW5lLWhlaWdodCAtIExpbmUgaGVpZ2h0IG9mIHN3aXRjaC4gRGVmYXVsdDogMi4zcmVtLlxyXG5AbWl4aW4gc3dpdGNoLXNpemUoJGhlaWdodDogJHN3aXRjaC1oZWlnaHQtbWVkKSB7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgd2lkdGg6ICRoZWlnaHQgKiAyO1xyXG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcclxuICAgIH1cclxuICAgIGxhYmVsOmFmdGVyIHtcclxuICAgICAgICB3aWR0aDogJGhlaWdodCAtIC41cmVtO1xyXG4gICAgICAgIGhlaWdodDogJGhlaWdodCAtIC41cmVtO1xyXG4gICAgfVxyXG4gICAgaW5wdXQ6Y2hlY2tlZCtsYWJlbDphZnRlciB7XHJcbiAgICAgICAgbGVmdDogJGhlaWdodCArIC4yNXJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGNvbG9yIGFuZCBvdGhlciBmYW5jaW5lc3MgdG8gdGhlIHN3aXRjaGVzLlxyXG4vL1xyXG4vLyAkcGFkZGxlLWJnIC0gQmFja2dyb3VuZCBvZiBzd2l0Y2ggcGFkZGxlLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS1iZy5cclxuLy8gJGFjdGl2ZS1jb2xvciAtIEJhY2tncm91bmQgY29sb3Igb2YgcG9zaXRpdmUgc2lkZSBvZiBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtcG9zaXRpdmUtY29sb3IuXHJcbi8vICRuZWdhdGl2ZS1jb2xvciAtIEJhY2tncm91bmQgY29sb3Igb2YgbmVnYXRpdmUgc2lkZSBvZiBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtbmVnYXRpdmUtY29sb3IuXHJcbi8vICRyYWRpdXMgLSBSYWRpdXMgdG8gYXBwbHkgdG8gc3dpdGNoLiBEZWZhdWx0OiBmYWxzZS5cclxuLy8gJGJhc2Utc3R5bGUgLSBBcHBseSBiYXNlIHN0eWxlcz8gRGVmYXVsdDogdHJ1ZS5cclxuQG1peGluIHN3aXRjaC1zdHlsZSggJHBhZGRsZS1iZzokc3dpdGNoLXBhZGRsZS1iZywgJGFjdGl2ZS1jb2xvcjokc3dpdGNoLWFjdGl2ZS1jb2xvciwgJHJhZGl1czpmYWxzZSwgJGJhc2Utc3R5bGU6dHJ1ZSkge1xyXG4gICAgQGlmICRiYXNlLXN0eWxlIHtcclxuICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHN3aXRjaC1iZztcclxuICAgICAgICB9XHJcbiAgICAgICAgbGFiZWw6YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcGFkZGxlLWJnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbnB1dDpjaGVja2VkK2xhYmVsIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjdGl2ZS1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBTZXR0aW5nIHVwIHRoZSByYWRpdXMgZm9yIHN3aXRjaGVzXHJcbiAgICBAaWYgJHJhZGl1cz09dHJ1ZSB7XHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsYWJlbDphZnRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHJhZGl1cyB7XHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsYWJlbDphZnRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBxdWlja2x5IGNyZWF0ZSBzd2l0Y2hlcyB3aXRoIGEgc2luZ2xlIG1peGluXHJcbi8vXHJcbi8vICR0cmFuc2l0aW9uLXNwZWVkIC0gVGltZSBpbiBtcyBmb3Igc3dpdGNoIHRvIHRvZ2dsZS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZC5cclxuLy8gJHRyYW5zaXRpb24tZWFzZSAtIEVhc2luZyBmdW5jdGlvbiB0byB1c2UgZm9yIGFuaW1hdGlvbiAoaS5lLiBlYXNlLW91dCkuIERlZmF1bHQ6ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tZWFzZS5cclxuLy8gJGhlaWdodCAtIEhlaWdodCAoaW4gcHgpIG9mIHRoZSBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZC5cclxuLy8gJHBhZGRsZS1iZyAtIEJhY2tncm91bmQgb2Ygc3dpdGNoIHBhZGRsZS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtYmcuXHJcbi8vICRhY3RpdmUtY29sb3IgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtYWN0aXZlLWNvbG9yLlxyXG4vLyAkcmFkaXVzIC0gUmFkaXVzIHRvIGFwcGx5IHRvIHN3aXRjaC4gRGVmYXVsdDogZmFsc2UuXHJcbi8vICRiYXNlLXN0eWxlIC0gQXBwbHkgYmFzZSBzdHlsZXM/IERlZmF1bHQ6IHRydWUuXHJcbkBtaXhpbiBzd2l0Y2goICR0cmFuc2l0aW9uLXNwZWVkOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLXNwZWVkLCAkdHJhbnNpdGlvbi1lYXNlOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2UsICRoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZCwgJHBhZGRsZS1iZzogJHN3aXRjaC1wYWRkbGUtYmcsICRhY3RpdmUtY29sb3I6ICRzd2l0Y2gtYWN0aXZlLWNvbG9yLCAkcmFkaXVzOmZhbHNlLCAkYmFzZS1zdHlsZTp0cnVlKSB7XHJcbiAgICBAaW5jbHVkZSBzd2l0Y2gtYmFzZSgkdHJhbnNpdGlvbi1zcGVlZCwgJHRyYW5zaXRpb24tZWFzZSk7XHJcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZSgkaGVpZ2h0KTtcclxuICAgIEBpbmNsdWRlIHN3aXRjaC1zdHlsZSgkcGFkZGxlLWJnLCAkYWN0aXZlLWNvbG9yLCAkcmFkaXVzLCAkYmFzZS1zdHlsZSk7XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJzd2l0Y2hcIikge1xyXG4gICAgQGlmICRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzIHtcclxuICAgICAgICAuc3dpdGNoIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc3dpdGNoO1xyXG4gICAgICAgICAgICAvLyBMYXJnZSByYWRpbyBzd2l0Y2hlc1xyXG4gICAgICAgICAgICAmLmxhcmdlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKCRzd2l0Y2gtaGVpZ2h0LWxyZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gU21hbGwgcmFkaW8gc3dpdGNoZXNcclxuICAgICAgICAgICAgJi5zbWFsbCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZSgkc3dpdGNoLWhlaWdodC1zbWwpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIFRpbnkgcmFkaW8gc3dpdGNoZXNcclxuICAgICAgICAgICAgJi50aW55IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKCRzd2l0Y2gtaGVpZ2h0LXRueSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gQWRkIGEgcmFkaXVzIHRvIHRoZSBzd2l0Y2hcclxuICAgICAgICAgICAgJi5yYWRpdXMge1xyXG4gICAgICAgICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJhZGl1cyg0cHgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbGFiZWw6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJhZGl1cygzcHgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIE1ha2UgdGhlIHN3aXRjaCBjb21wbGV0ZWx5IHJvdW5kLCBsaWtlIGEgcGlsbFxyXG4gICAgICAgICAgICAmLnJvdW5kIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJhZGl1cygxMDAwcHgpO1xyXG4gICAgICAgICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJhZGl1cygycmVtKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxhYmVsOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByYWRpdXMoMnJlbSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgXCJnbG9iYWxcIjtcclxuXHJcbi8vXHJcbi8vIEBuYW1lIF90YWJsZXMuc2Nzc1xyXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xyXG4vL1xyXG5cclxuLy9cclxuLy8gQHZhcmlhYmxlc1xyXG4vL1xyXG5cclxuJGluY2x1ZGUtaHRtbC10YWJsZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcblxyXG4vLyBUaGVzZSBjb250cm9sIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdGFibGUgYW5kIGV2ZW4gcm93c1xyXG4kdGFibGUtYmc6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHRhYmxlLWV2ZW4tcm93LWJnOiAkc25vdyAhZGVmYXVsdDtcclxuXHJcbi8vIFRoZXNlIGNvbnRyb2wgdGhlIHRhYmxlIGNlbGwgYm9yZGVyIHN0eWxlXHJcbiR0YWJsZS1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xyXG4kdGFibGUtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcclxuJHRhYmxlLWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybyAhZGVmYXVsdDtcclxuXHJcbi8vIFRoZXNlIGNvbnRyb2wgdGhlIHRhYmxlIGhlYWQgc3R5bGVzXHJcbiR0YWJsZS1oZWFkLWJnOiAkd2hpdGUtc21va2UgIWRlZmF1bHQ7XHJcbiR0YWJsZS1oZWFkLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xyXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xyXG4kdGFibGUtaGVhZC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XHJcbiR0YWJsZS1oZWFkLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xyXG5cclxuLy8gVGhlc2UgY29udHJvbCB0aGUgdGFibGUgZm9vdCBzdHlsZXNcclxuJHRhYmxlLWZvb3QtYmc6ICR0YWJsZS1oZWFkLWJnICFkZWZhdWx0O1xyXG4kdGFibGUtZm9vdC1mb250LXNpemU6ICR0YWJsZS1oZWFkLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvciAhZGVmYXVsdDtcclxuJHRhYmxlLWZvb3QtZm9udC13ZWlnaHQ6ICR0YWJsZS1oZWFkLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kdGFibGUtZm9vdC1wYWRkaW5nOiAkdGFibGUtaGVhZC1wYWRkaW5nICFkZWZhdWx0O1xyXG5cclxuLy8gVGhlc2UgY29udHJvbCB0aGUgY2FwdGlvblxyXG4kdGFibGUtY2FwdGlvbi1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcbiR0YWJsZS1jYXB0aW9uLWZvbnQtY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3IgIWRlZmF1bHQ7XHJcbiR0YWJsZS1jYXB0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xyXG4kdGFibGUtY2FwdGlvbi1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcclxuXHJcbi8vIFRoZXNlIGNvbnRyb2wgdGhlIHJvdyBwYWRkaW5nIGFuZCBmb250IHN0eWxlc1xyXG4kdGFibGUtcm93LXBhZGRpbmc6IHJlbS1jYWxjKDkgMTApICFkZWZhdWx0O1xyXG4kdGFibGUtcm93LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xyXG4kdGFibGUtcm93LWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XHJcbiR0YWJsZS1saW5lLWhlaWdodDogcmVtLWNhbGMoMTgpICFkZWZhdWx0O1xyXG5cclxuLy8gVGhlc2UgYXJlIGZvciBjb250cm9sbGluZyB0aGUgbGF5b3V0LCBkaXNwbGF5IGFuZCBtYXJnaW4gb2YgdGFibGVzXHJcbiR0YWJsZS1sYXlvdXQ6IGF1dG8gIWRlZmF1bHQ7XHJcbiR0YWJsZS1kaXNwbGF5OiB0YWJsZS1jZWxsICFkZWZhdWx0O1xyXG4kdGFibGUtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuXHJcbkBtaXhpbiB0YWJsZSB7XHJcbiAgYmFja2dyb3VuZDogJHRhYmxlLWJnO1xyXG4gIG1hcmdpbi1ib3R0b206ICR0YWJsZS1tYXJnaW4tYm90dG9tO1xyXG4gIGJvcmRlcjogJHRhYmxlLWJvcmRlci1zdHlsZSAkdGFibGUtYm9yZGVyLXNpemUgJHRhYmxlLWJvcmRlci1jb2xvcjtcclxuICB0YWJsZS1sYXlvdXQ6ICR0YWJsZS1sYXlvdXQ7XHJcblxyXG4gIGNhcHRpb24ge1xyXG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWNhcHRpb24tYmc7XHJcbiAgICBjb2xvcjogJHRhYmxlLWNhcHRpb24tZm9udC1jb2xvcjtcclxuICAgIGZvbnQ6IHtcclxuICAgICAgc2l6ZTogJHRhYmxlLWNhcHRpb24tZm9udC1zaXplO1xyXG4gICAgICB3ZWlnaHQ6ICR0YWJsZS1jYXB0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdGhlYWQge1xyXG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmc7XHJcblxyXG4gICAgdHIge1xyXG4gICAgICB0aCxcclxuICAgICAgdGQge1xyXG4gICAgICAgIHBhZGRpbmc6ICR0YWJsZS1oZWFkLXBhZGRpbmc7XHJcbiAgICAgICAgZm9udC1zaXplOiAkdGFibGUtaGVhZC1mb250LXNpemU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR0YWJsZS1oZWFkLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0Zm9vdCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iZztcclxuXHJcbiAgICB0ciB7XHJcbiAgICAgIHRoLFxyXG4gICAgICB0ZCB7XHJcbiAgICAgICAgcGFkZGluZzogJHRhYmxlLWZvb3QtcGFkZGluZztcclxuICAgICAgICBmb250LXNpemU6ICR0YWJsZS1mb290LWZvbnQtc2l6ZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHRhYmxlLWZvb3QtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRyIHtcclxuICAgIHRoLFxyXG4gICAgdGQge1xyXG4gICAgICBwYWRkaW5nOiAkdGFibGUtcm93LXBhZGRpbmc7XHJcbiAgICAgIGZvbnQtc2l6ZTogJHRhYmxlLXJvdy1mb250LXNpemU7XHJcbiAgICAgIGNvbG9yOiAkdGFibGUtcm93LWZvbnQtY29sb3I7XHJcbiAgICAgIHRleHQtYWxpZ246ICRkZWZhdWx0LWZsb2F0O1xyXG4gICAgfVxyXG5cclxuICAgICYuZXZlbixcclxuICAgICYuYWx0LFxyXG4gICAgJjpudGgtb2YtdHlwZShldmVuKSB7IGJhY2tncm91bmQ6ICR0YWJsZS1ldmVuLXJvdy1iZzsgfVxyXG4gIH1cclxuXHJcbiAgdGhlYWQgdHIgdGgsXHJcbiAgdGZvb3QgdHIgdGgsXHJcbiAgdGZvb3QgdHIgdGQsXHJcbiAgdGJvZHkgdHIgdGgsXHJcbiAgdGJvZHkgdHIgdGQsXHJcbiAgdHIgdGQgeyBkaXNwbGF5OiAkdGFibGUtZGlzcGxheTsgbGluZS1oZWlnaHQ6ICR0YWJsZS1saW5lLWhlaWdodDsgfVxyXG59XHJcblxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcInRhYmxlXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC10YWJsZS1jbGFzc2VzIHtcclxuICAgIHRhYmxlIHtcclxuICAgICAgQGluY2x1ZGUgdGFibGU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5AdXNlIFwic2FzczptYXRoXCI7XHJcbkBpbXBvcnQgXCJnbG9iYWxcIjtcclxuQGltcG9ydCBcImdyaWRcIjtcclxuLy9cclxuLy8gQHZhcmlhYmxlc1xyXG4vL1xyXG4kaW5jbHVkZS1odG1sLXRhYnMtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG4kdGFicy1uYXZpZ2F0aW9uLXBhZGRpbmc6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcclxuJHRhYnMtbmF2aWdhdGlvbi1iZy1jb2xvcjogJHNpbHZlciAhZGVmYXVsdDtcclxuJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHRhYnMtbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvcjogc2NhbGUtY29sb3IoJHRhYnMtbmF2aWdhdGlvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTYlKSAhZGVmYXVsdDtcclxuJHRhYnMtbmF2aWdhdGlvbi1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xyXG4kdGFicy1uYXZpZ2F0aW9uLWFjdGl2ZS1mb250LWNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtY29sb3IgIWRlZmF1bHQ7XHJcbiR0YWJzLW5hdmlnYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XHJcbiR0YWJzLW5hdmlnYXRpb24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xyXG4kdGFicy1jb250ZW50LW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI0KSAhZGVmYXVsdDtcclxuLy8kdGFicy1jb250ZW50LXBhZGRpbmc6ICgkY29sdW1uLWd1dHRlci8yKSAhZGVmYXVsdDtcclxuJHRhYnMtY29udGVudC1wYWRkaW5nOiAobWF0aC5kaXYoJGNvbHVtbi1ndXR0ZXIsIDIpKSAhZGVmYXVsdDtcclxuJHRhYnMtdmVydGljYWwtbmF2aWdhdGlvbi1tYXJnaW4tYm90dG9tOiAxLjI1cmVtICFkZWZhdWx0O1xyXG5AaW5jbHVkZSBleHBvcnRzKFwidGFiXCIpIHtcclxuICAgIEBpZiAkaW5jbHVkZS1odG1sLXRhYnMtY2xhc3NlcyB7XHJcbiAgICAgICAgLnRhYnMge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgZGQsXHJcbiAgICAgICAgICAgIC50YWItdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcclxuICAgICAgICAgICAgICAgID5hIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWJnLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1mb250LWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICR0YWJzLW5hdmlnYXRpb24tcGFkZGluZyAkdGFicy1uYXZpZ2F0aW9uLXBhZGRpbmcgKiAyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRhYnMtbmF2aWdhdGlvbi1mb250LXNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuYWN0aXZlIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0YWJzLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjokdGFicy1uYXZpZ2F0aW9uLWFjdGl2ZS1mb250LWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYucmFkaXVzIHtcclxuICAgICAgICAgICAgICAgIGRkOmZpcnN0LWNoaWxkLFxyXG4gICAgICAgICAgICAgICAgLnRhYjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkZ2xvYmFsLXJhZGl1cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZGQ6bGFzdC1jaGlsZCxcclxuICAgICAgICAgICAgICAgIC50YWI6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRnbG9iYWwtcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi52ZXJ0aWNhbCB7XHJcbiAgICAgICAgICAgICAgICBkZCxcclxuICAgICAgICAgICAgICAgIC50YWItdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudGFicy1jb250ZW50IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0YWJzLWNvbnRlbnQtbWFyZ2luLWJvdHRvbTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgID4uY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJHRhYnMtY29udGVudC1wYWRkaW5nIDA7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuY29udGFpbmVkIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkdGFicy1jb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi52ZXJ0aWNhbCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgID4uY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAkdGFicy1jb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG4gICAgICAgICAgICAudGFicyB7XHJcbiAgICAgICAgICAgICAgICAmLnZlcnRpY2FsIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAkdGFicy12ZXJ0aWNhbC1uYXZpZ2F0aW9uLW1hcmdpbi1ib3R0b207XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRhYnMtY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAmLnZlcnRpY2FsIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogODAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IC0xcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogMXJlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubm8tanMge1xyXG4gICAgICAgICAgICAudGFicy1jb250ZW50Pi5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgXCJnbG9iYWxcIjtcclxuXHJcbi8vXHJcbi8vIEBuYW1lIF90aHVtYnMuc2Nzc1xyXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWxzLnNjc3NcclxuLy9cclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuXHJcbiRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlc1xyXG4kdGh1bWItYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcclxuJHRodW1iLWJvcmRlci13aWR0aDogNHB4ICFkZWZhdWx0O1xyXG4kdGh1bWItYm9yZGVyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiR0aHVtYi1ib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssLjIpICFkZWZhdWx0O1xyXG4kdGh1bWItYm94LXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwwLjUpICFkZWZhdWx0O1xyXG5cclxuLy8gUmFkaXVzIGFuZCB0cmFuc2l0aW9uIHNwZWVkIGZvciB0aHVtYnNcclxuJHRodW1iLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcbiR0aHVtYi10cmFuc2l0aW9uLXNwZWVkOiAyMDBtcyAhZGVmYXVsdDtcclxuXHJcbi8vXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSBpbWFnZSB0aHVtYm5haWwgc3R5bGVzLlxyXG4vL1xyXG4vLyAkYm9yZGVyLXdpZHRoIC0gV2lkdGggb2YgYm9yZGVyIGFyb3VuZCB0aHVtYm5haWwuIERlZmF1bHQ6ICR0aHVtYi1ib3JkZXItd2lkdGguXHJcbi8vICRib3gtc2hhZG93IC0gQm94IHNoYWRvdyB0byBhcHBseSB0byB0aHVtYm5haWwuIERlZmF1bHQ6ICR0aHVtYi1ib3gtc2hhZG93LlxyXG4vLyAkYm94LXNoYWRvdy1ob3ZlciAtIEJveCBzaGFkb3cgdG8gYXBwbHkgb24gaG92ZXIuIERlZmF1bHQ6ICR0aHVtYi1ib3gtc2hhZG93LWhvdmVyLlxyXG5AbWl4aW4gdGh1bWIoXHJcbiAgJGJvcmRlci13aWR0aDokdGh1bWItYm9yZGVyLXdpZHRoLFxyXG4gICRib3gtc2hhZG93OiR0aHVtYi1ib3gtc2hhZG93LFxyXG4gICRib3gtc2hhZG93LWhvdmVyOiR0aHVtYi1ib3gtc2hhZG93LWhvdmVyKSB7XHJcbiAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGJvcmRlcjogJHRodW1iLWJvcmRlci1zdHlsZSAkYm9yZGVyLXdpZHRoICR0aHVtYi1ib3JkZXItY29sb3I7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGJveC1zaGFkb3c6ICRib3gtc2hhZG93O1xyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctaG92ZXI7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcInRodW1iXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1tZWRpYS1jbGFzc2VzIHtcclxuXHJcbiAgICAvKiBJbWFnZSBUaHVtYm5haWxzICovXHJcbiAgICAudGgge1xyXG4gICAgICBAaW5jbHVkZSB0aHVtYjtcclxuICAgICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24oYWxsLCAkdGh1bWItdHJhbnNpdGlvbi1zcGVlZCwgZWFzZS1vdXQpO1xyXG5cclxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHRodW1iLXJhZGl1cyk7IH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0IFwiZ2xvYmFsXCI7XHJcblxyXG4vL1xyXG4vLyBUb29sdGlwIFZhcmlhYmxlc1xyXG4vL1xyXG4kaW5jbHVkZS1odG1sLXRvb2x0aXAtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkaXJvbiAhZGVmYXVsdDtcclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xyXG4kaGFzLXRpcC1mb250LWNvbG9yOiAkb2lsICFkZWZhdWx0O1xyXG4kaGFzLXRpcC1ib3JkZXItYm90dG9tLWhvdmVyOiBkb3R0ZWQgMXB4IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtNTUlKSAhZGVmYXVsdDtcclxuJGhhcy10aXAtZm9udC1jb2xvci1ob3ZlcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcbiRoYXMtdGlwLWN1cnNvci10eXBlOiBoZWxwICFkZWZhdWx0O1xyXG5cclxuJHRvb2x0aXAtcGFkZGluZzogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1iZzogJG9pbCAhZGVmYXVsdDtcclxuJHRvb2x0aXAtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWxpbmUtaGVpZ2h0OiAxLjMgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWNsb3NlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1jbG9zZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuJHRvb2x0aXAtY2xvc2UtZm9udC1jb2xvcjogJG1vbnNvb24gIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWZvbnQtc2l6ZS1zbWw6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuJHRvb2x0aXAtcm91bmRlZDogJGdsb2JhbC1yb3VuZGVkICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1waXAtc2l6ZTogNXB4ICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1tYXgtd2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcInRvb2x0aXBcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLXRvb2x0aXAtY2xhc3NlcyB7XHJcblxyXG4gICAgLyogVG9vbHRpcHMgKi9cclxuICAgIC5oYXMtdGlwIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcclxuICAgICAgY3Vyc29yOiAkaGFzLXRpcC1jdXJzb3ItdHlwZTtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xyXG4gICAgICBjb2xvcjogJGhhcy10aXAtZm9udC1jb2xvcjtcclxuXHJcbiAgICAgICY6aG92ZXIsXHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b20taG92ZXI7XHJcbiAgICAgICAgY29sb3I6ICRoYXMtdGlwLWZvbnQtY29sb3ItaG92ZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYudGlwLWxlZnQsXHJcbiAgICAgICYudGlwLXJpZ2h0IHsgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxyXG4gICAgfVxyXG5cclxuICAgIC50b29sdGlwIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB6LWluZGV4OiAxMDA2O1xyXG4gICAgICBmb250LXdlaWdodDogJHRvb2x0aXAtZm9udC13ZWlnaHQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xyXG4gICAgICBsaW5lLWhlaWdodDogJHRvb2x0aXAtbGluZS1oZWlnaHQ7XHJcbiAgICAgIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XHJcbiAgICAgIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xyXG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogNTAlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgY29sb3I6ICR0b29sdGlwLWZvbnQtY29sb3I7XHJcbiAgICAgIGJhY2tncm91bmQ6ICR0b29sdGlwLWJnO1xyXG5cclxuICAgICAgJj4ubnViIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJHRvb2x0aXAtcGlwLXNpemU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICBib3JkZXI6IHNvbGlkICR0b29sdGlwLXBpcC1zaXplO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRvb2x0aXAtYmcgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgdG9wOiAtKCR0b29sdGlwLXBpcC1zaXplICogMik7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gICAgICAgICYucnRsIHtcclxuICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9vbHRpcC1waXAtc2l6ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYucmFkaXVzIHtcclxuICAgICAgICBAaW5jbHVkZSByYWRpdXMoJHRvb2x0aXAtcmFkaXVzKTtcclxuICAgICAgfVxyXG4gICAgICAmLnJvdW5kIHtcclxuICAgICAgICBAaW5jbHVkZSByYWRpdXMoJHRvb2x0aXAtcm91bmRlZCk7XHJcbiAgICAgICAgJj4ubnViIHtcclxuICAgICAgICAgIGxlZnQ6IDJyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLm9wZW5lZCB7XHJcbiAgICAgICAgY29sb3I6ICRoYXMtdGlwLWZvbnQtY29sb3ItaG92ZXIgIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tLWhvdmVyICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudGFwLXRvLWNsb3NlIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGZvbnQtc2l6ZTogJHRvb2x0aXAtY2xvc2UtZm9udC1zaXplO1xyXG4gICAgICBjb2xvcjogJHRvb2x0aXAtY2xvc2UtZm9udC1jb2xvcjtcclxuICAgICAgZm9udC13ZWlnaHQ6ICR0b29sdGlwLWNsb3NlLWZvbnQtd2VpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAjeyRzbWFsbH0ge1xyXG4gICAgICAudG9vbHRpcCB7XHJcbiAgICAgICAgJj4ubnViIHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRvb2x0aXAtYmcgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICB0b3A6IC0oJHRvb2x0aXAtcGlwLXNpemUgKiAyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi50aXAtdG9wPi5udWIge1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkdG9vbHRpcC1iZyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICAgIGJvdHRvbTogLSgkdG9vbHRpcC1waXAtc2l6ZSAqIDIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi50aXAtbGVmdCxcclxuICAgICAgICAmLnRpcC1yaWdodCB7IGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH1cclxuXHJcbiAgICAgICAgJi50aXAtbGVmdD4ubnViIHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRvb2x0aXAtYmc7XHJcbiAgICAgICAgICByaWdodDogLSgkdG9vbHRpcC1waXAtc2l6ZSAqIDIpO1xyXG4gICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLXBpcC1zaXplO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnRpcC1yaWdodD4ubnViIHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRvb2x0aXAtYmcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICAgIGxlZnQ6IC0oJHRvb2x0aXAtcGlwLXNpemUgKiAyKTtcclxuICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLXBpcC1zaXplO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5AdXNlIFwic2FzczptYXRoXCI7XHJcbkBpbXBvcnQgXCJnbG9iYWxcIjtcclxuQGltcG9ydCBcImdyaWRcIjtcclxuQGltcG9ydCBcImJ1dHRvbnNcIjtcclxuQGltcG9ydCBcImZvcm1zXCI7XHJcbi8vXHJcbi8vIFRvcCBCYXIgVmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtdG9wLWJhci1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcbi8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyXHJcbiR0b3BiYXItYmctY29sb3I6ICRvaWwgIWRlZmF1bHQ7XHJcbiR0b3BiYXItYmc6ICR0b3BiYXItYmctY29sb3IgIWRlZmF1bHQ7XHJcbi8vIEhlaWdodCBhbmQgbWFyZ2luXHJcbiR0b3BiYXItaGVpZ2h0OiByZW0tY2FsYygzMCkgIWRlZmF1bHQ7XHJcbiR0b3BiYXItbWFyZ2luLWJvdHRvbTogMCAhZGVmYXVsdDtcclxuLy8gQ29udHJvbGxpbmcgdGhlIHN0eWxlcyBmb3IgdGhlIHRpdGxlIGluIHRoZSB0b3AgYmFyXHJcbiR0b3BiYXItdGl0bGUtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kdG9wYmFyLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpICFkZWZhdWx0O1xyXG4vLyBTZXQgdGhlIGxpbmsgY29sb3JzIGFuZCBzdHlsZXMgZm9yIHRvcC1sZXZlbCBuYXZcclxuJHRvcGJhci1saW5rLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiR0b3BiYXItbGluay1jb2xvci1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiR0b3BiYXItbGluay1jb2xvci1hY3RpdmUtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHRvcGJhci1saW5rLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuJHRvcGJhci1saW5rLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xyXG4kdG9wYmFyLWxpbmstaG92ZXItbGlnaHRuZXNzOiAtMTAlICFkZWZhdWx0OyAvLyBEYXJrZW4gYnkgMTAlXHJcbiR0b3BiYXItbGluay1iZzogJHRvcGJhci1iZyAhZGVmYXVsdDtcclxuJHRvcGJhci1saW5rLWJnLWhvdmVyOiAkb2lsICFkZWZhdWx0O1xyXG4kdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI6ICRjaGFyY29hbCAhZGVmYXVsdDtcclxuJHRvcGJhci1saW5rLWJnLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcbiR0b3BiYXItbGluay1iZy1hY3RpdmUtaG92ZXI6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcclxuJHRvcGJhci1saW5rLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcclxuJHRvcGJhci1saW5rLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4vLyR0b3BiYXItbGluay1wYWRkaW5nOiAoJHRvcGJhci1oZWlnaHQgLyAzKSAhZGVmYXVsdDtcclxuJHRvcGJhci1saW5rLXBhZGRpbmc6IChtYXRoLmRpdigkdG9wYmFyLWhlaWdodCwgMykpICFkZWZhdWx0O1xyXG4kdG9wYmFyLWJhY2stbGluay1zaXplOiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XHJcbiR0b3BiYXItbGluay1kcm9wZG93bi1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XHJcbiR0b3BiYXItYnV0dG9uLWZvbnQtc2l6ZTogLjc1cmVtICFkZWZhdWx0O1xyXG4kdG9wYmFyLWJ1dHRvbi10b3A6IDdweCAhZGVmYXVsdDtcclxuLy8gU3R5bGUgdGhlIHRvcCBiYXIgZHJvcGRvd24gZWxlbWVudHNcclxuJHRvcGJhci1kcm9wZG93bi1iZzogJG9pbCAhZGVmYXVsdDtcclxuJHRvcGJhci1kcm9wZG93bi1saW5rLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvci1ob3ZlcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyICFkZWZhdWx0O1xyXG4kdG9wYmFyLWRyb3Bkb3duLWxpbmstYmc6ICRvaWwgIWRlZmF1bHQ7XHJcbiR0b3BiYXItZHJvcGRvd24tbGluay1iZy1ob3ZlcjogJG9pbCAhZGVmYXVsdDtcclxuJHRvcGJhci1kcm9wZG93bi1saW5rLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZTogNXB4ICFkZWZhdWx0O1xyXG4kdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1hbHBoYTogLjQgIWRlZmF1bHQ7XHJcbiR0b3BiYXItZHJvcGRvd24tbGFiZWwtY29sb3I6ICRtb25zb29uICFkZWZhdWx0O1xyXG4kdG9wYmFyLWRyb3Bkb3duLWxhYmVsLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XHJcbiR0b3BiYXItZHJvcGRvd24tbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xyXG4kdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xyXG4kdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWJnOiAkb2lsICFkZWZhdWx0O1xyXG4vLyBUb3AgbWVudSBpY29uIHN0eWxlc1xyXG4kdG9wYmFyLW1lbnUtbGluay10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcclxuJHRvcGJhci1tZW51LWxpbmstZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XHJcbiR0b3BiYXItbWVudS1saW5rLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XHJcbiR0b3BiYXItbWVudS1saW5rLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiR0b3BiYXItbWVudS1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiR0b3BiYXItbWVudS1saW5rLWNvbG9yLXRvZ2dsZWQ6ICRqdW1ibyAhZGVmYXVsdDtcclxuJHRvcGJhci1tZW51LWljb24tY29sb3ItdG9nZ2xlZDogJGp1bWJvICFkZWZhdWx0O1xyXG4kdG9wYmFyLW1lbnUtaWNvbi1wb3NpdGlvbjogJG9wcG9zaXRlLWRpcmVjdGlvbiAhZGVmYXVsdDsgLy8gQ2hhbmdlIHRvICRkZWZhdWx0LWZsb2F0IGZvciBhIGxlZnQgbWVudSBpY29uXHJcbi8vIFRyYW5zaXRpb25zIGFuZCBicmVha3BvaW50IHN0eWxlc1xyXG4kdG9wYmFyLXRyYW5zaXRpb24tc3BlZWQ6IDMwMG1zICFkZWZhdWx0O1xyXG4vLyBVc2luZyByZW0tY2FsYyBmb3IgdGhlIGJlbG93IGJyZWFrcG9pbnQgY2F1c2VzIGlzc3VlcyB3aXRoIHRvcCBiYXJcclxuJHRvcGJhci1icmVha3BvaW50OiAje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSAhZGVmYXVsdDsgLy8gQ2hhbmdlIHRvIDk5OTlweCBmb3IgYWx3YXlzIG1vYmlsZSBsYXlvdXRcclxuJHRvcGJhci1tZWRpYS1xdWVyeTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHRvcGJhci1icmVha3BvaW50KX0pXCI7XHJcbi8vIFRvcC1iYXIgaW5wdXQgc3R5bGVzXHJcbiR0b3BiYXItaW5wdXQtaGVpZ2h0OiByZW0tY2FsYygyOCkgIWRlZmF1bHQ7XHJcbi8vIERpdmlkZXIgU3R5bGVzXHJcbiR0b3BiYXItZGl2aWRlci1ib3JkZXItYm90dG9tOiBzb2xpZCAxcHggc2NhbGUtY29sb3IoJHRvcGJhci1iZy1jb2xvciwgJGxpZ2h0bmVzczogMTMlKSAhZGVmYXVsdDtcclxuJHRvcGJhci1kaXZpZGVyLWJvcmRlci10b3A6IHNvbGlkIDFweCBzY2FsZS1jb2xvcigkdG9wYmFyLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtNTAlKSAhZGVmYXVsdDtcclxuLy8gU3RpY2t5IENsYXNzXHJcbiR0b3BiYXItc3RpY2t5LWNsYXNzOiBcIi5zdGlja3lcIiAhZGVmYXVsdDtcclxuJHRvcGJhci1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7IC8vU2V0IGZhbHNlIHRvIHJlbW92ZSB0aGUgdHJpYW5nbGUgaWNvbiBmcm9tIHRoZSBtZW51IGl0ZW1cclxuJHRvcGJhci1kcm9wZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7IC8vU2V0IGZhbHNlIHRvIHJlbW92ZSB0aGUgXFwwMGJiID4+IHRleHQgZnJvbSBkcm9wZG93biBzdWJuYXZpZ2F0aW9uIGxpXHJcbi8vIEFjY2Vzc2liaWxpdHkgbWl4aW5zIGZvciBoaWRpbmcgYW5kIHNob3dpbmcgdGhlIG1lbnUgZHJvcGRvd24gaXRlbXNcclxuQG1peGluIHRvcGJhci1oaWRlLWRyb3Bkb3duIHtcclxuICAgIC8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuIGJ5IGRlZmF1bHQsIGJ1dCB2aXNpYmxlIHdoZW4gZm9jdXNlZC5cclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUoKTtcclxufVxyXG5cclxuQG1peGluIHRvcGJhci1zaG93LWRyb3Bkb3duIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmKCk7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgLy8gUmVzZXQgdGhlIHBvc2l0aW9uIGZyb20gc3RhdGljIHRvIGFic29sdXRlXHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJ0b3AtYmFyXCIpIHtcclxuICAgIEBpZiAkaW5jbHVkZS1odG1sLXRvcC1iYXItY2xhc3NlcyB7XHJcbiAgICAgICAgLy8gVXNlZCB0byBwcm92aWRlIG1lZGlhIHF1ZXJ5IHZhbHVlcyBmb3IgamF2YXNjcmlwdCBjb21wb25lbnRzLlxyXG4gICAgICAgIC8vIFRoaXMgY2xhc3MgaXMgZ2VuZXJhdGVkIGRlc3BpdGUgdGhlIHZhbHVlIG9mICRpbmNsdWRlLWh0bWwtdG9wLWJhci1jbGFzc2VzXHJcbiAgICAgICAgLy8gdG8gZW5zdXJlIHdpZHRoIGNhbGN1bGF0aW9ucyB3b3JrIGNvcnJlY3RseS5cclxuICAgICAgICBtZXRhLmZvdW5kYXRpb24tbXEtdG9wYmFyIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkdG9wYmFyLW1lZGlhLXF1ZXJ5KSArIFwiL1wiO1xyXG4gICAgICAgICAgICB3aWR0aDogJHRvcGJhci1icmVha3BvaW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvKiBXcmFwcGVkIGFyb3VuZCAudG9wLWJhciB0byBjb250YWluIHRvIGdyaWQgd2lkdGggKi9cclxuICAgICAgICAuY29udGFpbi10by1ncmlkIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItYmc7XHJcbiAgICAgICAgICAgIC50b3AtYmFyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0b3BiYXItbWFyZ2luLWJvdHRvbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBXcmFwcGVkIGFyb3VuZCAudG9wLWJhciB0byBtYWtlIGl0IHN0aWNrIHRvIHRoZSB0b3BcclxuICAgICAgICAuZml4ZWQge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICB6LWluZGV4OiA5OTtcclxuICAgICAgICAgICAgJi5leHBhbmRlZDpub3QoLnRvcC1iYXIpIHtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAudGl0bGUtYXJlYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDk5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gRW5zdXJlIHlvdSBjYW4gc2Nyb2xsIHRoZSBtZW51IG9uIHNtYWxsIHNjcmVlbnNcclxuICAgICAgICAgICAgICAgIC50b3AtYmFyLXNlY3Rpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDk4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR0b3BiYXItaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50b3AtYmFyIHtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItYmc7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0b3BiYXItbWFyZ2luLWJvdHRvbTtcclxuICAgICAgICAgICAgLy8gVG9wYmFyIEdsb2JhbCBsaXN0IFN0eWxlc1xyXG4gICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucm93IHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmb3JtLFxyXG4gICAgICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJHRvcGJhci1pbnB1dC1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogLjM1cmVtO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IC4zNXJlbTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1idXR0b24tZm9udC1zaXplO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5idXR0b24sXHJcbiAgICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogLjM1cmVtICsgcmVtLWNhbGMoMSk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjM1cmVtICsgcmVtLWNhbGMoMSk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWJ1dHRvbi1mb250LXNpemU7XHJcbiAgICAgICAgICAgICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAvLyB0b3A6IC0xcHg7XHJcbiAgICAgICAgICAgICAgICAvLyBDb3JyZWN0cyBhIHNsaWdodCBtaXNhbGlnbm1lbnQgd2hlbiBwdXQgbmV4dCB0byBhbiBpbnB1dCBmaWVsZFxyXG4gICAgICAgICAgICAgICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtMXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIFRpdGxlIEFyZWFcclxuICAgICAgICAgICAgLnRpdGxlLWFyZWEge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5uYW1lIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRyZW0tYmFzZTtcclxuICAgICAgICAgICAgICAgIC8vIEBpZiAkdG9wYmFyLW1lbnUtaWNvbi1wb3NpdGlvbiA9PSAkZGVmYXVsdC1mbG9hdCB7ZmxvYXQ6ICRvcHBvc2l0ZS1kaXJlY3Rpb247fVxyXG4gICAgICAgICAgICAgICAgaDEsXHJcbiAgICAgICAgICAgICAgICBoMixcclxuICAgICAgICAgICAgICAgIGgzLFxyXG4gICAgICAgICAgICAgICAgaDQsXHJcbiAgICAgICAgICAgICAgICBwLFxyXG4gICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci10aXRsZS1mb250LXNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci10aXRsZS13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3NSU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBNZW51IHRvZ2dsZSBidXR0b24gb24gc21hbGwgZGV2aWNlc1xyXG4gICAgICAgICAgICAudG9nZ2xlLXRvcGJhciB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAjeyR0b3BiYXItbWVudS1pY29uLXBvc2l0aW9ufTogMDtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICR0b3BiYXItbWVudS1saW5rLXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItbWVudS1saW5rLWZvbnQtc2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci1tZW51LWxpbmstd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gQWRkaW5nIHRoZSBjbGFzcyBcIm1lbnUtaWNvblwiIHdpbGwgYWRkIHRoZSAzLWxpbmUgaWNvbiBwZW9wbGUgbG92ZSBhbmQgYWRvcmUuXHJcbiAgICAgICAgICAgICAgICAmLm1lbnUtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkdGV4dC1kaXJlY3Rpb249PXJ0bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWluZGVudDogLTU4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzNweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAkdG9wYmFyLWxpbmstcGFkZGluZytyZW0tY2FsYygyNSkgMCAkdG9wYmFyLWxpbmstcGFkZGluZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbWVudS1saW5rLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgaGFtYnVyZ2VyIGljb25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgdGhlIGljb24gd2l0aCB0aHJlZSBsaW5lcyBha2EgdGhlIGhhbWJ1cmdlciBpY29uLCB0aGUgbWVudS1pY29uIG9yIHRoZSBuYXZpY29uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAkd2lkdGggLSBXaWR0aCBvZiBoYW1idXJnZXIgaWNvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gJGxlZnQgLSBJZiBmYWxzZSwgaWNvbiB3aWxsIGJlIGNlbnRlcmVkIGhvcml6b250YWxseSB8fCBleHBsaWNpdGx5IHNldCB2YWx1ZSBpbiByZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICR0b3AgLSBJZiBmYWxzZSwgaWNvbiB3aWxsIGJlIGNlbnRlcmVkIHZlcnRpY2FsbHkgfHwgZXhwbGljaXRseSBzZXQgdmFsdWUgaW4gcmVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAkdGhpY2tuZXNzIC0gdGhpY2tuZXNzIG9mIGxpbmVzIGluIGhhbWJ1cmdlciBpY29uLCBzZXQgdmFsdWUgaW4gcHhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICRnYXAgLSBzcGFjaW5nIGJldHdlZW4gdGhlIGxpbmVzIGluIGhhbWJ1cmdlciBpY29uLCBzZXQgdmFsdWUgaW4gcHhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICRjb2xvciAtIGljb24gY29sb3JcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICRob3Zlci1jb2xvciAtIGljb24gY29sb3IgZHVyaW5nIGhvdmVyLCBoZXJlIGl0IGlzbid0IHNldCBiL2MgaXQgd291bGQgb3ZlcnJpZGUgJHRvcGJhci1tZW51LWljb24tY29sb3ItdG9nZ2xlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gJG9mZmNhbnZhcyAtIFNldCB0byBmYWxzZSBvZiBAaW5jbHVkZSBpbiB0b3BiYXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigxNnB4LCBmYWxzZSwgMCwgMXB4LCA2cHgsICR0b3BiYXItbWVudS1pY29uLWNvbG9yLCBcIlwiLCBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gQ2hhbmdlIHRoaW5ncyB1cCB3aGVuIHRoZSB0b3AtYmFyIGlzIGV4cGFuZGVkXHJcbiAgICAgICAgICAgICYuZXhwYW5kZWQge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAudGl0bGUtYXJlYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1iZztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC50b2dnbGUtdG9wYmFyIHtcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbWVudS1saW5rLWNvbG9yLXRvZ2dsZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW46OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNoaCwgZG9uJ3QgdGVsbCwgYnV0IGJveC1zaGFkb3dzIGNyZWF0ZSB0aGUgbWVudSBpY29uIDopXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBDaGFuZ2UgdGhlIGNvbG9yIG9mIHRoZSBiYXJzIHdoZW4gdGhlIG1lbnUgaXMgZXhwYW5kZWQsIHVzaW5nIGdpdmVuIHRoaWNrbmVzcyBmcm9tIGhhbWJ1cmdlcigpIGFib3ZlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJHRvcGJhci1tZW51LWljb24tY29sb3ItdG9nZ2xlZCwgMCA3cHggMCAxcHggJHRvcGJhci1tZW51LWljb24tY29sb3ItdG9nZ2xlZCwgMCAxNHB4IDAgMXB4ICR0b3BiYXItbWVudS1pY29uLWNvbG9yLXRvZ2dsZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gUmlnaHQgYW5kIExlZnQgTmF2aWdhdGlvbiB0aGF0IHN0YWNrZWQgYnkgZGVmYXVsdFxyXG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24ge1xyXG4gICAgICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24oJGRlZmF1bHQtZmxvYXQsICR0b3BiYXItdHJhbnNpdGlvbi1zcGVlZCk7XHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkcmVtLWJhc2U7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmRpdmlkZXIsXHJcbiAgICAgICAgICAgIFtyb2xlPVwic2VwYXJhdG9yXCJdIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6ICR0b3BiYXItZGl2aWRlci1ib3JkZXItdG9wO1xyXG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHVsIGxpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItZHJvcGRvd24tYmc7XHJcbiAgICAgICAgICAgICAgICAmPmEge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTJweCAwIDEycHggMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAkdG9wYmFyLWxpbmstcGFkZGluZztcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHRvcGJhci1saW5rLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1saW5rLWZvbnQtc2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci1saW5rLXdlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHRvcGJhci1saW5rLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAgICAgICAgICYuYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWxpbmstZm9udC1zaXplO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItbGluay1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAkdG9wYmFyLWxpbmstcGFkZGluZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzogJHByaW1hcnktY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLmJ1dHRvbi5zZWNvbmRhcnkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiAkc2Vjb25kYXJ5LWNvbG9yKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5idXR0b24uc3VjY2VzcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6ICRzdWNjZXNzLWNvbG9yKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5idXR0b24uYWxlcnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiAkYWxlcnQtY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLmJ1dHRvbi53YXJuaW5nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzogJHdhcm5pbmctY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID5idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1saW5rLWZvbnQtc2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItbGluay1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06ICR0b3BiYXItbGluay1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6ICRwcmltYXJ5LWNvbG9yKTtcclxuICAgICAgICAgICAgICAgICAgICAmLnNlY29uZGFyeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6ICRzZWNvbmRhcnktY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiAkc3VjY2Vzcy1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYuYWxlcnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiAkYWxlcnQtY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLndhcm5pbmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiAkd2FybmluZy1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gQXBwbHkgdGhlIGhvdmVyIGxpbmsgY29sb3Igd2hlbiBpdCBoYXMgdGhhdCBjbGFzc1xyXG4gICAgICAgICAgICAgICAgJjpob3Zlcjpub3QoLmhhcy1mb3JtKT5hIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkdG9wYmFyLWxpbmstYmctaG92ZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gQXBwbHkgdGhlIGFjdGl2ZSBsaW5rIGNvbG9yIHdoZW4gaXQgaGFzIHRoYXQgY2xhc3NcclxuICAgICAgICAgICAgICAgICYuYWN0aXZlPmEge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1hY3RpdmUtaG92ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBBZGQgc29tZSBleHRyYSBwYWRkaW5nIGZvciBsaXN0IGl0ZW1zIGNvbnRhaW5zIGJ1dHRvbnNcclxuICAgICAgICAgICAgLmhhcy1mb3JtIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICR0b3BiYXItbGluay1wYWRkaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIFN0eWxpbmcgZm9yIGxpc3QgaXRlbXMgdGhhdCBoYXZlIGEgZHJvcGRvd24gd2l0aGluIHRoZW0uXHJcbiAgICAgICAgICAgIC5oYXMtZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgJj5hIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmICgkdG9wYmFyLWFycm93cykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemUsIHJnYmEoJHRvcGJhci1kcm9wZG93bi10b2dnbGUtY29sb3IsICR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWFscGhhKSwgJGRlZmF1bHQtZmxvYXQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWxpbmstcGFkZGluZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9tYXJnaW4tdG9wOiAtKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemUgLyAyKSAtIDI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0obWF0aC5kaXYoJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZSwgMikpIC0gMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLm1vdmVkIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAgICAgICAgICAgICAgICY+LmRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLXNob3ctZHJvcGRvd24oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY+YTphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIFN0eWxpbmcgZWxlbWVudHMgaW5zaWRlIG9mIGRyb3Bkb3duc1xyXG4gICAgICAgICAgICAuZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogOTk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0b3BiYXItaGlkZS1kcm9wZG93bigpO1xyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItZHJvcGRvd24tbGluay13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAkdG9wYmFyLWxpbmstcGFkZGluZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5wYXJlbnQtbGluayB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci1saW5rLXdlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLnRpdGxlIGg1LFxyXG4gICAgICAgICAgICAgICAgICAgICYucGFyZW50LWxpbmsge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBCYWNrIEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItYmFjay1saW5rLXNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxpbmUtaGVpZ2h0OiAoJHRvcGJhci1oZWlnaHQgLyAyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLmhhcy1mb3JtIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogOHB4ICR0b3BiYXItbGluay1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuYnV0dG9uLFxyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogOHB4ICR0b3BiYXItbGluay1wYWRkaW5nIDJweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXNpemU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmpzLWdlbmVyYXRlZCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBUb3AgQmFyIHN0eWxlcyBpbnRlbmRlZCBmb3Igc2NyZWVuIHNpemVzIGFib3ZlIHRoZSBicmVha3BvaW50LlxyXG4gICAgICAgIEBtZWRpYSAjeyR0b3BiYXItbWVkaWEtcXVlcnl9IHtcclxuICAgICAgICAgICAgLnRvcC1iYXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1iZztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICAudG9nZ2xlLXRvcGJhciB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC50aXRsZS1hcmVhIHtcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAubmFtZSBoMSBhLFxyXG4gICAgICAgICAgICAgICAgLm5hbWUgaDIgYSxcclxuICAgICAgICAgICAgICAgIC5uYW1lIGgzIGEsXHJcbiAgICAgICAgICAgICAgICAubmFtZSBoNCBhLFxyXG4gICAgICAgICAgICAgICAgLm5hbWUgaDUgYSxcclxuICAgICAgICAgICAgICAgIC5uYW1lIGg2IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgICAgICAgICAuYnV0dG9uLFxyXG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWlucHV0LWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAvL3RvcDogKCgkdG9wYmFyLWhlaWdodCAtICR0b3BiYXItaW5wdXQtaGVpZ2h0KSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogKG1hdGguZGl2KCR0b3BiYXItaGVpZ2h0IC0gJHRvcGJhci1pbnB1dC1oZWlnaHQsIDIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuZXhwYW5kZWQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItYmc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRhaW4tdG8tZ3JpZCAudG9wLWJhciB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRyb3ctd2lkdGg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0b3BiYXItbWFyZ2luLWJvdHRvbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudG9wLWJhci1zZWN0aW9uIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKG5vbmUsIDAsIDApO1xyXG4gICAgICAgICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5qcy1nZW5lcmF0ZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAmLmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPmE6bm90KC5idXR0b24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoJHRvcGJhci1saW5rLWJnLWhvdmVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1ob3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOm5vdCguaGFzLWZvcm0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYTpub3QoLmJ1dHRvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAkdG9wYmFyLWxpbmstcGFkZGluZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCR0b3BiYXItbGluay1iZy1ob3Zlcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctaG92ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlOm5vdCguaGFzLWZvcm0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYTpub3QoLmJ1dHRvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAkdG9wYmFyLWxpbmstcGFkZGluZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1hY3RpdmUtaG92ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmUtaG92ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaGFzLWRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYoJHRvcGJhci1hcnJvd3MpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJj5hIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1saW5rLXBhZGRpbmcgKyAkdG9wYmFyLWxpbmstZHJvcGRvd24tcGFkZGluZyAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemUsIHJnYmEoJHRvcGJhci1kcm9wZG93bi10b2dnbGUtY29sb3IsICR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWFscGhhKSwgdG9wKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL21hcmdpbi10b3A6IC0oJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0obWF0aC5kaXYoJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZSwgMikpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vdG9wOiAoJHRvcGJhci1oZWlnaHQgLyAyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IChtYXRoLmRpdigkdG9wYmFyLWhlaWdodCwgMikpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYubW92ZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY+LmRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1oaWRlLWRyb3Bkb3duKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5ob3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAmLm5vdC1jbGljazpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY+LmRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1zaG93LWRyb3Bkb3duKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPmE6Zm9jdXMrLmRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLXNob3ctZHJvcGRvd24oKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmRyb3Bkb3duIGxpLmhhcy1kcm9wZG93biB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY+YSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCR0b3BiYXItZHJvcGRvd24tYXJyb3dzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxLjEyNXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5kcm9wZG93biB7XHJcbiAgICAgICAgICAgICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4ICR0b3BiYXItbGluay1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1kcm9wZG93bi1saW5rLWJnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bm90KC5oYXMtZm9ybSk6bm90KC5hY3RpdmUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY+YTpub3QoLmJ1dHRvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1kcm9wZG93bi1saW5rLWJnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3Zlcj5hOm5vdCguYnV0dG9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvci1ob3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICgkdG9wYmFyLWRyb3Bkb3duLWxpbmstYmctaG92ZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1kcm9wZG93bi1saW5rLWJnLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1kcm9wZG93bi1sYWJlbC1iZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTZWNvbmQgTGV2ZWwgRHJvcGRvd25zXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5kcm9wZG93biB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY+dWw+LmRpdmlkZXIsXHJcbiAgICAgICAgICAgICAgICAmPnVsPltyb2xlPVwic2VwYXJhdG9yXCJdIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItZGl2aWRlci1ib3JkZXItYm90dG9tO1xyXG4gICAgICAgICAgICAgICAgICAgIGNsZWFyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaGFzLWZvcm0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZztcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBQb3NpdGlvbiBvdmVycmlkZXMgZm9yIHVsLnJpZ2h0IGFuZCB1bC5sZWZ0XHJcbiAgICAgICAgICAgICAgICAuI3skb3Bwb3NpdGUtZGlyZWN0aW9ufSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGkgLmRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpIC5kcm9wZG93biB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLiN7JGRlZmF1bHQtZmxvYXR9IHtcclxuICAgICAgICAgICAgICAgICAgICBsaSAuZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGkgLmRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIERlZ3JhZGUgZ3JhY2VmdWxseSB3aGVuIEphdmFzY3JpcHQgaXMgZGlzYWJsZWQuIERpc3BsYXlzIGRyb3Bkb3duIGFuZCBjaGFuZ2VzXHJcbiAgICAgICAgICAgIC8vIGJhY2tncm91bmQgJiB0ZXh0IGNvbG9yIG9uIGhvdmVyLlxyXG4gICAgICAgICAgICAubm8tanMgLnRvcC1iYXItc2VjdGlvbiB7XHJcbiAgICAgICAgICAgICAgICB1bCBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQXBwbHkgdGhlIGhvdmVyIGxpbmsgY29sb3Igd2hlbiBpdCBoYXMgdGhhdCBjbGFzc1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXI+YSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmICgkdG9wYmFyLWxpbmstYmctaG92ZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1ob3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyBBcHBseSB0aGUgYWN0aXZlIGxpbmsgY29sb3Igd2hlbiBpdCBoYXMgdGhhdCBjbGFzc1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWN0aXZlPmEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaGFzLWRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJj4uZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLXNob3ctZHJvcGRvd24oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICA+YTpmb2N1cysuZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0b3BiYXItc2hvdy1kcm9wZG93bigpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCkge1xyXG4gICAgICAgIC50b3AtYmFyLmV4cGFuZGVkIC50b3AtYmFyLXNlY3Rpb24ge1xyXG4gICAgICAgICAgICAuaGFzLWRyb3Bkb3duLm1vdmVkPi5kcm9wZG93biB7XHJcbiAgICAgICAgICAgICAgICBjbGlwOiBpbml0aWFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5kcm9wZG93biB7XHJcbiAgICAgICAgICAgICAgICBjbGlwOiBpbml0aWFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIFRoaXMgd2FzIG5lZWRlZCBhcyBwYXJlbnQgdWwncyBoYWQgcGFkZGluZywgd2hpY2ggdGhlIGNsaXA6IHdhcyBhbGxvd2luZyBjb250ZW50IHRvIHBlYWsgdGhyb3VnaFxyXG4gICAgICAgICAgICAuaGFzLWRyb3Bkb3duOm5vdCgubW92ZWQpPnVsIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOjApIHtcclxuICAgICAgICAudG9wLWJhci5leHBhbmRlZCAudG9wLWJhci1zZWN0aW9uIHtcclxuICAgICAgICAgICAgLmhhcy1kcm9wZG93bi5tb3ZlZD4uZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgICAgY2xpcDogaW5pdGlhbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgICAgY2xpcDogaW5pdGlhbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBUaGlzIHdhcyBuZWVkZWQgYXMgcGFyZW50IHVsJ3MgaGFkIHBhZGRpbmcsIHdoaWNoIHRoZSBjbGlwOiB3YXMgYWxsb3dpbmcgY29udGVudCB0byBwZWFrIHRocm91Z2hcclxuICAgICAgICAgICAgLmhhcy1kcm9wZG93bjpub3QoLm1vdmVkKT51bCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcbi8vRklYIERlcHJlY2F0aW9uIFdhcm5pbmc6IFVzaW5nIC8gZm9yIGRpdmlzaW9uIG91dHNpZGUgb2YgY2FsYygpIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBEYXJ0IFNhc3MgMi4wLjAgXHJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuLy8gVGhpcyBpcyB0aGUgZGVmYXVsdCBodG1sIGFuZCBib2R5IGZvbnQtc2l6ZSBmb3IgdGhlIGJhc2UgcmVtIHZhbHVlLlxyXG4kcmVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XHJcbi8vIElNUE9SVCBPTkNFXHJcbi8vIFdlIHVzZSB0aGlzIHRvIHByZXZlbnQgc3R5bGVzIGZyb20gYmVpbmcgbG9hZGVkIG11bHRpcGxlIHRpbWVzIGZvciBjb21wb25lbnRzIHRoYXQgcmVseSBvbiBvdGhlciBjb21wb25lbnRzLlxyXG4kbW9kdWxlczogKCkgIWRlZmF1bHQ7XHJcbkBtaXhpbiBleHBvcnRzKCRuYW1lKSB7XHJcbiAgICAvLyBJbXBvcnQgZnJvbSBnbG9iYWwgc2NvcGVcclxuICAgICRtb2R1bGVzOiAkbW9kdWxlcyAhZ2xvYmFsO1xyXG4gICAgLy8gQ2hlY2sgaWYgYSBtb2R1bGUgaXMgYWxyZWFkeSBvbiB0aGUgbGlzdFxyXG4gICAgJG1vZHVsZV9pbmRleDogaW5kZXgoJG1vZHVsZXMsICRuYW1lKTtcclxuICAgIEBpZiAoKCRtb2R1bGVfaW5kZXg9PW51bGwpIG9yICgkbW9kdWxlX2luZGV4PT1mYWxzZSkpIHtcclxuICAgICAgICAkbW9kdWxlczogYXBwZW5kKCRtb2R1bGVzLCAkbmFtZSkgIWdsb2JhbDtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuLy9cclxuLy8gQGZ1bmN0aW9uc1xyXG4vL1xyXG4vLyBSQU5HRVNcclxuLy8gV2UgdXNlIHRoZXNlIGZ1bmN0aW9ucyB0byBkZWZpbmUgcmFuZ2VzIGZvciB2YXJpb3VzIHRoaW5ncywgbGlrZSBtZWRpYSBxdWVyaWVzLlxyXG5AZnVuY3Rpb24gbG93ZXItYm91bmQoJHJhbmdlKSB7XHJcbiAgICBAaWYgbGVuZ3RoKCRyYW5nZSkgPD0wIHtcclxuICAgICAgICBAcmV0dXJuIDA7XHJcbiAgICB9XHJcbiAgICBAcmV0dXJuIG50aCgkcmFuZ2UsIDEpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gdXBwZXItYm91bmQoJHJhbmdlKSB7XHJcbiAgICBAaWYgbGVuZ3RoKCRyYW5nZSkgPCAyIHtcclxuICAgICAgICBAcmV0dXJuIDk5OTk5OTk5OTk5OTtcclxuICAgIH1cclxuICAgIEByZXR1cm4gbnRoKCRyYW5nZSwgMik7XHJcbn1cclxuXHJcbi8vIFNUUklQIFVOSVRcclxuLy8gSXQgc3RyaXBzIHRoZSB1bml0IG9mIG1lYXN1cmUgYW5kIHJldHVybnMgaXRcclxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xyXG4gICAgLy9AcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcclxuICAgIEByZXR1cm4gbWF0aC5kaXYoJG51bSwgJG51bSAqIDAgKyAxKTtcclxufVxyXG5cclxuLy8gVEVYVCBJTlBVVCBUWVBFU1xyXG5AZnVuY3Rpb24gdGV4dC1pbnB1dHMoICR0eXBlczogYWxsLCAkc2VsZWN0b3I6IGlucHV0KSB7XHJcbiAgICAkcmV0dXJuOiAoKTtcclxuICAgICRhbGwtdGV4dC1pbnB1dC10eXBlczogdGV4dCBwYXNzd29yZCBkYXRlIGRhdGV0aW1lIGRhdGV0aW1lLWxvY2FsIG1vbnRoIHdlZWsgZW1haWwgbnVtYmVyIHNlYXJjaCB0ZWwgdGltZSB1cmwgY29sb3IgdGV4dGFyZWE7XHJcbiAgICBAaWYgJHR5cGVzPT1hbGwge1xyXG4gICAgICAgICR0eXBlczogJGFsbC10ZXh0LWlucHV0LXR5cGVzO1xyXG4gICAgfVxyXG4gICAgQGVhY2ggJHR5cGUgaW4gJHR5cGVzIHtcclxuICAgICAgICBAaWYgJHR5cGU9PXRleHRhcmVhIHtcclxuICAgICAgICAgICAgQGlmICRzZWxlY3Rvcj09aW5wdXQge1xyXG4gICAgICAgICAgICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIHVucXVvdGUoJyN7JHR5cGV9JyksIGNvbW1hKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCcjeyR0eXBlfSN7JHNlbGVjdG9yfScpLCBjb21tYSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCcjeyRzZWxlY3Rvcn1bdHlwZT1cIiN7JHR5cGV9XCJdJyksIGNvbW1hKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEByZXR1cm4gJHJldHVybjtcclxufVxyXG5cclxuLy8gQ09OVkVSVCBUTyBSRU1cclxuQGZ1bmN0aW9uIGNvbnZlcnQtdG8tcmVtKCR2YWx1ZSwgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSkge1xyXG4gICAgLy8kdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UtdmFsdWUpICogMXJlbTtcclxuICAgICR2YWx1ZTogbWF0aC5kaXYoc3RyaXAtdW5pdCgkdmFsdWUpLCBzdHJpcC11bml0KCRiYXNlLXZhbHVlKSkgKiAxcmVtO1xyXG4gICAgQGlmICgkdmFsdWU9PTByZW0pIHtcclxuICAgICAgICAkdmFsdWU6IDA7XHJcbiAgICB9IC8vIFR1cm4gMHJlbSBpbnRvIDBcclxuICAgIEByZXR1cm4gJHZhbHVlO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZGF0YSgkYXR0cikge1xyXG4gICAgQGlmICRuYW1lc3BhY2Uge1xyXG4gICAgICAgIEByZXR1cm4gJ1tkYXRhLScrJG5hbWVzcGFjZSsnLScrJGF0dHIrJ10nO1xyXG4gICAgfVxyXG4gICAgQHJldHVybiAnW2RhdGEtJyskYXR0cisnXSc7XHJcbn1cclxuXHJcbi8vIFJFTSBDQUxDXHJcbi8vIE5ldyBTeW50YXgsIGFsbG93cyB0byBvcHRpb25hbGx5IGNhbGN1bGF0ZSBvbiBhIGRpZmZlcmVudCBiYXNlIHZhbHVlIHRvIGNvdW50ZXIgY29tcG91bmRpbmcgZWZmZWN0IG9mIHJlbSdzLlxyXG4vLyBDYWxsIHdpdGggMSwgMiwgMyBvciA0IHBhcmFtZXRlcnMsICdweCcgaXMgbm90IHJlcXVpcmVkIGJ1dCBzdXBwb3J0ZWQ6XHJcbi8vXHJcbi8vICAgcmVtLWNhbGMoMTAgMjAgMzBweCA0MCk7XHJcbi8vXHJcbi8vIFNwYWNlIGRlbGltaXRlZCwgaWYgeW91IHdhbnQgdG8gZGVsaW1pdCB1c2luZyBjb21tYSdzLCB3cmFwIGl0IGluIGFub3RoZXIgcGFpciBvZiBicmFja2V0c1xyXG4vL1xyXG4vLyAgIHJlbS1jYWxjKCgxMCwgMjAsIDMwLCA0MHB4KSk7XHJcbi8vXHJcbi8vIE9wdGlvbmFsbHkgY2FsbCB3aXRoIGEgZGlmZmVyZW50IGJhc2UgKGVnOiA4cHgpIHRvIGNhbGN1bGF0ZSByZW0uXHJcbi8vXHJcbi8vICAgcmVtLWNhbGMoMTZweCAzMnB4IDQ4cHgsIDhweCk7XHJcbi8vXHJcbi8vIElmIHlvdSByZXF1aXJlIHRvIGNvbW1hIHNlcGFyYXRlIHlvdXIgbGlzdFxyXG4vL1xyXG4vLyAgIHJlbS1jYWxjKCgxNnB4LCAzMnB4LCA0OCksIDhweCk7XHJcbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKSB7XHJcbiAgICAkbWF4OiBsZW5ndGgoJHZhbHVlcyk7XHJcbiAgICBAaWYgJG1heD09MSB7XHJcbiAgICAgICAgQHJldHVybiBjb252ZXJ0LXRvLXJlbShudGgoJHZhbHVlcywgMSksICRiYXNlLXZhbHVlKTtcclxuICAgIH1cclxuICAgICRyZW1WYWx1ZXM6ICgpO1xyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcclxuICAgICAgICAkcmVtVmFsdWVzOiBhcHBlbmQoJHJlbVZhbHVlcywgY29udmVydC10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UtdmFsdWUpKTtcclxuICAgIH1cclxuICAgIEByZXR1cm4gJHJlbVZhbHVlcztcclxufVxyXG5cclxuLy8gT0xEIEVNIENBTENcclxuLy8gRGVwcmVjYXRlZDogV2UnbGwgZHJvcCBzdXBwb3J0IGZvciB0aGlzIGluIDUuMS4wLCB1c2UgcmVtLWNhbGMoKVxyXG5AZnVuY3Rpb24gZW1DYWxjKCR2YWx1ZXMpIHtcclxuICAgIEByZXR1cm4gcmVtLWNhbGMoJHZhbHVlcyk7XHJcbn1cclxuXHJcbi8vIE9MRCBFTSBDQUxDXHJcbi8vIERlcHJlY2F0ZWQ6IFdlJ2xsIGRyb3Agc3VwcG9ydCBmb3IgdGhpcyBpbiA1LjEuMCwgdXNlIHJlbS1jYWxjKClcclxuQGZ1bmN0aW9uIGVtLWNhbGMoJHZhbHVlcykge1xyXG4gICAgQHJldHVybiByZW0tY2FsYygkdmFsdWVzKTtcclxufSIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCBcImdsb2JhbFwiO1xyXG5cclxuJGluY2x1ZGUtaHRtbC10eXBlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRlciBmb250IHN0eWxlc1xyXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcclxuJGhlYWRlci1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcclxuJGhlYWRlci1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRvcC1tYXJnaW46IC4ycmVtICFkZWZhdWx0O1xyXG4kaGVhZGVyLWJvdHRvbS1tYXJnaW46IC41cmVtICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBoZWFkZXIgZm9udCBzaXplc1xyXG4kaDEtZm9udC1zaXplOiByZW0tY2FsYyg0NCkgIWRlZmF1bHQ7XHJcbiRoMi1mb250LXNpemU6IHJlbS1jYWxjKDM3KSAhZGVmYXVsdDtcclxuJGgzLWZvbnQtc2l6ZTogcmVtLWNhbGMoMjcpICFkZWZhdWx0O1xyXG4kaDQtZm9udC1zaXplOiByZW0tY2FsYygyMykgIWRlZmF1bHQ7XHJcbiRoNS1mb250LXNpemU6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcclxuJGg2LWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRlciBzaXplIHJlZHVjdGlvbiBvbiBzbWFsbCBzY3JlZW5zXHJcbiRoMS1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xyXG4kaDItZm9udC1yZWR1Y3Rpb246IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcclxuJGgzLWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYyg1KSAhZGVmYXVsdDtcclxuJGg0LWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYyg1KSAhZGVmYXVsdDtcclxuJGg1LWZvbnQtcmVkdWN0aW9uOiAwICFkZWZhdWx0O1xyXG4kaDYtZm9udC1yZWR1Y3Rpb246IDAgIWRlZmF1bHQ7XHJcblxyXG4vLyBUaGVzZSBjb250cm9sIGhvdyBzdWJoZWFkZXJzIGFyZSBzdHlsZWQuXHJcbiRzdWJoZWFkZXItbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcclxuJHN1YmhlYWRlci1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDM1JSkgIWRlZmF1bHQ7XHJcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcbiRzdWJoZWFkZXItdG9wLW1hcmdpbjogLjJyZW0gIWRlZmF1bHQ7XHJcbiRzdWJoZWFkZXItYm90dG9tLW1hcmdpbjogLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLyBBIGdlbmVyYWwgPHNtYWxsPiBzdHlsaW5nXHJcbiRzbWFsbC1mb250LXNpemU6IDYwJSAhZGVmYXVsdDtcclxuJHNtYWxsLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMzUlKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBwYXJhZ3JhcGhzXHJcbiRwYXJhZ3JhcGgtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XHJcbiRwYXJhZ3JhcGgtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcbiRwYXJhZ3JhcGgtZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xyXG4kcGFyYWdyYXBoLWxpbmUtaGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XHJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xyXG4kcGFyYWdyYXBoLWFzaWRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xyXG4kcGFyYWdyYXBoLWFzaWRlLWxpbmUtaGVpZ2h0OiAxLjM1ICFkZWZhdWx0O1xyXG4kcGFyYWdyYXBoLWFzaWRlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIDxjb2RlPiB0YWdzXHJcbiRjb2RlLWNvbG9yOiAkb2lsICFkZWZhdWx0O1xyXG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcclxuJGNvZGUtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcbiRjb2RlLWJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IDcwJSkgIWRlZmF1bHQ7XHJcbiRjb2RlLWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XHJcbiRjb2RlLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XHJcbiRjb2RlLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGNvZGUtYmFja2dyb3VuZC1jb2xvciwgJGxpZ2h0bmVzczogLTEwJSkgIWRlZmF1bHQ7XHJcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIpIHJlbS1jYWxjKDUpIHJlbS1jYWxjKDEpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGFuY2hvcnNcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xyXG4kYW5jaG9yLWZvbnQtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG4kYW5jaG9yLWZvbnQtY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIDxocj4gZWxlbWVudFxyXG4kaHItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XHJcbiRoci1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xyXG4kaHItYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xyXG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgbGlzdHNcclxuJGxpc3QtZm9udC1mYW1pbHk6ICRwYXJhZ3JhcGgtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XHJcbiRsaXN0LWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRsaXN0LWxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XHJcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4xcmVtICFkZWZhdWx0O1xyXG4kbGlzdC1vcmRlcmVkLXNpZGUtbWFyZ2luOiAxLjRyZW0gIWRlZmF1bHQ7XHJcbiRsaXN0LXNpZGUtbWFyZ2luLW5vLWJ1bGxldDogMCAhZGVmYXVsdDtcclxuJGxpc3QtbmVzdGVkLW1hcmdpbjogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xyXG4kZGVmaW5pdGlvbi1saXN0LWhlYWRlci13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xyXG4kZGVmaW5pdGlvbi1saXN0LWhlYWRlci1tYXJnaW4tYm90dG9tOiAuM3JlbSAhZGVmYXVsdDtcclxuJGRlZmluaXRpb24tbGlzdC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgYmxvY2txdW90ZXNcclxuJGJsb2NrcXVvdGUtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpICFkZWZhdWx0O1xyXG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xyXG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkZ2FpbnNib3JvICFkZWZhdWx0O1xyXG4kYmxvY2txdW90ZS1jaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xyXG4kYmxvY2txdW90ZS1jaXRlLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMjMlKSAhZGVmYXVsdDtcclxuJGJsb2NrcXVvdGUtY2l0ZS1saW5rLWNvbG9yOiAkYmxvY2txdW90ZS1jaXRlLWZvbnQtY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLyBBY3JvbnltIHN0eWxlc1xyXG4kYWNyb255bS11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGdhaW5zYm9ybyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHBhZGRpbmcgYW5kIG1hcmdpblxyXG4kbWljcm9mb3JtYXQtcGFkZGluZzogcmVtLWNhbGMoMTAgMTIpICFkZWZhdWx0O1xyXG4kbWljcm9mb3JtYXQtbWFyZ2luOiByZW0tY2FsYygwIDAgMjAgMCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYm9yZGVyIHN0eWxlc1xyXG4kbWljcm9mb3JtYXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XHJcbiRtaWNyb2Zvcm1hdC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xyXG4kbWljcm9mb3JtYXQtYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgZnVsbCBuYW1lIGZvbnQgc3R5bGVzXHJcbiRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XHJcbiRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXNpemU6IHJlbS1jYWxjKDE1KSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIHN1bW1hcnkgZm9udCBzdHlsZXNcclxuJG1pY3JvZm9ybWF0LXN1bW1hcnktZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhYmJyIHBhZGRpbmdcclxuJG1pY3JvZm9ybWF0LWFiYnItcGFkZGluZzogcmVtLWNhbGMoMCAxKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYWJiciBmb250IHN0eWxlc1xyXG4kbWljcm9mb3JtYXQtYWJici1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XHJcbiRtaWNyb2Zvcm1hdC1hYmJyLWZvbnQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcclxuXHJcbi8vIFRleHQgYWxpZ25tZW50IGNsYXNzIG5hbWVzXHJcbiRhbGlnbi1jbGFzcy1uYW1lczpcclxuICBzbWFsbC1vbmx5LFxyXG4gIHNtYWxsLFxyXG4gIG1lZGl1bS1vbmx5LFxyXG4gIG1lZGl1bSxcclxuICBsYXJnZS1vbmx5LFxyXG4gIGxhcmdlLFxyXG4gIHhsYXJnZS1vbmx5LFxyXG4gIHhsYXJnZSxcclxuICB4eGxhcmdlLW9ubHksXHJcbiAgeHhsYXJnZTtcclxuXHJcbi8vIFRleHQgYWxpZ25tZW50IGJyZWFrcG9pbnRzXHJcbiRhbGlnbi1jbGFzcy1icmVha3BvaW50czpcclxuICAkc21hbGwtb25seSxcclxuICAkc21hbGwtdXAsXHJcbiAgJG1lZGl1bS1vbmx5LFxyXG4gICRtZWRpdW0tdXAsXHJcbiAgJGxhcmdlLW9ubHksXHJcbiAgJGxhcmdlLXVwLFxyXG4gICR4bGFyZ2Utb25seSxcclxuICAkeGxhcmdlLXVwLFxyXG4gICR4eGxhcmdlLW9ubHksXHJcbiAgJHh4bGFyZ2UtdXA7XHJcblxyXG4vLyBHZW5lcmF0ZXMgdGV4dCBhbGlnbiBhbmQganVzdGlmeSBjbGFzc2VzXHJcbkBtaXhpbiBhbGlnbi1jbGFzc2Vze1xyXG4gIC50ZXh0LWxlZnQgICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cclxuICAudGV4dC1yaWdodCAgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxyXG4gIC50ZXh0LWNlbnRlciAgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxyXG4gIC50ZXh0LWp1c3RpZnkgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cclxuXHJcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJGFsaWduLWNsYXNzLW5hbWVzKSB7XHJcbiAgICBAbWVkaWEgI3sobnRoKCRhbGlnbi1jbGFzcy1icmVha3BvaW50cywgJGkpKX0ge1xyXG4gICAgICAuI3sobnRoKCRhbGlnbi1jbGFzcy1uYW1lcywgJGkpKX0tdGV4dC1sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XHJcbiAgICAgIC4jeyhudGgoJGFsaWduLWNsYXNzLW5hbWVzLCAkaSkpfS10ZXh0LXJpZ2h0ICAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XHJcbiAgICAgIC4jeyhudGgoJGFsaWduLWNsYXNzLW5hbWVzLCAkaSkpfS10ZXh0LWNlbnRlciAgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxyXG4gICAgICAuI3sobnRoKCRhbGlnbi1jbGFzcy1uYW1lcywgJGkpKX0tdGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vL1xyXG4vLyBUeXBvZ3JhcGh5IFBsYWNlaG9sZGVyc1xyXG4vL1xyXG5cclxuLy8gVGhlc2Ugd2lsbCB0aHJvdyBhIGRlcHJlY2F0aW9uIHdhcm5pbmcgaWYgdXNlZCB3aXRoaW4gYSBtZWRpYSBxdWVyeS5cclxuQG1peGluIGxlYWQge1xyXG4gIGZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgKyByZW0tY2FsYygzLjUpO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjY7XHJcbn1cclxuXHJcbkBtaXhpbiBzdWJoZWFkZXIge1xyXG4gIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmUtaGVpZ2h0O1xyXG4gIGNvbG9yOiAkc3ViaGVhZGVyLWZvbnQtY29sb3I7XHJcbiAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XHJcbiAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci10b3AtbWFyZ2luO1xyXG4gIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItYm90dG9tLW1hcmdpbjtcclxufVxyXG5AaW5jbHVkZSBleHBvcnRzKFwidHlwZVwiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtdHlwZS1jbGFzc2VzIHtcclxuICAgIC8vIFJlc3BvbnNpdmUgVGV4dCBhbGlnbm1lbnRcclxuICAgIEBpbmNsdWRlIGFsaWduLWNsYXNzZXM7XHJcblxyXG4gICAgLyogVHlwb2dyYXBoeSByZXNldHMgKi9cclxuICAgIGRpdixcclxuICAgIGRsLFxyXG4gICAgZHQsXHJcbiAgICBkZCxcclxuICAgIHVsLFxyXG4gICAgb2wsXHJcbiAgICBsaSxcclxuICAgIGgxLFxyXG4gICAgaDIsXHJcbiAgICBoMyxcclxuICAgIGg0LFxyXG4gICAgaDUsXHJcbiAgICBoNixcclxuICAgIHByZSxcclxuICAgIGZvcm0sXHJcbiAgICBwLFxyXG4gICAgYmxvY2txdW90ZSxcclxuICAgIHRoLFxyXG4gICAgdGQge1xyXG4gICAgICBtYXJnaW46MDtcclxuICAgICAgcGFkZGluZzowO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIERlZmF1bHQgTGluayBTdHlsZXMgKi9cclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogJGFuY2hvci1mb250LWNvbG9yO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xyXG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuXHJcbiAgICAgICY6aG92ZXIsXHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGNvbG9yOiAkYW5jaG9yLWZvbnQtY29sb3ItaG92ZXI7XHJcbiAgICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcclxuICAgICAgICBcdHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpbWcgeyBib3JkZXI6bm9uZTsgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIERlZmF1bHQgcGFyYWdyYXBoIHN0eWxlcyAqL1xyXG4gICAgcCB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkcGFyYWdyYXBoLWZvbnQtZmFtaWx5O1xyXG4gICAgICBmb250LXdlaWdodDogJHBhcmFncmFwaC1mb250LXdlaWdodDtcclxuICAgICAgZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZTtcclxuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcclxuICAgICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XHJcblxyXG4gICAgICAmLmxlYWQgeyBAaW5jbHVkZSBsZWFkOyB9XHJcblxyXG4gICAgICAmIGFzaWRlIHtcclxuICAgICAgICBmb250LXNpemU6ICRwYXJhZ3JhcGgtYXNpZGUtZm9udC1zaXplO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWFzaWRlLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRwYXJhZ3JhcGgtYXNpZGUtZm9udC1zdHlsZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIERlZmF1bHQgaGVhZGVyIHN0eWxlcyAqL1xyXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xyXG4gICAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcclxuICAgICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xyXG4gICAgICBjb2xvcjogJGhlYWRlci1mb250LWNvbG9yO1xyXG4gICAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcclxuICAgICAgbWFyZ2luLXRvcDogJGhlYWRlci10b3AtbWFyZ2luO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAkaGVhZGVyLWJvdHRvbS1tYXJnaW47XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmUtaGVpZ2h0O1xyXG5cclxuICAgICAgc21hbGwge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcclxuICAgICAgICBjb2xvcjogJHNtYWxsLWZvbnQtY29sb3I7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoMSB7IGZvbnQtc2l6ZTogJGgxLWZvbnQtc2l6ZSAtICRoMS1mb250LXJlZHVjdGlvbjsgfVxyXG4gICAgaDIgeyBmb250LXNpemU6ICRoMi1mb250LXNpemUgLSAkaDItZm9udC1yZWR1Y3Rpb247IH1cclxuICAgIGgzIHsgZm9udC1zaXplOiAkaDMtZm9udC1zaXplIC0gJGgzLWZvbnQtcmVkdWN0aW9uOyB9XHJcbiAgICBoNCB7IGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZSAtICRoNC1mb250LXJlZHVjdGlvbjsgfVxyXG4gICAgaDUgeyBmb250LXNpemU6ICRoNS1mb250LXNpemUgLSAkaDUtZm9udC1yZWR1Y3Rpb247IH1cclxuICAgIGg2IHsgZm9udC1zaXplOiAkaDYtZm9udC1zaXplIC0gJGg2LWZvbnQtcmVkdWN0aW9uOyB9XHJcblxyXG4gICAgLnN1YmhlYWRlciB7IEBpbmNsdWRlIHN1YmhlYWRlcjsgfVxyXG5cclxuICAgIGhyIHtcclxuICAgICAgYm9yZGVyOiAkaHItYm9yZGVyLXN0eWxlICRoci1ib3JkZXItY29sb3I7XHJcbiAgICAgIGJvcmRlci13aWR0aDogJGhyLWJvcmRlci13aWR0aCAwIDA7XHJcbiAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICBtYXJnaW46ICRoci1tYXJnaW4gMCAoJGhyLW1hcmdpbiAtIHJlbS1jYWxjKCRoci1ib3JkZXItd2lkdGgpKTtcclxuICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIEhlbHBmdWwgVHlwb2dyYXBoeSBEZWZhdWx0cyAqL1xyXG4gICAgZW0sXHJcbiAgICBpIHtcclxuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuICAgIH1cclxuXHJcbiAgICBzdHJvbmcsXHJcbiAgICBiIHtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuICAgIH1cclxuXHJcbiAgICBzbWFsbCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcclxuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICB9XHJcblxyXG4gICAgY29kZSB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICBjb2xvcjogJGNvZGUtY29sb3I7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci13aWR0aDogJGNvZGUtYm9yZGVyLXNpemU7XHJcbiAgICAgIGJvcmRlci1zdHlsZTogJGNvZGUtYm9yZGVyLXN0eWxlO1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjb2RlLWJvcmRlci1jb2xvcjtcclxuICAgICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcclxuICAgIH1cclxuXHJcbiAgICAvKiBMaXN0cyAqL1xyXG4gICAgdWwsXHJcbiAgICBvbCxcclxuICAgIGRsIHtcclxuICAgICAgZm9udC1zaXplOiAkbGlzdC1mb250LXNpemU7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5lLWhlaWdodDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcclxuICAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkbGlzdC1mb250LWZhbWlseTtcclxuICAgIH1cclxuXHJcbiAgICB1bCB7XHJcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtc2lkZS1tYXJnaW47XHJcbiAgICAgICYubm8tYnVsbGV0IHtcclxuICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LXNpZGUtbWFyZ2luLW5vLWJ1bGxldDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICB1bCxcclxuICAgICAgICAgIG9sIHtcclxuICAgICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1uZXN0ZWQtbWFyZ2luO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIFVub3JkZXJlZCBMaXN0cyAqL1xyXG4gICAgdWwge1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgdWwsXHJcbiAgICAgICAgb2wge1xyXG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1uZXN0ZWQtbWFyZ2luO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5zcXVhcmUsXHJcbiAgICAgICYuY2lyY2xlLFxyXG4gICAgICAmLmRpc2Mge1xyXG4gICAgICAgIGxpIHVsIHsgbGlzdC1zdHlsZTogaW5oZXJpdDsgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLnNxdWFyZSB7IGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlOyBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LXNpZGUtbWFyZ2luO31cclxuICAgICAgJi5jaXJjbGUgeyBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbjt9XHJcbiAgICAgICYuZGlzYyB7IGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbjt9XHJcbiAgICAgICYubm8tYnVsbGV0IHsgbGlzdC1zdHlsZTogbm9uZTsgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIE9yZGVyZWQgTGlzdHMgKi9cclxuICAgIG9sIHtcclxuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1vcmRlcmVkLXNpZGUtbWFyZ2luO1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgdWwsXHJcbiAgICAgICAgb2wge1xyXG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1uZXN0ZWQtbWFyZ2luO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBEZWZpbml0aW9uIExpc3RzICovXHJcbiAgICBkbCB7XHJcbiAgICAgIGR0IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGVmaW5pdGlvbi1saXN0LWhlYWRlci1tYXJnaW4tYm90dG9tO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmaW5pdGlvbi1saXN0LWhlYWRlci13ZWlnaHQ7XHJcbiAgICAgIH1cclxuICAgICAgZGQgeyBtYXJnaW4tYm90dG9tOiAkZGVmaW5pdGlvbi1saXN0LW1hcmdpbi1ib3R0b207IH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBBYmJyZXZpYXRpb25zICovXHJcbiAgICBhYmJyLFxyXG4gICAgYWNyb255bSB7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIGZvbnQtc2l6ZTogOTAlO1xyXG4gICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuICAgICAgY3Vyc29yOiAkY3Vyc29yLWhlbHAtdmFsdWU7XHJcbiAgICB9XHJcbiAgICBhYmJyIHtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICZbdGl0bGVdIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAkYWNyb255bS11bmRlcmxpbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBCbG9ja3F1b3RlcyAqL1xyXG4gICAgYmxvY2txdW90ZSB7XHJcbiAgICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcclxuICAgICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcclxuICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XHJcblxyXG4gICAgICBjaXRlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6ICRibG9ja3F1b3RlLWNpdGUtZm9udC1zaXplO1xyXG4gICAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jaXRlLWZvbnQtY29sb3I7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogXCJcXDIwMTQgXFwwMDIwXCI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhLFxyXG4gICAgICAgIGE6dmlzaXRlZCB7XHJcbiAgICAgICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY2l0ZS1saW5rLWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgYmxvY2txdW90ZSxcclxuICAgIGJsb2NrcXVvdGUgcCB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmUtaGVpZ2h0O1xyXG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtZm9udC1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAvKiBNaWNyb2Zvcm1hdHMgKi9cclxuICAgIC52Y2FyZCB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgbWFyZ2luOiAkbWljcm9mb3JtYXQtbWFyZ2luO1xyXG4gICAgICBib3JkZXI6ICRtaWNyb2Zvcm1hdC1ib3JkZXItd2lkdGggJG1pY3JvZm9ybWF0LWJvcmRlci1zdHlsZSAkbWljcm9mb3JtYXQtYm9yZGVyLWNvbG9yO1xyXG4gICAgICBwYWRkaW5nOiAkbWljcm9mb3JtYXQtcGFkZGluZztcclxuXHJcbiAgICAgIGxpIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIH1cclxuICAgICAgLmZuIHtcclxuICAgICAgICBmb250LXdlaWdodDogJG1pY3JvZm9ybWF0LWZ1bGxuYW1lLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJG1pY3JvZm9ybWF0LWZ1bGxuYW1lLWZvbnQtc2l6ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC52ZXZlbnQge1xyXG4gICAgICAuc3VtbWFyeSB7IGZvbnQtd2VpZ2h0OiAkbWljcm9mb3JtYXQtc3VtbWFyeS1mb250LXdlaWdodDsgfVxyXG5cclxuICAgICAgYWJiciB7XHJcbiAgICAgICAgY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWU7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkbWljcm9mb3JtYXQtYWJici1mb250LWRlY29yYXRpb247XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtaWNyb2Zvcm1hdC1hYmJyLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiAkbWljcm9mb3JtYXQtYWJici1wYWRkaW5nO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcclxuICAgICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7IGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmUtaGVpZ2h0OyB9XHJcbiAgICAgIGgxIHsgZm9udC1zaXplOiAkaDEtZm9udC1zaXplOyB9XHJcbiAgICAgIGgyIHsgZm9udC1zaXplOiAkaDItZm9udC1zaXplOyB9XHJcbiAgICAgIGgzIHsgZm9udC1zaXplOiAkaDMtZm9udC1zaXplOyB9XHJcbiAgICAgIGg0IHsgZm9udC1zaXplOiAkaDQtZm9udC1zaXplOyB9XHJcbiAgICAgIGg1IHsgZm9udC1zaXplOiAkaDUtZm9udC1zaXplOyB9XHJcbiAgICAgIGg2IHsgZm9udC1zaXplOiAkaDYtZm9udC1zaXplOyB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCBcImdsb2JhbFwiO1xyXG5AaW1wb3J0IFwidHlwZVwiO1xyXG5cclxuLy8gT2ZmIENhbnZhcyBUYWIgQmFyIFZhcmlhYmxlc1xyXG4kaW5jbHVkZS1odG1sLW9mZi1jYW52YXMtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuJHRhYmJhci1iZzogJG9pbCAhZGVmYXVsdDtcclxuJHRhYmJhci1oZWlnaHQ6IHJlbS1jYWxjKDQ1KSAhZGVmYXVsdDtcclxuJHRhYmJhci1pY29uLXdpZHRoOiAkdGFiYmFyLWhlaWdodCAhZGVmYXVsdDtcclxuJHRhYmJhci1saW5lLWhlaWdodDogJHRhYmJhci1oZWlnaHQgIWRlZmF1bHQ7XHJcbiR0YWJiYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHRhYmJhci1taWRkbGUtcGFkZGluZzogMCByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBPZmYgQ2FudmFzIERpdmlkZXIgU3R5bGVzXHJcbiR0YWJiYXItbGVmdC1zZWN0aW9uLWJvcmRlcjogc29saWQgMXB4IHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC01MCUpICFkZWZhdWx0O1xyXG4kdGFiYmFyLXJpZ2h0LXNlY3Rpb24tYm9yZGVyOiAkdGFiYmFyLWxlZnQtc2VjdGlvbi1ib3JkZXI7XHJcblxyXG5cclxuLy8gT2ZmIENhbnZhcyBUYWIgQmFyIEhlYWRlcnNcclxuJHRhYmJhci1oZWFkZXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHRhYmJhci1oZWFkZXItd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcclxuJHRhYmJhci1oZWFkZXItbGluZS1oZWlnaHQ6ICR0YWJiYXItaGVpZ2h0ICFkZWZhdWx0O1xyXG4kdGFiYmFyLWhlYWRlci1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcblxyXG4vLyBPZmYgQ2FudmFzIE1lbnUgVmFyaWFibGVzXHJcbiRvZmYtY2FudmFzLXdpZHRoOiByZW0tY2FsYygyNTApICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1iZzogJG9pbCAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtYmctaG92ZXI6IHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC0zMCUpICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1iZy1hY3RpdmU6IHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC0zMCUpICFkZWZhdWx0O1xyXG5cclxuLy8gT2ZmIENhbnZhcyBNZW51IExpc3QgVmFyaWFibGVzXHJcbiRvZmYtY2FudmFzLWxhYmVsLXBhZGRpbmc6IC4zcmVtIHJlbS1jYWxjKDE1KSAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtbGFiZWwtY29sb3I6ICRhbHVtaW51bSAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtbGFiZWwtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XHJcbiRvZmYtY2FudmFzLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtbGFiZWwtYmc6ICR0dWF0YXJhICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItdG9wOiAxcHggc29saWQgc2NhbGUtY29sb3IoJG9mZi1jYW52YXMtbGFiZWwtYmcsICRsaWdodG5lc3M6IDE0JSkgIWRlZmF1bHQ7XHJcbiRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci1ib3R0b206IG5vbmUgIWRlZmF1bHQ7XHJcbiRvZmYtY2FudmFzLWxhYmVsLW1hcmdpbjowICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1saW5rLXBhZGRpbmc6IHJlbS1jYWxjKDEwLCAxNSkgIWRlZmF1bHQ7XHJcbiRvZmYtY2FudmFzLWxpbmstY29sb3I6IHJnYmEoJHdoaXRlLCAuNykgIWRlZmF1bHQ7XHJcbiRvZmYtY2FudmFzLWxpbmstYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHNjYWxlLWNvbG9yKCRvZmYtY2FudmFzLWJnLCAkbGlnaHRuZXNzOiAtMjUlKSAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtYmFjay1iZzogIzQ0NCAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtYmFjay1ib3JkZXItdG9wOiAkb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItdG9wICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1iYWNrLWJvcmRlci1ib3R0b206ICRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci1ib3R0b20gIWRlZmF1bHQ7XHJcbiRvZmYtY2FudmFzLWJhY2staG92ZXItYmc6IHNjYWxlLWNvbG9yKCRvZmYtY2FudmFzLWJhY2stYmcsICRsaWdodG5lc3M6IC0zMCUpICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJvcmRlci10b3A6IDFweCBzb2xpZCBzY2FsZS1jb2xvcigkb2ZmLWNhbnZhcy1sYWJlbC1iZywgJGxpZ2h0bmVzczogMTQlKSAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtYmFjay1ob3Zlci1ib3JkZXItYm90dG9tOiBub25lICFkZWZhdWx0O1xyXG5cclxuLy8gT2ZmIENhbnZhcyBNZW51IEljb24gVmFyaWFibGVzXHJcbiR0YWJiYXItbWVudS1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiR0YWJiYXItbWVudS1pY29uLWhvdmVyOiBzY2FsZS1jb2xvcigkdGFiYmFyLW1lbnUtaWNvbi1jb2xvciwgJGxpZ2h0bmVzczogLTMwJSkgIWRlZmF1bHQ7XHJcblxyXG4kdGFiYmFyLW1lbnUtaWNvbi10ZXh0LWluZGVudDogcmVtLWNhbGMoMzUpICFkZWZhdWx0O1xyXG4kdGFiYmFyLW1lbnUtaWNvbi13aWR0aDogJHRhYmJhci1pY29uLXdpZHRoICFkZWZhdWx0O1xyXG4kdGFiYmFyLW1lbnUtaWNvbi1oZWlnaHQ6ICR0YWJiYXItaGVpZ2h0ICFkZWZhdWx0O1xyXG4kdGFiYmFyLW1lbnUtaWNvbi1wYWRkaW5nOiAwICFkZWZhdWx0O1xyXG5cclxuJHRhYmJhci1oYW1idXJnZXItaWNvbi13aWR0aDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xyXG4kdGFiYmFyLWhhbWJ1cmdlci1pY29uLWxlZnQ6IGZhbHNlICFkZWZhdWx0O1xyXG4kdGFiYmFyLWhhbWJ1cmdlci1pY29uLXRvcDogZmFsc2UgIWRlZmF1bHQ7XHJcbiR0YWJiYXItaGFtYnVyZ2VyLWljb24tdGhpY2tuZXNzOiAxcHggIWRlZmF1bHQ7XHJcbiR0YWJiYXItaGFtYnVyZ2VyLWljb24tZ2FwOiA2cHggIWRlZmF1bHQ7XHJcblxyXG4vLyBPZmYgQ2FudmFzIEJhY2stTGluayBPdmVybGF5XHJcbiRvZmYtY2FudmFzLW92ZXJsYXktdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1vdmVybGF5LWN1cnNvcjogcG9pbnRlciAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtb3ZlcmxheS1ib3gtc2hhZG93OiAtNHB4IDAgNHB4IHJnYmEoJGJsYWNrLCAuNSksIDRweCAwIDRweCByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAuMikgIWRlZmF1bHQ7XHJcbiRvZmYtY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBUcmFuc2l0aW9uIFZhcmlhYmxlc1xyXG4kbWVudS1zbGlkZTogXCJ0cmFuc2Zvcm0gNTAwbXMgZWFzZVwiICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIE1JWElOU1xyXG4vLyBSZW1vdmUgdHJhbnNpdGlvbiBmbGlja2VyIG9uIHBob25lc1xyXG5AbWl4aW4ga2lsbC1mbGlja2VyIHtcclxuICAvLyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigweCk7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIEJhc2ljIHByb3BlcnRpZXMgZm9yIHRoZSBjb250ZW50IHdyYXBzXHJcbkBtaXhpbiB3cmFwLWJhc2Uge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuQG1peGluIHRyYW5zbGF0ZTNkKCR0eCwgJHR5LCAkdHopIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHR4LCAkdHksICR0eik7XHJcbiAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR0eCwgJHR5LCAkdHopO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHR4LCAkdHkpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkdHgsICR0eSwgJHR6KTtcclxuICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHR4LCAkdHksICR0eik7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR0eCwgJHR5LCAkdHopXHJcbn1cclxuXHJcbi8vIGJhc2ljIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcyBtZW51IGNvbnRhaW5lclxyXG5AbWl4aW4gb2ZmLWNhbnZhcy1tZW51KCRwb3NpdGlvbikge1xyXG4gIEBpbmNsdWRlIGtpbGwtZmxpY2tlcjtcclxuICAqIHsgQGluY2x1ZGUga2lsbC1mbGlja2VyOyB9XHJcbiAgd2lkdGg6ICRvZmYtY2FudmFzLXdpZHRoO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWJnO1xyXG4gIHotaW5kZXg6IDEwMDE7XHJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2UgMHM7XHJcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xyXG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xyXG5cclxuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xyXG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoLTEwMCUsMCwwKTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgfVxyXG4gIEBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xyXG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMTAwJSwwLDApO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBPRkYgQ0FOVkFTIFdSQVBcclxuLy8gV3JhcCB2aXNpYmxlIGNvbnRlbnQgYW5kIHByZXZlbnQgc2Nyb2xsIGJhcnNcclxuQG1peGluIG9mZi1jYW52YXMtd3JhcCB7XHJcbiAgQGluY2x1ZGUga2lsbC1mbGlja2VyO1xyXG4gIEBpbmNsdWRlIHdyYXAtYmFzZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICYubW92ZS1yaWdodCxcclxuICAmLm1vdmUtbGVmdCB7IG1pbi1oZWlnaHQ6IDEwMCU7IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxyXG59XHJcblxyXG4vLyBJTk5FUiBXUkFQXHJcbi8vIE1haW4gY29udGVudCBhcmVhIHRoYXQgbW92ZXMgdG8gcmV2ZWFsIHRoZSBvZmYtY2FudmFzIG5hdlxyXG5AbWl4aW4gaW5uZXItd3JhcCB7XHJcbiAgLy8gQGluY2x1ZGUga2lsbC1mbGlja2VyO1xyXG4gIC8vIHJlbW92ZWQgZm9yIG5vdyB0aWxsIGNocm9tZSBmaXhlcyBiYWNrZmFjZSBpc3N1ZVxyXG4gIEBpbmNsdWRlIHdyYXAtYmFzZTtcclxuICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtI3skbWVudS1zbGlkZX07XHJcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LSN7JG1lbnUtc2xpZGV9O1xyXG4gIC1tcy10cmFuc2l0aW9uOiAtbXMtI3skbWVudS1zbGlkZX07XHJcbiAgLW8tdHJhbnNpdGlvbjogLW8tI3skbWVudS1zbGlkZX07XHJcbiAgdHJhbnNpdGlvbjogI3skbWVudS1zbGlkZX07XHJcbn1cclxuXHJcbi8vIFRBQiBCQVJcclxuLy8gVGhpcyBpcyB0aGUgdGFiIGJhciBiYXNlXHJcbkBtaXhpbiB0YWItYmFyLWJhc2Uge1xyXG4gIEBpbmNsdWRlIGtpbGwtZmxpY2tlcjtcclxuXHJcbiAgLy8gYmFzZSBzdHlsZXNcclxuICBiYWNrZ3JvdW5kOiAkdGFiYmFyLWJnO1xyXG4gIGNvbG9yOiAkdGFiYmFyLWNvbG9yO1xyXG4gIGhlaWdodDogJHRhYmJhci1oZWlnaHQ7XHJcbiAgbGluZS1oZWlnaHQ6ICR0YWJiYXItbGluZS1oZWlnaHQ7XHJcblxyXG4gIC8vIG1ha2Ugc3VyZSBpdCdzIGJlbG93IHRoZSAuZXhpdC1vZmYtY2FudmFzIGxpbmtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLy8gei1pbmRleDogOTk5O1xyXG5cclxuICAvLyBUeXBvZ3JhcGh5XHJcbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XHJcbiAgICBjb2xvcjogJHRhYmJhci1oZWFkZXItY29sb3I7XHJcbiAgICBmb250LXdlaWdodDogJHRhYmJhci1oZWFkZXItd2VpZ2h0O1xyXG4gICAgbGluZS1oZWlnaHQ6ICR0YWJiYXItaGVhZGVyLWxpbmUtaGVpZ2h0O1xyXG4gICAgbWFyZ2luOiAkdGFiYmFyLWhlYWRlci1tYXJnaW47XHJcbiAgfVxyXG4gIGgxLCBoMiwgaDMsIGg0IHsgZm9udC1zaXplOiAkaDUtZm9udC1zaXplOyB9XHJcbn1cclxuXHJcbi8vIFNNQUxMIFNFQ1RJT05TXHJcbi8vIFRoZXNlIGFyZSBzbWFsbCBzZWN0aW9ucyBvbiB0aGUgbGVmdCBhbmQgcmlnaHQgdGhhdCBjb250YWluIHRoZSBvZmYtY2FudmFzIHRvZ2dsZSBidXR0b25zO1xyXG5AbWl4aW4gdGFiYmFyLXNtYWxsLXNlY3Rpb24oJHBvc2l0aW9uKSB7XHJcbiAgd2lkdGg6ICR0YWJiYXItaWNvbi13aWR0aDtcclxuICBoZWlnaHQ6ICR0YWJiYXItaGVpZ2h0O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcclxuICAgIGJvcmRlci1yaWdodDogJHRhYmJhci1sZWZ0LXNlY3Rpb24tYm9yZGVyO1xyXG4gICAgLy8gYm94LXNoYWRvdzogMXB4IDAgMCBzY2FsZS1jb2xvcigkdGFiYmFyLWJnLCAkbGlnaHRuZXNzOiAxMyUpO1xyXG4gICAgbGVmdDogMDtcclxuICB9XHJcbiAgQGlmICRwb3NpdGlvbiA9PSByaWdodCB7XHJcbiAgICBib3JkZXItbGVmdDogJHRhYmJhci1yaWdodC1zZWN0aW9uLWJvcmRlcjtcclxuICAgIC8vIGJveC1zaGFkb3c6IC0xcHggMCAwIHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC01MCUpO1xyXG4gICAgcmlnaHQ6MDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiB0YWItYmFyLXNlY3Rpb24ge1xyXG4gIHBhZGRpbmc6ICR0YWJiYXItbWlkZGxlLXBhZGRpbmc7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBoZWlnaHQ6ICR0YWJiYXItaGVpZ2h0O1xyXG4gIHRvcDogMDtcclxuICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAmLmxlZnQgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XHJcbiAgICAmLnJpZ2h0IHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cclxuICB9XHJcblxyXG4gIC8vIHN0aWxsIG5lZWQgdG8gbWFrZSB0aGVzZSBub24tcHJlc2VudGF0aW9uYWxcclxuICAmLmxlZnQge1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAkdGFiYmFyLWljb24td2lkdGg7XHJcbiAgfVxyXG4gICYucmlnaHQge1xyXG4gICAgbGVmdDogJHRhYmJhci1pY29uLXdpZHRoO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgfVxyXG4gICYubWlkZGxlIHtcclxuICAgIGxlZnQ6ICR0YWJiYXItaWNvbi13aWR0aDtcclxuICAgIHJpZ2h0OiAkdGFiYmFyLWljb24td2lkdGg7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBPRkYgQ0FOVkFTIExJU1RcclxuLy8gVGhpcyBpcyB0aGUgbGlzdCBvZiBsaW5rcyBpbiB0aGUgb2ZmLWNhbnZhcyBtZW51XHJcbkBtaXhpbiBvZmYtY2FudmFzLWxpc3Qge1xyXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICBwYWRkaW5nOjA7XHJcbiAgbWFyZ2luOjA7XHJcblxyXG4gIGxpIHtcclxuICAgIGxhYmVsIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBhZGRpbmc6ICRvZmYtY2FudmFzLWxhYmVsLXBhZGRpbmc7XHJcbiAgICAgIGNvbG9yOiAkb2ZmLWNhbnZhcy1sYWJlbC1jb2xvcjtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06ICRvZmYtY2FudmFzLWxhYmVsLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICBmb250LXNpemU6ICRvZmYtY2FudmFzLWxhYmVsLWZvbnQtc2l6ZTtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRvZmYtY2FudmFzLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1sYWJlbC1iZztcclxuICAgICAgYm9yZGVyLXRvcDogJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLXRvcDtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLWJvdHRvbTtcclxuICAgICAgbWFyZ2luOiAkb2ZmLWNhbnZhcy1sYWJlbC1tYXJnaW47XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBhZGRpbmc6ICRvZmYtY2FudmFzLWxpbmstcGFkZGluZztcclxuICAgICAgY29sb3I6ICRvZmYtY2FudmFzLWxpbmstY29sb3I7XHJcbiAgICAgIGJvcmRlci1ib3R0b206ICRvZmYtY2FudmFzLWxpbmstYm9yZGVyLWJvdHRvbTtcclxuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlO1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1iZy1ob3ZlcjtcclxuICAgICAgfVxyXG4gICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtYmctYWN0aXZlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLy8gQkFDSyBMSU5LXHJcbi8vIFRoaXMgaXMgYW4gb3ZlcmxheSB0aGF0LCB3aGVuIGNsaWNrZWQsIHdpbGwgdG9nZ2xlIG9mZiB0aGUgb2ZmIGNhbnZhcyBtZW51XHJcbkBtaXhpbiBiYWNrLWxpbmsge1xyXG4gICAgQGluY2x1ZGUga2lsbC1mbGlja2VyO1xyXG5cclxuICAgIHRyYW5zaXRpb246ICRvZmYtY2FudmFzLW92ZXJsYXktdHJhbnNpdGlvbjtcclxuICAgIGN1cnNvcjogJG9mZi1jYW52YXMtb3ZlcmxheS1jdXJzb3I7XHJcbiAgICBib3gtc2hhZG93OiAkb2ZmLWNhbnZhcy1vdmVybGF5LWJveC1zaGFkb3c7XHJcblxyXG4gICAgLy8gZmlsbCB0aGUgc2NyZWVuXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZDtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6MDtcclxuICAgIHJpZ2h0OjA7XHJcbiAgICB6LWluZGV4OiAxMDAyO1xyXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xyXG5cclxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kLWhvdmVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vXHJcbi8vIERFRkFVTFQgQ0xBU1NFU1xyXG4vL1xyXG5AaW5jbHVkZSBleHBvcnRzKFwib2ZmY2FudmFzXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1vZmYtY2FudmFzLWNsYXNzZXMge1xyXG5cclxuICAgIC5vZmYtY2FudmFzLXdyYXAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXA7IH1cclxuICAgIC5pbm5lci13cmFwIHsgQGluY2x1ZGUgaW5uZXItd3JhcDsgfVxyXG5cclxuICAgIC50YWItYmFyIHsgQGluY2x1ZGUgdGFiLWJhci1iYXNlOyB9XHJcblxyXG4gICAgLmxlZnQtc21hbGwgeyBAaW5jbHVkZSB0YWJiYXItc21hbGwtc2VjdGlvbigkcG9zaXRpb246IGxlZnQpOyB9XHJcbiAgICAucmlnaHQtc21hbGwgeyBAaW5jbHVkZSB0YWJiYXItc21hbGwtc2VjdGlvbigkcG9zaXRpb246IHJpZ2h0KTsgfVxyXG5cclxuICAgIC50YWItYmFyLXNlY3Rpb24geyBAaW5jbHVkZSB0YWItYmFyLXNlY3Rpb247IH1cclxuXHJcbiAgICAvLyBNRU5VIEJVVFRPTlxyXG4gICAgLy8gVGhpcyBpcyBhIGxpdHRsZSBib251cy4gWW91IGRvbid0IG5lZWQgaXQgZm9yIG9mZiBjYW52YXMgdG8gd29yay4gTWl4aW5zIHRvIGJlIHdyaXR0ZW4gaW4gdGhlIGZ1dHVyZS5cclxuICAgIC50YWItYmFyIC5tZW51LWljb24ge1xyXG4gICAgICB0ZXh0LWluZGVudDogJHRhYmJhci1tZW51LWljb24tdGV4dC1pbmRlbnQ7XHJcbiAgICAgIHdpZHRoOiAkdGFiYmFyLW1lbnUtaWNvbi13aWR0aDtcclxuICAgICAgaGVpZ2h0OiAkdGFiYmFyLW1lbnUtaWNvbi1oZWlnaHQ7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwYWRkaW5nOiAkdGFiYmFyLW1lbnUtaWNvbi1wYWRkaW5nO1xyXG4gICAgICBjb2xvcjogJHRhYmJhci1tZW51LWljb24tY29sb3I7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcblxyXG4gICAgICAvLyBAaW5jbHVkZSBmb3IgdGhlIGhhbWJ1cmdlciBtZW51LWljb25cclxuICAgICAgLy9cclxuICAgICAgLy8gQXJndW1lbnRzIGFzIGZvbGxvd3M6ICgkd2lkdGgsICRsZWZ0LCAkdG9wLCAkdGhpY2tuZXNzLCAkZ2FwLCAkY29sb3IsICRob3Zlci1jb2xvcilcclxuICAgICAgLy8gJHdpZHRoIC0gV2lkdGggb2YgaGFtYnVyZ2VyIGljb24gaW4gcmVtIERlZmF1bHQ6ICR0YWJiYXItaGFtYnVyZ2VyLWljb24td2lkdGguXHJcbiAgICAgIC8vICRsZWZ0IC0gSWYgZmFsc2UsIGljb24gd2lsbCBiZSBjZW50ZXJlZCBob3Jpem9udGFsbHkgfHwgZXhwbGljaXRseSBzZXQgdmFsdWUgaW4gcmVtIERlZmF1bHQ6ICR0YWJiYXItaGFtYnVyZ2VyLWljb24tbGVmdD0gRmFsc2VcclxuICAgICAgLy8gJHRvcCAtIElmIGZhbHNlLCBpY29uIHdpbGwgYmUgY2VudGVyZWQgdmVydGljYWxseSB8fCBleHBsaWNpdGx5IHNldCB2YWx1ZSBpbiByZW0gRGVmYXVsdDogPSBGYWxzZVxyXG4gICAgICAvLyAkdGhpY2tuZXNzIC0gdGhpY2tuZXNzIG9mIGxpbmVzIGluIGhhbWJ1cmdlciBpY29uLCBzZXQgdmFsdWUgaW4gcHggRGVmYXVsdDogJHRhYmJhci1oYW1idXJnZXItaWNvbi10aGlja25lc3MgPSAxcHhcclxuICAgICAgLy8gJGdhcCAtIHNwYWNpbmcgYmV0d2VlbiB0aGUgbGluZXMgaW4gaGFtYnVyZ2VyIGljb24sIHNldCB2YWx1ZSBpbiBweCBEZWZhdWx0OiAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLWdhcCA9IDZweFxyXG4gICAgICAvLyAkY29sb3IgLSBpY29uIGNvbG9yIERlZmF1bHQ6ICR0YWJiYXItbWVudS1pY29uLWNvbG9yXHJcbiAgICAgIC8vICRob3Zlci1jb2xvciAtIGljb24gY29sb3Igd2hlbiBob3ZlcmVkIERlZmF1bHQ6ICR0YWJiYXItbWVudS1pY29uLWhvdmVyXHJcbiAgICAgIC8vICRvZmZjYW52YXMgLSBTZXQgdG8gdHJ1ZVxyXG4gICAgICBAaW5jbHVkZSBoYW1idXJnZXIoJHRhYmJhci1oYW1idXJnZXItaWNvbi13aWR0aCwgJHRhYmJhci1oYW1idXJnZXItaWNvbi1sZWZ0LCAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXRvcCwgJHRhYmJhci1oYW1idXJnZXItaWNvbi10aGlja25lc3MsICR0YWJiYXItaGFtYnVyZ2VyLWljb24tZ2FwLCAkdGFiYmFyLW1lbnUtaWNvbi1jb2xvciwgJHRhYmJhci1tZW51LWljb24taG92ZXIsIHRydWUpXHJcbiAgICB9XHJcblxyXG4gICAgLmxlZnQtb2ZmLWNhbnZhcy1tZW51IHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1tZW51KCRwb3NpdGlvbjogbGVmdCk7IH1cclxuICAgIC5yaWdodC1vZmYtY2FudmFzLW1lbnUgeyBAaW5jbHVkZSBvZmYtY2FudmFzLW1lbnUoJHBvc2l0aW9uOiByaWdodCk7IH1cclxuXHJcbiAgICB1bC5vZmYtY2FudmFzLWxpc3QgeyBAaW5jbHVkZSBvZmYtY2FudmFzLWxpc3Q7IH1cclxuXHJcblxyXG4gICAgLy8gQU5JTUFUSU9OIENMQVNTRVNcclxuICAgIC8vIFRoZXNlIGNsYXNzZXMgYXJlIGFkZGVkIHdpdGggSlMgYW5kIHRyaWdnZXIgdGhlIGFjdHVhbCBhbmltYXRpb24uXHJcbiAgICAubW92ZS1yaWdodCB7XHJcbiAgICAgID4gLmlubmVyLXdyYXAge1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKCRvZmYtY2FudmFzLXdpZHRoLDAsMCk7XHJcbiAgICAgIH1cclxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazt9XHJcbiAgICB9XHJcblxyXG4gICAgLm1vdmUtbGVmdCB7XHJcbiAgICAgID4gLmlubmVyLXdyYXAge1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKC0oJG9mZi1jYW52YXMtd2lkdGgpLDAsMCk7XHJcblxyXG4gICAgICB9XHJcbiAgICAgIC5leGl0LW9mZi1jYW52YXMgeyBAaW5jbHVkZSBiYWNrLWxpbms7IH1cclxuICAgIH1cclxuICAgIC5vZmZjYW52YXMtb3ZlcmxhcCB7XHJcbiAgICAgIC5sZWZ0LW9mZi1jYW52YXMtbWVudSwgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHotaW5kZXg6IDEwMDM7XHJcbiAgICAgIH1cclxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazsgfVxyXG4gICAgfVxyXG4gICAgLm9mZmNhbnZhcy1vdmVybGFwLWxlZnQge1xyXG4gICAgICAucmlnaHQtb2ZmLWNhbnZhcy1tZW51IHtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgei1pbmRleDogMTAwMztcclxuICAgICAgfVxyXG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rOyB9XHJcbiAgICB9XHJcbiAgICAub2ZmY2FudmFzLW92ZXJsYXAtcmlnaHQge1xyXG4gICAgICAubGVmdC1vZmYtY2FudmFzLW1lbnUge1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB6LWluZGV4OiAxMDAzO1xyXG4gICAgICB9XHJcbiAgICAgIC5leGl0LW9mZi1jYW52YXMgeyBAaW5jbHVkZSBiYWNrLWxpbms7IH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBPbGRlciBicm93c2Vyc1xyXG4gICAgLm5vLWNzc3RyYW5zZm9ybXMge1xyXG4gICAgICAubGVmdC1vZmYtY2FudmFzLW1lbnUgeyBsZWZ0OiAtKCRvZmYtY2FudmFzLXdpZHRoKTsgfVxyXG4gICAgICAucmlnaHQtb2ZmLWNhbnZhcy1tZW51IHsgcmlnaHQ6IC0oJG9mZi1jYW52YXMtd2lkdGgpOyB9XHJcblxyXG4gICAgICAubW92ZS1sZWZ0ID4gLmlubmVyLXdyYXAgeyByaWdodDogJG9mZi1jYW52YXMtd2lkdGg7IH1cclxuICAgICAgLm1vdmUtcmlnaHQgPiAuaW5uZXItd3JhcCB7IGxlZnQ6ICRvZmYtY2FudmFzLXdpZHRoOyB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG5cclxuLy9cclxuLy8gT2ZmLUNhbnZhcyBTdWJtZW51IENsYXNzZXNcclxuLy9cclxuQG1peGluIG9mZi1jYW52YXMtc3VibWVudSgkcG9zaXRpb24pIHtcclxuICBAaW5jbHVkZSBraWxsLWZsaWNrZXI7XHJcbiAgKiB7IEBpbmNsdWRlIGtpbGwtZmxpY2tlcjsgfVxyXG4gIHdpZHRoOiAkb2ZmLWNhbnZhcy13aWR0aDtcclxuICB0b3A6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBtYXJnaW46IDA7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtYmc7XHJcbiAgei1pbmRleDogMTAwMjtcclxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcclxuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKC0xMDAlLDAsMCk7XHJcbiAgICBsZWZ0OiAwO1xyXG4gIH1cclxuICBAaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcclxuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDEwMCUsMCwwKTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gIH1cclxuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtI3skbWVudS1zbGlkZX07XHJcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LSN7JG1lbnUtc2xpZGV9O1xyXG4gIC1tcy10cmFuc2l0aW9uOiAtbXMtI3skbWVudS1zbGlkZX07XHJcbiAgLW8tdHJhbnNpdGlvbjogLW8tI3skbWVudS1zbGlkZX07XHJcbiAgdHJhbnNpdGlvbjogI3skbWVudS1zbGlkZX07XHJcblxyXG4gIC8vYmFjayBidXR0b24gc3R5bGUgbGlrZSBsYWJlbFxyXG4gIC5iYWNrID4gYSB7XHJcbiAgICBwYWRkaW5nOiAkb2ZmLWNhbnZhcy1sYWJlbC1wYWRkaW5nO1xyXG4gICAgY29sb3I6ICRvZmYtY2FudmFzLWxhYmVsLWNvbG9yO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06ICRvZmYtY2FudmFzLWxhYmVsLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRvZmYtY2FudmFzLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtYmFjay1iZztcclxuICAgIGJvcmRlci10b3A6ICRvZmYtY2FudmFzLWJhY2stYm9yZGVyLXRvcDtcclxuICAgIGJvcmRlci1ib3R0b206ICRvZmYtY2FudmFzLWJhY2stYm9yZGVyLWJvdHRvbTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgXHRiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJnO1xyXG4gICAgXHRib3JkZXItdG9wOiAkb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJvcmRlci10b3A7XHJcbiAgICBcdGJvcmRlci1ib3R0b206ICRvZmYtY2FudmFzLWJhY2staG92ZXItYm9yZGVyLWJvdHRvbTtcclxuICAgIH1cclxuICAgIG1hcmdpbjogJG9mZi1jYW52YXMtbGFiZWwtbWFyZ2luO1xyXG4gICAgQGlmICRwb3NpdGlvbiA9PSByaWdodCB7XHJcbiAgICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiBsZWZ0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogcmlnaHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcclxuICAgICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogcmlnaHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogbGVmdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi8vTGVmdCBkb3VibGUgYW5nbGUgcXVvdGUgb3IgUmlnaHQgZG91YmxlIGFuZ2xlIHF1b3RlIGNoYXJzXHJcbkBtaXhpbiBpY29uLWRvdWJsZS1hcnJvd3MgKCRwb3NpdGlvbikge1xyXG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XHJcbiAgICBjb250ZW50OiBcIlxcQUJcIjtcclxuICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC41cmVtO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xyXG4gICAgY29udGVudDogXCJcXEJCXCI7XHJcbiAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC41cmVtO1xyXG4gICAgfVxyXG4gIH1cclxuICBkaXNwbGF5OiBpbmxpbmU7XHJcbn1cclxuXHJcbkBpZiAkaW5jbHVkZS1odG1sLW9mZi1jYW52YXMtY2xhc3NlcyB7XHJcbiAgLmxlZnQtc3VibWVudSB7XHJcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXN1Ym1lbnUoJHBvc2l0aW9uOiBsZWZ0KTtcclxuICAgICYubW92ZS1yaWdodCwgJi5vZmZjYW52YXMtb3ZlcmxhcC1yaWdodCwgJi5vZmZjYW52YXMtb3ZlcmxhcCB7XHJcbiAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAlLDAsMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucmlnaHQtc3VibWVudSB7XHJcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXN1Ym1lbnUoJHBvc2l0aW9uOiByaWdodCk7XHJcbiAgICAmLm1vdmUtbGVmdCwgJi5vZmZjYW52YXMtb3ZlcmxhcC1sZWZ0LCAmLm9mZmNhbnZhcy1vdmVybGFwIHtcclxuICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCUsMCwwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcclxuICAgIC5sZWZ0LW9mZi1jYW52YXMtbWVudSB1bC5vZmYtY2FudmFzLWxpc3QgbGkuaGFzLXN1Ym1lbnUgPiBhOmJlZm9yZSB7XHJcbiAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IGxlZnQpO1xyXG4gICAgfVxyXG4gICAgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB1bC5vZmYtY2FudmFzLWxpc3QgbGkuaGFzLXN1Ym1lbnUgPiBhOmFmdGVyIHtcclxuICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogcmlnaHQpO1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgLmxlZnQtb2ZmLWNhbnZhcy1tZW51IHVsLm9mZi1jYW52YXMtbGlzdCBsaS5oYXMtc3VibWVudSA+IGE6YWZ0ZXIge1xyXG4gICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogcmlnaHQpO1xyXG4gICAgfVxyXG4gICAgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB1bC5vZmYtY2FudmFzLWxpc3QgbGkuaGFzLXN1Ym1lbnUgPiBhOmJlZm9yZSB7XHJcbiAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiBsZWZ0KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0IFwiZ2xvYmFsXCI7XHJcblxyXG4vL1xyXG4vLyBGb3VuZGF0aW9uIFZpc2liaWxpdHkgQ2xhc3Nlc1xyXG4vL1xyXG4kaW5jbHVkZS1odG1sLXZpc2liaWxpdHktY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG4kaW5jbHVkZS1hY2Nlc3NpYmlsaXR5LWNsYXNzZXM6IHRydWUgIWRlZmF1bHQ7XHJcbiRpbmNsdWRlLXRhYmxlLXZpc2liaWxpdHktY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDtcclxuJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vXHJcbi8vIE1lZGlhIENsYXNzIE5hbWVzXHJcbi8vXHJcbi8vIFZpc2liaWxpdHkgQnJlYWtwb2ludHNcclxuJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplczpcclxuICBzbWFsbCxcclxuICBtZWRpdW0sXHJcbiAgbGFyZ2UsXHJcbiAgeGxhcmdlLFxyXG4gIHh4bGFyZ2U7XHJcblxyXG4kdmlzaWJpbGl0eS1icmVha3BvaW50LXF1ZXJpZXM6XHJcbiAgdW5xdW90ZSgkc21hbGwtdXApLFxyXG4gIHVucXVvdGUoJG1lZGl1bS11cCksXHJcbiAgdW5xdW90ZSgkbGFyZ2UtdXApLFxyXG4gIHVucXVvdGUoJHhsYXJnZS11cCksXHJcbiAgdW5xdW90ZSgkeHhsYXJnZS11cCk7XHJcblxyXG5AbWl4aW4gdmlzaWJpbGl0eS1sb29wIHtcclxuICBAZWFjaCAkY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnQgaW4gJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcyB7XHJcbiAgICAkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3Q6ICgpO1xyXG4gICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiAoKTtcclxuXHJcbiAgICAkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3Q6ICgpO1xyXG4gICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6ICgpO1xyXG5cclxuICAgICR2aXNpYmlsaXR5LXRhYmxlLWxpc3Q6ICgpO1xyXG4gICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6ICgpO1xyXG4gICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6ICgpO1xyXG4gICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6ICgpO1xyXG4gICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiAoKTtcclxuXHJcbiAgICBAZWFjaCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQgaW4gJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcyB7XHJcbiAgICAgIEBpZiBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQpIDwgaW5kZXgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcywgJGN1cnJlbnQtdmlzaWJpbGl0eS1icmVha3BvaW50KSB7XHJcbiAgICAgICAgLy8gU21hbGxlciB0aGFuIGN1cnJlbnQgYnJlYWtwb2ludFxyXG5cclxuICAgICAgICAkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAkdmlzaWJpbGl0eS1ub25lLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1ub25lLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJ3RhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAndGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICd0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJ3RyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICd0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuXHJcbiAgICAgICAgLy8gRm91bmRhdGlvbiA0IGNvbXBhdGliaWxpdHk6XHJcbiAgICAgICAgLy8gSW5jbHVkZSAuc2hvdy9oaWRlLWZvci1bc2l6ZV0gYW5kIC5zaG93L2hpZGUtZm9yLVtzaXplXS1kb3duIGNsYXNzZXNcclxuICAgICAgICAvLyBmb3Igc21hbGwsIG1lZGl1bSwgYW5kIGxhcmdlIGJyZWFrcG9pbnRzIG9ubHlcclxuICAgICAgICBAaWYgJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlcyBhbmQgaW5kZXgoKHNtYWxsLCBtZWRpdW0sIGxhcmdlKSwgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSAhPSBmYWxzZSB7XHJcbiAgICAgICAgICAkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICcuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXHJcbiAgICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgICAkdmlzaWJpbGl0eS1ub25lLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1ub25lLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICcuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXHJcbiAgICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgICAkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICcuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgICAndGFibGUuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICd0aGVhZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJ3Rib2R5LmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXHJcbiAgICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgICAndHIuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJ3RoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93biwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXHJcbiAgICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfSBAZWxzZSBpZiBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQpID4gaW5kZXgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcywgJGN1cnJlbnQtdmlzaWJpbGl0eS1icmVha3BvaW50KSB7XHJcbiAgICAgICAgLy8gTGFyZ2VyIHRoYW4gY3VycmVudCBicmVha3BvaW50XHJcblxyXG4gICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICcuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICcuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICcuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWhpZGRlbi1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAndGFibGUuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICd0aGVhZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJ3Rib2R5LmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAndHIuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJ3RoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwLCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG5cclxuICAgICAgICAvLyBGb3VuZGF0aW9uIDQgY29tcGF0aWJpbGl0eTpcclxuICAgICAgICAvLyBJbmNsdWRlIC5zaG93L2hpZGUtZm9yLVtzaXplXSBhbmQgLnNob3cvaGlkZS1mb3ItW3NpemVdLWRvd24gY2xhc3Nlc1xyXG4gICAgICAgIC8vIGZvciBzbWFsbCwgbWVkaXVtLCBhbmQgbGFyZ2UgYnJlYWtwb2ludHMgb25seVxyXG4gICAgICAgIEBpZiAkaW5jbHVkZS1sZWdhY3ktdmlzaWJpbGl0eS1jbGFzc2VzIGFuZCBpbmRleCgoc21hbGwsIG1lZGl1bSwgbGFyZ2UpLCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQpICE9IGZhbHNlIHtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICd0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJ3RoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXHJcbiAgICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgICAndGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICd0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgICAndGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duLCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICAvLyBDdXJyZW50IGJyZWFrcG9pbnRcclxuXHJcbiAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICcuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICd0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGFibGUuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJ3RoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0aGVhZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAndGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRib2R5LnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICd0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdHIuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAndGguc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0aC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAsIHRkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcblxyXG4gICAgICAgIC8vIEZvdW5kYXRpb24gNCBjb21wYXRpYmlsaXR5OlxyXG4gICAgICAgIC8vIEluY2x1ZGUgLnNob3cvaGlkZS1mb3ItW3NpemVdIGFuZCAuc2hvdy9oaWRlLWZvci1bc2l6ZV0tZG93biBjbGFzc2VzXHJcbiAgICAgICAgLy8gZm9yIHNtYWxsLCBtZWRpdW0sIGFuZCBsYXJnZSBicmVha3BvaW50cyBvbmx5XHJcbiAgICAgICAgQGlmICRpbmNsdWRlLWxlZ2FjeS12aXNpYmlsaXR5LWNsYXNzZXMgYW5kIGluZGV4KChzbWFsbCwgbWVkaXVtLCBsYXJnZSksICR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludCkgIT0gZmFsc2Uge1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXHJcbiAgICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJ3RhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGFibGUuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXHJcbiAgICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgICAndGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0aGVhZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICd0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRib2R5LnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJ3RyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdHIuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXHJcbiAgICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICd0aC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGguc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24sIHRkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qICN7JGN1cnJlbnQtdmlzaWJpbGl0eS1icmVha3BvaW50fSBkaXNwbGF5cyAqL1xyXG4gICAgQG1lZGlhICN7bnRoKCR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtcXVlcmllcywgaW5kZXgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcywgJGN1cnJlbnQtdmlzaWJpbGl0eS1icmVha3BvaW50KSl9IHtcclxuICAgICAgI3skdmlzaWJpbGl0eS1pbmhlcml0LWxpc3R9IHtcclxuICAgICAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgICAgI3skdmlzaWJpbGl0eS1ub25lLWxpc3R9IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgICAgQGlmICRpbmNsdWRlLWFjY2Vzc2liaWxpdHktY2xhc3NlcyAhPSBmYWxzZSB7XHJcbiAgICAgICAgI3skdmlzaWJpbGl0eS12aXNpYmxlLWxpc3R9IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcclxuICAgICAgICB9XHJcbiAgICAgICAgI3skdmlzaWJpbGl0eS1oaWRkZW4tbGlzdH0ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAkaW5jbHVkZS10YWJsZS12aXNpYmlsaXR5LWNsYXNzZXMgIT0gZmFsc2Uge1xyXG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtbGlzdH0ge1xyXG4gICAgICAgICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgI3skdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdH0ge1xyXG4gICAgICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3R9IHtcclxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAjeyR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0fSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0fSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwidmlzaWJpbGl0eVwiKXtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC12aXNpYmlsaXR5LWNsYXNzZXMgIT0gZmFsc2Uge1xyXG5cclxuICBAaW5jbHVkZSB2aXNpYmlsaXR5LWxvb3A7XHJcblxyXG4gIC8qIE9yaWVudGF0aW9uIHRhcmdldGluZyAqL1xyXG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXHJcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XHJcbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcclxuICAuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxuXHJcbiAgLyogU3BlY2lmaWMgdmlzaWJpbGl0eSBmb3IgdGFibGVzICovXHJcbiAgdGFibGUge1xyXG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXHJcbiAgICAmLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxyXG4gIH1cclxuICB0aGVhZCB7XHJcbiAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSxcclxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxyXG4gIH1cclxuICB0Ym9keSB7XHJcbiAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSxcclxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxyXG4gIH1cclxuICB0ciB7XHJcbiAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSxcclxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxyXG4gIH1cclxuICB0ZCxcclxuICB0aCB7XHJcbiAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSxcclxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSAjeyRsYW5kc2NhcGV9IHtcclxuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXHJcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cclxuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXHJcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxuXHJcbiAgICAvKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi9cclxuICAgIHRhYmxlIHtcclxuICAgICAgJi5zaG93LWZvci1sYW5kc2NhcGUsXHJcbiAgICAgICYuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XHJcbiAgICB9XHJcbiAgICB0aGVhZCB7XHJcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxyXG4gICAgICAmLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cclxuICAgIH1cclxuICAgIHRib2R5IHtcclxuICAgICAgJi5zaG93LWZvci1sYW5kc2NhcGUsXHJcbiAgICAgICYuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxyXG4gICAgfVxyXG4gICAgdHIge1xyXG4gICAgICAmLnNob3ctZm9yLWxhbmRzY2FwZSxcclxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XHJcbiAgICB9XHJcbiAgICB0ZCxcclxuICAgIHRoIHtcclxuICAgICAgJi5zaG93LWZvci1sYW5kc2NhcGUsXHJcbiAgICAgICYuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSAjeyRwb3J0cmFpdH0ge1xyXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0LFxyXG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxyXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0LFxyXG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxyXG5cclxuICAgIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xyXG4gICAgdGFibGUge1xyXG4gICAgICAmLnNob3ctZm9yLXBvcnRyYWl0LFxyXG4gICAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cclxuICAgIH1cclxuICAgIHRoZWFkIHtcclxuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcclxuICAgICAgJi5oaWRlLWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxyXG4gICAgfVxyXG4gICAgdGJvZHkge1xyXG4gICAgICAmLnNob3ctZm9yLXBvcnRyYWl0LFxyXG4gICAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XHJcbiAgICB9XHJcbiAgICB0ciB7XHJcbiAgICAgICYuc2hvdy1mb3ItcG9ydHJhaXQsXHJcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cclxuICAgIH1cclxuICAgIHRkLFxyXG4gICAgdGgge1xyXG4gICAgICAmLnNob3ctZm9yLXBvcnRyYWl0LFxyXG4gICAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyogVG91Y2gtZW5hYmxlZCBkZXZpY2UgdGFyZ2V0aW5nICovXHJcbiAgLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcbiAgLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XHJcbiAgLnRvdWNoIC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxyXG4gIC50b3VjaCAuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxuXHJcbiAgLyogU3BlY2lmaWMgdmlzaWJpbGl0eSBmb3IgdGFibGVzICovXHJcbiAgdGFibGUuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XHJcbiAgLnRvdWNoIHRhYmxlLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxyXG4gIHRoZWFkLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cclxuICAudG91Y2ggdGhlYWQuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxyXG4gIHRib2R5LmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cclxuICAudG91Y2ggdGJvZHkuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxyXG4gIHRyLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cclxuICAudG91Y2ggdHIuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxyXG4gIHRkLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XHJcbiAgLnRvdWNoIHRkLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XHJcbiAgdGguaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cclxuICAudG91Y2ggdGguc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cclxuXHJcbiAgLy8gT25seSBpbmNsdWRlIHRoZXNlIHN0eWxlcyBpZiB5b3Ugd2FudCB0aGVtLlxyXG4gICAgQGlmICRpbmNsdWRlLXByaW50LXN0eWxlcyB7XHJcbiAgICAgIC8qXHJcbiAgICAgICAqIFByaW50IHN0eWxlcy5cclxuICAgICAgICpcclxuICAgICAgICogSW5saW5lZCB0byBhdm9pZCByZXF1aXJlZCBIVFRQIGNvbm5lY3Rpb246IHd3dy5waHBpZWQuY29tL2RlbGF5LWxvYWRpbmcteW91ci1wcmludC1jc3MvXHJcbiAgICAgICAqIENyZWRpdCB0byBQYXVsIElyaXNoIGFuZCBIVE1MNSBCb2lsZXJwbGF0ZSAoaHRtbDVib2lsZXJwbGF0ZS5jb20pXHJcbiAgICAgICovXHJcbiAgICAgIC5wcmludC1vbmx5IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcbiAgICAgIEBtZWRpYSBwcmludCB7XHJcbiAgICAgICAgKiB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50OyAvKiBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zICovXHJcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jazsgfVxyXG4gICAgICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbiAgICAgICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XHJcbiAgICAgICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxyXG4gICAgICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cclxuICAgICAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XHJcbiAgICAgICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cclxuICAgICAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxyXG5cclxuICAgICAgICBhLFxyXG4gICAgICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cclxuICAgICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cclxuXHJcbiAgICAgICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cclxuXHJcbiAgICAgICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyBmb3IgaW1hZ2VzLCBvciBqYXZhc2NyaXB0L2ludGVybmFsIGxpbmtzXHJcbiAgICAgICAgLmlyIGE6YWZ0ZXIsXHJcbiAgICAgICAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxyXG4gICAgICAgIGFbaHJlZl49XCIjXCJdOmFmdGVyIHsgY29udGVudDogXCJcIjsgfVxyXG5cclxuICAgICAgICBwcmUsXHJcbiAgICAgICAgYmxvY2txdW90ZSB7XHJcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYWx1bWludW07XHJcbiAgICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgLyogaDVicC5jb20vdCAqLyB9XHJcblxyXG4gICAgICAgIHRyLFxyXG4gICAgICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxyXG5cclxuICAgICAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxyXG5cclxuICAgICAgICBAcGFnZSB7IG1hcmdpbjogLjVjbTsgfVxyXG5cclxuICAgICAgICBwLFxyXG4gICAgICAgIGgyLFxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgIG9ycGhhbnM6IDM7XHJcbiAgICAgICAgICB3aWRvd3M6IDM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMixcclxuICAgICAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XHJcblxyXG4gICAgICAgIC5oaWRlLW9uLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcbiAgICAgICAgLnByaW50LW9ubHkgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XHJcbiAgICAgICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcbiAgICAgICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgLyogUHJpbnQgdmlzaWJpbGl0eSAqL1xyXG4gICAgQG1lZGlhIHByaW50IHtcclxuICAgICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2s7IH1cclxuICAgICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuICAgICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XHJcbiAgICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cclxuICAgICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxyXG4gICAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XHJcbiAgICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XHJcbiAgICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XHJcbiAgfVxyXG59XHJcbn1cclxuIiwiLy9Qw4FHSU5BIExPR0lOXHJcbi5sb2dpbi1jYWJlY2VyYSB7XHJcbiAgICBib3gtc2hhZG93OiAwIDNweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE4KTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDM7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgY29sb3I6ICM1MTUxNTE7XHJcbiAgICBoZWlnaHQ6IDcwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDFyZW07XHJcbiAgICBpbWcge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgZmlsdGVyOiBpbnZlcnQoMTAwJSk7XHJcbiAgICB9XHJcbiAgICAubG9naW4tY29udGVudCB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxufVxyXG5cclxuLmxvZ2luIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNzBweCk7XHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMnJlbTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvckFkbWluO1xyXG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTgsIDIyKTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG4gICAgLmxvZ2luLXNsaWRlciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAub3JiaXQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgICAgICAgICAgLm9yYml0LXRpbWVyLFxyXG4gICAgICAgICAgICAub3JiaXQtc2xpZGUtbnVtYmVyLFxyXG4gICAgICAgICAgICAub3JiaXQtcHJldixcclxuICAgICAgICAgICAgLm9yYml0LW5leHQge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm9yYml0LXNsaWRlcy1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjkyMHB4KSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxvZ2luLXNsaWRlci1jYXB0aW9uLFxyXG4gICAgICAgICAgICAub3JiaXQtY2FwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAzO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogNTIlO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDUlO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaXplKDI4LCAzMCk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIHRleHQtc2hhZG93OiAwIDAgNnB4IGJsYWNrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMzLjMzJTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgYm90dG9tLCBsZWZ0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDAsIDAsIDAsIDAuNSkgMCUsIHJnYmEoMCwgMCwgMCwgMCkgMTAwJSk7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubG9naW4tZm9ybXUge1xyXG4gICAgICAgIGZsZXg6IDI7XHJcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLmxvZ2luLXBpZSB7XHJcbiAgICAgICAgcGFkZGluZzogMXJlbTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAuY2FwYWNlbnRybyB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogNHJlbSAzcmVtO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXgtd2lkdGg6IDUwcmVtO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggNXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMDMpO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xyXG4gICAgICAgIGZvcm0ge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI1cmVtO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxvZ2luLWZvcm0ge1xyXG4gICAgICAgIC5pbnB1dC1ncm91cCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlOGU3ZTc7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mb3JtLWdyb3VwIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtO1xyXG4gICAgICAgICAgICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1JTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IC45cmVtIDAuNzVyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDg1JTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMXJlbSAwLjc1cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sb2dpbi1ib3R0b20tbGlua3MgYSxcclxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdK2xhYmVsLFxyXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0rbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxNCwgMTYpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9ybS1ncm91cC1zZW5kIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvckFkbWluO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMWVtIDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGJsYWNrLCAxKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmxvZ2luLWJvdHRvbS1saW5rcyB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC4ycmVtIDA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogYmxhY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNoZWNrYm94IHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC51c2VyX2NoYW5nZV9wYXNzd29yZCxcclxuICAgIC51c2VyX3Jlc2V0dGluZ19yZXF1ZXN0IHtcclxuICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoMTQsIDE2KTtcclxuICAgICAgICAgICAgJi5mb3JtX2NoYW5nZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2RkNGIzOTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQycHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IC41cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yQWRtaW47XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xyXG4gICAgICAgICAgICBtYXJnaW46IDFlbSAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGJsYWNrLCAxKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhLmxpbmsge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IC44ZW07XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnVzZXJfY2hhbmdlX3Bhc3N3b3JkIHtcclxuICAgIG1heC13aWR0aDogNDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nOiAycmVtO1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDBweCA1cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4wMyk7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIGlucHV0IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICBwYWRkaW5nOiAxcmVtIDAuNzVyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbiNjaGFuZ2VfcGFzc3dvcmRfZm9ybSB7XHJcbiAgICAucm93IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgfVxyXG59XHJcbiIsImJvZHkge1xyXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgYmFja2dyb3VuZDogJGdyYXkxO1xyXG4gICAgLy9tYXgtd2lkdGg6IDE4MDBweDsgXHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLy8gQ2FiZWNlcmEgZ2VuZXJhbFxyXG4jaGVhZGVyX2luZm8ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYW5jbztcclxuICAgIGNvbG9yOiAkY29sb3J0eHRjYWJlY2VyYTtcclxuICAgIHBhZGRpbmc6IDA7ICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwwLDAsMC41KTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvKiBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTU0ZGVnLCAkZm9uZG9jYWJlY2VyYSAwLCAkc2VjdW5kYXJpb2NhYmVjZXJhIDEwMCUpOyAqL1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTIwcHgpIHtcclxuICAgICAgICAjaGVhZGVyX2RhdGEge1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MjFweCkge1xyXG4gICAgICAgICNoZWFkZXJfZGF0YSB7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAjaGVhZGVyX3RpdGxlIHtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAjaGVhZGVyX2JyZWFkY3J1bWIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnB4O1xyXG4gICAgfVxyXG4gICAgI2hlYWRlcl9sb2dvIHtcclxuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDU1KTtcclxuICAgICAgICB3aWR0aDogMTMwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMzBweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgICAgICAgIC8qIGZpbHRlcjogJGxvZ29pbnZlcnQ7ICovXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgI2hlYWRlcl91c2VyIHtcclxuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDU1KTtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMCk7XHJcbiAgICAgICAgZm9udC1zaXplOiA3MCU7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gSWRpb21hc1xyXG4udGFic19pZGlvbWFzIHtcclxuICAgIHVsLnRhYnMgLnRhYi10aXRsZSBhIHtcclxuICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuICAgICAgICBmb250LXNpemU6IDgwJTtcclxuICAgIH1cclxuICAgIC50YWJzLWNvbnRlbnQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgIH1cclxuICAgIC50YWJzLWNvbnRlbnQgLmNvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pZGlvbWFzQ2FiIHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMXJlbTtcclxuICAgIHRvcDogMS41cmVtO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLXRvcDogMDtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vICAgICAgTE9DQUxJWkFSIE9SSUdFTlxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi5yb3cge1xyXG4gICAgbWF4LXdpZHRoOiBub25lO1xyXG59XHJcblxyXG4uaW5saW5lIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLnJvd0Zvcm1EYXRlVGltZSBzZWxlY3Qge1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbn1cclxuXHJcbiNjYXJnYW5kbyB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xyXG4gICAgei1pbmRleDogMjE0NzQ4MzY0NztcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgICBpLmZhLXNwaW5uZXIge1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICBmb250LXNpemU6IDNyZW07XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICBmb250LXNpemU6IDZyZW0haW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5kaXYuZXJyb3IgdWwsXHJcbi5lbnRpdHlfZm9ybV9lcnJvciB1bCB7XHJcbiAgICBjb2xvcjogI2RkNGIzOTtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5wYW5lbC5wYW5lbF9taW5pIHtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIHAsXHJcbiAgICB1bCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yZXZlYWwtbW9kYWwge1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLnJldmVhbC1tb2RhbC1iZyB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbn1cclxuXHJcbi5lbnRpdHlfc2hvd19sYWJlbCB7XHJcbiAgICB3aWR0aDogMzAlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4uZW50aXR5X3Nob3dfdmFsdWUge1xyXG4gICAgd2lkdGg6IDY1JTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxubGVnZW5kIHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG59XHJcblxyXG4ubmV3UmVsT2JqZWN0IHtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG59XHJcblxyXG4ubmV3UmVsT2JqZWN0IGltZyB7XHJcbiAgICB3aWR0aDogMTZweDtcclxufVxyXG5cclxuc2VsZWN0W211bHRpcGxlXSB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi5lbnRpdHlfcmVsYXRpb25fZm9ybV9yb3cgdWwge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG5cclxuLmVudGl0eV9yZWxhdGlvbl9mb3JtX3JvdyB1bCBsaSAucm93IHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxufVxyXG5cclxuLmVudGl0eV9yZWxhdGlvbl9mb3JtX3JvdyBsZWdlbmQgbGFiZWwge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4uZW50aXR5X3JlbGF0aW9uX2Zvcm1fcm93IGxlZ2VuZCBpbWcge1xyXG4gICAgd2lkdGg6IDE2cHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xyXG59XHJcblxyXG4uZGVsZXRlLXJlbGF0aW9uIHtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbn1cclxuXHJcbi53aWR0aEF1dG8ge1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbn1cclxuXHJcbi5maWx0ZXJfZWxlbWVudCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgIG1hcmdpbi10b3A6IDhweDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuXHJcbi8qLmZpbHRlcl9lbGVtZW50IGxhYmVse1xyXG4gIG1hcmdpbi1yaWdodDogMTBweDtcclxufSovXHJcblxyXG4uZmlsdGVyX2VsZW1lbnQgaW5wdXQsXHJcbi5maWx0ZXJfZWxlbWVudCBzZWxlY3QsXHJcbi5maWx0ZXJfZWxlbWVudCB0ZXh0YXJlYSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi5maWx0ZXJfZWxlbWVudCBpbnB1dCxcclxuLmZpbHRlcl9lbGVtZW50IHRleHRhcmVhLFxyXG4uZmlsdGVyX2VsZW1lbnQgc2VsZWN0LkpTc2VsZWN0Mk5vIHtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG59XHJcblxyXG5cclxuLyouZmlsdGVyX2VsZW1lbnQgLnNlbGVjdDItY29udGFpbmVye1xyXG4gIG1hcmdpbi1ib3R0b206IDBweDtcclxufSovXHJcblxyXG4uZm9ybV9jaGFuZ2Uge1xyXG4gICAgY29sb3I6ICRjb2xvckFsZXJ0VGV4dDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvckFsZXJ0Qmc7XHJcbiAgICAvKnBhZGRpbmctbGVmdDogMC4ycmVtIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDAuMnJlbSFpbXBvcnRhbnQ7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDsqL1xyXG59XHJcblxyXG4uZm9ybV9jaGFuZ2Vfc3VibWl0IHtcclxuICAgIGNvbG9yOiAkY29sb3JBbGVydFRleHQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JBbGVydEJnO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3JBbGVydEJnO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAuSlNhbGVydEZvcm1DaGFuZ2UgeyBcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTsgXHJcbiAgICB9XHJcbiAgICAuSlNhbGVydEZvcm1DaGFuZ2U6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIGRpc3BsYXk6IGluaXRpYWw7XHJcbiAgICB9XHJcbn1cclxuXHJcbi50b3AtYmFyIHtcclxuICAgIEBpbmNsdWRlIGRlZ3JhZGFkbztcclxuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgbGkudXNlci1sYW5ncyB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvckFkbWluO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRvcC1iYXItc2VjdGlvbiAubm90LWNsaWNrPmE6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgfVxyXG4gICAgLnRvcC1iYXItc2VjdGlvbiBhIHtcclxuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NDFweCkge1xyXG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24+dWw+LmRpdmlkZXIsXHJcbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbj51bD5bcm9sZT1cInNlcGFyYXRvclwiXSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMi41cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50b3AtYmFyLXNlY3Rpb24gLmxlZnQgbGk6bm90KC5oYXMtZm9ybSkgYTpub3QoLmJ1dHRvbikgeyBtaW4td2lkdGg6IDEyMHB4OyB0ZXh0LWFsaWduOiBsZWZ0OyB9IFxyXG4gICAgLnRvcC1iYXItc2VjdGlvbiAucmlnaHQgbGkuaGFzLWRyb3Bkb3duID4gYSB7IG1pbi13aWR0aDogNjBweDsgdGV4dC1hbGlnbjogbGVmdDsgfVxyXG4gICAgLnRvcC1iYXItc2VjdGlvbiBsaTpub3QoLmhhcy1mb3JtKSBhOm5vdCguYnV0dG9uKSB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcclxuICAgICAgICBwYWRkaW5nOiAwIDAuNXJlbTtcclxuICAgICAgICBAaW5jbHVkZSBkZWdyYWRhZG87XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpLFxyXG4gICAgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGk6bm90KC5oYXMtZm9ybSk6bm90KC5hY3RpdmUpPmE6bm90KC5idXR0b24pIHtcclxuICAgICAgICBAaW5jbHVkZSBkZWdyYWRhZG87XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYXp1bG9zY3VybztcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXI6bm90KC51c2VyLWRhdGEpOm5vdCgudXNlci1sYW5ncykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXp1bG9zY3VybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zZXAge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNDIsIDI0NCwgMjQ3LCAuNik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSB7XHJcbiAgICAgICAgLy9iYWNrZ3JvdW5kOiAkYXp1bG1lZGlvO1xyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgdG9wOiAzcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWRyb3Bkb3duPmE6YWZ0ZXIge1xyXG4gICAgICAgIHRvcDogMS4ycmVtO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUdDQVlBQUFENjhBL0dBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQnpTVVJCVkhnQmJjeXhEWUFnRkFUUXcxalo2Q2l1WU84T01vSzFGRlQyT2dGeEFoTkQ3d29PWklMOEh5Skl2T1JJdUR3QUtIcHZNUHJtMFhFcitMekxFNVZ2aWduUnJxeWhhOG1qY3l1RU1BRjNxTU5qb1BWZGlJajNoK21RakIydXNIb2tKT1orKzhJVWN5TDZEMkZsaDN4K0FIeU9JVCs2eE5oT0FBQUFBRWxGVGtTdVFtQ0MpO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSBjZW50ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA2cHg7XHJcbiAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcclxuICAgIH1cclxuICAgIC51c2VyLWRhdGEge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRmb25kb2NhYmVjZXJhO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEpO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKTtcclxuICAgICAgICBwYWRkaW5nOiAuNzVyZW0gMXJlbTtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGF6dWxvc2N1cm8gIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogOTAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gR2VuZXJhbGVzIHRhYmxhICdEYXRhVGFibGVzJ1xyXG50YWJsZSB7XHJcbiAgICAub25vZmZzd2l0Y2gge1xyXG4gICAgICAgIG1heC13aWR0aDogNjBweDtcclxuICAgICAgICAub25vZmZzd2l0Y2gtc3dpdGNoIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZCtsYWJlbCxcclxuICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQrbGFiZWwge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDYwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5vbm9mZnN3aXRjaC1pbm5lciB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlLFxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjhweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG50YWJsZSB7XHJcbiAgICBpbWcge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgIH1cclxuICAgICYuZGlzcGxheSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgdGgucHJpbWVybyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGgub3BjaW9uZXMge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHIuaGVhZGluZzIgdGQge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FhYTtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhlYWQgdHIgdGgge1xyXG4gICAgICAgIHBhZGRpbmc6IDFyZW0gLjc1cmVtO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvckNhYmVjZXJhVGFibGE7XHJcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgICAgIC8qQ29sdW1uYSBzaW4gb3JkZW5hbWllbnRvKi9cclxuICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBmb250LWZhbWlseTogJGhlYWRlcnMtZm9udDtcclxuICAgIH1cclxuICAgIHRmb290IHRoIHtcclxuICAgICAgICBwYWRkaW5nOiAzcHggNXB4IDNweCA1cHg7XHJcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgICAgIC8qQ29sdW1uYSBzaW4gb3JkZW5hbWllbnRvKi9cclxuICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB9XHJcbiAgICB0ZCB7XHJcbiAgICAgICAgcGFkZGluZzogM3B4IDVweDtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgLy9zd2l0Y2hlciB0YWJsZVxyXG4gICAgICAgID4ub25vZmZzd2l0Y2gge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgLm9ub2Zmc3dpdGNoLWlubmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZGF0YVRhYmxlc193cmFwcGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gICAgem9vbTogMTtcclxuICAgIHotaW5kZXg6IDA7XHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX3Byb2Nlc3Npbmcge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogYXV0bztcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDEwMHZ3O1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmZhMztcclxuICAgIC5mYSB7XHJcbiAgICAgICAgZm9udC1zaXplOiA2cmVtICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIENvbWJvIGRlIG51bWVybyBkZSByZWdpc3Ryb3NcclxuLmRhdGFUYWJsZXNfbGVuZ3RoIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6ICM3ODc4Nzg7XHJcbiAgICBwYWRkaW5nOiAxcmVtIDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBzZWxlY3Qge1xyXG4gICAgICAgIG1hcmdpbjogMCAuNXJlbTtcclxuICAgICAgICBwYWRkaW5nOiAwLjVyZW07XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgIHdpZHRoOiA1NXB4O1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDgwcHgpIHtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBCdXNjYWRvciBkZSBkYXRvc1xyXG4uZGF0YVRhYmxlc19maWx0ZXIge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICB3aWR0aDogY2FsYygxODBweCArIDAuNXJlbSk7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSBhbmQgKG1heC13aWR0aDo3NjhweCkge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIG1heC13aWR0aDogNzAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDtcclxuICAgIH1cclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NzY5cHgpIHtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgcGFkZGluZzogMXJlbTtcclxuICAgIH1cclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGxhYmVsIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgfVxyXG4gICAgaW5wdXQge1xyXG4gICAgICAgIG1hcmdpbjogMCAuNXJlbTtcclxuICAgICAgICBwYWRkaW5nOiAuNXJlbTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgd2lkdGg6IDE4MHB4O1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheTM7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgIGNvbG9yOiAkZ3JheTU7XHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmRhdGFUYWJsZXNfcGFnaW5hdGUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmbG9hdDogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG59XHJcblxyXG4uZGF0YVRhYmxlc19sZW5ndGgsXHJcbi5kYXRhVGFibGVzX2ZpbHRlcixcclxuLmRhdGFUYWJsZXNfaW5mbyxcclxuLmRhdGFUYWJsZXNfcGFnaW5hdGUge1xyXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFpbXBvcnRhbnQ7XHJcbiAgICBAaW5jbHVkZSBzaXplKDEyLCAxNCk7XHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX2luZm8ge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG4gICAgQGluY2x1ZGUgc2l6ZSgxMSwgMTIpO1xyXG4gICAgY29sb3I6ICRncmF5NTtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTIwcHgpIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIFBhZ2luYXRpb24gbmVzdGVkICovXHJcblxyXG4ucGFnaW5hdGVfZGlzYWJsZWRfcHJldmlvdXMsXHJcbi5wYWdpbmF0ZV9lbmFibGVkX3ByZXZpb3VzLFxyXG4ucGFnaW5hdGVfZGlzYWJsZWRfbmV4dCxcclxuLnBhZ2luYXRlX2VuYWJsZWRfbmV4dCB7XHJcbiAgICBoZWlnaHQ6IDE5cHg7XHJcbiAgICB3aWR0aDogMTlweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxufVxyXG5cclxuLy8gRGF0YVRhYmxlcyA+IE9yZGVuYWNpb25cclxuLnNvcnRpbmdfYXNjIHtcclxuICAgIGJhY2tncm91bmQ6ICRncmF5NCB1cmwoJy4uLy4uL2ltYWdlcy9zb3J0X2FzYy5wbmcnKSBuby1yZXBlYXQgY2VudGVyIHJpZ2h0O1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG59XHJcblxyXG4uc29ydGluZ19kZXNjIHtcclxuICAgIGJhY2tncm91bmQ6ICRncmF5NCB1cmwoJy4uLy4uL2ltYWdlcy9zb3J0X2Rlc2MucG5nJykgbm8tcmVwZWF0IGNlbnRlciByaWdodDtcclxuICAgIGNvbG9yOiBibGFjaztcclxufVxyXG5cclxuLnNvcnRpbmcge1xyXG4gICAgYmFja2dyb3VuZDogJGdyYXk0IHVybCgnLi4vLi4vaW1hZ2VzL3NvcnRfYm90aC5wbmcnKSBuby1yZXBlYXQgY2VudGVyIHJpZ2h0O1xyXG4gICAgY29sb3I6ICM3Nzc7XHJcbn1cclxuXHJcbi5zb3J0aW5nX2FzY19kaXNhYmxlZCxcclxuLnNvcnRpbmdfZGlzYWJsZWQge1xyXG4gICAgYmFja2dyb3VuZDogJGdyYXk0IHVybCgnLi4vLi4vaW1hZ2VzL3NvcnRfYXNjX2Rpc2FibGVkLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgcmlnaHQ7XHJcbiAgICBjb2xvcjogIzc3NztcclxufVxyXG5cclxuLnNvcnRpbmdfZGVzY19kaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkZ3JheTQgdXJsKCcuLi8uLi9pbWFnZXMvc29ydF9kZXNjX2Rpc2FibGVkLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgcmlnaHQ7XHJcbn1cclxuXHJcbi5zb3J0aW5nX2Rpc2FibGVkIHtcclxuICAgIGJhY2tncm91bmQ6ICRncmF5NDtcclxufVxyXG5cclxuLy8gRGF0YVRhYmxlcyA+IGNsYXNlcyBkZSBmaWxhc1xyXG5cclxudHIuZXZlbixcclxudHIuZXZlbiB0ZCxcclxudHIuZXZlbiAudGRPcGNpb25lcyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhbmNvO1xyXG59XHJcblxyXG4udGhPcGNpb25lcyxcclxuLnRkT3BjaW9uZXMge1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAuZmEge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTtcclxuICAgIH1cclxufVxyXG5cclxudHIuZXZlbi5yb3dfc2VsZWN0ZWQgdGQsXHJcbnRyLmV2ZW4ucm93X3NlbGVjdGVkIHRkLnRkT3BjaW9uZXMsXHJcbnRyLm9kZC5yb3dfc2VsZWN0ZWQgdGQsXHJcbnRyLm9kZC5yb3dfc2VsZWN0ZWQgdGQudGRPcGNpb25lcyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2FybmluZzMwICFpbXBvcnRhbnQ7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5MiAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG50Ym9keSB0ci5vZGQ6bm90KC5yb3dfc2VsZWN0ZWQpOmhvdmVyIHRkLFxyXG50Ym9keSB0ci5ldmVuOm5vdCgucm93X3NlbGVjdGVkKTpob3ZlciB0ZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTIgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi8qICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogTWlzYyAqL1xyXG5cclxuLnRvcCxcclxuLmJvdHRvbSB7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbn1cclxuXHJcbi50b3AgLmRhdGFUYWJsZXNfaW5mbyB7XHJcbiAgICBmbG9hdDogbm9uZTtcclxufVxyXG5cclxuLmNsZWFyIHtcclxuICAgIGNsZWFyOiBib3RoO1xyXG59XHJcblxyXG4uZGF0YVRhYmxlc19lbXB0eSxcclxuLmNlbnRyYWRvLFxyXG4uZHRDZW50cmFkbyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbnRmb290IGlucHV0IHtcclxuICAgIG1hcmdpbjogMC41ZW0gMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgY29sb3I6ICM0NDQ7XHJcbn1cclxuXHJcbnRmb290IGlucHV0LnNlYXJjaF9pbml0IHtcclxuICAgIGNvbG9yOiAjOTk5O1xyXG59XHJcblxyXG50ZC5ncm91cCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDFjZmQwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNBMTlCOUU7XHJcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI0ExOUI5RTtcclxufVxyXG5cclxudGQuZGV0YWlscyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDFjZmQwO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgI0ExOUI5RTtcclxufVxyXG5cclxuLmV4YW1wbGVfYWx0X3BhZ2luYXRpb24gZGl2LmRhdGFUYWJsZXNfaW5mbyB7XHJcbiAgICB3aWR0aDogNDAlO1xyXG59XHJcblxyXG4ucGFnaW5nX2Z1bGxfbnVtYmVycyB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkyMHB4KSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgPnNwYW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgID5hIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkZ3JheTU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgLjVzO1xyXG4gICAgICAgICYuY3VycmVudCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhenVsb3NjdXJvO1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsYW5jbztcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYWdpbmF0ZV9idXR0b24sXHJcbiAgICAucGFnaW5hdGVfYWN0aXZlIHtcclxuICAgICAgICBwYWRkaW5nOiAuNXJlbSAuOHJlbTtcclxuICAgICAgICBtYXJnaW46IDAgLjVyZW07XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gICAgLnBhZ2luYXRlX2J1dHRvbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgY29sb3I6ICRncmF5NTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXp1bG9zY3VybztcclxuICAgICAgICAgICAgY29sb3I6ICRibGFuY287XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IC41O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MjBweCkge1xyXG4gICAgICAgICAgICAmLmZpcnN0LFxyXG4gICAgICAgICAgICAmLmxhc3Qge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAzNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYucHJldmlvdXMsXHJcbiAgICAgICAgICAgICYubmV4dCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5maXJzdCB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYubGFzdCB7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYWdpbmF0ZV9hY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvckNhYmVjZXJhVGFibGE7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcbn1cclxuXHJcbnRhYmxlLktleVRhYmxlIHRkIHtcclxuICAgIGJvcmRlcjogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG5kaXYuYm94IHtcclxuICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjODA4MEZGO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U1RTVGRjtcclxufVxyXG5cclxuXHJcbi8qY2FtYmlvcyBkbWNvcnBvcmF0aXZlKi9cclxuXHJcbiNjYXBhRmlsdHJvIHtcclxuICAgIHdpZHRoOiAyMDBweDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgYmFja2dyb3VuZDogI2YwZjBmMDtcclxuICAgIG1hcmdpbjogMCAzcHggNXB4IDA7XHJcbiAgICBwYWRkaW5nOiA2cHggMTVweCA3cHggMTVweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNDBweDtcclxuICAgIHJpZ2h0OiA0ODFweDtcclxuICAgIHotaW5kZXg6IDU7XHJcbn1cclxuXHJcbnNlbGVjdCNmaWx0cm8ge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICBtYXJnaW46IDAgNXB4IDAgMDtcclxufVxyXG5cclxuXHJcbi8qY29tZW56YW1vcyBsYSB0YWJsYSovXHJcblxyXG4jdGFibGFDb250ZW5pZG8ge1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbn1cclxuXHJcbiN0YWJsYUNvbnRlbmlkb19NYXJjYSB7XHJcbiAgICB0ZD5pbWcge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcclxuICAgIH1cclxuICAgIHRkPmltZyticiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIHRyPnRkOm50aC1jaGlsZCgzKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4udGFibGFDb250ZW5pZG8ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgbWFyZ2luOiAxcmVtIDA7XHJcbiAgICBib3JkZXItc3BhY2luZzogMDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkyMHB4KSB7XHJcbiAgICAgICAgbWFyZ2luOiAycmVtIDA7XHJcbiAgICB9XHJcbiAgICB0aC5zb3J0aW5nX2FzYyt0aC5zb3J0aW5nX2FzYyB7XHJcbiAgICAgICAgY29sb3I6ICRibGFuY287XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGdyYXk0IHVybCguLi8uLi9pbWFnZXMvc29ydF9ib3RoLjBiZDM0ZDY0LnBuZykgbm8tcmVwZWF0IGNlbnRlciByaWdodDtcclxuICAgICAgICArdGguc29ydGluZ19hc2Mge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsYW5jbztcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyYXk0IHVybCguLi8uLi9pbWFnZXMvc29ydF9ib3RoLjBiZDM0ZDY0LnBuZykgbm8tcmVwZWF0IGNlbnRlciByaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAjY2FiZWNlcmFUYWJsYSB7XHJcbiAgICAgICAgdGgge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMTIlO1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsYW5jbztcclxuICAgICAgICB9XHJcbiAgICAgICAgdGg6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHggMHB4IDBweCAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwcHggNHB4IDBweCAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGJvZHkge1xyXG4gICAgICAgIHRyIHtcclxuICAgICAgICAgICAgdGQ6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5MztcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheTM7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXk1O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi50YWJsYUNvbnRlbmlkbyB0ciB0aCB7XHJcbiAgICAmLnNvcnRpbmdfZGVzYyxcclxuICAgICYuc29ydGluZ19hc2Mge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbnRhYmxlIHRyIHRoLFxyXG50YWJsZSB0ciB0ZCxcclxudGFibGUgdGhlYWQgdHIgdGgsXHJcbnRhYmxlIHRoZWFkIHRyIHRkIHtcclxuICAgIGZvbnQtc2l6ZTogLjg1ZW07XHJcbn1cclxuXHJcbi8vVGFibGEgPiBMaXN0YSB2YXJpb3MgZGF0b3MgTU5cclxuLmxpc3RhX3JlbGFjaW9uZXMge1xyXG4gICAgbWF4LWhlaWdodDogaW5oZXJpdDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgb3ZlcmZsb3cteDogYXV0bztcclxuICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gICAgbGkge1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZzogMCAycHg7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIHxcIlxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmxhc3QtY2hpbGQ6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL1BhbnRhbGxhIHBlcm1pc29zIGRlIHVzdWFyaW9zXHJcbnRhYmxlI3RhYmxhQ29udGVuaWRvX1Blcm1pc29zIHtcclxuICAgIGJvcmRlci1zcGFjaW5nOiAxcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZGRkO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgdGhlYWQgdHIgdGgge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvckNhYmVjZXJhVGFibGE7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgdGJvZHkgdHIge1xyXG4gICAgICAgIHRoLFxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAgICAgLmxldmVsMSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxldmVsMiB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHRoLFxyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBFc3RpbG9zIHBhcmEgcGFudGFsbGFzIG1lbm9yZXMgYSAxMDI0cHhcclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcclxuICAgIC8qI3RhYmxhQ29udGVuaWRvX0NvbmdyZXNvIHtcclxuXHQgXHR0Ym9keSB0ciB0ZDpudGgtY2hpbGQoNCkgYSB7ZGlzcGxheTpibG9jazsgd2lkdGg6MTZweDsgaGVpZ2h0OjE2cHg7IHRleHQtaW5kZW50OiA1MHB4OyBvdmVyZmxvdzpoaWRkZW47XHJcblx0IFx0XHQmOmJlZm9yZSB7Y29udGVudDpcIu+CjlwiOyBmb250LWZhbWlseTpmb250YXdlc29tZTsgZGlzcGxheTpibG9jaztjb2xvcjogIzAwMDsgZm9udC1zaXplOiAxLjJlbTsgdGV4dC1pbmRlbnQ6IDA7fVxyXG5cdCBcdFx0Jjpob3ZlciB7QGluY2x1ZGUgb3BhY2l0eSgwLjUpO31cclxuXHQgXHR9XHJcblx0IH0gKi9cclxufVxyXG5cclxuLy8gT3BjaW9uZXMgdGFibGFcclxuLmJsb3F1ZVNlbGVjY2lvbiB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWluaSkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW46IDAgMCAycmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4jY2FwYW9wY2lvbmVzIHtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDFyZW07XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1pbmkpIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luOiAxcmVtIDAgMnJlbTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwcHggNnB4IDZweCA2cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICBwYWRkaW5nOiAwLjc1cmVtO1xyXG4gICAgICAgIC8vZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIGEgLmZhIHtcclxuICAgICAgICBjb2xvcjogJGF6dWxvc2N1cm87XHJcbiAgICB9XHJcbiAgICBhLFxyXG4gICAgLmFuYWRpclJlZ2lzdHJvLFxyXG4gICAgLmVsaW1pbmFyUmVnaXN0cm9zLFxyXG4gICAgLnNlbGVjY2lvbmFyVG9kb3MsXHJcbiAgICAuZGVzZWxlY2Npb25hclRvZG9zIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4O1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICBjb2xvcjogJGF6dWxvc2N1cm87XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuMjVzIGVhc2U7XHJcbiAgICAgICAgcGFkZGluZzogM3B4IDAuNWVtO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFuY287XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWluaSkge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JheTUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFuY28gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhenVsb3NjdXJvO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC41cmVtO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtaW5pKSB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogYXR0cih0aXRsZSk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaXplKDExLCAxMik7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogLjdyZW0gMCAwIC41cmVtO1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMnJlbTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyBlYXNlO1xyXG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1pbmkpIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDIuNXJlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxOTBweDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8qJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIodGl0bGUpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDExLFxyXG4gICAgICAgICAgICAxMik7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IC43cmVtIDAgMCAuNXJlbTtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAycmVtO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGVhc2U7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtaW5pKSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMi41cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSovXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgY29sb3I6ICRibGFuY28gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgLyp3aWR0aDogMTkwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7Ki9cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGF6dWxvc2N1cm87XHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFuY28gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvKiY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIH0qL1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEucWxpa3NlbnNlOmhvdmVyIHtcclxuICAgICAgICB3aWR0aDogMjUwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi50YWJzLWNvbnRlbnQge1xyXG4gICAgbWFyZ2luLXRvcDogMC4zNXJlbTtcclxufVxyXG5cclxudGJvZHkgdGQudGRPcGNpb25lcyBhIHtcclxuICAgIGNvbG9yOiAkZ3JheTU7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcclxuICAgIHBhZGRpbmc6IDAgMC4yZW07XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dCAwcztcclxuICAgIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtICFpbXBvcnRhbnQ7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG4udGRPcGNpb25lcyBhOjphZnRlciB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi1sZWZ0OiAuMzVyZW07XHJcbiAgICBjb250ZW50OiBhdHRyKHRpdGxlKTtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xyXG4gICAgbWFyZ2luLXRvcDogLTRweDtcclxufVxyXG5cclxuLy8gRGF0YVRhYmxlcyBSZXNwb25zaXZlXHJcbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCB0Ym9keSB0ZDpmaXJzdC1jaGlsZCxcclxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkIHRib2R5IHRoOmZpcnN0LWNoaWxkIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmctbGVmdDogNDBweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTIwJTtcclxuICAgIGNvbG9yOiAjNDY0QzU2O1xyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQ6YmVmb3JlLFxyXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgdGJvZHkgdGg6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcclxuICAgIHRvcDogMTNweDtcclxuICAgIGxlZnQ6IDEycHg7XHJcbiAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJHdhcm5pbmc7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgICBjb250ZW50OiAnKyc7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2FybmluZztcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkIHRib2R5IHRkOmZpcnN0LWNoaWxkLmRhdGFUYWJsZXNfZW1wdHk6YmVmb3JlLFxyXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgdGJvZHkgdGg6Zmlyc3QtY2hpbGQuZGF0YVRhYmxlc19lbXB0eTpiZWZvcmUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkIHRib2R5IHRyLnBhcmVudCB0ZDpmaXJzdC1jaGlsZDpiZWZvcmUsXHJcbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCB0Ym9keSB0ci5wYXJlbnQgdGg6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICdfJztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5MztcclxuICAgIGJvcmRlci1jb2xvcjogJGdyYXkzO1xyXG4gICAgbGluZS1oZWlnaHQ6IDAuMzU7XHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCB0Ym9keSB0ci5jaGlsZCB0ZDpiZWZvcmUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmR0ci1jb2x1bW4gdGJvZHkgdGQuY29udHJvbCxcclxudGFibGUuZGF0YVRhYmxlLmR0ci1jb2x1bW4gdGJvZHkgdGguY29udHJvbCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZS5kdHItY29sdW1uIHRib2R5IHRkLmNvbnRyb2w6YmVmb3JlLFxyXG50YWJsZS5kYXRhVGFibGUuZHRyLWNvbHVtbiB0Ym9keSB0aC5jb250cm9sOmJlZm9yZSB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIGhlaWdodDogMTZweDtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDNweCAjNDQ0O1xyXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgICBjb250ZW50OiAnKyc7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzFiMTMxO1xyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUuZHRyLWNvbHVtbiB0Ym9keSB0ci5wYXJlbnQgdGQuY29udHJvbDpiZWZvcmUsXHJcbnRhYmxlLmRhdGFUYWJsZS5kdHItY29sdW1uIHRib2R5IHRyLnBhcmVudCB0aC5jb250cm9sOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnLSc7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDMzMzMzO1xyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUgdHIuY2hpbGQge1xyXG4gICAgcGFkZGluZzogMC41ZW0gMWVtO1xyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUgdHIuY2hpbGQ6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlIHRyLmNoaWxkIHVsIHtcclxuICAgIC8qZGlzcGxheTogaW5saW5lLWJsb2NrOyovXHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZSB0ci5jaGlsZCB1bCBsaSB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VmZWZlZjtcclxuICAgIHBhZGRpbmc6IDAuNWVtIDA7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUgdHIuY2hpbGQgdWwgbGk6Zmlyc3QtY2hpbGQge1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZSB0ci5jaGlsZCB1bCBsaTpsYXN0LWNoaWxkIHtcclxuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZSB0ci5jaGlsZCBzcGFuLmR0ci10aXRsZSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtaW4td2lkdGg6IDc1cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xyXG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTEyJTtcclxuICAgIGNvbG9yOiAkZ3JheTU7XHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZSB0ci5jaGlsZCBzcGFuLmR0ci1kYXRhIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDExMiU7XHJcbiAgICBjb2xvcjogJGdyYXk1O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZSB0ci5jaGlsZCBzcGFuLmR0ci1kYXRhIHVsIGxpIHtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nOiAwIC40ZW0gMCAuNGVtO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggI2NkY2RjZDtcclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4udGRDaGVja2JveCB7XHJcbiAgICB3aWR0aDogMS41cmVtO1xyXG4gICAgLkpTY2hlY2tib3hBbGwge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKkZJTFRST1MqL1xyXG5cclxuZmllbGRzZXQge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgbWFyZ2luOiAwIDFyZW0gMnJlbTtcclxuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xyXG4gICAgYmFja2dyb3VuZDogJGJsYW5jbztcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkyMHB4KSB7XHJcbiAgICAgICAgcGFkZGluZzogLjVyZW0gLjc1cmVtO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgICBwYWRkaW5nOiAxcmVtIC41cmVtO1xyXG4gICAgICAgIG1hcmdpbjogMCAxcmVtIDFyZW07XHJcbiAgICB9XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsXHJcbiAgICAjMDAwMDAwMGEsXHJcbiAgICAjMDAwMDAwMDMpO1xyXG4gICAgLmZpbHRlcl9lbGVtZW50IHtcclxuICAgICAgICAvL292ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgY3Vyc29yOiBhdXRvO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMThweDtcclxuICAgICAgICBtYXJnaW46IDAgMCAwLjI1cmVtIDA7XHJcbiAgICAgICAgcGFkZGluZzogMCAuNXJlbSAwIDA7XHJcbiAgICAgICAgY29sb3I6ICRncmF5NTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdK2xhYmVsLFxyXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdK2xhYmVsIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuICAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcclxuICAgIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cIndlZWtcIl0sXHJcbiAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcbiAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcclxuICAgIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXHJcbiAgICBpbnB1dFt0eXBlPVwidGltZVwiXSxcclxuICAgIGlucHV0W3R5cGU9XCJ1cmxcIl0sXHJcbiAgICBpbnB1dFt0eXBlPVwiY29sb3JcIl0sXHJcbiAgICB0ZXh0YXJlYSxcclxuICAgIHNlbGVjdCB7XHJcbiAgICAgICAgcGFkZGluZzogLjVyZW0gMC43NXJlbTtcclxuICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDM4cHg7XHJcbiAgICB9XHJcbiAgICAuZmRhdGVwaWNrZXI6YWZ0ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMDczXCI7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xyXG4gICAgfVxyXG4gICAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlLFxyXG4gICAgc2VsZWN0IHtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMC4yNXJlbSAuNXJlbTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICB9XHJcbiAgICBsZWdlbmQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGNvbG9yOiAkYXp1bG9zY3VybztcclxuICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbGVmdDogLTAuNXJlbTtcclxuICAgICAgICB0b3A6IC0xcmVtO1xyXG4gICAgfVxyXG4gICAgJi50cmFuc2xhdGlvbnMge1xyXG4gICAgICAgIHBhZGRpbmc6IC41cmVtIDA7XHJcbiAgICAgICAgbGVnZW5kIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoMTIsXHJcbiAgICAgICAgICAgIDEzKTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNGQ0ZDRkO1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbHVtbnMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICYuaW5wdXQtdHJhbnMge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgICAgIHRleHRhcmVhIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZm9ybV9jaGFuZ2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGNvbG9yOiAjZGQ0YjM5O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICB9XHJcbiAgICArLmZvcm1GaWx0ZXJPcHRpb25zIHtcclxuICAgICAgICAvKnBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IC0zcmVtO1xyXG4gICAgICAgIHJpZ2h0OiAwOyovXHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTIwcHgpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYS5zZWNvbmRhcnkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYTpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBjb2xvcjogJGF6dWxvc2N1cm8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXkzICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZmlsdGVyX2VsZW1lbnQgaW5wdXQsXHJcbiAgICAuZmlsdGVyX2VsZW1lbnQgc2VsZWN0LkpTc2VsZWN0Mk5vIHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICBtaW4td2lkdGg6IDcwcHg7XHJcbiAgICAgICAgbWluLWhlaWdodDogMzRweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICB9XHJcbiAgICAuZmlsdGVyX2VsZW1lbnQgc2VsZWN0LkpTc2VsZWN0Mk5vIHtcclxuICAgICAgICAvL2Zsb2F0OiBsZWZ0O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07XHJcbiAgICB9XHJcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlLFxyXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB1bCxcclxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgdWwgbGkge1xyXG4gICAgICAgIC8vbWF4LWhlaWdodDogMzRweDtcclxuICAgIH1cclxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcclxuICAgICAgICBoZWlnaHQ6IDI2cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQW9BQUFBR0NBWUFBQUQ2OEEvR0FBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFCelNVUkJWSGdCYmN5eERZQWdGQVRRdzFqWjZDaXVZTzhPTW9LMUZGVDJPZ0Z4QWhORDd3b09aSUw4SHlKSXZPUkl1RHdBS0hwdk1Qcm0wWEVyK0x6TEU1VnZpZ25ScnF5aGE4bWpjeXVFTUFGM3FNTmpvUFZkaUlqM2grbVFqQjJ1c0hva0pPWisrOElVY3lMNkQyRmxoM3grQUh5T0lUKzZ4TmhPQUFBQUFFbEZUa1N1UW1DQyk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgfVxyXG4gICAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMixcclxuICAgICAgICAxMyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmZpZWxkc2V0Lm1hcHMge1xyXG4gICAgLmZpbHRlcl9lbGVtZW50IHtcclxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIH1cclxufVxyXG5cclxuLmZpbHRlcl9lbGVtZW50IHtcclxuICAgICYuZm9ybV9jaGFuZ2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGFiZWwsXHJcbiAgICAgICAgbGFiZWwuZm9ybV9jaGFuZ2Uge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgY29sb3I6ICR3YXJuaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbnB1dCxcclxuICAgICAgICBzZWxlY3Qge1xyXG4gICAgICAgICAgICAmLmZvcm1fY2hhbmdlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogYmxhY2s7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDRweCAkd2FybmluZzMwO1xyXG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlLFxyXG4gICAgICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCA0cHggJHdhcm5pbmczMDtcclxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmZpZWxkc2V0IC5mb3JtX2NoYW5nZSB7XHJcbiAgICBjb2xvcjogJGdyYXk1O1xyXG59XHJcblxyXG4uY29sb3ItZ3JleSB7XHJcbiAgICBjb2xvcjogIzc3NztcclxufVxyXG4iLCIucm93IHtcclxuICAgIGgxIHtcclxuICAgICAgICBmb250LXNpemU6IDEuMmVtO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG4gICAgfVxyXG4gICAgaDIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucmVsYXRpdmUge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4udGFibGEge1xyXG4gICAgbWFyZ2luOiAwIDFyZW07XHJcbn1cclxuXHJcbi5mb3JtRmlsdGVyT3B0aW9ucyB7XHJcbiAgICAvKnBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAtNWVtOyovXHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIGEge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEZpbHRyb3NcclxuZm9ybS5KU25vQ2hhbmdlcyB7XHJcbiAgICBmb250LXNpemU6IC43NWVtO1xyXG4gICAgLy9sYWJlbCB7IGZvbnQtc2l6ZToxZW07fVxyXG59XHJcblxyXG5mb3JtLkpTZm9ybUZpbHRlcnMge1xyXG4gICAgZmllbGRzZXQge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDFyZW07XHJcbiAgICAgICAgbGVnZW5kIHtcclxuICAgICAgICAgICAgY29sb3I6ICRncmF5NTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbnNlbGVjdCxcclxuZmlsdGVyX2VsZW1lbnQgc2VsZWN0IHtcclxuICAgIG1pbi13aWR0aDogMTVyZW07XHJcbiAgICBtYXgtd2lkdGg6IDUwJTtcclxufVxyXG5cclxuc2VsZWN0LkpTc2VsZWN0Mk5vLFxyXG5maWx0ZXJfZWxlbWVudCBzZWxlY3QuSlNzZWxlY3QyTm8ge1xyXG4gICAgbWluLXdpZHRoOiAwO1xyXG4gICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXkzO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuc2VsZWN0LkpTc2VsZWN0Mk5vLFxyXG5maWx0ZXJfZWxlbWVudCBzZWxlY3QuSlNzZWxlY3QyTm8ge1xyXG4gICAgbWluLXdpZHRoOiAwO1xyXG4gICAgbWF4LXdpZHRoOiBub25lO1xyXG59XHJcblxyXG5zcGFuLnNlbGVjdDIgeyBcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpbyl7IG1heC13aWR0aDogMTAwJTsgd2lkdGg6IGF1dG8haW1wb3J0YW50O31cclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtZWRpbyl7IG1pbi13aWR0aDogMTVyZW07IG1heC13aWR0aDogNTAwcHg7IHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7fVxyXG59XHJcblxyXG5pbnB1dFt0eXBlPVwidGV4dFwiXS5mWWVhciB7XHJcbiAgICB3aWR0aDogM3JlbTtcclxufVxyXG5cclxuaW5wdXRbdHlwZT1cInVybFwiXSB7XHJcbiAgICB3aWR0aDogMzByZW07XHJcbn1cclxuXHJcbmlucHV0LmlucHV0LWxhcmdlIHtcclxuICAgIHdpZHRoOiAzMHJlbTtcclxufVxyXG5cclxuaW5wdXQuaW5wdXQtbWVkaXVtIHtcclxuICAgIHdpZHRoOiAxN3JlbTtcclxufVxyXG5cclxuaW5wdXQuaW5wdXQtc21hbGwsXHJcbnNlbGVjdC5pbnB1dC1zbWFsbCB7XHJcbiAgICB3aWR0aDogM3JlbTtcclxuICAgIG1pbi13aWR0aDogMDtcclxufVxyXG5cclxuaW5wdXRbdHlwZT1cIm51bWJlclwiXS5pbnB1dC1zbWFsbCB7XHJcbiAgICB3aWR0aDogNHJlbTtcclxufVxyXG5cclxuLnBhbmVsIHtcclxuICAgIHBhZGRpbmc6IDAuNzVyZW07XHJcbiAgICBmb250LXNpemU6IDAuNzVyZW07XHJcbn1cclxuXHJcbi5wcm9ncmVzcyB7XHJcbiAgICAubWV0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb25kb2NhYmVjZXJhO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8qQ09OVEVOSURPIENPTVBFVEVOQ0lBKi9cclxuI2hlYWRlcl9icmVhZGNydW1ieyBmb250LXNpemU6IDExcHg7ICBjb2xvcjogcmdiYSgkY29sb3JBZG1pbiwgLjUpOyAgcGFkZGluZzogLjVyZW0gMDsgbWFyZ2luLWJvdHRvbTogLTFyZW07XHJcbiAgICArIC5hbGVydC1ib3h7IG1hcmdpbjogMS41cmVtIDAgMDsgfVxyXG59XHJcbi5jb250ZW5pZG8tY29tcGV0ZW5jaWF7XHJcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2e2ZvbnQtZmFtaWx5OiAkaGVhZGVycy1mb250OyBmb250LXdlaWdodDogNjAwOyAgbWFyZ2luOiAxLjVyZW0gMCAyLjVyZW07IHBhZGRpbmc6MDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBvdmVyZmxvdzogaGlkZGVuOyBjb2xvcjogJGF6dWxvc2N1cm87IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTM7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkyMHB4KXttYXJnaW4tYm90dG9tOiAzcmVtO31cclxuICAgIH1cclxuICAgIGgxe0BpbmNsdWRlIHNpemUoMTgsMjYpOyB9XHJcbiAgICBidXR0b24uc2Vjb25kYXJ5LCAuYnV0dG9uLnNlY29uZGFyeXsgQGluY2x1ZGUgc2l6ZSgxNCwxNik7IHBhZGRpbmc6IDAuNXJlbSAxcmVtOyBiYWNrZ3JvdW5kOiRhenVsb3NjdXJvOyBib3JkZXI6MXB4IHNvbGlkICRhenVsb3NjdXJvOyBjb2xvcjogJGJsYW5jbzsgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgICAgICY6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOiBub25lOyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTM7IGNvbG9yOiB3aGl0ZTsgYm9yZGVyOjFweCBzb2xpZCAkZ3JheTM7IH1cclxuICAgICB9XHJcbiAgICBidXR0b24sIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIGJ1dHRvbi50aW55eyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JBZG1pbjtwYWRkaW5nOiAuNzVyZW0gMS41cmVtOyBtYXJnaW46IDFlbSAwOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7ICBib3JkZXItcmFkaXVzOiAxcHg7ICBjb2xvcjogI2ZmZjsgIGZvbnQtc2l6ZTogMTRweDsgIHRleHQtYWxpZ246IGNlbnRlcjsgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGJvcmRlcjpub25lOyBcclxuICAgICAgICAgICAgJjpob3ZlcnsgYmFja2dyb3VuZC1jb2xvcjogcmdiYShibGFjaywgMSk7fVxyXG4gICAgICAgICAgICAmLmZvcm1fY2hhbmdlX3N1Ym1pdHsgYmFja2dyb3VuZC1jb2xvcjogIzIxOTZmMzsgXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVye2JhY2tncm91bmQtY29sb3I6ICMyMDdlYzg7IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbn1cclxuXHJcbiBcclxuXHJcbiIsIi8vIENhamFzIGRlIGxvcyBmaWx0cm9zXHJcbi5zZWxlY3QyLWNvbnRhaW5lciB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEpO1xyXG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgLypoZWlnaHQ6IDIuMzEyNXJlbTsqL1xyXG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XHJcbiAgICAgICAgICAgIC8qZGlzcGxheTogYmxvY2s7Ki9cclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJltkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XHJcbiAgICB9XHJcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAvKm1pbi1oZWlnaHQ6IDMycHg7Ki9cclxuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xyXG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSB7XHJcbiAgICAgICAgLy8gZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICAgICAgICBtYXJnaW46IDAuNWVtIDAgMCAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTM0XCI7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB1aWNvbnMtcmVndWxhci1yb3VuZGVkICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYXp1bG9zY3VybztcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogOHB4O1xyXG4gICAgICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMTJweCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMDAlO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZWxlY3QyLWRyb3Bkb3duIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IC0xMDAwMDBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgei1pbmRleDogMTA1MTtcclxufVxyXG5cclxuLnNlbGVjdDItcmVzdWx0cyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcclxuICAgIHBhZGRpbmc6IDZweDtcclxuICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25bYXJpYS1zZWxlY3RlZF0ge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItZHJvcGRvd24ge1xyXG4gICAgbGVmdDogMDtcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLWRyb3Bkb3duLS1hYm92ZSB7XHJcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcclxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItZHJvcGRvd24tLWJlbG93IHtcclxuICAgIGJvcmRlci10b3A6IG5vbmU7XHJcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XHJcbn1cclxuXHJcbi5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiA0cHg7XHJcbiAgICAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICB9XHJcbiAgICAmLnNlbGVjdDItc2VhcmNoLS1oaWRlIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2VsZWN0Mi1jbG9zZS1tYXNrIHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gICAgbWluLXdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgei1pbmRleDogOTk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XHJcbiAgICBjb2xvcjogJGdyYXk1O1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6ICM5OTk7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcclxuICAgIGhlaWdodDogMS41cmVtO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxcHg7XHJcbiAgICByaWdodDogMXB4O1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IGIge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjODg4IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogNXB4IDRweCAwIDRweDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIG1hcmdpbi1sZWZ0OiAtNHB4O1xyXG4gICAgbWFyZ2luLXRvcDogLTJweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgd2lkdGg6IDA7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdFtkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0W2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcclxuICAgIGxlZnQ6IDFweDtcclxuICAgIHJpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLWRpc2FibGVkIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyBiIHtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzg4OCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci13aWR0aDogMCA0cHggNXB4IDRweDtcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO1xyXG4gICAgY3Vyc29yOiB0ZXh0O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICBtaW4taGVpZ2h0OiAzNXB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDBweCA0cHggNHB4O1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwIDVweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiAjOTk5O1xyXG4gICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFuY287XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhbmNvO1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICBmb250LXNpemU6IDAuNzVyZW07XHJcbiAgICBwYWRkaW5nOiAwIDdweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTtcclxuICAgICAgICBib3JkZXItY29sb3I6ICM4YThhOGE7XHJcbiAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlIHtcclxuICAgIGNvbG9yOiAkZ3JheTM7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBmbG9hdDogbm9uZTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5MztcclxuICAgIHBhZGRpbmc6IDAgM3B4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgaGVpZ2h0OiAxNnB4O1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHRbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2UsXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdFtkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyIHtcclxuICAgIGZsb2F0OiBub25lO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHRbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Uge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0W2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDJweDtcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1kaXNhYmxlZCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4uc2VsZWN0Mi1jb250YWluZXItLWFib3ZlIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlLFxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4uc2VsZWN0Mi1jb250YWluZXItLWFib3ZlIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xyXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4uc2VsZWN0Mi1jb250YWluZXItLWJlbG93IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlLFxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4uc2VsZWN0Mi1jb250YWluZXItLWJlbG93IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xyXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcclxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VhcmNoLS1kcm9wZG93biAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XHJcbiAgICBsaW5lLWhlaWdodDogMzRweDtcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0cz4uc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25zIHtcclxuICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbltyb2xlPWdyb3VwXSB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0ge1xyXG4gICAgY29sb3I6ICM5OTk7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25bYXJpYS1zZWxlY3RlZD10cnVlXSB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE5MCwgMTkwLCAxOTAsIC4yKSB1cmwoLi4vLi4vLi4vcHVibGljL2ltYWdlcy9pY28tdGljay5wbmcpIG5vLXJlcGVhdCA5OCUgNXB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHdoaXRlO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fZ3JvdXAge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XHJcbiAgICBtYXJnaW4tbGVmdDogLTJlbTtcclxuICAgIHBhZGRpbmctbGVmdDogM2VtO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XHJcbiAgICBtYXJnaW4tbGVmdDogLTNlbTtcclxuICAgIHBhZGRpbmctbGVmdDogNGVtO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC00ZW07XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDVlbTtcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XHJcbiAgICBtYXJnaW4tbGVmdDogLTVlbTtcclxuICAgIHBhZGRpbmctbGVmdDogNmVtO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZFthcmlhLXNlbGVjdGVkXSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19ncm91cCB7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDZweDtcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgb3V0bGluZTogMDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZmZmZiA1MCUsICNlZWVlZWUgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmZmZmIDUwJSwgI2VlZWVlZSAxMDAlKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZmZmZmYgNTAlLCAjZWVlZWVlIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG4gICAgLypmaWx0ZXI6IHByb2dpZDogRFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI2ZmZmZmZicsIGVuZENvbG9yc3RyPScjZWVlZWVlJywgR3JhZGllbnRUeXBlPTApOyovXHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZTpmb2N1cyB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNTg5N2ZiO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XHJcbiAgICBjb2xvcjogIzQ0NDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6ICM5OTk7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNhYWE7XHJcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcclxuICAgIGhlaWdodDogMjZweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMXB4O1xyXG4gICAgcmlnaHQ6IDFweDtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZWVlZWVlIDUwJSwgI2NjY2NjYyAxMDAlKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNlZWVlZWUgNTAlLCAjY2NjY2NjIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2VlZWVlZSA1MCUsICNjY2NjY2MgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbiAgICAvKmZpbHRlcjogcHJvZ2lkOiBEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjZWVlZWVlJywgZW5kQ29sb3JzdHI9JyNjY2NjY2MnLCBHcmFkaWVudFR5cGU9MCk7Ki9cclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cgYiB7XHJcbiAgICBib3JkZXItY29sb3I6ICM4ODggdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiA1cHggNHB4IDAgNHB4O1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IC00cHg7XHJcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICB3aWR0aDogMDtcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljW2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWNbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2FhYTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XHJcbiAgICBsZWZ0OiAxcHg7XHJcbiAgICByaWdodDogYXV0bztcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM1ODk3ZmI7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyBiIHtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzg4OCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci13aWR0aDogMCA0cHggNXB4IDRweDtcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1hYm92ZSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XHJcbiAgICBib3JkZXItdG9wOiBub25lO1xyXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmZmZmIDAlLCAjZWVlZWVlIDUwJSk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmZmZmIDAlLCAjZWVlZWVlIDUwJSk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmZmZmZmIDAlLCAjZWVlZWVlIDUwJSk7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbiAgICAvKmZpbHRlcjogcHJvZ2lkOiBEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjZmZmZmZmJywgZW5kQ29sb3JzdHI9JyNlZWVlZWUnLCBHcmFkaWVudFR5cGU9MCk7Ki9cclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1iZWxvdyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XHJcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcclxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZWVlZWVlIDUwJSwgI2ZmZmZmZiAxMDAlKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNlZWVlZWUgNTAlLCAjZmZmZmZmIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2VlZWVlZSA1MCUsICNmZmZmZmYgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbiAgICAvKmZpbHRlcjogcHJvZ2lkOiBEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjZWVlZWVlJywgZW5kQ29sb3JzdHI9JyNmZmZmZmYnLCBHcmFkaWVudFR5cGU9MCk7Ki9cclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgY3Vyc29yOiB0ZXh0O1xyXG4gICAgb3V0bGluZTogMDtcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGU6Zm9jdXMge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzU4OTdmYjtcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMCA1cHg7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Uge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTRlNDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBmbG9hdDogbm9uZTtcclxuICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgcGFkZGluZzogMCA1cHg7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUge1xyXG4gICAgY29sb3I6ICM4ODg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIG1hcmdpbi1yaWdodDogMnB4O1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWNbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Uge1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpY1tkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWNbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XHJcbiAgICBtYXJnaW4tbGVmdDogMnB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNTg5N2ZiO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4uc2VsZWN0Mi1jb250YWluZXItLWFib3ZlIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xyXG4gICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XHJcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1iZWxvdyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcclxuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcclxuICAgIG91dGxpbmU6IDA7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcclxuICAgIG91dGxpbmU6IDA7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1kcm9wZG93biB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItZHJvcGRvd24tLWFib3ZlIHtcclxuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1kcm9wZG93bi0tYmVsb3cge1xyXG4gICAgYm9yZGVyLXRvcDogbm9uZTtcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXJlc3VsdHM+LnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyB7XHJcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25bcm9sZT1ncm91cF0ge1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvblthcmlhLWRpc2FibGVkPXRydWVdIHtcclxuICAgIGNvbG9yOiBncmV5O1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZFthcmlhLXNlbGVjdGVkXSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1yZXN1bHRzX19ncm91cCB7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDZweDtcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLWRyb3Bkb3duIHtcclxuICAgIGJvcmRlci1jb2xvcjogIzU4OTdmYjtcclxufVxyXG5cclxuXHJcbi8qZml4ZXMqL1xyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1lZGlvKSB7XHJcbiAgICAjZm9ybUVtcHJlc2FfdGlwbytzcGFuLnNlbGVjdDIge1xyXG4gICAgICAgIG1pbi13aWR0aDogNDByZW07XHJcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgfVxyXG59XHJcbiIsIi8vIGNzcyB2ZW50YW5hcyBtb2RhbGVzXHJcbi5yZXZlYWwtbW9kYWwge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIC8qQ0VSUkFSIE1PREFMKi9cclxuICAgIC5jbG9zZS1yZXZlYWwtbW9kYWwge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMTBweDtcclxuICAgICAgICB0b3A6IDhweDtcclxuICAgICAgICB3aWR0aDogMzRweDtcclxuICAgICAgICBoZWlnaHQ6IDM0cHg7XHJcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC04MDBweDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRhenVsb3NjdXJvO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlLFxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDE2cHg7XHJcbiAgICAgICAgICAgIHRvcDogOHB4O1xyXG4gICAgICAgICAgICBjb250ZW50OiAnICc7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDJweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYW5jbztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgdG9wOiA1cHg7XHJcbiAgICAgICAgICAgICY6YmVmb3JlLFxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yb3cge1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjFlbTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNjZGNkY2Q7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAuMmVtIDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDFlbSAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZW50aXR5X2Zvcm1fcm93IHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5lbnRpdHlfZm9ybV9sYWJlbCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC4ycmVtIDAgMCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5lbnRpdHlfZm9ybV9pbmZvIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC4zcmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb2x1bW5zIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxZW07XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtb3ZpbG1lZGlvKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxhYmVsOm5vdCgub25vZmZzd2l0Y2gtbGFiZWwpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCA4cHggMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTEyJTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JheTU7XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MTlweCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAzcHggMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsYWJlbC5mb3JtX2NoYW5nZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2FybmluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZW50aXR5X2Zvcm1fd2lkZ2V0IHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgLmxpbmttYXAge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICNjMGMwYzA7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcmVtIC41cmVtO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTJweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEubmV3UmVsT2JqZWN0IHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYXp1bG9zY3VybyAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogM3B4IC41cmVtIDA7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwO1xyXG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1vdmlsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGV4dGFyZWEge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGV4dGFyZWEuaW5wdXRYTGFyZ2Uge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5OCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogOHJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZXh0YXJlYTo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhbmNvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRleHRhcmVhOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRleHRhcmVhOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4MSwgMTg2LCAxOTUsIDAuNSk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAzcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDhweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZW50aXR5X2Zvcm1fd2lkZ2V0X3JlYWRvbmx5IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL0NTUyBNb2RhbCBwZXJzb25hcyArMSBpbmNvcnBvcmFyIHBlcnNvbmFcclxuICAgICAgICAuZW50aXR5X3JlbGF0aW9uX2Zvcm1fcm93IHtcclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAjY2RjZGNkO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAuNmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAucm93IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZmllbGRzZXQuZW50aXR5X3JlbGF0aW9uX2Zvcm1fcm93IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2YxZjFmMTtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuNXJlbTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBsZWdlbmQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubGVnZW5kTW9kYWwge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2NkY2RjZDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDFlbSAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIC41ZW0gMDtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAycmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjOTdjZDBkO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHVsLmZpZWxkcy1saXN0IHtcclxuICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYS5uZXdSZWxPYmplY3Qge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2MwYzBjMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAuM2VtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjOTdjZDBkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGEuZGVsZXRlLXJlbGF0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNjYTFiMWI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAuM2VtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDBlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI0pTbW9kYWxGb3JtX0VtcHJlc2Ege1xyXG4gICAgICAgICAgICBmaWVsZHNldDpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgIC5pbnB1dFhzbWFsbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuSlNmb3JtRmlsdGVycyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9ybSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW46IDFyZW0gMCAwO1xyXG4gICAgICAgICAgICAvKm1pbi1oZWlnaHQ6IDNyZW07Ki9cclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgLmZvcm1GaWx0ZXJPcHRpb25zIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZm9ybV9idXR0b25fcm93IHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMGVtO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDFyZW07XHJcbiAgICAgICAgICAgICAgICBhLFxyXG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaXplKDE0LCAxNik7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC41cmVtIDFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGF6dWxvc2N1cm87XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGF6dWxvc2N1cm87XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFuY287XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5MztcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheTM7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYnV0dG9uLmZvcm1fY2hhbmdlX3N1Ym1pdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdhcm5pbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHdhcm5pbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFuY287XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFuY287XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2FybmluZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgLkpTYWxlcnRGb3JtQ2hhbmdlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2FybmluZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZGF0YVRhYmxlc19maWx0ZXIgbGFiZWwsXHJcbiAgICAgICAgLmRhdGFUYWJsZXNfbGVuZ3RoIGxhYmVsIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmVudGl0eUVkaXRQYWdpbmF0b3Ige1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDE0LCAxNik7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYxOXB4KSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1vdmlsbWVkaW8pIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAxcmVtO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAxLjVyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIC41cmVtO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5lbnRpdHlFZGl0UGFnaW5hdG9yQ3VycmVudCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yQWRtaW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yQWRtaW47XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAuNXJlbTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgaS5maS1yci1jYXJldC1yaWdodDpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGkuZmktcnItY2FyZXQtbGVmdDpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAqIHtcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW5mb19tb2RhbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMiwgMTMpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRncmF5MTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDBweCAwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMS4yNWVtIDRlbSAxLjI1ZW0gMS4yNWVtO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTIwcHgpIHtcclxuICAgICAgICAgICAgLy9tYXJnaW4tdG9wOiAyLjc1cmVtOyBcclxuICAgICAgICB9XHJcbiAgICAgICAgLmZpZWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgYiB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRncmF5MztcclxuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZGl2LFxyXG4gICAgICAgIC5maWVsZCBkaXYge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGNvbG9yOiBibGFjaztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmZpZWxkIHtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAuNWVtO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogaW5oZXJpdDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgY29sb3I6ICRncmF5NTtcclxuICAgICAgICAgICAgYiB7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaW5mb19tb2RhbF90aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYXp1bG9zY3VybztcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZmllbGRFeHRyYSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYXp1bG9zY3VybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaW5mb19vcmlnaW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogaW5oZXJpdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKkNhbXBvcyBkZSBmb3JtdWxhcmlvKi9cclxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXHJcbiAgICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXHJcbiAgICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXHJcbiAgICBpbnB1dFt0eXBlPVwibW9udGhcIl0sXHJcbiAgICBpbnB1dFt0eXBlPVwid2Vla1wiXSxcclxuICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcclxuICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXHJcbiAgICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cInRlbFwiXSxcclxuICAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cInVybFwiXSxcclxuICAgIGlucHV0W3R5cGU9XCJjb2xvclwiXSxcclxuICAgIHRleHRhcmVhLFxyXG4gICAgc2VsZWN0IHtcclxuICAgICAgICBtaW4taGVpZ2h0OiAzNHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IC41cmVtIC43NXJlbTtcclxuICAgIH1cclxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcclxuICAgIGlucHV0W3R5cGU9XCJ1cmxcIl0sXHJcbiAgICB0ZXh0YXJlYSxcclxuICAgIC5kYXRhVGFibGVzX2xlbmd0aCBsYWJlbCBzZWxlY3Qge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlLFxyXG4gICAgc2VsZWN0IHtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMC4yN3JlbSAuNXJlbTtcclxuICAgIH1cclxuICAgIGJ1dHRvbixcclxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXHJcbiAgICBidXR0b24udGlueSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBAaW5jbHVkZSBzaXplKDE0LCAxNik7XHJcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDFyZW07XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGF6dWxvc2N1cm87XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGF6dWxvc2N1cm87XHJcbiAgICAgICAgY29sb3I6ICRibGFuY287XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIC5KU2FsZXJ0Rm9ybUNoYW5nZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5KU2FsZXJ0Rm9ybUNoYW5nZTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGluaXRpYWw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5MztcclxuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheTM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZm9ybV9jaGFuZ2Vfc3VibWl0IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdhcm5pbmc7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR3YXJuaW5nO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2FybmluZztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFuY287XHJcbiAgICAgICAgICAgICAgICAuSlNhbGVydEZvcm1DaGFuZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2FybmluZztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mb3JtX2NoYW5nZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgY29sb3I6IGJsYWNrO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICB9XHJcbiAgICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XHJcbiAgICAgICAgaGVpZ2h0OiAycmVtO1xyXG4gICAgICAgIGhlaWdodDogMjhweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBb0FBQUFHQ0FZQUFBRDY4QS9HQUFBQUNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUJ6U1VSQlZIZ0JiY3l4RFlBZ0ZBVFF3MWpaNkNpdVlPOE9Nb0sxRkZUMk9nRnhBaE5EN3dvT1pJTDhIeUpJdk9SSXVEd0FLSHB2TVBybTBYRXIrTHpMRTVWdmlnblJycXloYThtamN5dUVNQUYzcU1Oam9QVmRpSWozaCttUWpCMnVzSG9rSk9aKys4SVVjeUw2RDJGbGgzeCtBSHlPSVQrNnhOaE9BQUFBQUVsRlRrU3VRbUNDKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICB9XHJcbiAgICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VhcmNoLS1pbmxpbmUgLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XHJcbiAgICAgICAgbWluLXdpZHRoOiA1cmVtO1xyXG4gICAgfVxyXG4gICAgLypUYWJzKi9cclxuICAgIC50YWJzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG4gICAgICAgIC8vbWFyZ2luLWJvdHRvbTogLTFweCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgLy9tYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50YWItdGl0bGUge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNlMWUxZTE7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgJjpub3QoLmFjdGl2ZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsYW5jbztcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JheTU7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDZweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMHB4IDBweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQod2hpdGUsIHdoaXRlKSBwYWRkaW5nLWJveCwgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMDc0QzcxLCAjMDA3QkIzKSBib3JkZXItYm94O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTE7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhenVsb3NjdXJvO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjE5cHgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MTlweCkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYW5jbyAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MTlweCkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MTlweCkge1xyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWUxZTE7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWUxZTE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoMTIsIDE0KTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IC41cmVtIDFyZW07XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheTI7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYi1pbmZvIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAzcHggMCAwIDVweDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FkYWRhZDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYnMgZGQ+YSxcclxuICAgICAgICAudGFicyAudGFiLXRpdGxlPmEge1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvKlNVQlRBQlMqL1xyXG4gICAgICAgICYuc3VidGFicyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgLy9ib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UxZTFlMTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MTlweCkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudGFiLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICY6bm90KC5hY3RpdmUpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjE5cHgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmF5NTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnN1YnRhYmxpbmsge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgID5hOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZTFlMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyYXkxICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvckFkbWluO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYxOXB4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRibGFuY28gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICAgICAgICAgIC5zdWJ0YWJsaW5rIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyYXkyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRhYnM6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgICAgICBoZWlnaHQ6IDVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhbmNvO1xyXG4gICAgfVxyXG4gICAgLnRhYnM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiKDI1NSwgMjU1LCAyNTUpO1xyXG4gICAgfVxyXG4gICAgLnRhYnM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXp1bG9zY3VybztcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICB9XHJcbiAgICAudGFicy1jb250ZW50IHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRibGFuY287XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAxcmVtO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRncmF5MTtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxcmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYmxvcXVlU2VsZWNjaW9uIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAuOTM3NXJlbTtcclxuICAgICAgICAgICAgYSxcclxuICAgICAgICAgICAgLmFuYWRpclJlZ2lzdHJvLFxyXG4gICAgICAgICAgICAuZWxpbWluYXJSZWdpc3Ryb3MsXHJcbiAgICAgICAgICAgIC5zZWxlY2Npb25hclRvZG9zLFxyXG4gICAgICAgICAgICAuZGVzZWxlY2Npb25hclRvZG9zIHtcclxuICAgICAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLypTVUJUQUJTKi9cclxuICAgICAgICAmLnN1YnRhYnMtY29udGVudCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAudGFibGFDb250ZW5pZG8ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VhZWFlYTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmaWVsZHNldCB7XHJcbiAgICAgICAgICAgICAgICAvL21hcmdpbjogLjVyZW0gLjI1cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICNjYXBhb3BjaW9uZXMgYSB7XHJcbiAgICAgICAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wYWdpbmdfZnVsbF9udW1iZXJzIC5wYWdpbmF0ZV9idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnBhZ2luZ19mdWxsX251bWJlcnMgYS5jdXJyZW50LFxyXG4gICAgICAgICAgICAucGFnaW5nX2Z1bGxfbnVtYmVycyBhOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvckFkbWluO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYnV0dG9uLnNlY29uZGFyeSxcclxuICAgIC5idXR0b24uc2Vjb25kYXJ5IHtcclxuICAgICAgICBAaW5jbHVkZSBzaXplKDE0LCAxNik7XHJcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDFyZW07XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yQWRtaW47XHJcbiAgICAgICAgY29sb3I6ICRjb2xvckFkbWluO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvckFkbWluO1xyXG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLypNQVBBUyovXHJcbiAgICAubWFwQ29udGVudCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogOTAlO1xyXG4gICAgICAgIHRvcDogMTAlO1xyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2N3B4KSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogODUlO1xyXG4gICAgICAgICAgICB0b3A6IDE1JTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1hcCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGFiZWwucmVxdWlyZWQ6YWZ0ZXIge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiKlwiO1xyXG4gICAgICAgIGNvbG9yOiByZWQ7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMXJlbTtcclxuICAgIH1cclxuICAgIC5maWNoZXJvc3Blcm1pdGlkb3Mge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3JBZG1pbjtcclxuICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICBmb250LXNpemU6IGNhbGMoMTJweCArICgxMyAtIDEyKSAqICgxMDB2dyAtIDQwMHB4KSAvICgxOTIwIC0gNDAwKSk7XHJcbiAgICAgICAgcGFkZGluZzogMCAycmVtO1xyXG4gICAgfVxyXG4gICAgI2NvbnRlbnRNb2RhbEluZm9Mb2dBY3Rpb24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDJyZW07XHJcbiAgICAgICAgYnIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKkF5dWRhcyBsYWJlbHNcclxuICAgIGxhYmVsW2Zvcj0nZm9ybUNvbG9yX2NvbG9yJ117cG9zaXRpb246cmVsYXRpdmU7fVxyXG4gICAgbGFiZWxbZm9yPSdmb3JtQ29sb3JfY29sb3InXTphZnRlcntkaXNwbGF5OmJsb2NrOyBjb250ZW50OlwiRWouOiAjQ0NDQ0NDXCI7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDo5O3RvcDowO3JpZ2h0OjA7Y29sb3I6Izg4ODtmb250LXNpemU6MTFweDsgdG9wOi4ycmVtO31cclxuKi9cclxuICAgIC8qYnVzY2Fkb3IgbWFwYSovXHJcbiAgICAuYnVzY2Fkb3JNYXBhIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIHRvcDogNXB4O1xyXG4gICAgICAgIGxlZnQ6IDE2cHg7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAxMDBweCk7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAubWFwc0RpclNlYXJjaCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MDBweDtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNDJweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAzNjBweDtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNDJweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRMYXRMb25nIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDUyMHB4O1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5ODdweCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDhweCAwIDE2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNDIsIDE3NSwgMC4zKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2UyZGY5YTtcclxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2NjYztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBidXR0b24sXHJcbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDJweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogOHB4IDIuMjVyZW0gMCA4cHg7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudHJhbnNsYXRpb25zIHtcclxuICAgICAgICBsZWdlbmQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgOHB4IDA7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTEyJTtcclxuICAgICAgICAgICAgY29sb3I6ICRncmF5NTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYxOXB4KSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgM3B4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKkNBUEEgTU9EQUwgTUFYKi9cclxuXHJcbi5yZXZlYWwtbW9kYWwueGxhcmdlLFxyXG4jbWFwc01vZGFsc2VkZSB7XHJcbiAgICB0b3A6IDF2aCAhaW1wb3J0YW50O1xyXG4gICAgbGVmdDogMXZ3ICFpbXBvcnRhbnQ7XHJcbiAgICBib3R0b206IDF2aCAhaW1wb3J0YW50O1xyXG4gICAgcmlnaHQ6IDF2dyAhaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IDk4dncgIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogOTh2aCAhaW1wb3J0YW50O1xyXG4gICAgbWF4LWhlaWdodDogOTh2aCAhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG59XHJcblxyXG4jbWFwc01vZGFsc2VkZSAuY2xvc2UtcmV2ZWFsLW1vZGFsIHtcclxuICAgIHRvcDogNXB4O1xyXG4gICAgcmlnaHQ6IDE2cHg7XHJcbiAgICBjb2xvcjogIzAwMDtcclxuICAgIHotaW5kZXg6IDk7XHJcbn1cclxuXHJcblxyXG4vKkRFU1BMRUdBQkxFIFNVQlRBQlMqL1xyXG5cclxuLnN1Ym1lbnV0YWIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLnN1YnRvdGFsdGFiIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4IWltcG9ydGFudDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjA3OFwiO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLjc1cmVtO1xyXG4gICAgICAgICAgICBjb2xvcjogJGF6dWxvc2N1cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1lbnV0YWIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXkyO1xyXG4gICAgICAgIC5zdWJ0YWJzIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDA7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjIwcHg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCA0cHggcmdiYSgxNTgsIDE1OCwgMTU4LCAuNSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmF5MjtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjE5cHgpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFuY287XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmUhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudGFiLXRpdGxlOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIC5tZW51dGFiIHtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgei1pbmRleDogOTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSAuc3VidG90YWx0YWI6YWZ0ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn0iLCIuZXZlbnRJY29ueyBtYXJnaW46IDAuMmVtIDAuNWVtIDAuMmVtIDAuMWVtOyBmbG9hdDogbGVmdDsgfVxyXG5cclxuXHJcblxyXG4vKiFcclxuICogRnVsbENhbGVuZGFyIHYyLjIuNyBTdHlsZXNoZWV0XHJcbiAqIERvY3MgJiBMaWNlbnNlOiBodHRwOi8vYXJzaGF3LmNvbS9mdWxsY2FsZW5kYXIvXHJcbiAqIChjKSAyMDEzIEFkYW0gU2hhd1xyXG4gKi9cclxuXHJcblxyXG4uZmMge1xyXG5cdGRpcmVjdGlvbjogbHRyO1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi5mYy1ydGwge1xyXG5cdHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG5ib2R5IC5mYyB7IC8qIGV4dHJhIHByZWNlZGVuY2UgdG8gb3ZlcmNvbWUganF1aSAqL1xyXG5cdGZvbnQtc2l6ZTogMWVtO1xyXG59XHJcblxyXG5cclxuLyogQ29sb3JzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5mYy11bnRoZW1lZCB0aCxcclxuLmZjLXVudGhlbWVkIHRkLFxyXG4uZmMtdW50aGVtZWQgaHIsXHJcbi5mYy11bnRoZW1lZCB0aGVhZCxcclxuLmZjLXVudGhlbWVkIHRib2R5LFxyXG4uZmMtdW50aGVtZWQgLmZjLXJvdyxcclxuLmZjLXVudGhlbWVkIC5mYy1wb3BvdmVyIHtcclxuXHRib3JkZXItY29sb3I6ICNkZGQ7XHJcbn1cclxuXHJcbi5mYy11bnRoZW1lZCAuZmMtcG9wb3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLmZjLXVudGhlbWVkIGhyLFxyXG4uZmMtdW50aGVtZWQgLmZjLXBvcG92ZXIgLmZjLWhlYWRlciB7XHJcblx0YmFja2dyb3VuZDogI2VlZTtcclxufVxyXG5cclxuLmZjLXVudGhlbWVkIC5mYy1wb3BvdmVyIC5mYy1oZWFkZXIgLmZjLWNsb3NlIHtcclxuXHRjb2xvcjogIzY2NjtcclxufVxyXG5cclxuLmZjLXVudGhlbWVkIC5mYy10b2RheSB7XHJcblx0YmFja2dyb3VuZDogI2ZjZjhlMztcclxufVxyXG5cclxuLmZjLWhpZ2hsaWdodCB7IC8qIHdoZW4gdXNlciBpcyBzZWxlY3RpbmcgY2VsbHMgKi9cclxuXHRiYWNrZ3JvdW5kOiAjYmNlOGYxO1xyXG5cdG9wYWNpdHk6IC4zO1xyXG5cdGZpbHRlcjogYWxwaGEob3BhY2l0eT0zMCk7IC8qIGZvciBJRSAqL1xyXG59XHJcblxyXG4uZmMtYmdldmVudCB7IC8qIGRlZmF1bHQgbG9vayBmb3IgYmFja2dyb3VuZCBldmVudHMgKi9cclxuXHRiYWNrZ3JvdW5kOiByZ2IoMTQzLCAyMjMsIDEzMCk7XHJcblx0b3BhY2l0eTogLjM7XHJcblx0ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTMwKTsgLyogZm9yIElFICovXHJcbn1cclxuXHJcbi5mYy1ub25idXNpbmVzcyB7IC8qIGRlZmF1bHQgbG9vayBmb3Igbm9uLWJ1c2luZXNzLWhvdXJzIGFyZWFzICovXHJcblx0Lyogd2lsbCBpbmhlcml0IC5mYy1iZ2V2ZW50J3Mgc3R5bGVzICovXHJcblx0YmFja2dyb3VuZDogI2NjYztcclxufVxyXG5cclxuXHJcbi8qIEljb25zIChpbmxpbmUgZWxlbWVudHMgd2l0aCBzdHlsZWQgdGV4dCB0aGF0IG1vY2sgYXJyb3cgaWNvbnMpXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5mYy1pY29uIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0Zm9udC1zaXplOiAyZW07XHJcblx0bGluZS1oZWlnaHQ6IC41ZW07XHJcblx0aGVpZ2h0OiAuNWVtOyAvKiB3aWxsIG1ha2UgdGhlIHRvdGFsIGhlaWdodCAxZW0gKi9cclxuXHRmb250LWZhbWlseTogXCJDb3VyaWVyIE5ld1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XHJcbn1cclxuXHJcbi5mYy1pY29uLWxlZnQtc2luZ2xlLWFycm93OmFmdGVyIHtcclxuXHRjb250ZW50OiBcIlxcMDIwMzlcIjtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmZjLWljb24tcmlnaHQtc2luZ2xlLWFycm93OmFmdGVyIHtcclxuXHRjb250ZW50OiBcIlxcMDIwM0FcIjtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmZjLWljb24tbGVmdC1kb3VibGUtYXJyb3c6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6IFwiXFwwMDBBQlwiO1xyXG59XHJcblxyXG4uZmMtaWNvbi1yaWdodC1kb3VibGUtYXJyb3c6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6IFwiXFwwMDBCQlwiO1xyXG59XHJcblxyXG4uZmMtaWNvbi14OmFmdGVyIHtcclxuXHRjb250ZW50OiBcIlxcMDAwRDdcIjtcclxufVxyXG5cclxuXHJcbi8qIEJ1dHRvbnMgKHN0eWxlZCA8YnV0dG9uPiB0YWdzLCBub3JtYWxpemVkIHRvIHdvcmsgY3Jvc3MtYnJvd3NlcilcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLmZjIGJ1dHRvbiB7XHJcblx0LyogZm9yY2UgaGVpZ2h0IHRvIGluY2x1ZGUgdGhlIGJvcmRlciBhbmQgcGFkZGluZyAqL1xyXG5cdC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHQtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHJcblx0LyogZGltZW5zaW9ucyAqL1xyXG5cdG1hcmdpbjogMDtcclxuXHRoZWlnaHQ6IDIuMWVtO1xyXG5cdHBhZGRpbmc6IDAgLjZlbTtcclxuXHJcblx0LyogdGV4dCAmIGN1cnNvciAqL1xyXG5cdGZvbnQtc2l6ZTogLjZlbTsgLyogbm9ybWFsaXplICovXHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi8qIEZpcmVmb3ggaGFzIGFuIGFubm95aW5nIGlubmVyIGJvcmRlciAqL1xyXG4uZmMgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9XHJcblx0XHJcbi5mYy1zdGF0ZS1kZWZhdWx0IHsgLyogbm9uLXRoZW1lICovXHJcblx0Ym9yZGVyOiAxcHggc29saWQ7XHJcbn1cclxuXHJcbi5mYy1zdGF0ZS1kZWZhdWx0LmZjLWNvcm5lci1sZWZ0IHsgLyogbm9uLXRoZW1lICovXHJcbi8qXHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XHJcblx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4OyovXHJcbn1cclxuXHJcbi5mYy1zdGF0ZS1kZWZhdWx0LmZjLWNvcm5lci1yaWdodCB7IC8qIG5vbi10aGVtZSAqL1xyXG4vKlx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcclxuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4OyovXHJcbn1cclxuXHJcbi8qIGljb25zIGluIGJ1dHRvbnMgKi9cclxuXHJcbi5mYyBidXR0b24gLmZjLWljb24geyAvKiBub24tdGhlbWUgKi9cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0dG9wOiAuMDVlbTsgLyogc2VlbXMgdG8gYmUgYSBnb29kIGFkanVzdG1lbnQgYWNyb3NzIGJyb3dzZXJzICovXHJcblx0bWFyZ2luOiAwIC4xZW07XHJcbn1cclxuXHRcclxuLypcclxuICBidXR0b24gc3RhdGVzXHJcbiAgYm9ycm93ZWQgZnJvbSB0d2l0dGVyIGJvb3RzdHJhcCAoaHR0cDovL3R3aXR0ZXIuZ2l0aHViLmNvbS9ib290c3RyYXAvKVxyXG4qL1xyXG5cclxuLmZjLXN0YXRlLWRlZmF1bHQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmZmZmLCAjZTZlNmU2KTtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oI2ZmZmZmZiksIHRvKCNlNmU2ZTYpKTtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZmZmYsICNlNmU2ZTYpO1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZmZmYsICNlNmU2ZTYpO1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZmZmZmYsICNlNmU2ZTYpO1xyXG5cdGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxuXHRib3JkZXItY29sb3I6ICNlNmU2ZTYgI2U2ZTZlNiAjYmZiZmJmO1xyXG5cdGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG5cdGNvbG9yOiAjMzMzO1xyXG5cdHRleHQtc2hhZG93OiAwIDFweCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcclxuXHRib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XHJcbn1cclxuXHJcbi5mYy1zdGF0ZS1ob3ZlcixcclxuLmZjLXN0YXRlLWRvd24sXHJcbi5mYy1zdGF0ZS1hY3RpdmUsXHJcbi5mYy1zdGF0ZS1kaXNhYmxlZCB7XHJcblx0Y29sb3I6ICMzMzMzMzM7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcclxufVxyXG5cclxuLmZjLXN0YXRlLWhvdmVyIHtcclxuXHRjb2xvcjogIzMzMzMzMztcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTVweDtcclxuXHQtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4xcyBsaW5lYXI7XHJcblx0ICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXBvc2l0aW9uIDAuMXMgbGluZWFyO1xyXG5cdCAgICAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAwLjFzIGxpbmVhcjtcclxuXHQgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4xcyBsaW5lYXI7XHJcbn1cclxuXHJcbi5mYy1zdGF0ZS1kb3duLFxyXG4uZmMtc3RhdGUtYWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjO1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcblx0Ym94LXNoYWRvdzogaW5zZXQgMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xNSksIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xyXG59XHJcblxyXG4uZmMtc3RhdGUtZGlzYWJsZWQge1xyXG5cdGN1cnNvcjogZGVmYXVsdDtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG5cdG9wYWNpdHk6IDAuNjU7XHJcblx0ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTY1KTtcclxuXHRib3gtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG5cclxuLyogQnV0dG9ucyBHcm91cHNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLmZjLWJ1dHRvbi1ncm91cCB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4vKlxyXG5ldmVyeSBidXR0b24gdGhhdCBpcyBub3QgZmlyc3QgaW4gYSBidXR0b24gZ3JvdXAgc2hvdWxkIHNjb290Y2ggb3ZlciBvbmUgcGl4ZWwgYW5kIGNvdmVyIHRoZVxyXG5wcmV2aW91cyBidXR0b24ncyBib3JkZXIuLi5cclxuKi9cclxuXHJcbi5mYyAuZmMtYnV0dG9uLWdyb3VwID4gKiB7IC8qIGV4dHJhIHByZWNlZGVuY2UgYi9jIGJ1dHRvbnMgaGF2ZSBtYXJnaW4gc2V0IHRvIHplcm8gKi9cclxuXHRmbG9hdDogbGVmdDtcclxuXHRtYXJnaW46IDAgMCAwIC0xcHg7XHJcbn1cclxuXHJcbi5mYyAuZmMtYnV0dG9uLWdyb3VwID4gOmZpcnN0LWNoaWxkIHsgLyogc2FtZSAqL1xyXG5cdG1hcmdpbi1sZWZ0OiAwO1xyXG59XHJcblxyXG5cclxuLyogUG9wb3ZlclxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4uZmMtcG9wb3ZlciB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDAsMCwwLC4xNSk7XHJcbn1cclxuXHJcbi5mYy1wb3BvdmVyIC5mYy1oZWFkZXIge1xyXG5cdHBhZGRpbmc6IDJweCA0cHg7XHJcbn1cclxuXHJcbi5mYy1wb3BvdmVyIC5mYy1oZWFkZXIgLmZjLXRpdGxlIHtcclxuXHRtYXJnaW46IDAgMnB4O1xyXG59XHJcblxyXG4uZmMtcG9wb3ZlciAuZmMtaGVhZGVyIC5mYy1jbG9zZSB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uZmMtbHRyIC5mYy1wb3BvdmVyIC5mYy1oZWFkZXIgLmZjLXRpdGxlLFxyXG4uZmMtcnRsIC5mYy1wb3BvdmVyIC5mYy1oZWFkZXIgLmZjLWNsb3NlIHtcclxuXHRmbG9hdDogbGVmdDtcclxufVxyXG5cclxuLmZjLXJ0bCAuZmMtcG9wb3ZlciAuZmMtaGVhZGVyIC5mYy10aXRsZSxcclxuLmZjLWx0ciAuZmMtcG9wb3ZlciAuZmMtaGVhZGVyIC5mYy1jbG9zZSB7XHJcblx0ZmxvYXQ6IHJpZ2h0O1xyXG59XHJcblxyXG4vKiB1bnRoZW1lZCAqL1xyXG5cclxuLmZjLXVudGhlbWVkIC5mYy1wb3BvdmVyIHtcclxuXHRib3JkZXItd2lkdGg6IDFweDtcclxuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xyXG59XHJcblxyXG4uZmMtdW50aGVtZWQgLmZjLXBvcG92ZXIgLmZjLWhlYWRlciAuZmMtY2xvc2Uge1xyXG5cdGZvbnQtc2l6ZTogMjVweDtcclxuXHRtYXJnaW4tdG9wOiA0cHg7XHJcbn1cclxuXHJcbi8qIGpxdWkgdGhlbWVkICovXHJcblxyXG4uZmMtcG9wb3ZlciA+IC51aS13aWRnZXQtaGVhZGVyICsgLnVpLXdpZGdldC1jb250ZW50IHtcclxuXHRib3JkZXItdG9wOiAwOyAvKiB3aGVyZSB0aGV5IG1lZXQsIGxldCB0aGUgaGVhZGVyIGhhdmUgdGhlIGJvcmRlciAqL1xyXG59XHJcblxyXG5cclxuLyogTWlzYyBSZXVzYWJsZSBDb21wb25lbnRzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5mYyBociB7XHJcblx0aGVpZ2h0OiAwO1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwIDAgMnB4OyAvKiBoZWlnaHQgaXMgdW5yZWxpYWJsZSBhY3Jvc3MgYnJvd3NlcnMsIHNvIHVzZSBwYWRkaW5nICovXHJcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHRib3JkZXItd2lkdGg6IDFweCAwO1xyXG59XHJcblxyXG4uZmMtY2xlYXIge1xyXG5cdGNsZWFyOiBib3RoO1xyXG59XHJcblxyXG4uZmMtYmcsXHJcbi5mYy1iZ2V2ZW50LXNrZWxldG9uLFxyXG4uZmMtaGlnaGxpZ2h0LXNrZWxldG9uLFxyXG4uZmMtaGVscGVyLXNrZWxldG9uIHtcclxuXHQvKiB0aGVzZSBlbGVtZW50IHNob3VsZCBhbHdheXMgY2xpbmcgdG8gdG9wLWxlZnQvcmlnaHQgY29ybmVycyAqL1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHRyaWdodDogMDtcclxufVxyXG5cclxuLmZjLWJnIHtcclxuXHRib3R0b206IDA7IC8qIHN0cmVjaCBiZyB0byBib3R0b20gZWRnZSAqL1xyXG59XHJcblxyXG4uZmMtYmcgdGFibGUge1xyXG5cdGhlaWdodDogMTAwJTsgLyogc3RyZWNoIGJnIHRvIGJvdHRvbSBlZGdlICovXHJcbn1cclxuXHJcblxyXG4vKiBUYWJsZXNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLmZjIHRhYmxlIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHR0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcblx0Ym9yZGVyLXNwYWNpbmc6IDA7XHJcblx0Zm9udC1zaXplOiAxZW07IC8qIG5vcm1hbGl6ZSBjcm9zcy1icm93c2VyICovXHJcbn1cclxuXHJcbi5mYyB0aCB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uZmMgdGgsXHJcbi5mYyB0ZCB7XHJcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHRib3JkZXItd2lkdGg6IDFweDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbn1cclxuXHJcbi5mYyB0ZC5mYy10b2RheSB7XHJcblx0Ym9yZGVyLXN0eWxlOiBkb3VibGU7IC8qIG92ZXJjb21lIG5laWdoYm9yaW5nIGJvcmRlcnMgKi9cclxufVxyXG5cclxuXHJcbi8qIEZha2UgVGFibGUgUm93c1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4uZmMgLmZjLXJvdyB7IC8qIGV4dHJhIHByZWNlZGVuY2UgdG8gb3ZlcmNvbWUgdGhlbWVzIHcvIC51aS13aWRnZXQtY29udGVudCBmb3JjaW5nIGEgMXB4IGJvcmRlciAqL1xyXG5cdC8qIG5vIHZpc2libGUgYm9yZGVyIGJ5IGRlZmF1bHQuIGJ1dCBtYWtlIGF2YWlsYWJsZSBpZiBuZWVkIGJlIChzY3JvbGxiYXIgd2lkdGggY29tcGVuc2F0aW9uKSAqL1xyXG5cdGJvcmRlci1zdHlsZTogc29saWQ7XHJcblx0Ym9yZGVyLXdpZHRoOiAwO1xyXG59XHJcblxyXG4uZmMtcm93IHRhYmxlIHtcclxuXHQvKiBkb24ndCBwdXQgbGVmdC9yaWdodCBib3JkZXIgb24gYW55dGhpbmcgd2l0aGluIGEgZmFrZSByb3cuXHJcblx0ICAgdGhlIG91dGVyIHRib2R5IHdpbGwgd29ycnkgYWJvdXQgdGhpcyAqL1xyXG5cdGJvcmRlci1sZWZ0OiAwIGhpZGRlbiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXItcmlnaHQ6IDAgaGlkZGVuIHRyYW5zcGFyZW50O1xyXG5cclxuXHQvKiBubyBib3R0b20gYm9yZGVycyBvbiByb3dzICovXHJcblx0Ym9yZGVyLWJvdHRvbTogMCBoaWRkZW4gdHJhbnNwYXJlbnQ7IFxyXG59XHJcblxyXG4uZmMtcm93OmZpcnN0LWNoaWxkIHRhYmxlIHtcclxuXHRib3JkZXItdG9wOiAwIGhpZGRlbiB0cmFuc3BhcmVudDsgLyogbm8gdG9wIGJvcmRlciBvbiBmaXJzdCByb3cgKi9cclxufVxyXG5cclxuXHJcbi8qIERheSBSb3cgKHVzZWQgd2l0aGluIHRoZSBoZWFkZXIgYW5kIHRoZSBEYXlHcmlkKVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4uZmMtcm93IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5mYy1yb3cgLmZjLWJnIHtcclxuXHR6LWluZGV4OiAxO1xyXG59XHJcblxyXG4vKiBoaWdobGlnaHRpbmcgY2VsbHMgJiBiYWNrZ3JvdW5kIGV2ZW50IHNrZWxldG9uICovXHJcblxyXG4uZmMtcm93IC5mYy1iZ2V2ZW50LXNrZWxldG9uLFxyXG4uZmMtcm93IC5mYy1oaWdobGlnaHQtc2tlbGV0b24ge1xyXG5cdGJvdHRvbTogMDsgLyogc3RyZXRjaCBza2VsZXRvbiB0byBib3R0b20gb2Ygcm93ICovXHJcbn1cclxuXHJcbi5mYy1yb3cgLmZjLWJnZXZlbnQtc2tlbGV0b24gdGFibGUsXHJcbi5mYy1yb3cgLmZjLWhpZ2hsaWdodC1za2VsZXRvbiB0YWJsZSB7XHJcblx0aGVpZ2h0OiAxMDAlOyAvKiBzdHJldGNoIHNrZWxldG9uIHRvIGJvdHRvbSBvZiByb3cgKi9cclxufVxyXG5cclxuLmZjLXJvdyAuZmMtaGlnaGxpZ2h0LXNrZWxldG9uIHRkLFxyXG4uZmMtcm93IC5mYy1iZ2V2ZW50LXNrZWxldG9uIHRkIHtcclxuXHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4uZmMtcm93IC5mYy1iZ2V2ZW50LXNrZWxldG9uIHtcclxuXHR6LWluZGV4OiAyO1xyXG5cclxufVxyXG5cclxuLmZjLXJvdyAuZmMtaGlnaGxpZ2h0LXNrZWxldG9uIHtcclxuXHR6LWluZGV4OiAzO1xyXG59XHJcblxyXG4vKlxyXG5yb3cgY29udGVudCAod2hpY2ggY29udGFpbnMgZGF5L3dlZWsgbnVtYmVycyBhbmQgZXZlbnRzKSBhcyB3ZWxsIGFzIFwiaGVscGVyXCIgKHdoaWNoIGNvbnRhaW5zXHJcbnRlbXBvcmFyeSByZW5kZXJlZCBldmVudHMpLlxyXG4qL1xyXG5cclxuLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDQ7XHJcblx0cGFkZGluZy1ib3R0b206IDJweDsgLyogbWF0Y2hlcyB0aGUgc3BhY2UgYWJvdmUgdGhlIGV2ZW50cyAqL1xyXG59XHJcblxyXG4uZmMtcm93IC5mYy1oZWxwZXItc2tlbGV0b24ge1xyXG5cdHotaW5kZXg6IDU7XHJcbn1cclxuXHJcbi5mYy1yb3cgLmZjLWNvbnRlbnQtc2tlbGV0b24gdGQsXHJcbi5mYy1yb3cgLmZjLWhlbHBlci1za2VsZXRvbiB0ZCB7XHJcblx0Lyogc2VlLXRocm91Z2ggdG8gdGhlIGJhY2tncm91bmQgYmVsb3cgKi9cclxuXHRiYWNrZ3JvdW5kOiBub25lOyAvKiBpbiBjYXNlIDx0ZD5zIGFyZSBnbG9iYWxseSBzdHlsZWQgKi9cclxuXHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cclxuXHQvKiBkb24ndCBwdXQgYSBib3JkZXIgYmV0d2VlbiBldmVudHMgYW5kL29yIHRoZSBkYXkgbnVtYmVyICovXHJcblx0Ym9yZGVyLWJvdHRvbTogMDtcclxufVxyXG5cclxuLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB0Ym9keSB0ZCwgLyogY2VsbHMgd2l0aCBldmVudHMgaW5zaWRlIChzbyBOT1QgdGhlIGRheSBudW1iZXIgY2VsbCkgKi9cclxuLmZjLXJvdyAuZmMtaGVscGVyLXNrZWxldG9uIHRib2R5IHRkIHtcclxuXHQvKiBkb24ndCBwdXQgYSBib3JkZXIgYmV0d2VlbiBldmVudCBjZWxscyAqL1xyXG5cdGJvcmRlci10b3A6IDA7XHJcbn1cclxuXHJcblxyXG4vKiBTY3JvbGxpbmcgQ29udGFpbmVyXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5mYy1zY3JvbGxlciB7IC8qIHRoaXMgY2xhc3MgZ29lcyBvbiBlbGVtZW50cyBmb3IgZ3VhcmFudGVlZCB2ZXJ0aWNhbCBzY3JvbGxiYXJzICovXHJcblx0b3ZlcmZsb3cteTogc2Nyb2xsO1xyXG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcclxufVxyXG5cclxuLmZjLXNjcm9sbGVyID4gKiB7IC8qIHdlIGV4cGVjdCBhbiBpbW1lZGlhdGUgaW5uZXIgZWxlbWVudCAqL1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogcmUtc2NvcGUgYWxsIHBvc2l0aW9ucyAqL1xyXG5cdHdpZHRoOiAxMDAlOyAvKiBoYWNrIHRvIGZvcmNlIHJlLXNpemluZyB0aGlzIGlubmVyIGVsZW1lbnQgd2hlbiBzY3JvbGxiYXJzIGFwcGVhci9kaXNhcHBlYXIgKi9cclxuXHRvdmVyZmxvdzogaGlkZGVuOyAvKiBkb24ndCBsZXQgbmVnYXRpdmUgbWFyZ2lucyBvciBhYnNvbHV0ZSBwb3NpdGlvbmluZyBjcmVhdGUgZnVydGhlciBzY3JvbGwgKi9cclxufVxyXG5cclxuXHJcbi8qIEdsb2JhbCBFdmVudCBTdHlsZXNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLmZjLWV2ZW50IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7IC8qIGZvciByZXNpemUgaGFuZGxlIGFuZCBvdGhlciBpbm5lciBwb3NpdGlvbmluZyAqL1xyXG5cdGRpc3BsYXk6IGJsb2NrOyAvKiBtYWtlIHRoZSA8YT4gdGFnIGJsb2NrICovXHJcblx0Zm9udC1zaXplOiAuODVlbTtcclxuXHRsaW5lLWhlaWdodDogMS4zO1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAjM2E4N2FkOyAvKiBkZWZhdWx0IEJPUkRFUiBjb2xvciAqL1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICMzYTg3YWQ7IC8qIGRlZmF1bHQgQkFDS0dST1VORCBjb2xvciAqL1xyXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7IC8qIHVuZG8ganF1aSdzIHVpLXdpZGdldC1oZWFkZXIgYm9sZCAqL1xyXG59XHJcblxyXG4vKiBvdmVycG93ZXIgc29tZSBvZiBib290c3RyYXAncyBhbmQganF1aSdzIHN0eWxlcyBvbiA8YT4gdGFncyAqL1xyXG4uZmMtZXZlbnQsXHJcbi5mYy1ldmVudDpob3ZlcixcclxuLnVpLXdpZGdldCAuZmMtZXZlbnQge1xyXG5cdGNvbG9yOiAjZmZmOyAvKiBkZWZhdWx0IFRFWFQgY29sb3IgKi9cclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7IC8qIGlmIDxhPiBoYXMgYW4gaHJlZiAqL1xyXG59XHJcblxyXG4uZmMtZXZlbnRbaHJlZl0sXHJcbi5mYy1ldmVudC5mYy1kcmFnZ2FibGUge1xyXG5cdGN1cnNvcjogcG9pbnRlcjsgLyogZ2l2ZSBldmVudHMgd2l0aCBsaW5rcyBhbmQgZHJhZ2dhYmxlIGV2ZW50cyBhIGhhbmQgbW91c2UgcG9pbnRlciAqL1xyXG59XHJcblxyXG4uZmMtbm90LWFsbG93ZWQsIC8qIGNhdXNlcyBhIFwid2FybmluZ1wiIGN1cnNvci4gYXBwbGllZCBvbiBib2R5ICovXHJcbi5mYy1ub3QtYWxsb3dlZCAuZmMtZXZlbnQgeyAvKiB0byBvdmVycmlkZSBhbiBldmVudCdzIGN1c3RvbSBjdXJzb3IgKi9cclxuXHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG59XHJcblxyXG5cclxuLyogRGF5R3JpZCBldmVudHNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5XZSB1c2UgdGhlIGZ1bGwgXCJmYy1kYXktZ3JpZC1ldmVudFwiIGNsYXNzIGluc3RlYWQgb2YgdXNpbmcgZGVzY2VuZGFudHMgYmVjYXVzZSB0aGUgZXZlbnQgd29uJ3RcclxuYmUgYSBkZXNjZW5kYW50IG9mIHRoZSBncmlkIHdoZW4gaXQgaXMgYmVpbmcgZHJhZ2dlZC5cclxuKi9cclxuXHJcbi5mYy1kYXktZ3JpZC1ldmVudCB7XHJcblx0bWFyZ2luOiAxcHggMnB4IDA7IC8qIHNwYWNpbmcgYmV0d2VlbiBldmVudHMgYW5kIGVkZ2VzICovXHJcblx0cGFkZGluZzogMCAxcHg7XHJcbn1cclxuXHJcbi8qIGV2ZW50cyB0aGF0IGFyZSBjb250aW51aW5nIHRvL2Zyb20gYW5vdGhlciB3ZWVrLiBraWxsIHJvdW5kZWQgY29ybmVycyBhbmQgYnV0dCB1cCBhZ2FpbnN0IGVkZ2UgKi9cclxuXHJcbi5mYy1sdHIgLmZjLWRheS1ncmlkLWV2ZW50LmZjLW5vdC1zdGFydCxcclxuLmZjLXJ0bCAuZmMtZGF5LWdyaWQtZXZlbnQuZmMtbm90LWVuZCB7XHJcblx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0Ym9yZGVyLWxlZnQtd2lkdGg6IDA7XHJcblx0cGFkZGluZy1sZWZ0OiAxcHg7IC8qIHJlcGxhY2UgdGhlIGJvcmRlciB3aXRoIHBhZGRpbmcgKi9cclxuXHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xyXG5cdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XHJcbn1cclxuXHJcbi5mYy1sdHIgLmZjLWRheS1ncmlkLWV2ZW50LmZjLW5vdC1lbmQsXHJcbi5mYy1ydGwgLmZjLWRheS1ncmlkLWV2ZW50LmZjLW5vdC1zdGFydCB7XHJcblx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdGJvcmRlci1yaWdodC13aWR0aDogMDtcclxuXHRwYWRkaW5nLXJpZ2h0OiAxcHg7IC8qIHJlcGxhY2UgdGhlIGJvcmRlciB3aXRoIHBhZGRpbmcgKi9cclxuXHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcclxuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcclxufVxyXG5cclxuLmZjLWRheS1ncmlkLWV2ZW50ID4gLmZjLWNvbnRlbnQgeyAvKiBmb3JjZSBldmVudHMgdG8gYmUgb25lLWxpbmUgdGFsbCAqL1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmZjLWRheS1ncmlkLWV2ZW50IC5mYy10aW1lIHtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLyogcmVzaXplIGhhbmRsZSAob3V0c2lkZSBvZiBmYy1jb250ZW50LCBzbyBjYW4gZ28gb3V0c2lkZSBvZiBib3VuZHMpICovXHJcblxyXG4uZmMtZGF5LWdyaWQtZXZlbnQgLmZjLXJlc2l6ZXIge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG5cdHdpZHRoOiA3cHg7XHJcbn1cclxuXHJcbi5mYy1sdHIgLmZjLWRheS1ncmlkLWV2ZW50IC5mYy1yZXNpemVyIHtcclxuXHRyaWdodDogLTNweDtcclxuXHRjdXJzb3I6IGUtcmVzaXplO1xyXG59XHJcblxyXG4uZmMtcnRsIC5mYy1kYXktZ3JpZC1ldmVudCAuZmMtcmVzaXplciB7XHJcblx0bGVmdDogLTNweDtcclxuXHRjdXJzb3I6IHctcmVzaXplO1xyXG59XHJcblxyXG5cclxuLyogRXZlbnQgTGltaXRpbmdcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLyogXCJtb3JlXCIgbGluayB0aGF0IHJlcHJlc2VudHMgaGlkZGVuIGV2ZW50cyAqL1xyXG5cclxuYS5mYy1tb3JlIHtcclxuXHRtYXJnaW46IDFweCAzcHg7XHJcblx0Zm9udC1zaXplOiAuODVlbTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG5hLmZjLW1vcmU6aG92ZXIge1xyXG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcblxyXG4uZmMtbGltaXRlZCB7IC8qIHJvd3MgYW5kIGNlbGxzIHRoYXQgYXJlIGhpZGRlbiBiZWNhdXNlIG9mIGEgXCJtb3JlXCIgbGluayAqL1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIHBvcG92ZXIgdGhhdCBhcHBlYXJzIHdoZW4gXCJtb3JlXCIgbGluayBpcyBjbGlja2VkICovXHJcblxyXG4uZmMtZGF5LWdyaWQgLmZjLXJvdyB7XHJcblx0ei1pbmRleDogMTsgLyogbWFrZSB0aGUgXCJtb3JlXCIgcG9wb3ZlciBvbmUgaGlnaGVyIHRoYW4gdGhpcyAqL1xyXG59XHJcblxyXG4uZmMtbW9yZS1wb3BvdmVyIHtcclxuXHR6LWluZGV4OiAyO1xyXG5cdHdpZHRoOiAyMjBweDtcclxufVxyXG5cclxuLmZjLW1vcmUtcG9wb3ZlciAuZmMtZXZlbnQtY29udGFpbmVyIHtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4vKiBUb29sYmFyXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5mYy10b29sYmFyIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0bWFyZ2luLWJvdHRvbTogLjVlbTtcclxufVxyXG5cclxuLmZjLXRvb2xiYXIgLmZjLWxlZnQge1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4uZmMtdG9vbGJhciAuZmMtcmlnaHQge1xyXG5cdGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuLmZjLXRvb2xiYXIgLmZjLWNlbnRlciB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4vKiB0aGUgdGhpbmdzIHdpdGhpbiBlYWNoIGxlZnQvcmlnaHQvY2VudGVyIHNlY3Rpb24gKi9cclxuLmZjIC5mYy10b29sYmFyID4gKiA+ICogeyAvKiBleHRyYSBwcmVjZWRlbmNlIHRvIG92ZXJyaWRlIGJ1dHRvbiBib3JkZXIgbWFyZ2lucyAqL1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdG1hcmdpbi1sZWZ0OiAuNzVlbTtcclxufVxyXG5cclxuLyogdGhlIGZpcnN0IHRoaW5nIHdpdGhpbiBlYWNoIGxlZnQvY2VudGVyL3JpZ2h0IHNlY3Rpb24gKi9cclxuLmZjIC5mYy10b29sYmFyID4gKiA+IDpmaXJzdC1jaGlsZCB7IC8qIGV4dHJhIHByZWNlZGVuY2UgdG8gb3ZlcnJpZGUgYnV0dG9uIGJvcmRlciBtYXJnaW5zICovXHJcblx0bWFyZ2luLWxlZnQ6IDA7XHJcbn1cclxuXHRcclxuLyogdGl0bGUgdGV4dCAqL1xyXG5cclxuLmZjLXRvb2xiYXIgaDIgeyBtYXJnaW46IDA7IGZvbnQtc2l6ZTouOGVtO31cclxuXHJcbi8qIGJ1dHRvbiBsYXllcmluZyAoZm9yIGJvcmRlciBwcmVjZWRlbmNlKSAqL1xyXG5cclxuLmZjLXRvb2xiYXIgYnV0dG9uIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5mYy10b29sYmFyIC5mYy1zdGF0ZS1ob3ZlcixcclxuLmZjLXRvb2xiYXIgLnVpLXN0YXRlLWhvdmVyIHtcclxuXHR6LWluZGV4OiAyO1xyXG59XHJcblx0XHJcbi5mYy10b29sYmFyIC5mYy1zdGF0ZS1kb3duIHtcclxuXHR6LWluZGV4OiAzO1xyXG59XHJcblxyXG4uZmMtdG9vbGJhciAuZmMtc3RhdGUtYWN0aXZlLFxyXG4uZmMtdG9vbGJhciAudWktc3RhdGUtYWN0aXZlIHtcclxuXHR6LWluZGV4OiA0O1xyXG59XHJcblxyXG4uZmMtdG9vbGJhciBidXR0b246Zm9jdXMge1xyXG5cdHotaW5kZXg6IDU7XHJcbn1cclxuXHJcblxyXG4vKiBWaWV3IFN0cnVjdHVyZVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4vKiB1bmRvIHR3aXR0ZXIgYm9vdHN0cmFwJ3MgYm94LXNpemluZyBydWxlcy4gbm9ybWFsaXplcyBwb3NpdGlvbmluZyB0ZWNobmlxdWVzICovXHJcbi8qIGRvbid0IGRvIHRoaXMgZm9yIHRoZSB0b29sYmFyIGJlY2F1c2Ugd2UnbGwgd2FudCBib290c3RyYXAgdG8gc3R5bGUgdGhvc2UgYnV0dG9ucyBhcyBzb21lIHB0ICovXHJcbi5mYy12aWV3LWNvbnRhaW5lciAqLFxyXG4uZmMtdmlldy1jb250YWluZXIgKjpiZWZvcmUsXHJcbi5mYy12aWV3LWNvbnRhaW5lciAqOmFmdGVyIHtcclxuXHQtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG5cdCAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XHJcblx0ICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxufVxyXG5cclxuLmZjLXZpZXcsIC8qIHNjb3BlIHBvc2l0aW9uaW5nIGFuZCB6LWluZGV4J3MgZm9yIGV2ZXJ5dGhpbmcgd2l0aGluIHRoZSB2aWV3ICovXHJcbi5mYy12aWV3ID4gdGFibGUgeyAvKiBzbyBkcmFnZ2VkIGVsZW1lbnRzIGNhbiBiZSBhYm92ZSB0aGUgdmlldydzIG1haW4gZWxlbWVudCAqL1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR6LWluZGV4OiAxO1xyXG59XHJcblxyXG4vKiBCYXNpY1ZpZXdcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLyogZGF5IHJvdyBzdHJ1Y3R1cmUgKi9cclxuXHJcbi5mYy1iYXNpY1dlZWstdmlldyAuZmMtY29udGVudC1za2VsZXRvbixcclxuLmZjLWJhc2ljRGF5LXZpZXcgLmZjLWNvbnRlbnQtc2tlbGV0b24ge1xyXG5cdC8qIHdlIGFyZSBzdXJlIHRoZXJlIGFyZSBubyBkYXkgbnVtYmVycyBpbiB0aGVzZSB2aWV3cywgc28uLi4gKi9cclxuXHRwYWRkaW5nLXRvcDogMXB4OyAvKiBhZGQgYSBwaXhlbCB0byBtYWtlIHN1cmUgdGhlcmUgYXJlIDJweCBwYWRkaW5nIGFib3ZlIGV2ZW50cyAqL1xyXG5cdHBhZGRpbmctYm90dG9tOiAxZW07IC8qIGVuc3VyZSBhIHNwYWNlIGF0IGJvdHRvbSBvZiBjZWxsIGZvciB1c2VyIHNlbGVjdGluZy9jbGlja2luZyAqL1xyXG59XHJcblxyXG4uZmMtYmFzaWMtdmlldyB0Ym9keSAuZmMtcm93IHtcclxuXHRtaW4taGVpZ2h0OiA0ZW07IC8qIGVuc3VyZSB0aGF0IGFsbCByb3dzIGFyZSBhdCBsZWFzdCB0aGlzIHRhbGwgKi9cclxufVxyXG5cclxuLyogYSBcInJpZ2lkXCIgcm93IHdpbGwgdGFrZSB1cCBhIGNvbnN0YW50IGFtb3VudCBvZiBoZWlnaHQgYmVjYXVzZSBjb250ZW50LXNrZWxldG9uIGlzIGFic29sdXRlICovXHJcblxyXG4uZmMtcm93LmZjLXJpZ2lkIHtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uZmMtcm93LmZjLXJpZ2lkIC5mYy1jb250ZW50LXNrZWxldG9uIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcbn1cclxuXHJcbi8qIHdlZWsgYW5kIGRheSBudW1iZXIgc3R5bGluZyAqL1xyXG5cclxuLmZjLWJhc2ljLXZpZXcgLmZjLXdlZWstbnVtYmVyLFxyXG4uZmMtYmFzaWMtdmlldyAuZmMtZGF5LW51bWJlciB7XHJcblx0cGFkZGluZzogMCAycHg7XHJcbn1cclxuXHJcbi5mYy1iYXNpYy12aWV3IHRkLmZjLXdlZWstbnVtYmVyIHNwYW4sXHJcbi5mYy1iYXNpYy12aWV3IHRkLmZjLWRheS1udW1iZXIge1xyXG5cdHBhZGRpbmctdG9wOiAycHg7XHJcblx0cGFkZGluZy1ib3R0b206IDJweDtcclxufVxyXG5cclxuLmZjLWJhc2ljLXZpZXcgLmZjLXdlZWstbnVtYmVyIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5mYy1iYXNpYy12aWV3IC5mYy13ZWVrLW51bWJlciBzcGFuIHtcclxuXHQvKiB3b3JrIGFyb3VuZCB0aGUgd2F5IHdlIGRvIGNvbHVtbiByZXNpemluZyBhbmQgZW5zdXJlIGEgbWluaW11bSB3aWR0aCAqL1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRtaW4td2lkdGg6IDEuMjVlbTtcclxufVxyXG5cclxuLmZjLWx0ciAuZmMtYmFzaWMtdmlldyAuZmMtZGF5LW51bWJlciB7XHJcblx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuXHJcbi5mYy1ydGwgLmZjLWJhc2ljLXZpZXcgLmZjLWRheS1udW1iZXIge1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi5mYy1kYXktbnVtYmVyLmZjLW90aGVyLW1vbnRoIHtcclxuXHRvcGFjaXR5OiAwLjM7XHJcblx0ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTMwKTsgLyogZm9yIElFICovXHJcblx0Lyogb3BhY2l0eSB3aXRoIHNtYWxsIGZvbnQgY2FuIHNvbWV0aW1lcyBsb29rIHRvbyBmYWRlZFxyXG5cdCAgIG1pZ2h0IHdhbnQgdG8gc2V0IHRoZSAnY29sb3InIHByb3BlcnR5IGluc3RlYWRcclxuXHQgICBtYWtpbmcgZGF5LW51bWJlcnMgYm9sZCBhbHNvIGZpeGVzIHRoZSBwcm9ibGVtICovXHJcbn1cclxuXHJcbi8qIEFnZW5kYVZpZXcgYWxsLWRheSBhcmVhXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5mYy1hZ2VuZGEtdmlldyAuZmMtZGF5LWdyaWQge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR6LWluZGV4OiAyOyAvKiBzbyB0aGUgXCJtb3JlLi5cIiBwb3BvdmVyIHdpbGwgYmUgb3ZlciB0aGUgdGltZSBncmlkICovXHJcbn1cclxuXHJcbi5mYy1hZ2VuZGEtdmlldyAuZmMtZGF5LWdyaWQgLmZjLXJvdyB7XHJcblx0bWluLWhlaWdodDogM2VtOyAvKiBhbGwtZGF5IHNlY3Rpb24gd2lsbCBuZXZlciBnZXQgc2hvcnRlciB0aGFuIHRoaXMgKi9cclxufVxyXG5cclxuLmZjLWFnZW5kYS12aWV3IC5mYy1kYXktZ3JpZCAuZmMtcm93IC5mYy1jb250ZW50LXNrZWxldG9uIHtcclxuXHRwYWRkaW5nLXRvcDogMXB4OyAvKiBhZGQgYSBwaXhlbCB0byBtYWtlIHN1cmUgdGhlcmUgYXJlIDJweCBwYWRkaW5nIGFib3ZlIGV2ZW50cyAqL1xyXG5cdHBhZGRpbmctYm90dG9tOiAxZW07IC8qIGdpdmUgc3BhY2UgdW5kZXJuZWF0aCBldmVudHMgZm9yIGNsaWNraW5nL3NlbGVjdGluZyBkYXlzICovXHJcbn1cclxuXHJcblxyXG4vKiBUaW1lR3JpZCBheGlzIHJ1bm5pbmcgZG93biB0aGUgc2lkZSAoZm9yIGJvdGggdGhlIGFsbC1kYXkgYXJlYSBhbmQgdGhlIHNsb3QgYXJlYSlcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLmZjIC5mYy1heGlzIHsgLyogLmZjIHRvIG92ZXJjb21lIGRlZmF1bHQgY2VsbCBzdHlsZXMgKi9cclxuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdHBhZGRpbmc6IDAgNHB4O1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5mYy1sdHIgLmZjLWF4aXMge1xyXG5cdHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG4uZmMtcnRsIC5mYy1heGlzIHtcclxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4udWktd2lkZ2V0IHRkLmZjLWF4aXMge1xyXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7IC8qIG92ZXJjb21lIGpxdWkgdGhlbWUgbWFraW5nIGl0IGJvbGQgKi9cclxufVxyXG5cclxuXHJcbi8qIFRpbWVHcmlkIFN0cnVjdHVyZVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4uZmMtdGltZS1ncmlkLWNvbnRhaW5lciwgLyogc28gc2Nyb2xsIGNvbnRhaW5lcidzIHotaW5kZXggaXMgYmVsb3cgYWxsLWRheSAqL1xyXG4uZmMtdGltZS1ncmlkIHsgLyogc28gc2xhdHMvYmcvY29udGVudC9ldGMgcG9zaXRpb25zIGdldCBzY29wZWQgd2l0aGluIGhlcmUgKi9cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogMTtcclxufVxyXG5cclxuLmZjLXRpbWUtZ3JpZCB7XHJcblx0bWluLWhlaWdodDogMTAwJTsgLyogc28gaWYgaGVpZ2h0IHNldHRpbmcgaXMgJ2F1dG8nLCAuZmMtYmcgc3RyZXRjaGVzIHRvIGZpbGwgaGVpZ2h0ICovXHJcbn1cclxuXHJcbi5mYy10aW1lLWdyaWQgdGFibGUgeyAvKiBkb24ndCBwdXQgb3V0ZXIgYm9yZGVycyBvbiBzbGF0cy9iZy9jb250ZW50L2V0YyAqL1xyXG5cdGJvcmRlcjogMCBoaWRkZW4gdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5mYy10aW1lLWdyaWQgPiAuZmMtYmcge1xyXG5cdHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi5mYy10aW1lLWdyaWQgLmZjLXNsYXRzLFxyXG4uZmMtdGltZS1ncmlkID4gaHIgeyAvKiB0aGUgPGhyPiBBZ2VuZGFWaWV3IGluamVjdHMgd2hlbiBncmlkIGlzIHNob3J0ZXIgdGhhbiBzY3JvbGxlciAqL1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR6LWluZGV4OiAyO1xyXG59XHJcblxyXG4uZmMtdGltZS1ncmlkIC5mYy1iZ2V2ZW50LXNrZWxldG9uLFxyXG4uZmMtdGltZS1ncmlkIC5mYy1jb250ZW50LXNrZWxldG9uIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcbn1cclxuXHJcbi5mYy10aW1lLWdyaWQgLmZjLWJnZXZlbnQtc2tlbGV0b24ge1xyXG5cdHotaW5kZXg6IDM7XHJcbn1cclxuXHJcbi5mYy10aW1lLWdyaWQgLmZjLWhpZ2hsaWdodC1za2VsZXRvbiB7XHJcblx0ei1pbmRleDogNDtcclxufVxyXG5cclxuLmZjLXRpbWUtZ3JpZCAuZmMtY29udGVudC1za2VsZXRvbiB7XHJcblx0ei1pbmRleDogNTtcclxufVxyXG5cclxuLmZjLXRpbWUtZ3JpZCAuZmMtaGVscGVyLXNrZWxldG9uIHtcclxuXHR6LWluZGV4OiA2O1xyXG59XHJcblxyXG5cclxuLyogVGltZUdyaWQgU2xhdHMgKGxpbmVzIHRoYXQgcnVuIGhvcml6b250YWxseSlcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLmZjLXNsYXRzIHRkIHtcclxuXHRoZWlnaHQ6IDEuNWVtO1xyXG5cdGJvcmRlci1ib3R0b206IDA7IC8qIGVhY2ggY2VsbCBpcyByZXNwb25zaWJsZSBmb3IgaXRzIHRvcCBib3JkZXIgKi9cclxufVxyXG5cclxuLmZjLXNsYXRzIC5mYy1taW5vciB0ZCB7XHJcblx0Ym9yZGVyLXRvcC1zdHlsZTogZG90dGVkO1xyXG59XHJcblxyXG4uZmMtc2xhdHMgLnVpLXdpZGdldC1jb250ZW50IHsgLyogZm9yIGpxdWkgdGhlbWUgKi9cclxuXHRiYWNrZ3JvdW5kOiBub25lOyAvKiBzZWUgdGhyb3VnaCB0byBmYy1iZyAqL1xyXG59XHJcblxyXG5cclxuLyogVGltZUdyaWQgSGlnaGxpZ2h0aW5nIFNsb3RzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5mYy10aW1lLWdyaWQgLmZjLWhpZ2hsaWdodC1jb250YWluZXIgeyAvKiBhIGRpdiB3aXRoaW4gYSBjZWxsIHdpdGhpbiB0aGUgZmMtaGlnaGxpZ2h0LXNrZWxldG9uICovXHJcblx0cG9zaXRpb246IHJlbGF0aXZlOyAvKiBzY29wZXMgdGhlIGxlZnQvcmlnaHQgb2YgdGhlIGZjLWhpZ2hsaWdodCB0byBiZSBpbiB0aGUgY29sdW1uICovXHJcbn1cclxuXHJcbi5mYy10aW1lLWdyaWQgLmZjLWhpZ2hsaWdodCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0LyogdG9wIGFuZCBib3R0b20gd2lsbCBiZSBpbiBieSBKUyAqL1xyXG59XHJcblxyXG5cclxuLyogVGltZUdyaWQgRXZlbnQgQ29udGFpbm1lbnRcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQtY29udGFpbmVyLCAvKiBhIGRpdiB3aXRoaW4gYSBjZWxsIHdpdGhpbiB0aGUgZmMtY29udGVudC1za2VsZXRvbiAqL1xyXG4uZmMtdGltZS1ncmlkIC5mYy1iZ2V2ZW50LWNvbnRhaW5lciB7IC8qIGEgZGl2IHdpdGhpbiBhIGNlbGwgd2l0aGluIHRoZSBmYy1iZ2V2ZW50LXNrZWxldG9uICovXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uZmMtbHRyIC5mYy10aW1lLWdyaWQgLmZjLWV2ZW50LWNvbnRhaW5lciB7IC8qIHNwYWNlIG9uIHRoZSBzaWRlcyBvZiBldmVudHMgZm9yIExUUiAoZGVmYXVsdCkgKi9cclxuXHRtYXJnaW46IDAgMi41JSAwIDJweDtcclxufVxyXG5cclxuLmZjLXJ0bCAuZmMtdGltZS1ncmlkIC5mYy1ldmVudC1jb250YWluZXIgeyAvKiBzcGFjZSBvbiB0aGUgc2lkZXMgb2YgZXZlbnRzIGZvciBSVEwgKi9cclxuXHRtYXJnaW46IDAgMnB4IDAgMi41JTtcclxufVxyXG5cclxuLmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQsXHJcbi5mYy10aW1lLWdyaWQgLmZjLWJnZXZlbnQge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR6LWluZGV4OiAxOyAvKiBzY29wZSBpbm5lciB6LWluZGV4J3MgKi9cclxufVxyXG5cclxuLmZjLXRpbWUtZ3JpZCAuZmMtYmdldmVudCB7XHJcblx0LyogYmFja2dyb3VuZCBldmVudHMgYWx3YXlzIHNwYW4gZnVsbCB3aWR0aCAqL1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcbn1cclxuXHJcblxyXG4vKiBUaW1lR3JpZCBFdmVudCBTdHlsaW5nXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuV2UgdXNlIHRoZSBmdWxsIFwiZmMtdGltZS1ncmlkLWV2ZW50XCIgY2xhc3MgaW5zdGVhZCBvZiB1c2luZyBkZXNjZW5kYW50cyBiZWNhdXNlIHRoZSBldmVudCB3b24ndFxyXG5iZSBhIGRlc2NlbmRhbnQgb2YgdGhlIGdyaWQgd2hlbiBpdCBpcyBiZWluZyBkcmFnZ2VkLlxyXG4qL1xyXG5cclxuLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1ub3Qtc3RhcnQgeyAvKiBldmVudHMgdGhhdCBhcmUgY29udGludWluZyBmcm9tIGFub3RoZXIgZGF5ICovXHJcblx0LyogcmVwbGFjZSBzcGFjZSBtYWRlIGJ5IHRoZSB0b3AgYm9yZGVyIHdpdGggcGFkZGluZyAqL1xyXG5cdGJvcmRlci10b3Atd2lkdGg6IDA7XHJcblx0cGFkZGluZy10b3A6IDFweDtcclxuXHJcblx0LyogcmVtb3ZlIHRvcCByb3VuZGVkIGNvcm5lcnMgKi9cclxuXHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xyXG5cdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG59XHJcblxyXG4uZmMtdGltZS1ncmlkLWV2ZW50LmZjLW5vdC1lbmQge1xyXG5cdC8qIHJlcGxhY2Ugc3BhY2UgbWFkZSBieSB0aGUgdG9wIGJvcmRlciB3aXRoIHBhZGRpbmcgKi9cclxuXHRib3JkZXItYm90dG9tLXdpZHRoOiAwO1xyXG5cdHBhZGRpbmctYm90dG9tOiAxcHg7XHJcblxyXG5cdC8qIHJlbW92ZSBib3R0b20gcm91bmRlZCBjb3JuZXJzICovXHJcblx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcclxuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcclxufVxyXG5cclxuLmZjLXRpbWUtZ3JpZC1ldmVudCB7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogZG9uJ3QgbGV0IHRoZSBiZyBmbG93IG92ZXIgcm91bmRlZCBjb3JuZXJzICovXHJcbn1cclxuXHJcbi5mYy10aW1lLWdyaWQtZXZlbnQgPiAuZmMtY29udGVudCB7IC8qIGNvbnRhaW5zIHRoZSB0aW1lIGFuZCB0aXRsZSwgYnV0IG5vIGJnIGFuZCByZXNpemVyICovXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDI7IC8qIGFib3ZlIHRoZSBiZyAqL1xyXG59XHJcblxyXG4uZmMtdGltZS1ncmlkLWV2ZW50IC5mYy10aW1lLFxyXG4uZmMtdGltZS1ncmlkLWV2ZW50IC5mYy10aXRsZSB7XHJcblx0cGFkZGluZzogMCAxcHg7XHJcbn1cclxuXHJcbi5mYy10aW1lLWdyaWQtZXZlbnQgLmZjLXRpbWUge1xyXG5cdGZvbnQtc2l6ZTogLjg1ZW07XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLmZjLXRpbWUtZ3JpZC1ldmVudCAuZmMtYmcge1xyXG5cdHotaW5kZXg6IDE7XHJcblx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRvcGFjaXR5OiAuMjU7XHJcblx0ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTI1KTsgLyogZm9yIElFICovXHJcbn1cclxuXHJcbi8qIHNob3J0IG1vZGUsIHdoZXJlIHRpbWUgYW5kIHRpdGxlIGFyZSBvbiB0aGUgc2FtZSBsaW5lICovXHJcblxyXG4uZmMtdGltZS1ncmlkLWV2ZW50LmZjLXNob3J0IC5mYy1jb250ZW50IHtcclxuXHQvKiBkb24ndCB3cmFwIHRvIHNlY29uZCBsaW5lIChub3cgdGhhdCBjb250ZW50cyB3aWxsIGJlIGlubGluZSkgKi9cclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4uZmMtdGltZS1ncmlkLWV2ZW50LmZjLXNob3J0IC5mYy10aW1lLFxyXG4uZmMtdGltZS1ncmlkLWV2ZW50LmZjLXNob3J0IC5mYy10aXRsZSB7XHJcblx0LyogcHV0IHRoZSB0aW1lIGFuZCB0aXRsZSBvbiB0aGUgc2FtZSBsaW5lICovXHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbn1cclxuXHJcbi5mYy10aW1lLWdyaWQtZXZlbnQuZmMtc2hvcnQgLmZjLXRpbWUgc3BhbiB7XHJcblx0ZGlzcGxheTogbm9uZTsgLyogZG9uJ3QgZGlzcGxheSB0aGUgZnVsbCB0aW1lIHRleHQuLi4gKi9cclxufVxyXG5cclxuLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zaG9ydCAuZmMtdGltZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IGF0dHIoZGF0YS1zdGFydCk7IC8qIC4uLmluc3RlYWQsIGRpc3BsYXkgb25seSB0aGUgc3RhcnQgdGltZSAqL1xyXG59XHJcblxyXG4uZmMtdGltZS1ncmlkLWV2ZW50LmZjLXNob3J0IC5mYy10aW1lOmFmdGVyIHtcclxuXHRjb250ZW50OiBcIlxcMDAwQTAtXFwwMDBBMFwiOyAvKiBzZXBlcmF0ZSB3aXRoIGEgZGFzaCwgd3JhcHBlZCBpbiBuYnNwJ3MgKi9cclxufVxyXG5cclxuLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zaG9ydCAuZmMtdGl0bGUge1xyXG5cdGZvbnQtc2l6ZTogLjg1ZW07IC8qIG1ha2UgdGhlIHRpdGxlIHRleHQgdGhlIHNhbWUgc2l6ZSBhcyB0aGUgdGltZSAqL1xyXG5cdHBhZGRpbmc6IDA7IC8qIHVuZG8gcGFkZGluZyBmcm9tIGFib3ZlICovXHJcbn1cclxuXHJcbi8qIHJlc2l6ZXIgKi9cclxuXHJcbi5mYy10aW1lLWdyaWQtZXZlbnQgLmZjLXJlc2l6ZXIge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR6LWluZGV4OiAzOyAvKiBhYm92ZSBjb250ZW50ICovXHJcblx0bGVmdDogMDtcclxuXHRyaWdodDogMDtcclxuXHRib3R0b206IDA7XHJcblx0aGVpZ2h0OiA4cHg7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRsaW5lLWhlaWdodDogOHB4O1xyXG5cdGZvbnQtc2l6ZTogMTFweDtcclxuXHRmb250LWZhbWlseTogbW9ub3NwYWNlO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRjdXJzb3I6IHMtcmVzaXplO1xyXG59XHJcblxyXG4uZmMtdGltZS1ncmlkLWV2ZW50IC5mYy1yZXNpemVyOmFmdGVyIHtcclxuXHRjb250ZW50OiBcIj1cIjtcclxufVxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIG1vZGlmaWNhY2lvbiBkZSBsb3MgZXN0aWxvc1xyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuLy8gQ2FsZW5kYXJcclxuXHJcbiNjYWxlbmRhciB7IGZvbnQtc2l6ZToxLjNlbTsgfVxyXG5cclxuLy8gQ2FiZWNlcmEgdmlzdGEgY2FsZW5kYXJpb1xyXG5kaXYuZmMtd2lkZ2V0LWhlYWRlciB7XHJcblx0dGFibGUge1xyXG5cdFx0dGhlYWQge1xyXG5cdFx0XHR0ciB7XHJcblx0XHRcdFx0dGggeyBiYWNrZ3JvdW5kOiRDYWxlbmRhcmlvQ2FiYmdjb2xvcjsgcGFkZGluZzouNWVtIDAgMCAwOyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vLyBGaWxhIGTDrWFzXHJcbmRpdi5mYy1kYXktZ3JpZC1jb250YWluZXIge1xyXG5cdGRpdi5mYy1iZyB7XHJcblx0XHR0YWJsZSB7XHJcblx0XHRcdHRib2R5IHtcclxuXHRcdFx0XHR0ciB7XHJcblx0XHRcdFx0XHR0aCB7XHJcblx0XHRcdFx0XHRcdCYuZmMtdG9kYXkgeyBib3JkZXI6c29saWQgMXB4ICNmMDA7fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0dGQge1xyXG5cdFx0XHRcdFx0XHQvLyBEw61hIGRlbCBtZXMgZGlmZXJlbnRlIGFsIGFjdHVhbFxyXG5cdFx0XHRcdFx0XHQmLmZjLW90aGVyLW1vbnRoIHsgYmFja2dyb3VuZDojZjFmMWYxO31cclxuXHRcdFx0XHRcdFx0Ly8mOmhvdmVyIHsgYmFja2dyb3VuZDojZjAwO31cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGRpdi5mYy1jb250ZW50LXNrZWxldG9uIHtcclxuXHRcdHRhYmxlIHtcclxuXHRcdFx0dGJvZHkge1xyXG5cdFx0XHRcdHRyIHtcclxuXHRcdFx0XHRcdHRkIHsgYm9yZGVyLXJpZ2h0OnNvbGlkIDFweCAjZGRkZGRkO1xyXG5cdFx0XHRcdFx0XHRhLmZjLWRheS1ncmlkLWV2ZW50IHsgZm9udC1zaXplOjFlbTt9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59IiwiLmNvbnRlbmVkb3ItY29uZmlnIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNik7XHJcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICBwYWRkaW5nOiAuNzVyZW07XHJcbiAgICBtYXJnaW46IDAgMCAycmVtO1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDBweCA1cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4wMyk7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgYnV0dG9uLnRpbnksXHJcbiAgICAuYnV0dG9uLnRpbnkge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjc1cmVtO1xyXG4gICAgfVxyXG4gICAgLmZvcm1fY2hhbmdlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBjb2xvcjogJHdhcm5pbmc7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIH1cclxuICAgIGZpZWxkc2V0IC5yb3cge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICB9XHJcbiAgICBmaWVsZHNldCBsZWdlbmQge1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY29tcGFuaWVzLXVzZXJzLXJvbGVzLWZpZWxkcy1saXN0IGxpID4gZGl2OmZpcnN0LWNoaWxkIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLmNvbXBhbmllcy11c2Vycy1yb2xlcy1maWVsZHMtbGlzdCBsaSBkaXYgLmNvbXBhbnktdXNlcnMtcm9sZXMtcmVtb3ZlLWl0ZW0ge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcclxuICAgICAgICBsZWZ0OiAtMy41cmVtO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjIwcHgpIHtcclxuICAgICAgICBsZWZ0OiAtMi41cmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucGFuZWwge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgJi5wYW5lbF9taW5pLFxyXG4gICAgJi5wYW5lbF9pbmZvIHtcclxuICAgICAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTIsIDEzKTtcclxuICAgICAgICBwLFxyXG4gICAgICAgIHVsLFxyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMiwgMTMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucGFuZWxfaW5mbyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmJmMztcclxuICAgIH1cclxufVxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vLy8gIENBTVBPUyBGT1JNVUxBUklPUyAvLy8vL1xyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLmlucHV0WHhzbWFsbCB7XHJcbiAgICB3aWR0aDogMTIlIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDogODBweCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pbnB1dFhzbWFsbCB7XHJcbiAgICB3aWR0aDogMjAlIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDogMjAwcHghaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaW5wdXRTbWFsbCB7XHJcbiAgICB3aWR0aDogMzAlIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDogMzAwcHghaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaW5wdXRNZWRpdW0ge1xyXG4gICAgd2lkdGg6IDUwJSFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtd2lkdGg6IDQwMHB4IWltcG9ydGFudDtcclxufVxyXG5cclxuLmlucHV0TGFyZ2Uge1xyXG4gICAgd2lkdGg6IDgwJSFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtd2lkdGg6IDUwMHB4IWltcG9ydGFudDtcclxufVxyXG5cclxuLmlucHV0WGxhcmdlIHtcclxuICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDogNjAwcHghaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucmV2ZWFsLW1vZGFsIHtcclxuICAgIC5pbnB1dFh4c21hbGwsXHJcbiAgICAuaW5wdXRYc21hbGwsXHJcbiAgICAuaW5wdXRTbWFsbCxcclxuICAgIC5pbnB1dE1lZGl1bSxcclxuICAgIC5pbnB1dExhcmdlLFxyXG4gICAgLmlucHV0WGxhcmdlIHtcclxuICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuICAgICAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXHJcbiAgICAgICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxyXG4gICAgICAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXHJcbiAgICAgICAgaW5wdXRbdHlwZT1cInVybFwiXSxcclxuICAgICAgICB0ZXh0YXJlYSxcclxuICAgICAgICAuZGF0YVRhYmxlc19sZW5ndGggbGFiZWwgc2VsZWN0IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5MztcclxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ1JvYm90byc7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDExMiU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JheTU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogZmlsdHJvcyBsaXN0YWRvcyAqL1xyXG5cclxuLkpTZm9ybUZpbHRlcnMge1xyXG4gICAgaW5wdXQuaW5wdXRYeHNtYWxsIHtcclxuICAgICAgICBtaW4td2lkdGg6IDUwcHg7XHJcbiAgICB9XHJcbiAgICBpbnB1dC5pbnB1dFhzbWFsbCB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAxMDBweDtcclxuICAgIH1cclxuICAgIGlucHV0LmlucHV0U21hbGwge1xyXG4gICAgICAgIG1pbi13aWR0aDogMTUwcHg7XHJcbiAgICB9XHJcbiAgICBpbnB1dC5pbnB1dE1lZGl1bSB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAzNTBweDtcclxuICAgIH1cclxuICAgIGlucHV0LmlucHV0TGFyZ2Uge1xyXG4gICAgICAgIG1pbi13aWR0aDogNTAwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKmRlc2hhYmlsaXRhZG8qL1xyXG5cclxuLmRpc2FibGVkIHtcclxuICAgIGNvbG9yOiAjOWRhNWFkO1xyXG59XHJcblxyXG5cclxuLyp0ZXh0byBheXVkYSovXHJcblxyXG4uaGVscC10ZXh0IHtcclxuICAgIGNvbG9yOiAjOWRhNWFkO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgbWFyZ2luOiAuNXJlbSAwO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdW3JlYWRvbmx5XS5wbGFpbnRleHQge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmctdG9wOiAuMzc1cmVtO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy1ib3R0b206IC4zNzVyZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci13aWR0aDogMXB4IDA7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJ1cmxcIl0ge1xyXG4gICAgd2lkdGg6IGluaGVyaXQ7XHJcbn1cclxuXHJcbi5ncnVwby1pY29ubyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgLmdydXBvLWlucHV0LXByZXBlbmQge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogLTFweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgID4uZ3J1cG8taW5wdXQtdGV4dCB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcclxuICAgICAgICAgICAgY29sb3I6ICRibGFuY287XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhenVsb3NjdXJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvckFkbWluO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JBZG1pbjtcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JBZG1pbjtcclxuICAgICAgICAgICAgICAgIC5maSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFuY287XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZ3J1cG8taW5wdXQtYXBwZW5kIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgID4uZ3J1cG8taW5wdXQtdGV4dCB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNDk1MDU3O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JBZG1pbjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yQWRtaW47XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yQWRtaW47XHJcbiAgICAgICAgICAgICAgICAuZmkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhbmNvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmdydXBvLWlucHV0LXRleHQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogLjM3NXJlbSAuNzVyZW07XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAuMjVyZW07XHJcbiAgICAgICAgJjpob3ZlciBhIC5mYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ncnVwby1pbnB1dCB7XHJcbiAgICBpbnB1dFt0eXBlPVwiY29sb3JcIl0ge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDM2cHg7XHJcbiAgICB9XHJcbiAgICAuY29sb3JwaWNrLWV5ZWRyb3BwZXItaW5wdXQtdHJpZ2dlciB7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbWFyZ2luOiAuNXJlbSAwO1xyXG4gICAgfVxyXG4gICAgc2VsZWN0IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtaW4taGVpZ2h0OiAxLjVyZW07XHJcbiAgICAgICAgcGFkZGluZzogLjVyZW0gMXJlbTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDFweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSBzaXplKDEyLCAxNik7XHJcbiAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgICAgLW8tYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FZQUFBQWY4LzloQUFBQWgwbEVRVlE0VDkzVE1RckNVQXpHOFY5eDhRemlpWVN1WGR6RkM3aDRBY0VMT1BRQWRYWW92WkNIRUFUbGdRVjVHRlRlMW96Smx6L2tTMUlwaktxdzN3UUJWeXkrK0pJMHkxR1RlN0RDQmJNQWNrZU5JUUtrL0JhbkFMQkIrMTZMdG5ERUxvTWNzTS9CRVNEbHoyaGVEUjNXZVB3S1NMbzVlb3h6M3o2Tk5jRkQrdnUzaWoxNEFxei9EeEdiS0I3Q0FBQUFBRWxGVGtTdVFtQ0MnKSBuby1yZXBlYXQgOTglIGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLmZvcm0tZ3JvdXAucm93IHtcclxuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbn1cclxuXHJcblxyXG4vKmlucHV0IGZpbGUqL1xyXG5cclxuLnN1YmlyLWFyY2hpdm8ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGNhbGMoMzhweCArIDJweCk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgLnN1YmlyLWFyY2hpdm8taW5wdXQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogY2FsYygzOHB4ICsgMnB4KTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICAgIC5zdWJpci1hcmNoaXZvLWxhYmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgcGFkZGluZzogLjVyZW0gLjc1cmVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgY29sb3I6ICM0OTUwNTc7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAuNXJlbSAuNzVyZW07XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNDk1MDU3O1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlNlbGVjY2lvbmFyIGFyY2hpdm9cIjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2VkNGRhO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIC4yNXJlbSAuMjVyZW0gMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKnJhZGlvcyB5IGNoZWNrcyovXHJcblxyXG4uZ3J1cG8tY2hlY2tib3gsXHJcbi5ncnVwby1yYWRpbyB7XHJcbiAgICBwIHtcclxuICAgICAgICBAaW5jbHVkZSBzaXplKDEyLFxyXG4gICAgICAgIDEzKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAuNXJlbTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jdXN0b20tY2hlY2tib3gsXHJcbi5jdXN0b20tcmFkaW8ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XHJcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG4gICAgbGFiZWwge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuNTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IC41cmVtO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDFyZW07XHJcbiAgICAgICAgICAgIGhlaWdodDogMXJlbTtcclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWUyZTY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogLjVyZW07XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMXJlbTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxcmVtO1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDUwJSA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaW5wdXRbdHlwZT1jaGVja2JveF0sXHJcbiAgICBpbnB1dFt0eXBlPXJhZGlvXSB7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAmOmNoZWNrZWR+bGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvckFkbWluO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmRpc2FibGVkfmxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNWY2O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmNoZWNrZWR+bGFiZWw6OmFmdGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nJTIzZmZmJyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjYgMi45NzQgNy4yNSA4IDIuMTkzeicvJTNFJTNDL3N2ZyUzRVwiKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jdXN0b20tcmFkaW8ge1xyXG4gICAgbGFiZWw6YmVmb3JlIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICB9XHJcbiAgICBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkfmxhYmVsOjphZnRlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNFJTNDY2lyY2xlIHI9JzMnIGZpbGw9JyUyM2ZmZicvJTNFJTNDL3N2ZyUzRVwiKTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qRk9STVVMQVJJTyBFTiBMSU5FQSovXHJcblxyXG4uZmlsYV9ncnVwb19jYW1wb3Mge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAuZ3J1cG9fY2FtcG9zIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwIDFyZW0gMnJlbSAwO1xyXG4gICAgICAgIGZsZXg6IGF1dG87XHJcbiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgICAgICAmLnNpbmdsZS1pdGVtIHtcclxuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIC5tZW5zYWplLWZlZWRiYWNrIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDJyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmhlbHAtdGV4dCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyp2YWxpZGFjacOzbiovXHJcblxyXG4ucmVxdWlyZWQtZmllbGRzIHtcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5yZXF1aXJlZC1pdGVtIHtcclxuICAgIGNvbG9yOiByZWQ7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxufVxyXG5cclxuLy8gaW5wdXQ6cmVxdWlyZWQ6YWZ0ZXJ7IGNvbnRlbnQ6IFwiKlwiOyBkaXNwbGF5OiBibG9jazsgd2lkdGg6MTBweDsgaGVpZ2h0OjEwcHg7IGZvbnQtc2l6ZToxMnB4OyBsaW5lLWhlaWdodDoxMnB4O2NvbG9yOiByZWQ7fVxyXG4ubWVuc2FqZS1mZWVkYmFjayB7XHJcbiAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAvKnBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAtMjBweDsqL1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLm5vLXZhbGlkYWRvIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC5tZW5zYWplLWZlZWRiYWNrIHtcclxuICAgICAgICBjb2xvcjogcmVkO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgLmhlbHAtdGV4dCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIGlucHV0OnJlcXVpcmVkIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZWQhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmdydXBvLWlucHV0LXByZXBlbmQ+LmdydXBvLWlucHV0LXRleHQge1xyXG4gICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbiAgICAuZ3J1cG8taW5wdXQtYXBwZW5kPi5ncnVwby1pbnB1dC10ZXh0IHtcclxuICAgICAgICBjb2xvcjogI2NjMDAwMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICNjYzAwMDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zaW5nbGUtaXRlbSB7XHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBjb2xvcjogYmxhY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogYmxhY2s7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ncnVwby1yYWRpbyxcclxuICAgIC5ncnVwby1jaGVja2JveCB7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjY2MwMDAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcclxuICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcclxuICAgIHNlbGVjdCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzMiwgMjQwLCAyNTQpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUsXHJcbiAgICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzMiwgMjQwLCAyNTQpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICBhLm5ld1JlbE9iamVjdCB7XHJcbiAgICAgICAgY29sb3I6IHJnYigxMDksIDEwOSwgMTA5KSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzMiwgMjQwLCAyNTQpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5maWx0ZXJfZWxlbWVudCB7XHJcbiAgICAjZmlsdHJvX0VtcHJlc2FfZmVjaGFBbHRhLFxyXG4gICAgI2ZpbHRyb19FbXByZXNhX2ZlY2hhQmFqYSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IFxyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYxOXB4KSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZmlsdGVyX2VsZW1lbnQubm8tdmFsaWRhZG8ge1xyXG4gICAgLmZvcm1fY2hhbmdlIHtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4udmFsaWRhZG8ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAubWVuc2FqZS1mZWVkYmFjayB7XHJcbiAgICAgICAgY29sb3I6IGdyZWVuO1xyXG4gICAgfVxyXG4gICAgLmhlbHAtdGV4dCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIGlucHV0OnJlcXVpcmVkIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBncmVlbiFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuZ3J1cG8taW5wdXQtcHJlcGVuZD4uZ3J1cG8taW5wdXQtdGV4dCB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgZ3JlZW47XHJcbiAgICAgICAgY29sb3I6IGdyZWVuO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG4gICAgLmdydXBvLWlucHV0LWFwcGVuZD4uZ3J1cG8taW5wdXQtdGV4dCB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgZ3JlZW47XHJcbiAgICAgICAgY29sb3I6IGdyZWVuO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogZ3JlZW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zaW5nbGUtaXRlbSB7XHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBjb2xvcjogZ3JlZW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogZ3JlZW47XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ncnVwby1yYWRpbyxcclxuICAgIC5ncnVwby1jaGVja2JveCB7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBncmVlbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLy8vLy8vICBEUk9QWk9ORSAvLy8vLy8vLy8vLy8gXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4uZHJvcHpvbmUuZHotc3RhcnRlZCAuZHotbWVzc2FnZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLmRyb3B6b25lIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgJi5kei1jbGlja2FibGUge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYmVmb3JlQWZ0ZXI7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMjBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vLi4vcHVibGljL2ltYWdlcy9pY28tc3ViaXIucG5nKSBuby1yZXBlYXQgY2VudGVyIHRvcDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDQwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46IDFyZW0gYXV0byAwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IC4zO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZHJvcHpvbmUuZHotc3RhcnRlZC5kei1tZXNzYWdlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmR6LW1lc3NhZ2Uge1xyXG4gICAgICAgIGJ1dHRvbi5kei1idXR0b24sXHJcbiAgICAgICAgYnV0dG9uLmR6LWJ1dHRvbjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBjb2xvcjogIzUzNTM1MztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZHotcHJldmlldyB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmMhaW1wb3J0YW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWU1ZTU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDJyZW0gMCAxcmVtO1xyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkyMHB4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEwcHgpO1xyXG4gICAgICAgICAgICBtYXJnaW46IDNyZW0gMTBweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTIwMHB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzJSAtIDEwcHgpO1xyXG4gICAgICAgICAgICBtYXJnaW46IDNyZW0gMTBweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE2MDFweCkge1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYygyNSUgLSAxMHB4KTtcclxuICAgICAgICAgICAgbWFyZ2luOiAzcmVtIDEwcHggMCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZHotaW1hZ2Uge1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMTQwcHg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjUlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgaW1nLFxyXG4gICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGk6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNjBweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjYmJiYmJiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kei1lZGl0LFxyXG4gICAgICAgIC5kei1yZW1vdmUsXHJcbiAgICAgICAgLmZpbGVkb3dubG9hZCB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMXJlbSAxcmVtO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yQWRtaW47XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYigxMDAsIDEwMCwgMTAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZHotZGV0YWlscyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW46IDFyZW0gMCAzcmVtIDIlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCByZ2JhKDAsIDAsIDAsIC4xNSk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDczJTtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZHotZmlsZW5hbWUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMjAlO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZHotc2l6ZSB7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgKy5jbGVhcmZpeCB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLmR6LW1heC1maWxlcy1yZWFjaGVkIHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgLmR6LW1lc3NhZ2Uge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5kei1wcmV2aWV3IHtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcclxuICAgIH1cclxufVxyXG5cclxuLmR6LW1heC1maWxlcy1yZWFjaGVkOjpiZWZvcmUge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyBcclxuLy8vLy8vLy8vLy8vLy8vL0JPVE9ORVMgU1dJVENILy8vLy8vLy8vLy8vLy8gXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIFxyXG4uc3dpdGNoLWZpZWxkIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzNnB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGlucHV0IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICAgICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xyXG4gICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTRlNDtcclxuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIC0xcHggMCAwO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjMpLCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbi1vdXQ7XHJcbiAgICB9XHJcbiAgICBpbnB1dCtsYWJlbCB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAtMXB4O1xyXG4gICAgfVxyXG4gICAgbGFiZWw6aG92ZXIge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuICAgIGlucHV0OmNoZWNrZWQrbGFiZWwge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb3Jwb3JhdGl2bztcclxuICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICBsYWJlbDpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIH1cclxuICAgIGxhYmVsOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XHJcbiAgICB9XHJcbiAgICAmLmlucHV0LW9ub2ZmIHtcclxuICAgICAgICBsYWJlbDpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweCAwIDAgNTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGFiZWw6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCA1MHB4IDUwcHggMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW5wdXQ6Zmlyc3Qtb2YtdHlwZTpjaGVja2VkK2xhYmVsIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYjg5NDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW5wdXQ6bGFzdC1vZi10eXBlOmNoZWNrZWQrbGFiZWwge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDYzMDMxO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsYWJlbC5pbnB1dC1vbm9mZjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDUwcHggNTBweCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gXHJcbi8vLy8vLy8vLy8vLy8vLy9SQU5HRSBTTElERVIgMS8vLy8vLy8vLy8vLy8vIFxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyBcclxuLnNsaWRlY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiA3NjhweDtcclxuICAgIHNwYW4ge1xyXG4gICAgICAgICYuc2xpZGUtZnJvbSB7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAuNXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zbGlkZS10byB7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2xpZGVyIHtcclxuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZDNkM2QzO1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgb3BhY2l0eTogMC43O1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLjJzO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XHJcbiAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29ycG9yYXRpdm87XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvcnBvcmF0aXZvO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyBcclxuLy8vLy8vLy8vLy8vLy8vL1NXSVRDSCB2Mi8vLy8vLy8vLy8vLy8vIFxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyBcclxuLm9ub2Zmc3dpdGNoIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0rbGFiZWwsXHJcbiAgICAub25vZmZzd2l0Y2ggaW5wdXRbdHlwZT1cInJhZGlvXCJdK2xhYmVsIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdK2xhYmVsLFxyXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdK2xhYmVsIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkK2xhYmVsLFxyXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkK2xhYmVsIHtcclxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICB9XHJcbiAgICAub25vZmZzd2l0Y2gtY2hlY2tib3gge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAub25vZmZzd2l0Y2gtbGFiZWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAub25vZmZzd2l0Y2gtaW5uZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAyMDAlO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTAwJTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXJnaW4gMC4zcyBlYXNlLWluIDBzO1xyXG4gICAgfVxyXG4gICAgLm9ub2Zmc3dpdGNoLWlubmVyOmJlZm9yZSxcclxuICAgIC5vbm9mZnN3aXRjaC1pbm5lcjphZnRlciB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICBoZWlnaHQ6IDM4cHg7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMzhweDtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBUcmVidWNoZXQsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICB9XHJcbiAgICAub25vZmZzd2l0Y2gtaW5uZXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlPDjVwiO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTZweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBCODk0O1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG4gICAgLm9ub2Zmc3dpdGNoLWlubmVyOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIk5PXCI7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xyXG4gICAgICAgIGNvbG9yOiAjOTk5O1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG4gICAgLm9ub2Zmc3dpdGNoLXN3aXRjaCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDI4cHg7XHJcbiAgICAgICAgbWFyZ2luOiA1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI0ZGRjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICByaWdodDogNDBweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbiAwcztcclxuICAgIH1cclxuICAgIC5vbm9mZnN3aXRjaC1jaGVja2JveDpjaGVja2VkKy5vbm9mZnN3aXRjaC1sYWJlbCAub25vZmZzd2l0Y2gtaW5uZXIge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgfVxyXG4gICAgLm9ub2Zmc3dpdGNoLWNoZWNrYm94OmNoZWNrZWQrLm9ub2Zmc3dpdGNoLWxhYmVsIC5vbm9mZnN3aXRjaC1zd2l0Y2gge1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gICAgLm9ub2Zmc3dpdGNoLWNoZWNrYm94Om5vdCg6Y2hlY2tlZCkrLm9ub2Zmc3dpdGNoLWxhYmVsIC5vbm9mZnN3aXRjaC1zd2l0Y2gge1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yZXZlYWwtbW9kYWwgLnJvdyAuY29sdW1ucyBsYWJlbC5vbm9mZnN3aXRjaC1sYWJlbCB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG5sYWJlbC5tdWx0aXBsZS1jaGVjayB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi5tYXRlcmlhbG9ub2ZmIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiA1NXB4O1xyXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0rbGFiZWwsXHJcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0rbGFiZWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIC5tYXRlcmlhbG9ub2ZmLWNoZWNrYm94IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgLm1hdGVyaWFsb25vZmYtbGFiZWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIGJvcmRlcjogMHB4IHNvbGlkICNGRkY7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOUU5RTlFO1xyXG4gICAgfVxyXG4gICAgLm1hdGVyaWFsb25vZmYtbGFiZWw6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgIG1hcmdpbjogLTVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAzMXB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMTJweCAwcHggIzc1NzU3NTtcclxuICAgIH1cclxuICAgIC5tYXRlcmlhbG9ub2ZmLWNoZWNrYm94OmNoZWNrZWQrLm1hdGVyaWFsb25vZmYtbGFiZWwsXHJcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCtsYWJlbCxcclxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkK2xhYmVsIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJBNUY1O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIC5tYXRlcmlhbG9ub2ZmLWNoZWNrYm94OmNoZWNrZWQrLm1hdGVyaWFsb25vZmYtbGFiZWwsXHJcbiAgICAubWF0ZXJpYWxvbm9mZi1jaGVja2JveDpjaGVja2VkKy5tYXRlcmlhbG9ub2ZmLWxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNDJBNUY1O1xyXG4gICAgfVxyXG4gICAgLm1hdGVyaWFsb25vZmYtY2hlY2tib3g6Y2hlY2tlZCsubWF0ZXJpYWxvbm9mZi1sYWJlbCAubWF0ZXJpYWxvbm9mZi1pbm5lciB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgICAubWF0ZXJpYWxvbm9mZi1jaGVja2JveDpjaGVja2VkKy5tYXRlcmlhbG9ub2ZmLWxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgcmlnaHQ6IDBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE5NkYzO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDNweCA2cHggMThweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vL01FTsOaIFRBQlMgQUxPSkFNSUVOVE9TLy8vXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLmhpZGRlbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG5kaXZbaWQqPSd0YWJfQWxvamFtaWVudG8nXSAjY2FwYW9wY2lvbmVzIC5lbGltaW5hclJlZ2lzdHJvcyxcclxuW2lkKj0ndGFiX0Fsb2phbWllbnRvJ10gI2NhcGFvcGNpb25lcyAuc2VsZWNjaW9uYXJUb2RvcyxcclxuW2lkKj0ndGFiX0Fsb2phbWllbnRvJ10gI2NhcGFvcGNpb25lcyAuZGVzZWxlY2Npb25hclRvZG9zLFxyXG5baWQqPSd0YWJfQWxvamFtaWVudG8nXSAjY2FwYW9wY2lvbmVzIC5leHBvcnRhckV4Y2VsIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuZm9ybVtkYXRhLXJlbC10YWJsZT1cIm9UYWJsZUFsb2phbWllbnRvXCJdIGZpZWxkc2V0IGxlZ2VuZCB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcblxyXG4vKmZvcm1bZGF0YS1yZWwtdGFibGU9XCJvVGFibGVBbG9qYW1pZW50b1wiXSBmaWVsZHNldCBsZWdlbmQ6bm90KC5hY3Rpdm8pOjphZnRlciB7IGRpc3BsYXk6aW5saW5lLWJsb2NrOyBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7IGZvbnQtc2l6ZToxNnB4OyBjb250ZW50OiBcIlxcZjAxYVwiOyBmb250LXdlaWdodDogYm9sZDsgd2lkdGg6MTVweDsgbWFyZ2luLWxlZnQ6IDE1cHg7IH1cclxuICAgICAgICBmb3JtW2RhdGEtcmVsLXRhYmxlPVwib1RhYmxlQWxvamFtaWVudG9cIl0gZmllbGRzZXQgbGVnZW5kLmFjdGl2bzo6YWZ0ZXIgeyBkaXNwbGF5OmlubGluZS1ibG9jazsgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOyBmb250LXNpemU6MTZweDsgY29udGVudDogXCJcXGYwMWJcIjsgZm9udC13ZWlnaHQ6IGJvbGQ7IHdpZHRoOjE1cHg7IG1hcmdpbi1sZWZ0OiAxNXB4OyB9Ki9cclxuXHJcbmZvcm1bZGF0YS1yZWwtdGFibGU9XCJvVGFibGVBbG9qYW1pZW50b1wiXSBmaWVsZHNldDpudGgtY2hpbGQoMSkgLmZpbHRlcl9lbGVtZW50OmZpcnN0LW9mLXR5cGUgLnNlbGVjdDI6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICBtaW4td2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMTAwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuZm9ybVtkYXRhLXJlbC10YWJsZT1cIm9UYWJsZUFsb2phbWllbnRvXCJdIGZpZWxkc2V0Om50aC1jaGlsZCgzKSAuZmlsdGVyX2VsZW1lbnQ6Zmlyc3Qtb2YtdHlwZSAuc2VsZWN0MjpmaXJzdC1vZi10eXBlIHtcclxuICAgIG1pbi13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcclxuICAgIHdpZHRoOiAxMDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5mb3JtW2RhdGEtcmVsLXRhYmxlPVwib1RhYmxlQWxvamFtaWVudG9cIl0gZmllbGRzZXQ6bnRoLWNoaWxkKDQpIC5maWx0ZXJfZWxlbWVudCAuc2VsZWN0MiB7XHJcbiAgICBtaW4td2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMTAwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuZm9ybVtkYXRhLXJlbC10YWJsZT1cIm9UYWJsZUFsb2phbWllbnRvXCJdIGZpZWxkc2V0Om50aC1jaGlsZCg1KSAuZmlsdGVyX2VsZW1lbnQgLnNlbGVjdDIge1xyXG4gICAgbWluLXdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5hbG9qYW1pZW50b3Mge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG4gICAgLmZpbHRyb3MtYWxvamFtaWVudG9zIHtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDIwJTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI4MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGNkY2RjO1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGN0Y3O1xyXG4gICAgICAgICAgICAgICAgJi5hY3Rpdm8ge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgJGNvbG9yQWRtaW47XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IC41cmVtIC43NXJlbTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IC44NXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogc2VjdGlvbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogY291bnRlcihzZWN0aW9uKSBcIi4gXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hbG9qYW1pZW50b3MtZm9ybXVsYXJpbyB7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBnYWluc2Jvcm87XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgZmxleDogNzAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAgICAgICAgIC5mb3JtRmlsdGVyT3B0aW9ucyB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGFibGFBbG9qYW1pZW50b3Mge1xyXG4gICAgICAgIHBhZGRpbmc6IDJyZW07XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGZpZWxkc2V0IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcclxuICAgICAgICAgICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjZGNkY2RjO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxlZ2VuZCB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjg1cmVtO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRsaXN0LWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vL01PREFMIEJPUlJBUi8vL1xyXG4vLy8vLy8vLy8vLy8vLy8vLy9cclxuLnN3YWwyLXN0eWxlZCB7XHJcbiAgICAmLnN3YWwyLWNvbmZpcm0ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvckFkbWluIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYuc3dhbDItY2FuY2VsIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmU2ZTZlIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLnN3YWwyLWh0bWwtY29udGFpbmVyIHtcclxuICAgIGZvbnQtc2l6ZTogMWVtIWltcG9ydGFudDtcclxufVxyXG5cclxuLnN3YWwyLWljb24ge1xyXG4gICAgJi5zd2FsMi13YXJuaW5nIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICM2ZTZlNmUhaW1wb3J0YW50O1xyXG4gICAgICAgIGNvbG9yOiAjNmU2ZTZlIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLm1lbnV0YWIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufSIsIiNtZW51UHJpbmNpcGFsVHJpZ2dlciwgI21lbnVNb3Z7IGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTIwcHgpeyBcclxuXHQuc2lkci1jbGFzcy1iYWNrLCBcclxuXHQuc2lkci1jbGFzcy1qcy1nZW5lcmF0ZWQsXHJcblx0LnNpZHItY2xhc3MtdXNlci1kYXRhLFxyXG5cdC5zaWRyLWNsYXNzLWRpdmlkZXIsXHJcblx0LnNpZHItY2xhc3MtbWVudS1pY29uLFxyXG5cdC5zaWRyLWNsYXNzLWhpZGUtZm9yLWxhcmdlLXVwLCBcclxuXHQjbWVudUJyZWFkY3J1bWJze2Rpc3BsYXk6IG5vbmUgIWltcG9ydGFudDt9XHJcblxyXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblx0Ly8gQk9EWSBDT04gTUVOVSBBQklFUlRPIC8vXHJcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHQuY29udGVuaWRvLWNvbXBldGVuY2lhOmJlZm9yZSB7IEBpbmNsdWRlIGVza2luYXM7IEBpbmNsdWRlIGJlZm9yZUFmdGVyOyBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50OyBvcGFjaXR5OjA7IHBvaW50ZXItZXZlbnRzOm5vbmU7IHotaW5kZXg6MTEwOyB0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZTsgfVxyXG5cdGJvZHkubWVudU1vdi1vcGVuIC5jb250ZW5pZG8tY29tcGV0ZW5jaWEgeyBwb2ludGVyLWV2ZW50czpub25lO1xyXG5cdFx0JjpiZWZvcmUgeyBvcGFjaXR5Oi41OyB9XHJcblx0fVxyXG5cclxuXHRib2R5Lm1lbnVNb3Ytb3BlbiB7IG92ZXJmbG93OiBoaWRkZW47IG1heC1oZWlnaHQ6IDEwMHZoOyB9XHJcblx0LnNpZHItY2xhc3MtdmlzdWFsbHktaGlkZGVuIHsgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cdC8vIE1FTlUgUFJJTkNJUEFMID4gVFJJR0dFUiAvL1xyXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG5cdCNtZW51UHJpbmNpcGFsVHJpZ2dlciB7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjpmaXhlZDsgdG9wOjEuM2VtOyByaWdodDoxLjVyZW07IHdpZHRoOjIuMjVlbTsgaGVpZ2h0OjFlbTsgb3BhY2l0eTowOyB0cmFuc2l0aW9uOmFsbCAuNXMgJGtvcnRpbmE7IHotaW5kZXg6MTEyOyBwb2ludGVyLWV2ZW50czpub25lO1xyXG5cclxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTMyMHB4KSB7IG9wYWNpdHk6MTsgcG9pbnRlci1ldmVudHM6YXV0bzsgfVxyXG5cclxuXHRcdCNtZW51UHJpbmNpcGFsVHJpZ2dlcklubmVyIHsgQGluY2x1ZGUgYWJzb2x1dCg1MCUsIDApOyB3aWR0aDoxMDAlOyBoZWlnaHQ6MnB4OyBtYXJnaW4tdG9wOi0uMDVlbTsgYmFja2dyb3VuZDokY29sb3JIYW1idXJndWVzYTsgdHJhbnNpdGlvbjphbGwgLjVzIGxpbmVhcjtcclxuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxyXG5cdFx0XHR0byByaWdodCxcclxuXHRcdFx0I2ZmZiAwJSxcclxuXHRcdFx0I2ZmZiAzMCUsXHJcblx0XHRcdCMwMDAgMzAlLFxyXG5cdFx0XHQjMDAwICAxMDAlICAgXHJcblx0XHRcdCk7XHJcblx0XHRcdCY6YmVmb3JlIHsgQGluY2x1ZGUgYWJzb2x1dCgtLjVlbSk7IEBpbmNsdWRlIGZ1bGw7IEBpbmNsdWRlIGJlZm9yZUFmdGVyOyBiYWNrZ3JvdW5kOiRjb2xvckhhbWJ1cmd1ZXNhOyB0cmFuc2l0aW9uOmFsbCAuNzVzICRrb3J0aW5hOyB0cmFuc2Zvcm0tb3JpZ2luOjAgMDsgfVxyXG5cdFx0XHQmOmFmdGVyIHsgQGluY2x1ZGUgYWJzb2x1dChhdXRvLCAwLCAtLjVlbSk7IEBpbmNsdWRlIGZ1bGw7IEBpbmNsdWRlIGJlZm9yZUFmdGVyOyBiYWNrZ3JvdW5kOiRjb2xvckhhbWJ1cmd1ZXNhOyB0cmFuc2l0aW9uOmFsbCAuNzVzICRrb3J0aW5hOyB0cmFuc2Zvcm0tb3JpZ2luOjAgMTAwJTsgfVxyXG5cdFx0fVxyXG5cclxuXHRcdFx0Ly8gTUVOVSBBQklFUlRPIC8vIFxyXG5cdFx0Ym9keS5tZW51TW92LW9wZW4gJiB7IHRvcDoxLjVlbTsgIHJpZ2h0OjFyZW07IFxyXG5cdFx0XHQjbWVudVByaW5jaXBhbFRyaWdnZXJJbm5lciB7IGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XHJcblx0XHRcdFx0JjpiZWZvcmUgeyBoZWlnaHQ6MTA1JTsgdHJhbnNmb3JtOnJvdGF0ZVooNDVkZWcpOyBiYWNrZ3JvdW5kOiRjb2xvckhhbWJ1cmd1ZXNhOyB0b3A6LTFyZW07IH1cclxuXHRcdFx0XHQmOmFmdGVyIHsgaGVpZ2h0OjEwNSU7IHRyYW5zZm9ybTpyb3RhdGVaKC00NWRlZyk7IGJhY2tncm91bmQ6JGNvbG9ySGFtYnVyZ3Vlc2E7IH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblx0Ly8gTUVOVSBQUklOQ0lQQUwgPiBNT1ZJTCAvLy8vLy8vLy8vLy9cclxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHQjaGVhZGVyX2luZm97IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgei1pbmRleDogMzsgfVxyXG5cdC5jb250ZW5pZG8tY29tcGV0ZW5jaWF7IG1hcmdpbi10b3A6IDMuNHJlbTsgfVxyXG5cdCNtZW51TW92LnNpZHIgeyBwb3NpdGlvbjpmaXhlZDsgdG9wOjMuNHJlbTsgaGVpZ2h0OmNhbGMoMTAwJSAtIDMuNHJlbSk7IHdpZHRoOjEwMCU7IG1heC13aWR0aDoxMDAlOyBvdmVyZmxvdy14OmhpZGRlbjsgb3ZlcmZsb3cteTphdXRvOyB6LWluZGV4OjExMTsgZGlzcGxheTogYmxvY2s7IGJhY2tncm91bmQ6ICRhenVsb3NjdXJvO1xyXG5cdFx0LnNpZHItY2xhc3Mtbm90LWNsaWNrIHtcclxuXHRcdFx0PiBhW2RhdGEtbGV2ZWw9XCIwXCJde29wYWNpdHk6LjU7IFxyXG5cdFx0XHRcdCY6YWZ0ZXIsICY6YmVmb3Jle0BpbmNsdWRlIGJlZm9yZUFmdGVyOyBjb250ZW50OiBcIi1cIjsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nOiAwIC4yNXJlbTt9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5zaWRyLWNsYXNzLWhhcy1kcm9wZG93biB7XHJcblx0XHRcdC5zaWRyLWNsYXNzLWRyb3Bkb3duIHtcclxuXHRcdFx0XHRsaTpsYXN0LWNoaWxkIHtcclxuXHRcdFx0XHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LnNpZHItY2xhc3MtdXNlci1sYW5ncyB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LnNpZHItY2xhc3MtaGFzLWRyb3Bkb3duOmxhc3Qtb2YtdHlwZSB7XHJcblx0XHRcdGxpOm50aC1sYXN0LWNoaWxkKDMpIHtcclxuXHRcdFx0XHR3aWR0aDogNzAlO1xyXG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRcdGhlaWdodDogNTRweDtcclxuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjQ4MHB4KSB7IHdpZHRoOiA2NSU7IH1cclxuXHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHRsaTpudGgtbGFzdC1jaGlsZCgyKSB7XHJcblx0XHRcdFx0d2lkdGg6IDMwJTtcclxuXHRcdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0XHRoZWlnaHQ6IDU0cHg7XHJcblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo0ODBweCkgeyB3aWR0aDogMzUlOyB9XHJcblx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5zaWRyLWNsYXNzLXJpZ2h0IHtcclxuXHRcdFx0bGk6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5zaWRyLWNsYXNzLXVzZXItbGFuZ3Mge1xyXG5cdFx0XHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG4gICAgXHRcdFx0Y29sb3I6ICRhenVsb3NjdXJvO1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICRhenVsb3NjdXJvO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5zaWRyLWNsYXNzLW5vdC1jbGljayB7XHJcblx0XHRcdFx0LnNpZHItY2xhc3MtZHJvcGRvd24ge1xyXG5cdFx0XHRcdFx0bGkge1xyXG5cdFx0XHRcdFx0XHQ+IGFbZGF0YS1pZD1cIjJcIl0ge1xyXG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0bGk6aGFzKD4gYVtkYXRhLWlkPVwiMlwiXSkge1xyXG5cdFx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdFx0Y29udGVudDogXCJcXGY1YzdcIjtcclxuXHRcdFx0XHRcdFx0XHRmb250LWZhbWlseTogdWljb25zLXJlZ3VsYXItcm91bmRlZCAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG5cdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRcdFx0XHR0b3A6IDZweDtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0XHRcdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0XHRcdFx0XHRtYXJnaW46IDFlbSAwO1xyXG5cdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xyXG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgKyAzcmVtKTtcclxuXHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAtMS41cmVtO1xyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDAgMS41cmVtIDEuNXJlbTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Ji5sZWZ0IHsgbGVmdDotMTAwJTsgcmlnaHQ6YXV0bzsgfVxyXG5cdFx0Ji5yaWdodCB7IGxlZnQ6YXV0bzsgcmlnaHQ6LTEwMCU7IH1cclxuXHQgXHQuc2lkci1jbGFzcy1sZWZ0eyBsaSB7cGFkZGluZzogMCAxLjVyZW07fSB9XHJcblx0XHQuc2lkci1jbGFzcy1yaWdodCBsaSAuc2lkci1jbGFzcy1kcm9wZG93biBsaSB7cGFkZGluZzogMCAxLjVyZW07fSBcclxuXHJcblx0XHQvKm1lbsO6IHBwYWwqL1xyXG5cdFx0dWwgeyBAaW5jbHVkZSBzaW5MaXN0YTsgcGFkZGluZzogMDtcclxuXHRcdFx0bGkgeyBtYXJnaW46MDsgIHRleHQtYWxpZ246IGNlbnRlcjsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5MTsgQGluY2x1ZGUgZGVncmFkYWRvO1xyXG5cdFx0XHRcdGEsIHNwYW4ge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgc2l6ZSgxNiwxOCk7IGZvbnQtZmFtaWx5OiAkaGVhZGVycy1mb250OyBwYWRkaW5nOiAxcmVtIDA7IHdpZHRoOjEwMCU7IGRpc3BsYXk6aW5saW5lLWJsb2NrOyBAaW5jbHVkZSBrYWphOyBmb250LXNpemU6MTZweDsgbGluZS1oZWlnaHQ6IDEuMjU7IGNvbG9yOiB3aGl0ZTsgdHJhbnNpdGlvbjphbGwgLjNzIGxpbmVhcjsgZm9udC13ZWlnaHQ6IDQwMDsgdGV4dC1hbGlnbjogbGVmdDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgXHJcblx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQuc2lkci1jbGFzcy1KU2xvZ291dCB7XHJcblx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxmNTY1XCI7XHJcblx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiB1aWNvbnMtcmVndWxhci1yb3VuZGVkICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwLjVyZW07XHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTsgXHJcblx0XHRcdFx0XHRcdHRvcDogM3B4O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdCBcclxuXHRcdFx0Ji5zaWRyLWNsYXNzLWxpbmtzeyBwb3NpdGlvbjphYnNvbHV0ZTsgYm90dG9tOjFyZW07IGxlZnQ6IDFyZW07IGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0YXsgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XHJcblx0XHRcdH1cclxuXHRcdFxyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG59IiwiLmF1dGhlbnRpY2F0b3Ige1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gNzBweCk7XHJcbiAgICAubG9naW4tZm9ybXUge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xyXG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgICAgICAuYmxvcXVlLWxvZ2luIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggNXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMDMpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhbmNvO1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ3JheTM7XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXkzO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZm9ybXVsYXJpbyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMzJweDtcclxuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmVuY2FiZXphZG8tbG9naW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIC50aXR1bG8tZW5jYWJlemFkbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHAsIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzU1NTU1NTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5ib3RvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMXJlbSAxLjVyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMWVtIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JBZG1pbjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JBZG1pbjtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yQWRtaW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhbmNvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlucHV0W3ZhbHVlPVwiSW5ncmVzYXJcIl0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvckFkbWluO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMWVtIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhbmNvO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JBZG1pbjtcclxuICAgICAgICAgICAgICAgICAgICAvKiY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvckFkbWluO1xyXG4gICAgICAgICAgICAgICAgICAgIH0qL1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5mb3JtdWxhcmlvICsgLmZvcm11bGFyaW8ge1xyXG4gICAgICAgICAgICAgICAgLy9ib3JkZXItbGVmdDogMXB4IHNvbGlkICRncmF5MztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1sZWZ0IHtcclxuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LXJpZ2h0IHtcclxuICAgICAgICAgICAgICAgIG9yZGVyOiAzO1xyXG4gICAgICAgICAgICAgICAgZm9ybSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuZGl2aWRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwLjVlbTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmZpbGxlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuZGl2aWRlci1saW5lIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAucHJvdmlkZXJzIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLyohXG4gKiAgRm9udCBBd2Vzb21lIDQuNy4wIGJ5IEBkYXZlZ2FuZHkgLSBodHRwOi8vZm9udGF3ZXNvbWUuaW8gLSBAZm9udGF3ZXNvbWVcbiAqICBMaWNlbnNlIC0gaHR0cDovL2ZvbnRhd2Vzb21lLmlvL2xpY2Vuc2UgKEZvbnQ6IFNJTCBPRkwgMS4xLCBDU1M6IE1JVCBMaWNlbnNlKVxuICovXG4vKiBGT05UIFBBVEhcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LmVvdD92PTQuNy4wJyk7XG4gIHNyYzogdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LmVvdD8jaWVmaXgmdj00LjcuMCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LndvZmYyP3Y9NC43LjAnKSBmb3JtYXQoJ3dvZmYyJyksIHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC53b2ZmP3Y9NC43LjAnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LnR0Zj92PTQuNy4wJykgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQuc3ZnP3Y9NC43LjAjZm9udGF3ZXNvbWVyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLmZhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuLyogbWFrZXMgdGhlIGZvbnQgMzMlIGxhcmdlciByZWxhdGl2ZSB0byB0aGUgaWNvbiBjb250YWluZXIgKi9cbi5mYS1sZyB7XG4gIGZvbnQtc2l6ZTogMS4zMzMzMzMzM2VtO1xuICBsaW5lLWhlaWdodDogMC43NWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTE1JTtcbn1cbi5mYS0yeCB7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuLmZhLTN4IHtcbiAgZm9udC1zaXplOiAzZW07XG59XG4uZmEtNHgge1xuICBmb250LXNpemU6IDRlbTtcbn1cbi5mYS01eCB7XG4gIGZvbnQtc2l6ZTogNWVtO1xufVxuLmZhLWZ3IHtcbiAgd2lkdGg6IDEuMjg1NzE0MjllbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmZhLXVsIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogMi4xNDI4NTcxNGVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG4uZmEtdWwgPiBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5mYS1saSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTIuMTQyODU3MTRlbTtcbiAgd2lkdGg6IDIuMTQyODU3MTRlbTtcbiAgdG9wOiAwLjE0Mjg1NzE0ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5mYS1saS5mYS1sZyB7XG4gIGxlZnQ6IC0xLjg1NzE0Mjg2ZW07XG59XG4uZmEtYm9yZGVyIHtcbiAgcGFkZGluZzogLjJlbSAuMjVlbSAuMTVlbTtcbiAgYm9yZGVyOiBzb2xpZCAwLjA4ZW0gI2VlZWVlZTtcbiAgYm9yZGVyLXJhZGl1czogLjFlbTtcbn1cbi5mYS1wdWxsLWxlZnQge1xuICBmbG9hdDogbGVmdDtcbn1cbi5mYS1wdWxsLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLmZhLmZhLXB1bGwtbGVmdCB7XG4gIG1hcmdpbi1yaWdodDogLjNlbTtcbn1cbi5mYS5mYS1wdWxsLXJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6IC4zZW07XG59XG4vKiBEZXByZWNhdGVkIGFzIG9mIDQuNC4wICovXG4ucHVsbC1yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cbi5wdWxsLWxlZnQge1xuICBmbG9hdDogbGVmdDtcbn1cbi5mYS5wdWxsLWxlZnQge1xuICBtYXJnaW4tcmlnaHQ6IC4zZW07XG59XG4uZmEucHVsbC1yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiAuM2VtO1xufVxuLmZhLXNwaW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XG4gIGFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XG59XG4uZmEtcHVsc2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbjogZmEtc3BpbiAxcyBpbmZpbml0ZSBzdGVwcyg4KTtcbiAgYW5pbWF0aW9uOiBmYS1zcGluIDFzIGluZmluaXRlIHN0ZXBzKDgpO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhLXNwaW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYS1zcGluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cbi5mYS1yb3RhdGUtOTAge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTEpXCI7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG4uZmEtcm90YXRlLTE4MCB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MilcIjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cbi5mYS1yb3RhdGUtMjcwIHtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0zKVwiO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xufVxuLmZhLWZsaXAtaG9yaXpvbnRhbCB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MCwgbWlycm9yPTEpXCI7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG59XG4uZmEtZmxpcC12ZXJ0aWNhbCB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MiwgbWlycm9yPTEpXCI7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG59XG46cm9vdCAuZmEtcm90YXRlLTkwLFxuOnJvb3QgLmZhLXJvdGF0ZS0xODAsXG46cm9vdCAuZmEtcm90YXRlLTI3MCxcbjpyb290IC5mYS1mbGlwLWhvcml6b250YWwsXG46cm9vdCAuZmEtZmxpcC12ZXJ0aWNhbCB7XG4gIGZpbHRlcjogbm9uZTtcbn1cbi5mYS1zdGFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMmVtO1xuICBoZWlnaHQ6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5mYS1zdGFjay0xeCxcbi5mYS1zdGFjay0yeCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5mYS1zdGFjay0xeCB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuLmZhLXN0YWNrLTJ4IHtcbiAgZm9udC1zaXplOiAyZW07XG59XG4uZmEtaW52ZXJzZSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLyogRm9udCBBd2Vzb21lIHVzZXMgdGhlIFVuaWNvZGUgUHJpdmF0ZSBVc2UgQXJlYSAoUFVBKSB0byBlbnN1cmUgc2NyZWVuXG4gICByZWFkZXJzIGRvIG5vdCByZWFkIG9mZiByYW5kb20gY2hhcmFjdGVycyB0aGF0IHJlcHJlc2VudCBpY29ucyAqL1xuLmZhLWdsYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDAwXCI7XG59XG4uZmEtbXVzaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDFcIjtcbn1cbi5mYS1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDJcIjtcbn1cbi5mYS1lbnZlbG9wZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDAzXCI7XG59XG4uZmEtaGVhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDRcIjtcbn1cbi5mYS1zdGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA1XCI7XG59XG4uZmEtc3Rhci1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA2XCI7XG59XG4uZmEtdXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwN1wiO1xufVxuLmZhLWZpbG06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDhcIjtcbn1cbi5mYS10aC1sYXJnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwOVwiO1xufVxuLmZhLXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBhXCI7XG59XG4uZmEtdGgtbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwYlwiO1xufVxuLmZhLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG59XG4uZmEtcmVtb3ZlOmJlZm9yZSxcbi5mYS1jbG9zZTpiZWZvcmUsXG4uZmEtdGltZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGRcIjtcbn1cbi5mYS1zZWFyY2gtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwZVwiO1xufVxuLmZhLXNlYXJjaC1taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMFwiO1xufVxuLmZhLXBvd2VyLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMVwiO1xufVxuLmZhLXNpZ25hbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMlwiO1xufVxuLmZhLWdlYXI6YmVmb3JlLFxuLmZhLWNvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxM1wiO1xufVxuLmZhLXRyYXNoLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTRcIjtcbn1cbi5mYS1ob21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE1XCI7XG59XG4uZmEtZmlsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE2XCI7XG59XG4uZmEtY2xvY2stbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxN1wiO1xufVxuLmZhLXJvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMThcIjtcbn1cbi5mYS1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxOVwiO1xufVxuLmZhLWFycm93LWNpcmNsZS1vLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMWFcIjtcbn1cbi5mYS1hcnJvdy1jaXJjbGUtby11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxYlwiO1xufVxuLmZhLWluYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDFjXCI7XG59XG4uZmEtcGxheS1jaXJjbGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxZFwiO1xufVxuLmZhLXJvdGF0ZS1yaWdodDpiZWZvcmUsXG4uZmEtcmVwZWF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDFlXCI7XG59XG4uZmEtcmVmcmVzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyMVwiO1xufVxuLmZhLWxpc3QtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDIyXCI7XG59XG4uZmEtbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyM1wiO1xufVxuLmZhLWZsYWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjRcIjtcbn1cbi5mYS1oZWFkcGhvbmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI1XCI7XG59XG4uZmEtdm9sdW1lLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyNlwiO1xufVxuLmZhLXZvbHVtZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI3XCI7XG59XG4uZmEtdm9sdW1lLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI4XCI7XG59XG4uZmEtcXJjb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI5XCI7XG59XG4uZmEtYmFyY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyYVwiO1xufVxuLmZhLXRhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyYlwiO1xufVxuLmZhLXRhZ3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmNcIjtcbn1cbi5mYS1ib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJkXCI7XG59XG4uZmEtYm9va21hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmVcIjtcbn1cbi5mYS1wcmludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyZlwiO1xufVxuLmZhLWNhbWVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzMFwiO1xufVxuLmZhLWZvbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzFcIjtcbn1cbi5mYS1ib2xkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDMyXCI7XG59XG4uZmEtaXRhbGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDMzXCI7XG59XG4uZmEtdGV4dC1oZWlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzRcIjtcbn1cbi5mYS10ZXh0LXdpZHRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDM1XCI7XG59XG4uZmEtYWxpZ24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzNlwiO1xufVxuLmZhLWFsaWduLWNlbnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzN1wiO1xufVxuLmZhLWFsaWduLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDM4XCI7XG59XG4uZmEtYWxpZ24tanVzdGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzOVwiO1xufVxuLmZhLWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2FcIjtcbn1cbi5mYS1kZWRlbnQ6YmVmb3JlLFxuLmZhLW91dGRlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2JcIjtcbn1cbi5mYS1pbmRlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2NcIjtcbn1cbi5mYS12aWRlby1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2RcIjtcbn1cbi5mYS1waG90bzpiZWZvcmUsXG4uZmEtaW1hZ2U6YmVmb3JlLFxuLmZhLXBpY3R1cmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzZVwiO1xufVxuLmZhLXBlbmNpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0MFwiO1xufVxuLmZhLW1hcC1tYXJrZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDFcIjtcbn1cbi5mYS1hZGp1c3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDJcIjtcbn1cbi5mYS10aW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQzXCI7XG59XG4uZmEtZWRpdDpiZWZvcmUsXG4uZmEtcGVuY2lsLXNxdWFyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ0XCI7XG59XG4uZmEtc2hhcmUtc3F1YXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDVcIjtcbn1cbi5mYS1jaGVjay1zcXVhcmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0NlwiO1xufVxuLmZhLWFycm93czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0N1wiO1xufVxuLmZhLXN0ZXAtYmFja3dhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDhcIjtcbn1cbi5mYS1mYXN0LWJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ5XCI7XG59XG4uZmEtYmFja3dhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNGFcIjtcbn1cbi5mYS1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDRiXCI7XG59XG4uZmEtcGF1c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNGNcIjtcbn1cbi5mYS1zdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDRkXCI7XG59XG4uZmEtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0ZVwiO1xufVxuLmZhLWZhc3QtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1MFwiO1xufVxuLmZhLXN0ZXAtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1MVwiO1xufVxuLmZhLWVqZWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDUyXCI7XG59XG4uZmEtY2hldnJvbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG59XG4uZmEtY2hldnJvbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1NFwiO1xufVxuLmZhLXBsdXMtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU1XCI7XG59XG4uZmEtbWludXMtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU2XCI7XG59XG4uZmEtdGltZXMtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU3XCI7XG59XG4uZmEtY2hlY2stY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU4XCI7XG59XG4uZmEtcXVlc3Rpb24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU5XCI7XG59XG4uZmEtaW5mby1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWFcIjtcbn1cbi5mYS1jcm9zc2hhaXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDViXCI7XG59XG4uZmEtdGltZXMtY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWNcIjtcbn1cbi5mYS1jaGVjay1jaXJjbGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1ZFwiO1xufVxuLmZhLWJhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1ZVwiO1xufVxuLmZhLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjBcIjtcbn1cbi5mYS1hcnJvdy1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2MVwiO1xufVxuLmZhLWFycm93LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYyXCI7XG59XG4uZmEtYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2M1wiO1xufVxuLmZhLW1haWwtZm9yd2FyZDpiZWZvcmUsXG4uZmEtc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjRcIjtcbn1cbi5mYS1leHBhbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjVcIjtcbn1cbi5mYS1jb21wcmVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2NlwiO1xufVxuLmZhLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjdcIjtcbn1cbi5mYS1taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2OFwiO1xufVxuLmZhLWFzdGVyaXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY5XCI7XG59XG4uZmEtZXhjbGFtYXRpb24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZhXCI7XG59XG4uZmEtZ2lmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2YlwiO1xufVxuLmZhLWxlYWY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNmNcIjtcbn1cbi5mYS1maXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZkXCI7XG59XG4uZmEtZXllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZlXCI7XG59XG4uZmEtZXllLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDcwXCI7XG59XG4uZmEtd2FybmluZzpiZWZvcmUsXG4uZmEtZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzFcIjtcbn1cbi5mYS1wbGFuZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3MlwiO1xufVxuLmZhLWNhbGVuZGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDczXCI7XG59XG4uZmEtcmFuZG9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc0XCI7XG59XG4uZmEtY29tbWVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3NVwiO1xufVxuLmZhLW1hZ25ldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3NlwiO1xufVxuLmZhLWNoZXZyb24tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzdcIjtcbn1cbi5mYS1jaGV2cm9uLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzhcIjtcbn1cbi5mYS1yZXR3ZWV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc5XCI7XG59XG4uZmEtc2hvcHBpbmctY2FydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3YVwiO1xufVxuLmZhLWZvbGRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3YlwiO1xufVxuLmZhLWZvbGRlci1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdjXCI7XG59XG4uZmEtYXJyb3dzLXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2RcIjtcbn1cbi5mYS1hcnJvd3MtaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3ZVwiO1xufVxuLmZhLWJhci1jaGFydC1vOmJlZm9yZSxcbi5mYS1iYXItY2hhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODBcIjtcbn1cbi5mYS10d2l0dGVyLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MVwiO1xufVxuLmZhLWZhY2Vib29rLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MlwiO1xufVxuLmZhLWNhbWVyYS1yZXRybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4M1wiO1xufVxuLmZhLWtleTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4NFwiO1xufVxuLmZhLWdlYXJzOmJlZm9yZSxcbi5mYS1jb2dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg1XCI7XG59XG4uZmEtY29tbWVudHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODZcIjtcbn1cbi5mYS10aHVtYnMtby11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4N1wiO1xufVxuLmZhLXRodW1icy1vLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODhcIjtcbn1cbi5mYS1zdGFyLWhhbGY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODlcIjtcbn1cbi5mYS1oZWFydC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDhhXCI7XG59XG4uZmEtc2lnbi1vdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOGJcIjtcbn1cbi5mYS1saW5rZWRpbi1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOGNcIjtcbn1cbi5mYS10aHVtYi10YWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDhkXCI7XG59XG4uZmEtZXh0ZXJuYWwtbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4ZVwiO1xufVxuLmZhLXNpZ24taW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTBcIjtcbn1cbi5mYS10cm9waHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTFcIjtcbn1cbi5mYS1naXRodWItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkyXCI7XG59XG4uZmEtdXBsb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkzXCI7XG59XG4uZmEtbGVtb24tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5NFwiO1xufVxuLmZhLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk1XCI7XG59XG4uZmEtc3F1YXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTZcIjtcbn1cbi5mYS1ib29rbWFyay1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk3XCI7XG59XG4uZmEtcGhvbmUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk4XCI7XG59XG4uZmEtdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5OVwiO1xufVxuLmZhLWZhY2Vib29rLWY6YmVmb3JlLFxuLmZhLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDlhXCI7XG59XG4uZmEtZ2l0aHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDliXCI7XG59XG4uZmEtdW5sb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDljXCI7XG59XG4uZmEtY3JlZGl0LWNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWRcIjtcbn1cbi5mYS1mZWVkOmJlZm9yZSxcbi5mYS1yc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWVcIjtcbn1cbi5mYS1oZGQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhMFwiO1xufVxuLmZhLWJ1bGxob3JuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGExXCI7XG59XG4uZmEtYmVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmM1wiO1xufVxuLmZhLWNlcnRpZmljYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGEzXCI7XG59XG4uZmEtaGFuZC1vLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE0XCI7XG59XG4uZmEtaGFuZC1vLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTVcIjtcbn1cbi5mYS1oYW5kLW8tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTZcIjtcbn1cbi5mYS1oYW5kLW8tZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhN1wiO1xufVxuLmZhLWFycm93LWNpcmNsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE4XCI7XG59XG4uZmEtYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE5XCI7XG59XG4uZmEtYXJyb3ctY2lyY2xlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFhXCI7XG59XG4uZmEtYXJyb3ctY2lyY2xlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWJcIjtcbn1cbi5mYS1nbG9iZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhY1wiO1xufVxuLmZhLXdyZW5jaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhZFwiO1xufVxuLmZhLXRhc2tzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFlXCI7XG59XG4uZmEtZmlsdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGIwXCI7XG59XG4uZmEtYnJpZWZjYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGIxXCI7XG59XG4uZmEtYXJyb3dzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBiMlwiO1xufVxuLmZhLWdyb3VwOmJlZm9yZSxcbi5mYS11c2VyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjMFwiO1xufVxuLmZhLWNoYWluOmJlZm9yZSxcbi5mYS1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGMxXCI7XG59XG4uZmEtY2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzJcIjtcbn1cbi5mYS1mbGFzazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjM1wiO1xufVxuLmZhLWN1dDpiZWZvcmUsXG4uZmEtc2Npc3NvcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzRcIjtcbn1cbi5mYS1jb3B5OmJlZm9yZSxcbi5mYS1maWxlcy1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM1XCI7XG59XG4uZmEtcGFwZXJjbGlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM2XCI7XG59XG4uZmEtc2F2ZTpiZWZvcmUsXG4uZmEtZmxvcHB5LW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzdcIjtcbn1cbi5mYS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzhcIjtcbn1cbi5mYS1uYXZpY29uOmJlZm9yZSxcbi5mYS1yZW9yZGVyOmJlZm9yZSxcbi5mYS1iYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM5XCI7XG59XG4uZmEtbGlzdC11bDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjYVwiO1xufVxuLmZhLWxpc3Qtb2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2JcIjtcbn1cbi5mYS1zdHJpa2V0aHJvdWdoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNjXCI7XG59XG4uZmEtdW5kZXJsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNkXCI7XG59XG4uZmEtdGFibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2VcIjtcbn1cbi5mYS1tYWdpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMFwiO1xufVxuLmZhLXRydWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQxXCI7XG59XG4uZmEtcGludGVyZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQyXCI7XG59XG4uZmEtcGludGVyZXN0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkM1wiO1xufVxuLmZhLWdvb2dsZS1wbHVzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkNFwiO1xufVxuLmZhLWdvb2dsZS1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ1XCI7XG59XG4uZmEtbW9uZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDZcIjtcbn1cbi5mYS1jYXJldC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XG59XG4uZmEtY2FyZXQtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDhcIjtcbn1cbi5mYS1jYXJldC1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ5XCI7XG59XG4uZmEtY2FyZXQtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGFcIjtcbn1cbi5mYS1jb2x1bW5zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRiXCI7XG59XG4uZmEtdW5zb3J0ZWQ6YmVmb3JlLFxuLmZhLXNvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGNcIjtcbn1cbi5mYS1zb3J0LWRvd246YmVmb3JlLFxuLmZhLXNvcnQtZGVzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkZFwiO1xufVxuLmZhLXNvcnQtdXA6YmVmb3JlLFxuLmZhLXNvcnQtYXNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRlXCI7XG59XG4uZmEtZW52ZWxvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTBcIjtcbn1cbi5mYS1saW5rZWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMVwiO1xufVxuLmZhLXJvdGF0ZS1sZWZ0OmJlZm9yZSxcbi5mYS11bmRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUyXCI7XG59XG4uZmEtbGVnYWw6YmVmb3JlLFxuLmZhLWdhdmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUzXCI7XG59XG4uZmEtZGFzaGJvYXJkOmJlZm9yZSxcbi5mYS10YWNob21ldGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU0XCI7XG59XG4uZmEtY29tbWVudC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU1XCI7XG59XG4uZmEtY29tbWVudHMtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlNlwiO1xufVxuLmZhLWZsYXNoOmJlZm9yZSxcbi5mYS1ib2x0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU3XCI7XG59XG4uZmEtc2l0ZW1hcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlOFwiO1xufVxuLmZhLXVtYnJlbGxhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU5XCI7XG59XG4uZmEtcGFzdGU6YmVmb3JlLFxuLmZhLWNsaXBib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlYVwiO1xufVxuLmZhLWxpZ2h0YnVsYi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGViXCI7XG59XG4uZmEtZXhjaGFuZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZWNcIjtcbn1cbi5mYS1jbG91ZC1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlZFwiO1xufVxuLmZhLWNsb3VkLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlZVwiO1xufVxuLmZhLXVzZXItbWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjBcIjtcbn1cbi5mYS1zdGV0aG9zY29wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmMVwiO1xufVxuLmZhLXN1aXRjYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGYyXCI7XG59XG4uZmEtYmVsbC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGEyXCI7XG59XG4uZmEtY29mZmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGY0XCI7XG59XG4uZmEtY3V0bGVyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmNVwiO1xufVxuLmZhLWZpbGUtdGV4dC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGY2XCI7XG59XG4uZmEtYnVpbGRpbmctbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmN1wiO1xufVxuLmZhLWhvc3BpdGFsLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjhcIjtcbn1cbi5mYS1hbWJ1bGFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjlcIjtcbn1cbi5mYS1tZWRraXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmFcIjtcbn1cbi5mYS1maWdodGVyLWpldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmYlwiO1xufVxuLmZhLWJlZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmNcIjtcbn1cbi5mYS1oLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmZFwiO1xufVxuLmZhLXBsdXMtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZlXCI7XG59XG4uZmEtYW5nbGUtZG91YmxlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDBcIjtcbn1cbi5mYS1hbmdsZS1kb3VibGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDFcIjtcbn1cbi5mYS1hbmdsZS1kb3VibGUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDJcIjtcbn1cbi5mYS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwM1wiO1xufVxuLmZhLWFuZ2xlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDRcIjtcbn1cbi5mYS1hbmdsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNVwiO1xufVxuLmZhLWFuZ2xlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA2XCI7XG59XG4uZmEtYW5nbGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwN1wiO1xufVxuLmZhLWRlc2t0b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDhcIjtcbn1cbi5mYS1sYXB0b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDlcIjtcbn1cbi5mYS10YWJsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGFcIjtcbn1cbi5mYS1tb2JpbGUtcGhvbmU6YmVmb3JlLFxuLmZhLW1vYmlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwYlwiO1xufVxuLmZhLWNpcmNsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBjXCI7XG59XG4uZmEtcXVvdGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwZFwiO1xufVxuLmZhLXF1b3RlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBlXCI7XG59XG4uZmEtc3Bpbm5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMFwiO1xufVxuLmZhLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMVwiO1xufVxuLmZhLW1haWwtcmVwbHk6YmVmb3JlLFxuLmZhLXJlcGx5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTEyXCI7XG59XG4uZmEtZ2l0aHViLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExM1wiO1xufVxuLmZhLWZvbGRlci1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE0XCI7XG59XG4uZmEtZm9sZGVyLW9wZW4tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExNVwiO1xufVxuLmZhLXNtaWxlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMThcIjtcbn1cbi5mYS1mcm93bi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE5XCI7XG59XG4uZmEtbWVoLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWFcIjtcbn1cbi5mYS1nYW1lcGFkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFiXCI7XG59XG4uZmEta2V5Ym9hcmQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExY1wiO1xufVxuLmZhLWZsYWctbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExZFwiO1xufVxuLmZhLWZsYWctY2hlY2tlcmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFlXCI7XG59XG4uZmEtdGVybWluYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjBcIjtcbn1cbi5mYS1jb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTIxXCI7XG59XG4uZmEtbWFpbC1yZXBseS1hbGw6YmVmb3JlLFxuLmZhLXJlcGx5LWFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyMlwiO1xufVxuLmZhLXN0YXItaGFsZi1lbXB0eTpiZWZvcmUsXG4uZmEtc3Rhci1oYWxmLWZ1bGw6YmVmb3JlLFxuLmZhLXN0YXItaGFsZi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTIzXCI7XG59XG4uZmEtbG9jYXRpb24tYXJyb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjRcIjtcbn1cbi5mYS1jcm9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI1XCI7XG59XG4uZmEtY29kZS1mb3JrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI2XCI7XG59XG4uZmEtdW5saW5rOmJlZm9yZSxcbi5mYS1jaGFpbi1icm9rZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjdcIjtcbn1cbi5mYS1xdWVzdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyOFwiO1xufVxuLmZhLWluZm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjlcIjtcbn1cbi5mYS1leGNsYW1hdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyYVwiO1xufVxuLmZhLXN1cGVyc2NyaXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJiXCI7XG59XG4uZmEtc3Vic2NyaXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJjXCI7XG59XG4uZmEtZXJhc2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJkXCI7XG59XG4uZmEtcHV6emxlLXBpZWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJlXCI7XG59XG4uZmEtbWljcm9waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzMFwiO1xufVxuLmZhLW1pY3JvcGhvbmUtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzFcIjtcbn1cbi5mYS1zaGllbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzJcIjtcbn1cbi5mYS1jYWxlbmRhci1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMzXCI7XG59XG4uZmEtZmlyZS1leHRpbmd1aXNoZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzRcIjtcbn1cbi5mYS1yb2NrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzVcIjtcbn1cbi5mYS1tYXhjZG46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzZcIjtcbn1cbi5mYS1jaGV2cm9uLWNpcmNsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM3XCI7XG59XG4uZmEtY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzhcIjtcbn1cbi5mYS1jaGV2cm9uLWNpcmNsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzOVwiO1xufVxuLmZhLWNoZXZyb24tY2lyY2xlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2FcIjtcbn1cbi5mYS1odG1sNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzYlwiO1xufVxuLmZhLWNzczM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2NcIjtcbn1cbi5mYS1hbmNob3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2RcIjtcbn1cbi5mYS11bmxvY2stYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNlXCI7XG59XG4uZmEtYnVsbHNleWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDBcIjtcbn1cbi5mYS1lbGxpcHNpcy1oOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQxXCI7XG59XG4uZmEtZWxsaXBzaXMtdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0MlwiO1xufVxuLmZhLXJzcy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDNcIjtcbn1cbi5mYS1wbGF5LWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NFwiO1xufVxuLmZhLXRpY2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NVwiO1xufVxuLmZhLW1pbnVzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NlwiO1xufVxuLmZhLW1pbnVzLXNxdWFyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ3XCI7XG59XG4uZmEtbGV2ZWwtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDhcIjtcbn1cbi5mYS1sZXZlbC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ5XCI7XG59XG4uZmEtY2hlY2stc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRhXCI7XG59XG4uZmEtcGVuY2lsLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0YlwiO1xufVxuLmZhLWV4dGVybmFsLWxpbmstc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRjXCI7XG59XG4uZmEtc2hhcmUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRkXCI7XG59XG4uZmEtY29tcGFzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0ZVwiO1xufVxuLmZhLXRvZ2dsZS1kb3duOmJlZm9yZSxcbi5mYS1jYXJldC1zcXVhcmUtby1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUwXCI7XG59XG4uZmEtdG9nZ2xlLXVwOmJlZm9yZSxcbi5mYS1jYXJldC1zcXVhcmUtby11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MVwiO1xufVxuLmZhLXRvZ2dsZS1yaWdodDpiZWZvcmUsXG4uZmEtY2FyZXQtc3F1YXJlLW8tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTJcIjtcbn1cbi5mYS1ldXJvOmJlZm9yZSxcbi5mYS1ldXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTNcIjtcbn1cbi5mYS1nYnA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTRcIjtcbn1cbi5mYS1kb2xsYXI6YmVmb3JlLFxuLmZhLXVzZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NVwiO1xufVxuLmZhLXJ1cGVlOmJlZm9yZSxcbi5mYS1pbnI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTZcIjtcbn1cbi5mYS1jbnk6YmVmb3JlLFxuLmZhLXJtYjpiZWZvcmUsXG4uZmEteWVuOmJlZm9yZSxcbi5mYS1qcHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTdcIjtcbn1cbi5mYS1ydWJsZTpiZWZvcmUsXG4uZmEtcm91YmxlOmJlZm9yZSxcbi5mYS1ydWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNThcIjtcbn1cbi5mYS13b246YmVmb3JlLFxuLmZhLWtydzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1OVwiO1xufVxuLmZhLWJpdGNvaW46YmVmb3JlLFxuLmZhLWJ0YzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1YVwiO1xufVxuLmZhLWZpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWJcIjtcbn1cbi5mYS1maWxlLXRleHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWNcIjtcbn1cbi5mYS1zb3J0LWFscGhhLWFzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1ZFwiO1xufVxuLmZhLXNvcnQtYWxwaGEtZGVzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1ZVwiO1xufVxuLmZhLXNvcnQtYW1vdW50LWFzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2MFwiO1xufVxuLmZhLXNvcnQtYW1vdW50LWRlc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjFcIjtcbn1cbi5mYS1zb3J0LW51bWVyaWMtYXNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTYyXCI7XG59XG4uZmEtc29ydC1udW1lcmljLWRlc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjNcIjtcbn1cbi5mYS10aHVtYnMtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjRcIjtcbn1cbi5mYS10aHVtYnMtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2NVwiO1xufVxuLmZhLXlvdXR1YmUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY2XCI7XG59XG4uZmEteW91dHViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2N1wiO1xufVxuLmZhLXhpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjhcIjtcbn1cbi5mYS14aW5nLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2OVwiO1xufVxuLmZhLXlvdXR1YmUtcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2YVwiO1xufVxuLmZhLWRyb3Bib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmJcIjtcbn1cbi5mYS1zdGFjay1vdmVyZmxvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2Y1wiO1xufVxuLmZhLWluc3RhZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2ZFwiO1xufVxuLmZhLWZsaWNrcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2ZVwiO1xufVxuLmZhLWFkbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MFwiO1xufVxuLmZhLWJpdGJ1Y2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MVwiO1xufVxuLmZhLWJpdGJ1Y2tldC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzJcIjtcbn1cbi5mYS10dW1ibHI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzNcIjtcbn1cbi5mYS10dW1ibHItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc0XCI7XG59XG4uZmEtbG9uZy1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc1XCI7XG59XG4uZmEtbG9uZy1hcnJvdy11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3NlwiO1xufVxuLmZhLWxvbmctYXJyb3ctbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3N1wiO1xufVxuLmZhLWxvbmctYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzhcIjtcbn1cbi5mYS1hcHBsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3OVwiO1xufVxuLmZhLXdpbmRvd3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2FcIjtcbn1cbi5mYS1hbmRyb2lkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdiXCI7XG59XG4uZmEtbGludXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2NcIjtcbn1cbi5mYS1kcmliYmJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3ZFwiO1xufVxuLmZhLXNreXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdlXCI7XG59XG4uZmEtZm91cnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MFwiO1xufVxuLmZhLXRyZWxsbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MVwiO1xufVxuLmZhLWZlbWFsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MlwiO1xufVxuLmZhLW1hbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODNcIjtcbn1cbi5mYS1naXR0aXA6YmVmb3JlLFxuLmZhLWdyYXRpcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg0XCI7XG59XG4uZmEtc3VuLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODVcIjtcbn1cbi5mYS1tb29uLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODZcIjtcbn1cbi5mYS1hcmNoaXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg3XCI7XG59XG4uZmEtYnVnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg4XCI7XG59XG4uZmEtdms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODlcIjtcbn1cbi5mYS13ZWlibzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4YVwiO1xufVxuLmZhLXJlbnJlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4YlwiO1xufVxuLmZhLXBhZ2VsaW5lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4Y1wiO1xufVxuLmZhLXN0YWNrLWV4Y2hhbmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMThkXCI7XG59XG4uZmEtYXJyb3ctY2lyY2xlLW8tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGVcIjtcbn1cbi5mYS1hcnJvdy1jaXJjbGUtby1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkwXCI7XG59XG4uZmEtdG9nZ2xlLWxlZnQ6YmVmb3JlLFxuLmZhLWNhcmV0LXNxdWFyZS1vLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTFcIjtcbn1cbi5mYS1kb3QtY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTJcIjtcbn1cbi5mYS13aGVlbGNoYWlyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkzXCI7XG59XG4uZmEtdmltZW8tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk0XCI7XG59XG4uZmEtdHVya2lzaC1saXJhOmJlZm9yZSxcbi5mYS10cnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTVcIjtcbn1cbi5mYS1wbHVzLXNxdWFyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk2XCI7XG59XG4uZmEtc3BhY2Utc2h1dHRsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5N1wiO1xufVxuLmZhLXNsYWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk4XCI7XG59XG4uZmEtZW52ZWxvcGUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk5XCI7XG59XG4uZmEtd29yZHByZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTlhXCI7XG59XG4uZmEtb3BlbmlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTliXCI7XG59XG4uZmEtaW5zdGl0dXRpb246YmVmb3JlLFxuLmZhLWJhbms6YmVmb3JlLFxuLmZhLXVuaXZlcnNpdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWNcIjtcbn1cbi5mYS1tb3J0YXItYm9hcmQ6YmVmb3JlLFxuLmZhLWdyYWR1YXRpb24tY2FwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTlkXCI7XG59XG4uZmEteWFob286YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWVcIjtcbn1cbi5mYS1nb29nbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTBcIjtcbn1cbi5mYS1yZWRkaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTFcIjtcbn1cbi5mYS1yZWRkaXQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEyXCI7XG59XG4uZmEtc3R1bWJsZXVwb24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEzXCI7XG59XG4uZmEtc3R1bWJsZXVwb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTRcIjtcbn1cbi5mYS1kZWxpY2lvdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTVcIjtcbn1cbi5mYS1kaWdnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE2XCI7XG59XG4uZmEtcGllZC1waXBlci1wcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhN1wiO1xufVxuLmZhLXBpZWQtcGlwZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE4XCI7XG59XG4uZmEtZHJ1cGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE5XCI7XG59XG4uZmEtam9vbWxhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFhXCI7XG59XG4uZmEtbGFuZ3VhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWJcIjtcbn1cbi5mYS1mYXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWNcIjtcbn1cbi5mYS1idWlsZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhZFwiO1xufVxuLmZhLWNoaWxkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFlXCI7XG59XG4uZmEtcGF3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWIwXCI7XG59XG4uZmEtc3Bvb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjFcIjtcbn1cbi5mYS1jdWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWIyXCI7XG59XG4uZmEtY3ViZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjNcIjtcbn1cbi5mYS1iZWhhbmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI0XCI7XG59XG4uZmEtYmVoYW5jZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjVcIjtcbn1cbi5mYS1zdGVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiNlwiO1xufVxuLmZhLXN0ZWFtLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiN1wiO1xufVxuLmZhLXJlY3ljbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjhcIjtcbn1cbi5mYS1hdXRvbW9iaWxlOmJlZm9yZSxcbi5mYS1jYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjlcIjtcbn1cbi5mYS1jYWI6YmVmb3JlLFxuLmZhLXRheGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmFcIjtcbn1cbi5mYS10cmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJiXCI7XG59XG4uZmEtc3BvdGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiY1wiO1xufVxuLmZhLWRldmlhbnRhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmRcIjtcbn1cbi5mYS1zb3VuZGNsb3VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJlXCI7XG59XG4uZmEtZGF0YWJhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzBcIjtcbn1cbi5mYS1maWxlLXBkZi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMxXCI7XG59XG4uZmEtZmlsZS13b3JkLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzJcIjtcbn1cbi5mYS1maWxlLWV4Y2VsLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzNcIjtcbn1cbi5mYS1maWxlLXBvd2VycG9pbnQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNFwiO1xufVxuLmZhLWZpbGUtcGhvdG8tbzpiZWZvcmUsXG4uZmEtZmlsZS1waWN0dXJlLW86YmVmb3JlLFxuLmZhLWZpbGUtaW1hZ2UtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNVwiO1xufVxuLmZhLWZpbGUtemlwLW86YmVmb3JlLFxuLmZhLWZpbGUtYXJjaGl2ZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM2XCI7XG59XG4uZmEtZmlsZS1zb3VuZC1vOmJlZm9yZSxcbi5mYS1maWxlLWF1ZGlvLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzdcIjtcbn1cbi5mYS1maWxlLW1vdmllLW86YmVmb3JlLFxuLmZhLWZpbGUtdmlkZW8tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjOFwiO1xufVxuLmZhLWZpbGUtY29kZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM5XCI7XG59XG4uZmEtdmluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjYVwiO1xufVxuLmZhLWNvZGVwZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2JcIjtcbn1cbi5mYS1qc2ZpZGRsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjY1wiO1xufVxuLmZhLWxpZmUtYm91eTpiZWZvcmUsXG4uZmEtbGlmZS1idW95OmJlZm9yZSxcbi5mYS1saWZlLXNhdmVyOmJlZm9yZSxcbi5mYS1zdXBwb3J0OmJlZm9yZSxcbi5mYS1saWZlLXJpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2RcIjtcbn1cbi5mYS1jaXJjbGUtby1ub3RjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjZVwiO1xufVxuLmZhLXJhOmJlZm9yZSxcbi5mYS1yZXNpc3RhbmNlOmJlZm9yZSxcbi5mYS1yZWJlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkMFwiO1xufVxuLmZhLWdlOmJlZm9yZSxcbi5mYS1lbXBpcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDFcIjtcbn1cbi5mYS1naXQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQyXCI7XG59XG4uZmEtZ2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQzXCI7XG59XG4uZmEteS1jb21iaW5hdG9yLXNxdWFyZTpiZWZvcmUsXG4uZmEteWMtc3F1YXJlOmJlZm9yZSxcbi5mYS1oYWNrZXItbmV3czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkNFwiO1xufVxuLmZhLXRlbmNlbnQtd2VpYm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDVcIjtcbn1cbi5mYS1xcTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkNlwiO1xufVxuLmZhLXdlY2hhdDpiZWZvcmUsXG4uZmEtd2VpeGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ3XCI7XG59XG4uZmEtc2VuZDpiZWZvcmUsXG4uZmEtcGFwZXItcGxhbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDhcIjtcbn1cbi5mYS1zZW5kLW86YmVmb3JlLFxuLmZhLXBhcGVyLXBsYW5lLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDlcIjtcbn1cbi5mYS1oaXN0b3J5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRhXCI7XG59XG4uZmEtY2lyY2xlLXRoaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZGJcIjtcbn1cbi5mYS1oZWFkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZGNcIjtcbn1cbi5mYS1wYXJhZ3JhcGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZGRcIjtcbn1cbi5mYS1zbGlkZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRlXCI7XG59XG4uZmEtc2hhcmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWUwXCI7XG59XG4uZmEtc2hhcmUtYWx0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlMVwiO1xufVxuLmZhLWJvbWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTJcIjtcbn1cbi5mYS1zb2NjZXItYmFsbC1vOmJlZm9yZSxcbi5mYS1mdXRib2wtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlM1wiO1xufVxuLmZhLXR0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlNFwiO1xufVxuLmZhLWJpbm9jdWxhcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTVcIjtcbn1cbi5mYS1wbHVnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU2XCI7XG59XG4uZmEtc2xpZGVzaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlN1wiO1xufVxuLmZhLXR3aXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlOFwiO1xufVxuLmZhLXllbHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTlcIjtcbn1cbi5mYS1uZXdzcGFwZXItbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlYVwiO1xufVxuLmZhLXdpZmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWJcIjtcbn1cbi5mYS1jYWxjdWxhdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWVjXCI7XG59XG4uZmEtcGF5cGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWVkXCI7XG59XG4uZmEtZ29vZ2xlLXdhbGxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlZVwiO1xufVxuLmZhLWNjLXZpc2E6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjBcIjtcbn1cbi5mYS1jYy1tYXN0ZXJjYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYxXCI7XG59XG4uZmEtY2MtZGlzY292ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjJcIjtcbn1cbi5mYS1jYy1hbWV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYzXCI7XG59XG4uZmEtY2MtcGF5cGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY0XCI7XG59XG4uZmEtY2Mtc3RyaXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY1XCI7XG59XG4uZmEtYmVsbC1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmNlwiO1xufVxuLmZhLWJlbGwtc2xhc2gtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmN1wiO1xufVxuLmZhLXRyYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY4XCI7XG59XG4uZmEtY29weXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY5XCI7XG59XG4uZmEtYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmFcIjtcbn1cbi5mYS1leWVkcm9wcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZiXCI7XG59XG4uZmEtcGFpbnQtYnJ1c2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmNcIjtcbn1cbi5mYS1iaXJ0aGRheS1jYWtlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZkXCI7XG59XG4uZmEtYXJlYS1jaGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmZVwiO1xufVxuLmZhLXBpZS1jaGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwMFwiO1xufVxuLmZhLWxpbmUtY2hhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDFcIjtcbn1cbi5mYS1sYXN0Zm06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDJcIjtcbn1cbi5mYS1sYXN0Zm0tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAzXCI7XG59XG4uZmEtdG9nZ2xlLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwNFwiO1xufVxuLmZhLXRvZ2dsZS1vbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwNVwiO1xufVxuLmZhLWJpY3ljbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDZcIjtcbn1cbi5mYS1idXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDdcIjtcbn1cbi5mYS1pb3hob3N0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA4XCI7XG59XG4uZmEtYW5nZWxsaXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA5XCI7XG59XG4uZmEtY2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGFcIjtcbn1cbi5mYS1zaGVrZWw6YmVmb3JlLFxuLmZhLXNoZXFlbDpiZWZvcmUsXG4uZmEtaWxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBiXCI7XG59XG4uZmEtbWVhbnBhdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGNcIjtcbn1cbi5mYS1idXlzZWxsYWRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBkXCI7XG59XG4uZmEtY29ubmVjdGRldmVsb3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGVcIjtcbn1cbi5mYS1kYXNoY3ViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxMFwiO1xufVxuLmZhLWZvcnVtYmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjExXCI7XG59XG4uZmEtbGVhbnB1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxMlwiO1xufVxuLmZhLXNlbGxzeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxM1wiO1xufVxuLmZhLXNoaXJ0c2luYnVsazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxNFwiO1xufVxuLmZhLXNpbXBseWJ1aWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE1XCI7XG59XG4uZmEtc2t5YXRsYXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTZcIjtcbn1cbi5mYS1jYXJ0LXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTdcIjtcbn1cbi5mYS1jYXJ0LWFycm93LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMThcIjtcbn1cbi5mYS1kaWFtb25kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE5XCI7XG59XG4uZmEtc2hpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxYVwiO1xufVxuLmZhLXVzZXItc2VjcmV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjFiXCI7XG59XG4uZmEtbW90b3JjeWNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxY1wiO1xufVxuLmZhLXN0cmVldC12aWV3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjFkXCI7XG59XG4uZmEtaGVhcnRiZWF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjFlXCI7XG59XG4uZmEtdmVudXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjFcIjtcbn1cbi5mYS1tYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIyXCI7XG59XG4uZmEtbWVyY3VyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyM1wiO1xufVxuLmZhLWludGVyc2V4OmJlZm9yZSxcbi5mYS10cmFuc2dlbmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNFwiO1xufVxuLmZhLXRyYW5zZ2VuZGVyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNVwiO1xufVxuLmZhLXZlbnVzLWRvdWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNlwiO1xufVxuLmZhLW1hcnMtZG91YmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI3XCI7XG59XG4uZmEtdmVudXMtbWFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyOFwiO1xufVxuLmZhLW1hcnMtc3Ryb2tlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI5XCI7XG59XG4uZmEtbWFycy1zdHJva2UtdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyYVwiO1xufVxuLmZhLW1hcnMtc3Ryb2tlLWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmJcIjtcbn1cbi5mYS1uZXV0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmNcIjtcbn1cbi5mYS1nZW5kZXJsZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjJkXCI7XG59XG4uZmEtZmFjZWJvb2stb2ZmaWNpYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzBcIjtcbn1cbi5mYS1waW50ZXJlc3QtcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzMVwiO1xufVxuLmZhLXdoYXRzYXBwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjMyXCI7XG59XG4uZmEtc2VydmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjMzXCI7XG59XG4uZmEtdXNlci1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM0XCI7XG59XG4uZmEtdXNlci10aW1lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNVwiO1xufVxuLmZhLWhvdGVsOmJlZm9yZSxcbi5mYS1iZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzZcIjtcbn1cbi5mYS12aWFjb2luOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM3XCI7XG59XG4uZmEtdHJhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzhcIjtcbn1cbi5mYS1zdWJ3YXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzlcIjtcbn1cbi5mYS1tZWRpdW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2FcIjtcbn1cbi5mYS15YzpiZWZvcmUsXG4uZmEteS1jb21iaW5hdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNiXCI7XG59XG4uZmEtb3B0aW4tbW9uc3RlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzY1wiO1xufVxuLmZhLW9wZW5jYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNkXCI7XG59XG4uZmEtZXhwZWRpdGVkc3NsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNlXCI7XG59XG4uZmEtYmF0dGVyeS00OmJlZm9yZSxcbi5mYS1iYXR0ZXJ5OmJlZm9yZSxcbi5mYS1iYXR0ZXJ5LWZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDBcIjtcbn1cbi5mYS1iYXR0ZXJ5LTM6YmVmb3JlLFxuLmZhLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDFcIjtcbn1cbi5mYS1iYXR0ZXJ5LTI6YmVmb3JlLFxuLmZhLWJhdHRlcnktaGFsZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0MlwiO1xufVxuLmZhLWJhdHRlcnktMTpiZWZvcmUsXG4uZmEtYmF0dGVyeS1xdWFydGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQzXCI7XG59XG4uZmEtYmF0dGVyeS0wOmJlZm9yZSxcbi5mYS1iYXR0ZXJ5LWVtcHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQ0XCI7XG59XG4uZmEtbW91c2UtcG9pbnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0NVwiO1xufVxuLmZhLWktY3Vyc29yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQ2XCI7XG59XG4uZmEtb2JqZWN0LWdyb3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQ3XCI7XG59XG4uZmEtb2JqZWN0LXVuZ3JvdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDhcIjtcbn1cbi5mYS1zdGlja3ktbm90ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0OVwiO1xufVxuLmZhLXN0aWNreS1ub3RlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGFcIjtcbn1cbi5mYS1jYy1qY2I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGJcIjtcbn1cbi5mYS1jYy1kaW5lcnMtY2x1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0Y1wiO1xufVxuLmZhLWNsb25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjRkXCI7XG59XG4uZmEtYmFsYW5jZS1zY2FsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0ZVwiO1xufVxuLmZhLWhvdXJnbGFzcy1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjUwXCI7XG59XG4uZmEtaG91cmdsYXNzLTE6YmVmb3JlLFxuLmZhLWhvdXJnbGFzcy1zdGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1MVwiO1xufVxuLmZhLWhvdXJnbGFzcy0yOmJlZm9yZSxcbi5mYS1ob3VyZ2xhc3MtaGFsZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1MlwiO1xufVxuLmZhLWhvdXJnbGFzcy0zOmJlZm9yZSxcbi5mYS1ob3VyZ2xhc3MtZW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjUzXCI7XG59XG4uZmEtaG91cmdsYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU0XCI7XG59XG4uZmEtaGFuZC1ncmFiLW86YmVmb3JlLFxuLmZhLWhhbmQtcm9jay1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU1XCI7XG59XG4uZmEtaGFuZC1zdG9wLW86YmVmb3JlLFxuLmZhLWhhbmQtcGFwZXItbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1NlwiO1xufVxuLmZhLWhhbmQtc2Npc3NvcnMtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1N1wiO1xufVxuLmZhLWhhbmQtbGl6YXJkLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNThcIjtcbn1cbi5mYS1oYW5kLXNwb2NrLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTlcIjtcbn1cbi5mYS1oYW5kLXBvaW50ZXItbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1YVwiO1xufVxuLmZhLWhhbmQtcGVhY2UtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1YlwiO1xufVxuLmZhLXRyYWRlbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1Y1wiO1xufVxuLmZhLXJlZ2lzdGVyZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWRcIjtcbn1cbi5mYS1jcmVhdGl2ZS1jb21tb25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjVlXCI7XG59XG4uZmEtZ2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjBcIjtcbn1cbi5mYS1nZy1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjFcIjtcbn1cbi5mYS10cmlwYWR2aXNvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2MlwiO1xufVxuLmZhLW9kbm9rbGFzc25pa2k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjNcIjtcbn1cbi5mYS1vZG5va2xhc3NuaWtpLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2NFwiO1xufVxuLmZhLWdldC1wb2NrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjVcIjtcbn1cbi5mYS13aWtpcGVkaWEtdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2NlwiO1xufVxuLmZhLXNhZmFyaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2N1wiO1xufVxuLmZhLWNocm9tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2OFwiO1xufVxuLmZhLWZpcmVmb3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjlcIjtcbn1cbi5mYS1vcGVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2YVwiO1xufVxuLmZhLWludGVybmV0LWV4cGxvcmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZiXCI7XG59XG4uZmEtdHY6YmVmb3JlLFxuLmZhLXRlbGV2aXNpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmNcIjtcbn1cbi5mYS1jb250YW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmRcIjtcbn1cbi5mYS01MDBweDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2ZVwiO1xufVxuLmZhLWFtYXpvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3MFwiO1xufVxuLmZhLWNhbGVuZGFyLXBsdXMtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3MVwiO1xufVxuLmZhLWNhbGVuZGFyLW1pbnVzLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzJcIjtcbn1cbi5mYS1jYWxlbmRhci10aW1lcy1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjczXCI7XG59XG4uZmEtY2FsZW5kYXItY2hlY2stbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3NFwiO1xufVxuLmZhLWluZHVzdHJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjc1XCI7XG59XG4uZmEtbWFwLXBpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3NlwiO1xufVxuLmZhLW1hcC1zaWduczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3N1wiO1xufVxuLmZhLW1hcC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjc4XCI7XG59XG4uZmEtbWFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjc5XCI7XG59XG4uZmEtY29tbWVudGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3YVwiO1xufVxuLmZhLWNvbW1lbnRpbmctbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3YlwiO1xufVxuLmZhLWhvdXp6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjdjXCI7XG59XG4uZmEtdmltZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2RcIjtcbn1cbi5mYS1ibGFjay10aWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2VcIjtcbn1cbi5mYS1mb250aWNvbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODBcIjtcbn1cbi5mYS1yZWRkaXQtYWxpZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODFcIjtcbn1cbi5mYS1lZGdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjgyXCI7XG59XG4uZmEtY3JlZGl0LWNhcmQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjgzXCI7XG59XG4uZmEtY29kaWVwaWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODRcIjtcbn1cbi5mYS1tb2R4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg1XCI7XG59XG4uZmEtZm9ydC1hd2Vzb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg2XCI7XG59XG4uZmEtdXNiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg3XCI7XG59XG4uZmEtcHJvZHVjdC1odW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg4XCI7XG59XG4uZmEtbWl4Y2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODlcIjtcbn1cbi5mYS1zY3JpYmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOGFcIjtcbn1cbi5mYS1wYXVzZS1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOGJcIjtcbn1cbi5mYS1wYXVzZS1jaXJjbGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4Y1wiO1xufVxuLmZhLXN0b3AtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjhkXCI7XG59XG4uZmEtc3RvcC1jaXJjbGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4ZVwiO1xufVxuLmZhLXNob3BwaW5nLWJhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5MFwiO1xufVxuLmZhLXNob3BwaW5nLWJhc2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5MVwiO1xufVxuLmZhLWhhc2h0YWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTJcIjtcbn1cbi5mYS1ibHVldG9vdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTNcIjtcbn1cbi5mYS1ibHVldG9vdGgtYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5NFwiO1xufVxuLmZhLXBlcmNlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTVcIjtcbn1cbi5mYS1naXRsYWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTZcIjtcbn1cbi5mYS13cGJlZ2lubmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk3XCI7XG59XG4uZmEtd3Bmb3JtczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5OFwiO1xufVxuLmZhLWVudmlyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5OVwiO1xufVxuLmZhLXVuaXZlcnNhbC1hY2Nlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOWFcIjtcbn1cbi5mYS13aGVlbGNoYWlyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5YlwiO1xufVxuLmZhLXF1ZXN0aW9uLWNpcmNsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjljXCI7XG59XG4uZmEtYmxpbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOWRcIjtcbn1cbi5mYS1hdWRpby1kZXNjcmlwdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5ZVwiO1xufVxuLmZhLXZvbHVtZS1jb250cm9sLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmEwXCI7XG59XG4uZmEtYnJhaWxsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhMVwiO1xufVxuLmZhLWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhMlwiO1xufVxuLmZhLWFzbC1pbnRlcnByZXRpbmc6YmVmb3JlLFxuLmZhLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmEzXCI7XG59XG4uZmEtZGVhZm5lc3M6YmVmb3JlLFxuLmZhLWhhcmQtb2YtaGVhcmluZzpiZWZvcmUsXG4uZmEtZGVhZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhNFwiO1xufVxuLmZhLWdsaWRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE1XCI7XG59XG4uZmEtZ2xpZGUtZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhNlwiO1xufVxuLmZhLXNpZ25pbmc6YmVmb3JlLFxuLmZhLXNpZ24tbGFuZ3VhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTdcIjtcbn1cbi5mYS1sb3ctdmlzaW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE4XCI7XG59XG4uZmEtdmlhZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE5XCI7XG59XG4uZmEtdmlhZGVvLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhYVwiO1xufVxuLmZhLXNuYXBjaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFiXCI7XG59XG4uZmEtc25hcGNoYXQtZ2hvc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWNcIjtcbn1cbi5mYS1zbmFwY2hhdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWRcIjtcbn1cbi5mYS1waWVkLXBpcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFlXCI7XG59XG4uZmEtZmlyc3Qtb3JkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjBcIjtcbn1cbi5mYS15b2FzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiMVwiO1xufVxuLmZhLXRoZW1laXNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiMlwiO1xufVxuLmZhLWdvb2dsZS1wbHVzLWNpcmNsZTpiZWZvcmUsXG4uZmEtZ29vZ2xlLXBsdXMtb2ZmaWNpYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjNcIjtcbn1cbi5mYS1mYTpiZWZvcmUsXG4uZmEtZm9udC1hd2Vzb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI0XCI7XG59XG4uZmEtaGFuZHNoYWtlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjVcIjtcbn1cbi5mYS1lbnZlbG9wZS1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI2XCI7XG59XG4uZmEtZW52ZWxvcGUtb3Blbi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI3XCI7XG59XG4uZmEtbGlub2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI4XCI7XG59XG4uZmEtYWRkcmVzcy1ib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI5XCI7XG59XG4uZmEtYWRkcmVzcy1ib29rLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYmFcIjtcbn1cbi5mYS12Y2FyZDpiZWZvcmUsXG4uZmEtYWRkcmVzcy1jYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmJiXCI7XG59XG4uZmEtdmNhcmQtbzpiZWZvcmUsXG4uZmEtYWRkcmVzcy1jYXJkLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYmNcIjtcbn1cbi5mYS11c2VyLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiZFwiO1xufVxuLmZhLXVzZXItY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYmVcIjtcbn1cbi5mYS11c2VyLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzBcIjtcbn1cbi5mYS1pZC1iYWRnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjMVwiO1xufVxuLmZhLWRyaXZlcnMtbGljZW5zZTpiZWZvcmUsXG4uZmEtaWQtY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjMlwiO1xufVxuLmZhLWRyaXZlcnMtbGljZW5zZS1vOmJlZm9yZSxcbi5mYS1pZC1jYXJkLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzNcIjtcbn1cbi5mYS1xdW9yYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjNFwiO1xufVxuLmZhLWZyZWUtY29kZS1jYW1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmM1XCI7XG59XG4uZmEtdGVsZWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzZcIjtcbn1cbi5mYS10aGVybW9tZXRlci00OmJlZm9yZSxcbi5mYS10aGVybW9tZXRlcjpiZWZvcmUsXG4uZmEtdGhlcm1vbWV0ZXItZnVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjN1wiO1xufVxuLmZhLXRoZXJtb21ldGVyLTM6YmVmb3JlLFxuLmZhLXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmM4XCI7XG59XG4uZmEtdGhlcm1vbWV0ZXItMjpiZWZvcmUsXG4uZmEtdGhlcm1vbWV0ZXItaGFsZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjOVwiO1xufVxuLmZhLXRoZXJtb21ldGVyLTE6YmVmb3JlLFxuLmZhLXRoZXJtb21ldGVyLXF1YXJ0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyY2FcIjtcbn1cbi5mYS10aGVybW9tZXRlci0wOmJlZm9yZSxcbi5mYS10aGVybW9tZXRlci1lbXB0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjYlwiO1xufVxuLmZhLXNob3dlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjY1wiO1xufVxuLmZhLWJhdGh0dWI6YmVmb3JlLFxuLmZhLXMxNTpiZWZvcmUsXG4uZmEtYmF0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjZFwiO1xufVxuLmZhLXBvZGNhc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyY2VcIjtcbn1cbi5mYS13aW5kb3ctbWF4aW1pemU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDBcIjtcbn1cbi5mYS13aW5kb3ctbWluaW1pemU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDFcIjtcbn1cbi5mYS13aW5kb3ctcmVzdG9yZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkMlwiO1xufVxuLmZhLXRpbWVzLXJlY3RhbmdsZTpiZWZvcmUsXG4uZmEtd2luZG93LWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQzXCI7XG59XG4uZmEtdGltZXMtcmVjdGFuZ2xlLW86YmVmb3JlLFxuLmZhLXdpbmRvdy1jbG9zZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQ0XCI7XG59XG4uZmEtYmFuZGNhbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDVcIjtcbn1cbi5mYS1ncmF2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQ2XCI7XG59XG4uZmEtZXRzeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkN1wiO1xufVxuLmZhLWltZGI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDhcIjtcbn1cbi5mYS1yYXZlbHJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQ5XCI7XG59XG4uZmEtZWVyY2FzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkYVwiO1xufVxuLmZhLW1pY3JvY2hpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkYlwiO1xufVxuLmZhLXNub3dmbGFrZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmRjXCI7XG59XG4uZmEtc3VwZXJwb3dlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGRcIjtcbn1cbi5mYS13cGV4cGxvcmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmRlXCI7XG59XG4uZmEtbWVldHVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmUwXCI7XG59XG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgYm9yZGVyOiAwO1xufVxuLnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSxcbi5zci1vbmx5LWZvY3VzYWJsZTpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/