/* ==========================================================================
   Stylesheet for all browsers

   Never add styles directly to this file - set up imports
   Style guide: https://github.com/necolas/idiomatic-css
   ========================================================================== */
/* Config
   ========================================================================== */
/* ==========================================================================
   Config

   This file is exclusively intended for setting up imports
   Never add styles directly to this file
   ========================================================================== */
/* General
   ========================================================================== */
/* ==========================================================================
   Paths

   This file is exclusively intended for setting up variables
   Never add styles directly to this file
   ========================================================================== */
/* General
   ========================================================================== */
/* Image folders
   ========================================================================== */
/* ==========================================================================
   Colors

   This file is exclusively intended for setting up variables
   Never add styles directly to this file
   ========================================================================== */
/* Colors
   ========================================================================== */
/* Brand colors
  ========================================================================== */
/* Specifics
   ========================================================================== */
/* Shadows
   ========================================================================== */
/* ==========================================================================
   Sizes

   This file is exclusively intended for setting up variables
   Never add styles directly to this file
   ========================================================================== */
/* Info & main footer columns
   ========================================================================== */
/* Link
   ========================================================================== */
/* ==========================================================================
   Z-indexes

   This file is exclusively intended for setting up variables
   Never add styles directly to this file
   ========================================================================== */
/* ==========================================================================
   Fonts

   This file is exclusively intended for setting up variables
   Never add styles directly to this file
   ========================================================================== */
/* Webfonts
   ========================================================================== */
/* Defaults
   ========================================================================== */
/* ==========================================================================
   Bodycopy

   This file is exclusively intended for setting up variables
   Never add styles directly to this file
   ========================================================================== */
/* Line-height
   ========================================================================== */
/* Font sizes
   ========================================================================== */
/* Vendors
   ========================================================================== */
/* ==========================================================================
   Boostrap Variables

   This file is exclusively intended for setting up variables
   Never add styles directly to this file
   ========================================================================== */
/* Grid
   ========================================================================== */
/* ==========================================================================
   Imports for Bootstrap

   This file is exclusively intended for setting up imports
   Never add styles directly to this file
   ========================================================================== */
/* Vars and mixins
   ========================================================================== */
/* Reset and dependencies
   ========================================================================== */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

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

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden],
template {
  display: none; }

a {
  background-color: transparent; }

a:active,
a:hover {
  outline: 0; }

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

b,
strong {
  font-weight: bold; }

dfn {
  font-style: italic; }

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

mark {
  background: #ff0;
  color: #000; }

small {
  font-size: 80%; }

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

img {
  border: 0; }

svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 1em 40px; }

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

pre {
  overflow: auto; }

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0; }

button {
  overflow: visible; }

button,
select {
  text-transform: none; }

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

button[disabled],
html input[disabled] {
  cursor: default; }

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

input {
  line-height: normal; }

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

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

input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box; }

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

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

legend {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto; }

optgroup {
  font-weight: bold; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

/* Core CSS
   ========================================================================== */
.container {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }
  .container:before, .container:after {
    display: table;
    content: " "; }
  .container:after {
    clear: both; }
  @media (min-width: 768px) {
    .container {
      width: 750px; } }
  @media (min-width: 992px) {
    .container {
      width: 970px; } }
  @media (min-width: 1200px) {
    .container {
      width: 1170px; } }

.container-fluid {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }
  .container-fluid:before, .container-fluid:after {
    display: table;
    content: " "; }
  .container-fluid:after {
    clear: both; }

.row {
  margin-right: -15px;
  margin-left: -15px; }
  .row:before, .row:after {
    display: table;
    content: " "; }
  .row:after {
    clear: both; }

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

.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px; }

.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left; }

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

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

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

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

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

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

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

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

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

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

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

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

.col-xs-pull-0 {
  right: auto; }

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

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

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

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

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

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

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

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

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

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

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

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

.col-xs-push-0 {
  left: auto; }

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

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

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

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

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

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

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

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

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

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

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

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

.col-xs-offset-0 {
  margin-left: 0%; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Components
   ========================================================================== */
/* Components /w javascript
   ========================================================================== */
/* Utility classes
   ========================================================================== */
.clearfix:before, .clearfix:after {
  display: table;
  content: " "; }

.clearfix:after {
  clear: both; }

.center-block {
  display: block;
  margin-right: auto;
  margin-left: auto; }

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

.pull-left {
  float: left !important; }

.hide {
  display: none !important; }

.show {
  display: block !important; }

.invisible {
  visibility: hidden; }

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

.hidden {
  display: none !important; }

.affix {
  position: fixed; }

@-ms-viewport {
  width: device-width; }

.visible-xs {
  display: none !important; }

.visible-sm {
  display: none !important; }

.visible-md {
  display: none !important; }

.visible-lg {
  display: none !important; }

.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important; }

@media (max-width: 767px) {
  .visible-xs {
    display: block !important; }
  table.visible-xs {
    display: table !important; }
  tr.visible-xs {
    display: table-row !important; }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important; } }

@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important; } }

@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important; } }

@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important; }
  table.visible-sm {
    display: table !important; }
  tr.visible-sm {
    display: table-row !important; }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important; }
  table.visible-md {
    display: table !important; }
  tr.visible-md {
    display: table-row !important; }
  th.visible-md,
  td.visible-md {
    display: table-cell !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important; } }

@media (min-width: 1200px) {
  .visible-lg {
    display: block !important; }
  table.visible-lg {
    display: table !important; }
  tr.visible-lg {
    display: table-row !important; }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important; } }

@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important; } }

@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important; } }

@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important; } }

@media (max-width: 767px) {
  .hidden-xs {
    display: none !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important; } }

@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important; } }

.visible-print {
  display: none !important; }

@media print {
  .visible-print {
    display: block !important; }
  table.visible-print {
    display: table !important; }
  tr.visible-print {
    display: table-row !important; }
  th.visible-print,
  td.visible-print {
    display: table-cell !important; } }

.visible-print-block {
  display: none !important; }
  @media print {
    .visible-print-block {
      display: block !important; } }

.visible-print-inline {
  display: none !important; }
  @media print {
    .visible-print-inline {
      display: inline !important; } }

.visible-print-inline-block {
  display: none !important; }
  @media print {
    .visible-print-inline-block {
      display: inline-block !important; } }

@media print {
  .hidden-print {
    display: none !important; } }

/* Helpers
   ========================================================================== */
/* ==========================================================================
   Helpers

   Never add styles directly to this file - set up imports
   ========================================================================== */
/* Placeholders
   ========================================================================== */
/* Mixins
   ========================================================================== */
/* ==========================================================================
   Helpers - Mixins
   ========================================================================== */
/* Resets
   ========================================================================== */
/* Textlink hover
   links.scss
   eye-catcher-pp.scss
   ========================================================================== */
/* Image inside link transition
   ========================================================================== */
/* General
   ========================================================================== */
/* ==========================================================================
   General

   This file is exclusively intended for setting up imports
   Never add styles directly to this file
   ========================================================================== */
/* Base
   ========================================================================== */
/* ==========================================================================
   Base
   ========================================================================== */
/* Box model
   ========================================================================== */
* {
  box-sizing: border-box; }

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

/* Html & body
   ========================================================================== */
html {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -ms-overflow-style: none;
  height: 100%; }

body {
  min-height: 100%;
  overflow-x: hidden;
  -ms-overflow-style: none; }

.wrapper {
  min-height: 100%;
  background-color: #FFFFFF;
  opacity: 1;
  transition: opacity .4s ease-in-out .2s, transform .6s ease-in-out; }

.fadeload {
  opacity: 0; }

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .fadeload {
    opacity: 1; } }

/* Sections
   ========================================================================== */
main section:nth-child(odd) {
  background-color: #F2F2F2; }

main section:nth-child(even) {
  background-color: #FFFFFF; }

main .inner-section {
  padding: 5rem 0; }
  main .inner-section:empty {
    padding: 0;
    background: #FF4600; }
  main .inner-section > :first-child {
    margin-top: 0; }
  main .inner-section > :last-child {
    margin-bottom: 0; }
  @media (min-width: 992px) {
    main .inner-section {
      padding: 10rem 0; } }

/* Content
   ========================================================================== */
.content {
  position: relative;
  z-index: 4;
  padding-bottom: 5rem; }
  @media (min-width: 992px) {
    .content {
      padding-bottom: 10rem; } }

/* Containers
   ========================================================================== */
.container {
  width: 100%;
  max-width: 950px;
  padding: 0 15px;
  margin: 0 auto; }
  @media (min-width: 768px) {
    .container {
      max-width: 990px;
      padding: 0 35px; } }

@media (min-width: 1180px) {
  .container--wide {
    max-width: 1180px; } }

/* Helper classes
   ========================================================================== */
.force-center {
  text-align: center !important; }
  .force-center * {
    display: inline-block;
    text-align: center !important; }

/* Typography
   ========================================================================== */
/* ==========================================================================
   Headings
   ========================================================================== */
/* Shared
   ========================================================================== */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 3rem 0;
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  line-height: 1.2; }
  h1 + p,
  h1 + .text-pp p,
  h2 + p,
  h2 + .text-pp p,
  h3 + p,
  h3 + .text-pp p,
  h4 + p,
  h4 + .text-pp p,
  h5 + p,
  h5 + .text-pp p,
  h6 + p,
  h6 + .text-pp p {
    margin-top: 0; }
  @media (min-width: 992px) {
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
      margin: 5rem 0; } }

/* Specific
   ========================================================================== */
h1 {
  font-size: 4rem;
  font-weight: 500;
  line-height: 1; }
  @media (min-width: 768px) {
    h1 {
      margin: 4rem 0;
      font-size: 6rem; } }
  @media (min-width: 992px) {
    h1 {
      margin: 5rem 0;
      font-size: 8rem; } }

h2 {
  font-size: 3rem;
  font-weight: 600;
  color: #007E7E; }
  @media (min-width: 992px) {
    h2 {
      margin: 10rem 0;
      font-size: 5.6rem; } }

h3 {
  font-size: 2.5rem;
  font-weight: 500; }
  @media (min-width: 992px) {
    h3 {
      margin: 7.5rem 0;
      font-size: 4rem; } }

h4 {
  max-width: 45rem;
  font-size: 2.1rem;
  font-weight: 600;
  text-transform: uppercase; }

h5,
h6 {
  font-size: 2.1rem;
  font-weight: 600; }

/* ==========================================================================
   Body Copy
   ========================================================================== */
/* General
   ========================================================================== */
* {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased; }

html {
  font-size: 62.5%; }

body {
  color: #000000;
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.7; }
  @media (min-width: 992px) {
    body {
      font-size: 2.1rem; } }

p {
  margin: 2rem 0; }
  @media (min-width: 992px) {
    p {
      margin: 3rem 0; } }

/* General Modifiers
   ========================================================================== */
.text--upper {
  text-transform: uppercase; }

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

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

/* Intro text
   ========================================================================== */
.text--intro {
  font-size: 2.1rem;
  text-align: center; }
  @media (min-width: 992px) {
    .text--intro {
      font-size: 2.4rem; } }

/* Pages
   ========================================================================== */
/* ==========================================================================
   Components

   Never add styles directly to this file - set up imports
   ========================================================================== */
/* Blocks
   ========================================================================== */
/* ==========================================================================
   Blocks - Buttons
   ========================================================================== */
/* General
   ========================================================================== */
.btn {
  display: inline-block;
  padding: 1.4rem 2rem;
  margin: 0;
  background: #007E7E;
  border: 1px solid #007E7E;
  border-radius: 43px;
  -webkit-appearance: none;
  color: #FFFFFF;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  white-space: nowrap;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  transition: background .2s ease-in-out; }
  .btn:hover, .btn:focus, .btn:active {
    background: transparent;
    color: #007E7E;
    text-decoration: none; }
  .btn:active, .btn:focus {
    outline: 0; }
  .btn[disabled],
  fieldset[disabled] .btn {
    opacity: .65;
    cursor: not-allowed;
    pointer-events: none; }

/* ==========================================================================
   Blocks - Hr
   ========================================================================== */
hr {
  margin: 5rem 0;
  border: 0;
  border-top: 1px solid #ACB4B8; }
  @media (min-width: 992px) {
    hr {
      margin: 10rem 0; } }

/* ==========================================================================
   Blocks - Images
   ========================================================================== */
/* Shared
   ========================================================================== */
img {
  height: auto;
  max-width: 100%;
  max-height: 100%; }

figure {
  margin: 0; }
  figure img {
    display: block; }

/* ==========================================================================
   Blocks - Lists
   ========================================================================== */
/* Reset
   ========================================================================== */
.text-pp ul {
  margin: 3rem 0;
  padding: 0; }
  .text-pp ul li {
    position: relative;
    padding: 0 0 0 30px;
    margin-bottom: 12px;
    list-style: none; }
    .text-pp ul li:before {
      content: " ";
      position: absolute;
      left: 10px;
      top: 16px;
      width: 3px;
      height: 3px;
      background-color: #000000;
      border-radius: 50%; }
  .text-pp ul ul {
    margin: 0 0 0 10px; }
    .text-pp ul ul li {
      margin-bottom: 0; }

/* ==========================================================================
   Blocks - Links
   ========================================================================== */
/* Shared
   ========================================================================== */
a {
  color: #007E7E;
  font-weight: 500;
  text-decoration: none;
  transition: color .3s ease-in-out; }
  a:hover, a:focus {
    color: #007E7E;
    text-decoration: underline; }

/* Textlink
   ========================================================================== */
.textlink {
  position: relative;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-align: center;
      align-items: center;
  padding: 0 0 5px;
  overflow: hidden;
  color: #000000;
  font-size: 1.8rem;
  line-height: 1; }
  .textlink:after {
    content: " ";
    position: absolute;
    bottom: 0;
    left: 0;
    display: inline-block;
    width: 100%;
    height: 1px;
    background: #000000; }
  .textlink:hover, .textlink:focus {
    color: #007E7E;
    text-decoration: none; }
    .textlink:hover:after, .textlink:focus:after {
      background-color: #007E7E; }
    .textlink:hover > svg:first-child, .textlink:focus > svg:first-child {
      margin-left: 0; }
    .textlink:hover > svg:last-child, .textlink:focus > svg:last-child {
      margin-right: -43px; }
    .textlink:hover .textlink__text, .textlink:focus .textlink__text {
      color: #007E7E; }
    .textlink:hover .link-arrow, .textlink:focus .link-arrow {
      fill: #007E7E; }
  .textlink svg {
    display: inline-block;
    transition: all .2s ease-in-out; }
  .textlink > svg:first-child {
    margin-left: -43px;
    margin-right: 15px; }
  .textlink > svg:last-child {
    margin-left: 15px; }

.textlink__text {
  display: inline-block;
  color: #000000;
  text-decoration: none; }

/* ==========================================================================
   Blocks - Quote
   ========================================================================== */
blockquote {
  border: none; }

.quote {
  padding-left: 3rem;
  border-left: 2px solid #007E7E;
  color: rgba(33, 56, 66, 0.6); }
  .quote blockquote {
    margin: 0 0 2.5rem;
    font-size: 2rem;
    font-style: italic; }
  .quote figcaption {
    font-size: 1.5rem;
    color: rgba(33, 56, 66, 0.35); }
  @media (min-width: 768px) {
    .quote {
      padding-left: 5rem; }
      .quote blockquote {
        padding: 5px 0;
        font-size: 2.4rem; }
      .quote figcaption {
        font-size: 1.8rem; } }

/* Forms
   ========================================================================== */
/* Structures
   ========================================================================== */
/* ==========================================================================
   Cookie consent
   ========================================================================== */
.cookie-bar {
  position: fixed;
  top: auto;
  left: auto;
  bottom: 0;
  right: 0;
  z-index: 500;
  display: none;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  width: 100%;
  padding: 10px 20px;
  background: rgba(0, 50, 50, 0.95);
  border: 1px solid rgba(0, 50, 50, 0.95);
  color: #FFFFFF;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.7;
  text-align: center;
  animation-name: cookieSlide;
  animation-iteration-count: 1;
  animation-timing-function: ease-in-out;
  animation-duration: .8s; }
  .cookie-bar .cookie-bar__policy {
    color: #FFFFFF;
    text-decoration: underline; }
  .cookie-bar .cookie-bar__btn {
    margin: 10px 0;
    padding: 10px 15px;
    font-size: 1em;
    font-weight: 500; }
  .cookie-bar p {
    padding: 0;
    margin: 0 20px 0 0;
    color: #FFFFFF;
    font-size: 1em; }
    .cookie-bar p a {
      color: #FFFFFF; }
  @media (min-width: 992px) {
    .cookie-bar {
      bottom: 10px;
      right: 10px;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-align: center;
          align-items: center;
      max-width: 350px;
      text-align: left; } }

.cookie-bar--visible {
  display: -ms-flexbox;
  display: flex; }

@keyframes cookieSlide {
  0% {
    transform: translate3d(0, 60px, 0);
    opacity: 0; }
  100% {
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

/* ==========================================================================
   Hero
   ========================================================================== */
.hero {
  position: relative;
  padding: 14rem 0 6rem;
  overflow: hidden;
  background-image: url("../img/general/hero-bg.jpg");
  text-align: center; }
  .hero:before {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: transparent;
    background-image: url("../img/general/hero-graphic.svg");
    background-position: 100% calc(100% + 1px);
    background-repeat: no-repeat;
    background-size: 60%; }
    @media (min-width: 992px) {
      .hero:before {
        background-size: auto; } }
  .hero > * {
    position: relative;
    z-index: 2; }
  @media (min-width: 768px) {
    .hero {
      padding: 18rem 0 10rem;
      text-align: left; } }

.hero__title,
.hero__text {
  max-width: 54rem; }

.hero__title {
  margin-top: 0; }

.hero__text {
  margin-bottom: 6rem;
  font-size: 2.1rem; }
  .hero__text:last-child {
    margin-bottom: 0; }
  .hero__text p:first-child {
    margin-top: 0; }
  .hero__text p:last-child {
    margin-bottom: 0; }
  @media (min-width: 768px) {
    .hero__text {
      font-size: 2.4rem; } }

.hero__bg {
  position: absolute;
  bottom: 0;
  right: 0; }

/* Content
   ========================================================================== */
.hero--content {
  padding-top: 12rem; }
  .hero--content:before {
    background: none; }
  @media (min-width: 768px) {
    .hero--content .hero__title,
    .hero--content .hero__text {
      width: calc(50% - 3rem); } }
  @media (min-width: 768px) {
    .hero--content {
      padding: 18rem 0 10rem; } }

.hero__img {
  display: block;
  margin-bottom: 4rem; }
  .hero__img img {
    display: block;
    width: 100%; }
  @media (min-width: 768px) {
    .hero__img {
      position: absolute;
      top: 0;
      left: 50%;
      width: auto;
      height: 100%;
      margin-bottom: 0; }
      .hero__img img {
        display: block;
        width: auto;
        height: 100%;
        max-width: none; } }

/* Vision
   ========================================================================== */
.hero--vision {
  padding-bottom: 15rem;
  background-image: url("../img/general/hero-bg-dark.jpg"); }
  .hero--vision:before {
    background-color: #007E7E;
    background-image: url("../img/general/hero-graphic.svg");
    opacity: .12; }
  .hero--vision .hero__title {
    color: #FFFFFF; }
  .hero--vision .hero__text {
    color: #FFFFFF; }
  @media (min-width: 768px) {
    .hero--vision {
      padding-bottom: 18rem; } }
  @media (min-width: 992px) {
    .hero--vision {
      padding-bottom: 27rem; } }

.hero-dropimage {
  position: relative;
  z-index: 3;
  margin-top: -10rem; }
  @media (min-width: 768px) {
    .hero-dropimage {
      margin-top: -13rem; } }
  @media (min-width: 992px) {
    .hero-dropimage {
      margin-top: -17rem; } }

.hero-dropimage__img {
  display: block;
  width: 100%;
  height: auto;
  box-shadow: 0 13px 18px -8px rgba(0, 0, 0, 0.15), 0 11px 55px 10px rgba(0, 0, 0, 0.07); }

/* ==========================================================================
   Structures - Info
   ========================================================================== */
.info {
  background-color: #F2F2F2;
  text-align: center; }
  @media (min-width: 768px) {
    .info {
      text-align: left; } }

.info__inner {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between; }

.info__aside {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
      align-items: flex-start;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex: 1;
      flex: 1; }
  @media (min-width: 768px) {
    .info__aside {
      -ms-flex: 1;
          flex: 1; } }

.info__aside__img {
  display: block;
  max-width: 25rem; }
  @media (min-width: 768px) {
    .info__aside__img {
      max-width: 100%; } }

.info__main {
  margin: 2rem 0 2rem; }
  @media (min-width: 768px) {
    .info__main {
      padding-left: 4rem;
      -ms-flex: 1;
          flex: 1; } }
  @media (min-width: 992px) {
    .info__main {
      -ms-flex: 0 1 54.5rem;
          flex: 0 1 54.5rem; } }

.info__title {
  margin-top: 1rem;
  margin-bottom: 2rem; }

/* ==========================================================================
   Structures - Logo banner
   ========================================================================== */
.logo-banner {
  margin: 5rem 0 2rem;
  overflow: hidden; }

.logo-banner__inner {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  margin: 0 -2rem; }
  @media (min-width: 992px) {
    .logo-banner__inner {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -ms-flex-pack: justify;
          justify-content: space-between; } }

.logo-banner__link {
  display: block;
  margin: 2rem;
  text-align: center;
  filter: grayscale(100%); }
  .logo-banner__link:hover, .logo-banner__link:focus, .logo-banner__link:active {
    filter: grayscale(0); }

.logo-banner__img {
  display: inline-block; }

/* Header
   ========================================================================== */
/* ==========================================================================
   Header - Main header
   ========================================================================== */
.main-header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  width: 100%;
  padding: 4rem 0; }

.main-header__bar {
  position: relative;
  z-index: 10; }

.main-header__bar__inner {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: no-wrap;
      flex-wrap: no-wrap;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between; }

.main-header__logo {
  display: block; }

.main-header__logo__img {
  display: block;
  transition: filter 0.2s ease-in-out 0.4s; }

.main-header__nav {
  position: absolute;
  top: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  width: 100%;
  height: 100vh;
  padding: 14rem 0 10rem;
  overflow: hidden;
  transform: translateY(-100%);
  background-color: #F3E9D2;
  background-image: url("../img/general/hero-graphic-nav.svg"), url("../img/general/hero-bg-dark.jpg");
  background-position: 100% 100%, 0 0;
  background-repeat: no-repeat, repeat;
  transition: transform 0.5s ease-in-out 0.3s; }
  @media (min-width: 768px) {
    .main-header__nav {
      height: auto;
      min-height: 67rem; } }
  @media (min-width: 992px) {
    .main-header__nav {
      min-height: 72rem;
      padding: 16rem 0 10rem; } }

.main-header__nav__inner {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-align: start;
      align-items: flex-start;
  -ms-flex-pack: justify;
      justify-content: space-between; }

.main-header__nav__contact {
  margin-top: 4rem;
  padding-left: 2.5rem;
  font-size: 1.6rem;
  line-height: 2;
  color: #FFFFFF; }
  .main-header__nav__contact p {
    margin: 0; }
  .main-header__nav__contact a {
    color: #FFFFFF;
    text-decoration: none; }
    .main-header__nav__contact a:hover, .main-header__nav__contact a:focus, .main-header__nav__contact a:active {
      text-decoration: underline; }
  .main-header__nav__contact strong {
    display: inline-block;
    margin-bottom: 10px;
    font-weight: 700; }
  @media (min-width: 480px) {
    .main-header__nav__contact {
      margin-top: 0;
      -ms-flex-item-align: end;
          align-self: flex-end;
      -ms-flex-order: 1;
          order: 1; } }
  @media (min-width: 992px) {
    .main-header__nav__contact {
      padding-left: 0; } }

.main-header__nav__mainnav {
  -ms-flex: 0 1 100%;
      flex: 0 1 100%;
  padding-left: 2.5rem; }
  @media (min-width: 480px) {
    .main-header__nav__mainnav {
      -ms-flex-order: 2;
          order: 2;
      -ms-flex: 0 1 50%;
          flex: 0 1 50%; } }

/* ==========================================================================
   Header - Menu
   ========================================================================== */
.menu {
  padding: 0;
  background-color: transparent;
  border: none;
  outline: none;
  font: inherit;
  color: inherit;
  cursor: pointer;
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-align: center;
      align-items: center;
  font-size: 1.8rem;
  line-height: 1; }

.menu__text {
  display: inline-block;
  margin: 0 10px;
  font-weight: 500;
  color: #000000;
  transition: color 0.2s ease-in-out 0.4s; }

.menu__text--close {
  position: absolute;
  color: transparent; }

.menu__icon {
  position: relative;
  width: 40px;
  height: 40px; }
  .menu__icon span {
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #000000;
    transition: transform 0.3s ease-in-out 0s, background-color 0.2s ease-in-out 0.4s; }
    .menu__icon span:last-child {
      transform: rotate(90deg);
      transform-origin: 50% 50%; }

/* ==========================================================================
   Header - Main nav
   ========================================================================== */
.main-nav {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: start;
      align-items: flex-start;
  margin-bottom: 4px; }

.main-nav__link {
  position: relative;
  display: inline-block;
  margin: 3rem 0 0;
  font-size: 3.6rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  color: #FFFFFF; }
  .main-nav__link:after {
    content: " ";
    position: absolute;
    top: calc(50% + 4px);
    left: 0;
    display: inline-block;
    width: 0;
    height: 3px;
    background: #FFFFFF;
    transition: width .2s ease-in-out; }
  .main-nav__link:hover, .main-nav__link:focus, .main-nav__link:active {
    color: #FFFFFF;
    text-decoration: none; }
    .main-nav__link:hover:after, .main-nav__link:focus:after, .main-nav__link:active:after {
      width: 100%;
      transition: width .2s ease-in-out; }
  @media (min-width: 480px) {
    .main-nav__link {
      font-size: 4rem; } }
  @media (min-width: 992px) {
    .main-nav__link {
      font-size: 5.6rem; } }

.main-nav__link--active:after {
  width: 100%; }

/* NAVIGATION OPEN / CLOSE
   ========================================================================== */
.nav-open {
  overflow: hidden; }
  .nav-open .main-header__nav {
    transform: translateY(0);
    overflow: auto; }
  .nav-open .main-header__logo__img {
    filter: invert(100%); }
  .nav-open .menu__text--menu {
    color: transparent; }
  .nav-open .menu__text--close {
    color: #FFFFFF !important; }
  .nav-open .menu__icon span {
    background-color: #FFFFFF; }
    .nav-open .menu__icon span:last-child {
      transform: rotate(0); }

/* Footer
   ========================================================================== */
/* ==========================================================================
   Footer - Footer-credentials
   ========================================================================== */
.footer-credentials {
  padding: 2rem 0;
  background-color: #000000;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  color: #FFFFFF; }

.footer-credentials__inner {
  margin: 0;
  text-align: right; }

.footer-credentials__link {
  display: inline-block;
  font-weight: 700;
  color: #FFFFFF;
  text-decoration: none; }
  .footer-credentials__link:hover, .footer-credentials__link:focus, .footer-credentials__link:active {
    color: #FFFFFF;
    text-decoration: none; }

/* ==========================================================================
   Footer - Main footer
   ========================================================================== */
/* General
   ========================================================================== */
.main-footer {
  padding: 5rem 0;
  background-color: #FFFFFF;
  border-top: 1px solid #F2F2F2; }
  @media (min-width: 992px) {
    .main-footer {
      padding: 10rem 0; } }

.main-footer__inner {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-align: start;
      align-items: flex-start;
  -ms-flex-pack: justify;
      justify-content: space-between; }

.main-footer__title {
  margin: 10px 0;
  font-size: 1.8rem;
  font-weight: 700; }

.main-footer__text {
  margin: 2rem 0;
  font-size: 1.8rem; }

.main-footer__main {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.main-footer__list {
  margin: 0 0 2.5rem;
  padding: 0; }

.main-footer__list__item {
  display: block;
  margin: 0 0 4px 0;
  padding: 0;
  font-size: 1.8rem; }

.main-footer__list__link {
  display: inline-block;
  font-weight: 400;
  color: #000000;
  text-decoration: none; }

/* Aside
   ========================================================================== */
.main-footer__aside {
  max-width: 100%;
  margin-top: -17px;
  padding-right: 4rem;
  -ms-flex: 1 0 43rem;
      flex: 1 0 43rem; }
  @media (min-width: 992px) {
    .main-footer__aside {
      -ms-flex: 1;
          flex: 1; } }

.main-footer__aside__logo {
  display: block; }

.main-footer__aside__logo__img {
  display: block; }

/* Center
   ========================================================================== */
.main-footer__center {
  margin-right: 4rem; }

/* Nav
   ========================================================================== */
@media (min-width: 480px) {
  .main-footer__nav .main-footer__list {
    column-count: 2;
    column-gap: 4rem; } }

/* ==========================================================================
   Footer - Sub-footer
   ========================================================================== */
.sub-footer {
  padding: 1.8rem 0;
  background: #007E7E;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  color: #FFFFFF; }

/* Inner
   ========================================================================== */
.sub-footer__inner {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between; }

/* Info
   ========================================================================== */
.sub-footer__info {
  margin: 1rem 0; }

.sub-footer__info__link {
  display: inline-block;
  margin: 1rem 0;
  color: #FFFFFF; }
  .sub-footer__info__link:hover, .sub-footer__info__link:focus, .sub-footer__info__link:active {
    color: #FFFFFF;
    text-decoration: none; }

/* Pageparts
   ========================================================================== */
/* ==========================================================================
   Pageparts - Button pp
   ========================================================================== */
/* General
   ========================================================================== */
.btn-pp {
  margin: 4rem 0; }

/* ==========================================================================
   Pageparts - Eye catcher pp
   ========================================================================== */
.eye-catcher-pp {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-align: start;
      align-items: flex-start;
  margin: 5rem 0;
  text-decoration: none;
  color: #000000; }
  .eye-catcher-pp:hover, .eye-catcher-pp:focus, .eye-catcher-pp:active {
    text-decoration: none; }
    .eye-catcher-pp:hover .eye-catcher-pp__img, .eye-catcher-pp:focus .eye-catcher-pp__img, .eye-catcher-pp:active .eye-catcher-pp__img {
      transform: translate(4px, -4px); }
    .eye-catcher-pp:hover .eye-catcher-pp__title, .eye-catcher-pp:focus .eye-catcher-pp__title, .eye-catcher-pp:active .eye-catcher-pp__title {
      color: #007E7E; }
    .eye-catcher-pp:hover .eye-catcher-pp__content, .eye-catcher-pp:focus .eye-catcher-pp__content, .eye-catcher-pp:active .eye-catcher-pp__content {
      color: #000000; }
    .eye-catcher-pp:hover .textlink, .eye-catcher-pp:focus .textlink, .eye-catcher-pp:active .textlink {
      color: #007E7E;
      text-decoration: none; }
      .eye-catcher-pp:hover .textlink:after, .eye-catcher-pp:focus .textlink:after, .eye-catcher-pp:active .textlink:after {
        background-color: #007E7E; }
      .eye-catcher-pp:hover .textlink > svg:first-child, .eye-catcher-pp:focus .textlink > svg:first-child, .eye-catcher-pp:active .textlink > svg:first-child {
        margin-left: 0; }
      .eye-catcher-pp:hover .textlink > svg:last-child, .eye-catcher-pp:focus .textlink > svg:last-child, .eye-catcher-pp:active .textlink > svg:last-child {
        margin-right: -43px; }
      .eye-catcher-pp:hover .textlink .textlink__text, .eye-catcher-pp:focus .textlink .textlink__text, .eye-catcher-pp:active .textlink .textlink__text {
        color: #007E7E; }
      .eye-catcher-pp:hover .textlink .link-arrow, .eye-catcher-pp:focus .textlink .link-arrow, .eye-catcher-pp:active .textlink .link-arrow {
        fill: #007E7E; }
  @media (min-width: 768px) {
    .eye-catcher-pp {
      -ms-flex-direction: row;
          flex-direction: row;
      margin: 10rem 0; } }
  @media (min-width: 1200px) {
    .eye-catcher-pp {
      -ms-flex-align: center;
          align-items: center; } }

@media (min-width: 768px) {
  .eye-catcher-pp--img-left .eye-catcher-pp__img {
    -ms-flex-order: 1;
        order: 1; }
  .eye-catcher-pp--img-left .eye-catcher-pp__content {
    -ms-flex-order: 2;
        order: 2; } }

@media (min-width: 768px) {
  .eye-catcher-pp--img-right .eye-catcher-pp__img {
    -ms-flex-order: 2;
        order: 2; }
  .eye-catcher-pp--img-right .eye-catcher-pp__content {
    -ms-flex-order: 1;
        order: 1; } }

.eye-catcher-pp__img {
  display: block;
  box-shadow: 0 13px 18px -8px rgba(0, 0, 0, 0.15), 0 11px 55px 10px rgba(0, 0, 0, 0.07);
  transition: .2s ease-in-out; }
  @media (min-width: 768px) {
    .eye-catcher-pp__img {
      width: 46%; } }

.eye-catcher-pp__content {
  padding: 4rem 0;
  font-size: 2.1rem; }
  @media (min-width: 768px) {
    .eye-catcher-pp__content {
      width: 54%;
      padding: 0 6rem; } }
  @media (min-width: 992px) {
    .eye-catcher-pp__content {
      font-size: 2.4rem; } }
  @media (min-width: 1200px) {
    .eye-catcher-pp__content {
      padding: 0 9rem; } }

.eye-catcher-pp__tagline {
  margin: 0;
  margin-bottom: 2rem;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.1;
  color: #ACB4B8; }

.eye-catcher-pp__title {
  margin: 0;
  margin-bottom: 3.5rem;
  color: #000000; }

.eye-catcher-pp__link {
  margin: 0; }

/* ==========================================================================
   Pageparts - Header pp
   ========================================================================== */
/**
 * @doc docs/header-pp.md
 * @section
 * @sectionof Pageparts
 */
/* ==========================================================================
   Pageparts - Introtext pp
   ========================================================================== */
/* General
   ========================================================================== */
.introtext-pp {
  max-width: 92rem;
  margin: 5rem auto; }
  .introtext-pp > p:first-child {
    margin-top: 0; }
  .introtext-pp > p:last-child {
    margin-bottom: 0; }
  @media (min-width: 992px) {
    .introtext-pp {
      margin: 10rem auto; } }

/* ==========================================================================
   Pageparts - Image pp
   ========================================================================== */
/* General
   ========================================================================== */
.image-pp {
  margin: 5rem 0; }
  .image-pp a {
    display: block; }
  .image-pp figcaption {
    margin: 0; }
    .image-pp figcaption p {
      margin: .5rem 0;
      font-size: .7em;
      font-style: italic;
      color: #666666; }
  @media (min-width: 992px) {
    .image-pp {
      margin: 10rem 0; } }

/* ==========================================================================
   Pageparts - Link pp
   ========================================================================== */
/* General
   ========================================================================== */
.link-pp {
  margin: 2.5rem 0; }

/* ==========================================================================
   Pageparts - Quicklinks pp
   ========================================================================== */
.quicklinks-pp {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-align: start;
      align-items: flex-start;
  -ms-flex-pack: start;
      justify-content: flex-start;
  margin: 3rem -16px 0; }
  @media (min-width: 992px) {
    .quicklinks-pp {
      margin: 5rem -16px 2rem; } }

.quicklink {
  display: block;
  width: 100%;
  min-width: 210px;
  margin: 0 16px 3rem;
  text-decoration: none; }
  .quicklink:last-child {
    margin-bottom: 0; }
  .quicklink:hover, .quicklink:focus, .quicklink:active {
    text-decoration: none; }
    .quicklink:hover .quicklink__img, .quicklink:focus .quicklink__img, .quicklink:active .quicklink__img {
      transform: translate(4px, -4px); }
    .quicklink:hover .textlink, .quicklink:focus .textlink, .quicklink:active .textlink {
      color: #007E7E;
      text-decoration: none; }
      .quicklink:hover .textlink:after, .quicklink:focus .textlink:after, .quicklink:active .textlink:after {
        background-color: #007E7E; }
      .quicklink:hover .textlink > svg:first-child, .quicklink:focus .textlink > svg:first-child, .quicklink:active .textlink > svg:first-child {
        margin-left: 0; }
      .quicklink:hover .textlink > svg:last-child, .quicklink:focus .textlink > svg:last-child, .quicklink:active .textlink > svg:last-child {
        margin-right: -43px; }
      .quicklink:hover .textlink .textlink__text, .quicklink:focus .textlink .textlink__text, .quicklink:active .textlink .textlink__text {
        color: #007E7E; }
      .quicklink:hover .textlink .link-arrow, .quicklink:focus .textlink .link-arrow, .quicklink:active .textlink .link-arrow {
        fill: #007E7E; }
  .quicklink .textlink {
    margin-bottom: 0; }
  @media (min-width: 480px) {
    .quicklink {
      -ms-flex: 0 1 calc(50% - 16px * 2);
          flex: 0 1 calc(50% - 16px * 2); } }
  @media (min-width: 768px) {
    .quicklink {
      -ms-flex: 1;
          flex: 1;
      width: auto; } }

.quicklink__img {
  display: block;
  width: 100%;
  box-shadow: 0 13px 18px -8px rgba(0, 0, 0, 0.15), 0 11px 55px 10px rgba(0, 0, 0, 0.07);
  transition: .2s ease-in-out; }

.quicklink__title {
  margin: 2rem 0 .5rem;
  font-size: 2.4rem;
  font-weight: 500;
  color: #000000; }

/* ==========================================================================
   Pageparts - Testimonial pp
   ========================================================================== */
.testimonial-pp {
  margin: 5rem 0; }
  @media (min-width: 992px) {
    .testimonial-pp {
      margin: 10rem 0; } }

/* ==========================================================================
   Pageparts - Text pp
   ========================================================================== */
.text-pp > :last-child {
  margin-bottom: 0; }

/* Vendors
   ========================================================================== */
/* Pages
   ========================================================================== */
/* ==========================================================================
   Pages

   This file is exclusively intended for setting up imports
   Never add styles directly to this file
   ========================================================================== */
/* ==========================================================================
   Pages - Vision
   ========================================================================== */
/* Inverted colors main header
   ========================================================================== */
.vision .main-header__logo__img {
  filter: invert(100%); }

.vision .menu__text--menu {
  color: #FFFFFF; }

.vision .menu__text--close {
  color: transparent; }

.vision .menu__icon span {
  background-color: #FFFFFF; }

.vision.nav-open .menu__text--menu {
  color: transparent; }

.vision.nav-open .menu__text--close {
  color: #FFFFFF; }

/* ==========================================================================
   Pages - Error
   ========================================================================== */
.error {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  min-height: 100%; }
  .error h1 {
    margin: 3rem 0; }
  .error h2 {
    margin: 3rem 0; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJjb25maWcvX2NvbmZpZy5zY3NzIiwiY29uZmlnL2dlbmVyYWwvX3BhdGhzLnNjc3MiLCJjb25maWcvZ2VuZXJhbC9fY29sb3JzLnNjc3MiLCJjb25maWcvZ2VuZXJhbC9fc2l6ZXMuc2NzcyIsImNvbmZpZy9nZW5lcmFsL196LWluZGV4LnNjc3MiLCJjb25maWcvZ2VuZXJhbC90eXBvZ3JhcGh5L19mb250cy5zY3NzIiwiY29uZmlnL2dlbmVyYWwvdHlwb2dyYXBoeS9fYm9keWNvcHkuc2NzcyIsImNvbmZpZy92ZW5kb3JzL19ib290c3RyYXAtdmFycy5zY3NzIiwiY29uZmlnL3ZlbmRvcnMvX2Jvb3RzdHJhcC1pbXBvcnRzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fbm9ybWFsaXplLnNjc3MiLCJzdHlsZS5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fdXRpbGl0aWVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2NlbnRlci1ibG9jay5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19oaWRlLXRleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19yZXNwb25zaXZlLXV0aWxpdGllcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19yZXNwb25zaXZlLXZpc2liaWxpdHkuc2NzcyIsImhlbHBlcnMvX2hlbHBlcnMuc2NzcyIsImhlbHBlcnMvX21peGlucy5zY3NzIiwiZ2VuZXJhbC9fZ2VuZXJhbC5zY3NzIiwiZ2VuZXJhbC9fYmFzZS5zY3NzIiwiZ2VuZXJhbC90eXBvZ3JhcGh5L19oZWFkaW5ncy5zY3NzIiwiZ2VuZXJhbC90eXBvZ3JhcGh5L19ib2R5Y29weS5zY3NzIiwiY29tcG9uZW50cy9fY29tcG9uZW50cy5zY3NzIiwiY29tcG9uZW50cy9ibG9ja3MvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvYmxvY2tzL19oci5zY3NzIiwiY29tcG9uZW50cy9ibG9ja3MvX2ltZy5zY3NzIiwiY29tcG9uZW50cy9ibG9ja3MvX2xpc3RzLnNjc3MiLCJjb21wb25lbnRzL2Jsb2Nrcy9fbGlua3Muc2NzcyIsImNvbXBvbmVudHMvYmxvY2tzL19xdW90ZS5zY3NzIiwiY29tcG9uZW50cy9zdHJ1Y3R1cmVzL19jb29raWUtY29uc2VudC5zY3NzIiwiY29tcG9uZW50cy9zdHJ1Y3R1cmVzL19oZXJvLnNjc3MiLCJjb21wb25lbnRzL3N0cnVjdHVyZXMvX2luZm8uc2NzcyIsImNvbXBvbmVudHMvc3RydWN0dXJlcy9fbG9nby1iYW5uZXIuc2NzcyIsImNvbXBvbmVudHMvaGVhZGVyL19tYWluLWhlYWRlci5zY3NzIiwiY29tcG9uZW50cy9oZWFkZXIvX21lbnUuc2NzcyIsImNvbXBvbmVudHMvaGVhZGVyL19tYWluLW5hdi5zY3NzIiwiY29tcG9uZW50cy9mb290ZXIvX2Zvb3Rlci1jcmVkZW50aWFscy5zY3NzIiwiY29tcG9uZW50cy9mb290ZXIvX21haW4tZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL2Zvb3Rlci9fc3ViLWZvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9wYWdlcGFydHMvX2J1dHRvbi1wcC5zY3NzIiwiY29tcG9uZW50cy9wYWdlcGFydHMvX2V5ZS1jYXRjaGVyLXBwLnNjc3MiLCJjb21wb25lbnRzL3BhZ2VwYXJ0cy9faGVhZGVyLXBwLnNjc3MiLCJjb21wb25lbnRzL3BhZ2VwYXJ0cy9faW50cm90ZXh0LXBwLnNjc3MiLCJjb21wb25lbnRzL3BhZ2VwYXJ0cy9faW1hZ2UtcHAuc2NzcyIsImNvbXBvbmVudHMvcGFnZXBhcnRzL19saW5rLXBwLnNjc3MiLCJjb21wb25lbnRzL3BhZ2VwYXJ0cy9fcXVpY2tsaW5rcy1wcC5zY3NzIiwiY29tcG9uZW50cy9wYWdlcGFydHMvX3Rlc3RpbW9uaWFsLXBwLnNjc3MiLCJjb21wb25lbnRzL3BhZ2VwYXJ0cy9fdGV4dC1wcC5zY3NzIiwicGFnZXMvX3BhZ2VzLnNjc3MiLCJwYWdlcy9fdmlzaW9uLnNjc3MiLCJwYWdlcy9fZXJyb3Iuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7Z0ZBS2dGO0FBRWhGO2dGQUNnRjtBQ1ZoRjs7Ozs7Z0ZBS2dGO0FBRWhGO2dGQUNnRjtBQ1JoRjs7Ozs7Z0ZBS2dGO0FBR2hGO2dGQUNnRjtBQUloRjtnRkFDZ0Y7QUNkaEY7Ozs7O2dGQUtnRjtBQUVoRjtnRkFDZ0Y7QUFhaEY7K0VBQytFO0FBVy9FO2dGQUNnRjtBQWFoRjtnRkFDZ0Y7QUNoRGhGOzs7OztnRkFLZ0Y7QUFRaEY7Z0ZBQ2dGO0FBTWhGO2dGQUNnRjtBQ3JCaEY7Ozs7O2dGQUtnRjtB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IkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0eWxlc2hlZXQgZm9yIGFsbCBicm93c2Vyc1xuXG4gICBOZXZlciBhZGQgc3R5bGVzIGRpcmVjdGx5IHRvIHRoaXMgZmlsZSAtIHNldCB1cCBpbXBvcnRzXG4gICBTdHlsZSBndWlkZTogaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvaWRpb21hdGljLWNzc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogQ29uZmlnXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQGltcG9ydCBcImNvbmZpZy9jb25maWdcIjtcblxuLyogSGVscGVyc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJoZWxwZXJzL2hlbHBlcnNcIjtcblxuLyogR2VuZXJhbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJnZW5lcmFsL2dlbmVyYWxcIjtcblxuLyogUGFnZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb21wb25lbnRzXCI7XG5cbi8qIFBhZ2VzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQGltcG9ydCBcInBhZ2VzL3BhZ2VzXCI7XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29uZmlnXG5cbiAgIFRoaXMgZmlsZSBpcyBleGNsdXNpdmVseSBpbnRlbmRlZCBmb3Igc2V0dGluZyB1cCBpbXBvcnRzXG4gICBOZXZlciBhZGQgc3R5bGVzIGRpcmVjdGx5IHRvIHRoaXMgZmlsZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogR2VuZXJhbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJnZW5lcmFsL3BhdGhzXCI7XG5AaW1wb3J0IFwiZ2VuZXJhbC9jb2xvcnNcIjtcbkBpbXBvcnQgXCJnZW5lcmFsL3NpemVzXCI7XG5AaW1wb3J0IFwiZ2VuZXJhbC96LWluZGV4XCI7XG5cbkBpbXBvcnQgXCJnZW5lcmFsL3R5cG9ncmFwaHkvZm9udHNcIjtcbkBpbXBvcnQgXCJnZW5lcmFsL3R5cG9ncmFwaHkvYm9keWNvcHlcIjtcblxuXG4vKiBWZW5kb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQGltcG9ydCBcInZlbmRvcnMvYm9vdHN0cmFwLXZhcnNcIjtcbkBpbXBvcnQgXCJ2ZW5kb3JzL2Jvb3RzdHJhcC1pbXBvcnRzXCI7XG5cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQYXRoc1xuXG4gICBUaGlzIGZpbGUgaXMgZXhjbHVzaXZlbHkgaW50ZW5kZWQgZm9yIHNldHRpbmcgdXAgdmFyaWFibGVzXG4gICBOZXZlciBhZGQgc3R5bGVzIGRpcmVjdGx5IHRvIHRoaXMgZmlsZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBHZW5lcmFsXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuJHJvb3Q6ICAgICAgICAgICAgICAgICAgXCIvZnJvbnRlbmRcIjtcblxuXG4vKiBJbWFnZSBmb2xkZXJzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuJGdlbmVyYWw6ICAgICAgICAgICAgICAgXCIjeyRyb290fS9pbWcvZ2VuZXJhbFwiO1xuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3JzXG5cbiAgIFRoaXMgZmlsZSBpcyBleGNsdXNpdmVseSBpbnRlbmRlZCBmb3Igc2V0dGluZyB1cCB2YXJpYWJsZXNcbiAgIE5ldmVyIGFkZCBzdHlsZXMgZGlyZWN0bHkgdG8gdGhpcyBmaWxlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBDb2xvcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4kYmxhY2s6ICAgICAgICAgICAgICAgICAjMDAwMDAwO1xuJGJsdWVncmV5OiBcdFx0XHRcdCMyMTM4NDI7XG4kZ3JleTogXHRcdFx0XHRcdCNBQ0I0Qjg7XG4kbGlnaHQtZ3JleTogXHRcdFx0I0YyRjJGMjtcbiR3aGl0ZTogICAgICAgICAgICAgICAgICNGRkZGRkY7XG5cbiRncmVlbjogXHRcdFx0XHQjMDA3RTdFO1xuJGJlaWdlOiBcdFx0XHRcdCNGM0U5RDI7XG5cbiRyZWQ6ICAgICAgICAgICAgICAgICAgICNGRjQ2MDA7XG5cblxuLyogQnJhbmQgY29sb3JzXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4kYnJhbmQtcHJpbWFyeTogICAgICAgICAkZ3JlZW47XG4kYnJhbmQtcHJpbWFyeS0tZGFyazogICBkYXJrZW4oJGJyYW5kLXByaW1hcnksIDE1JSk7XG4kYnJhbmQtcHJpbWFyeS10ZXh0dXJlZDogXHR1cmwoJy4uL2ltZy9nZW5lcmFsL2hlcm8tYmctZGFyay5qcGcnKTtcblxuJGJyYW5kLXNlY29uZGFyeTogXHRcdCRiZWlnZTtcbiRicmFuZC1zZWNvbmRhcnktdGV4dHVyZWQ6IFx0dXJsKCcuLi9pbWcvZ2VuZXJhbC9oZXJvLWJnLmpwZycpO1xuXG4kYnJhbmQtZGFuZ2VyOiAgICAgICAgICAkcmVkO1xuXG5cbi8qIFNwZWNpZmljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiR0ZXh0LWNvbG9yOiAgICAgICAgICAgICRibGFjaztcbiRoci1jb2xvcjogICAgICAgICAgICAgICRsaWdodC1ncmV5O1xuXG4kbGluay1jb2xvcjogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeTtcbiRsaW5rLWNvbG9yLS1ob3ZlcjogICAgICRsaW5rLWNvbG9yO1xuXG4kYnV0dG9uLWNvbG9yOiBcdFx0XHQkYnJhbmQtcHJpbWFyeTtcbiRidXR0b24tdGV4dC1jb2xvcjogXHQkd2hpdGU7XG5cbiRxdW90ZS1jb2xvcjogXHRcdFx0JGJsdWVncmV5O1xuXG5cbi8qIFNoYWRvd3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4kaW1nLXNoYWRvdzogXHRcdFx0MCAxM3B4IDE4cHggLThweCByZ2JhKDAsIDAsIDAsIC4xNSksIDAgMTFweCA1NXB4IDEwcHggcmdiYSgwLCAwLCAwLCAuMDcpO1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNpemVzXG5cbiAgIFRoaXMgZmlsZSBpcyBleGNsdXNpdmVseSBpbnRlbmRlZCBmb3Igc2V0dGluZyB1cCB2YXJpYWJsZXNcbiAgIE5ldmVyIGFkZCBzdHlsZXMgZGlyZWN0bHkgdG8gdGhpcyBmaWxlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuJGRlZmF1bHQtbWFyZ2luLS1tb2JpbGU6IDVyZW07XG4kZGVmYXVsdC1tYXJnaW46IDEwcmVtO1xuXG4kc2VjdGlvbi1wYWRkaW5nLS1tb2JpbGU6ICRkZWZhdWx0LW1hcmdpbi0tbW9iaWxlO1xuJHNlY3Rpb24tcGFkZGluZzogJGRlZmF1bHQtbWFyZ2luO1xuXG5cbi8qIEluZm8gJiBtYWluIGZvb3RlciBjb2x1bW5zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuJGluZm8tbWFpbi13aWR0aDogNTQuNXJlbTtcbiRmb290ZXItYXNpZGUtd2lkdGg6IDQzcmVtO1xuJGFzaWRlLW1hcmdpbjogNHJlbTtcblxuXG4vKiBMaW5rXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuJGFycm93LXNpemU6IDI4cHg7XG4kYXJyb3ctbWFyZ2luOiAxNXB4O1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFotaW5kZXhlc1xuXG4gICBUaGlzIGZpbGUgaXMgZXhjbHVzaXZlbHkgaW50ZW5kZWQgZm9yIHNldHRpbmcgdXAgdmFyaWFibGVzXG4gICBOZXZlciBhZGQgc3R5bGVzIGRpcmVjdGx5IHRvIHRoaXMgZmlsZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJHotY29va2llOiA1MDA7XG5cbiR6LW1haW4taGVhZGVyLWJhcjogMTA7XG4kei1tYWluLWhlYWRlcjogNTtcbiR6LWNvbnRlbnQ6IDQ7XG4kei1oZXJvLWRyb3BpbWFnZTogMztcbiR6LWhlcm8tY29udGVudDogMjtcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb250c1xuXG4gICBUaGlzIGZpbGUgaXMgZXhjbHVzaXZlbHkgaW50ZW5kZWQgZm9yIHNldHRpbmcgdXAgdmFyaWFibGVzXG4gICBOZXZlciBhZGQgc3R5bGVzIGRpcmVjdGx5IHRvIHRoaXMgZmlsZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogV2ViZm9udHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4kc2Fucy1zZXJpZjogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcblxuJGhlbHZldGljYS1uZXVlOiBcIkhlbHZldGljYSBOZXVlXCI7XG4kbW9udHNlcnJhdDogXCJNb250c2VycmF0XCI7XG5cbiRwcmltYXJ5LWZvbnQ6ICRtb250c2VycmF0LCAkc2Fucy1zZXJpZjtcblxuJGZvbnQtcmVndWxhcjogNDAwO1xuJGZvbnQtbWVkaXVtOiA1MDA7XG4kZm9udC1zZW1pYm9sZDogNjAwO1xuJGZvbnQtYm9sZDogNzAwO1xuXG5cbi8qIERlZmF1bHRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuJGZvbnQtZmFtaWx5LS1iYXNlOiAgICAgICAgICRwcmltYXJ5LWZvbnQ7XG4kZm9udC1mYW1pbHktLWhlYWRpbmdzOiAgICAgJHByaW1hcnktZm9udDtcbiRmb250LWZhbWlseS0tYnV0dG9uczogICAgICAkcHJpbWFyeS1mb250O1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJvZHljb3B5XG5cbiAgIFRoaXMgZmlsZSBpcyBleGNsdXNpdmVseSBpbnRlbmRlZCBmb3Igc2V0dGluZyB1cCB2YXJpYWJsZXNcbiAgIE5ldmVyIGFkZCBzdHlsZXMgZGlyZWN0bHkgdG8gdGhpcyBmaWxlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBMaW5lLWhlaWdodFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiRsaW5lLWhlaWdodC0tYmFzZTogICAgIDEuNztcblxuXG4vKiBGb250IHNpemVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuJGZvbnQtc2l6ZS0tYmFzZTogICAgICAgICAgICAgICA2Mi41JTtcbiRmb250LXNpemUtLWRlZmF1bHQtLW1vYmlsZTogICAgMS44cmVtO1xuJGZvbnQtc2l6ZS0tZGVmYXVsdDogICAgICAgICAgICAyLjFyZW07XG4kZm9udC1zaXplLS1iaWctLW1vYmlsZTogICAgICAgIDIuMXJlbTtcbiRmb250LXNpemUtLWJpZzogICAgICAgICAgICBcdDIuNHJlbTtcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCb29zdHJhcCBWYXJpYWJsZXNcblxuICAgVGhpcyBmaWxlIGlzIGV4Y2x1c2l2ZWx5IGludGVuZGVkIGZvciBzZXR0aW5nIHVwIHZhcmlhYmxlc1xuICAgTmV2ZXIgYWRkIHN0eWxlcyBkaXJlY3RseSB0byB0aGlzIGZpbGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogR3JpZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8vID09IE1lZGlhIHF1ZXJpZXMgYnJlYWtwb2ludHNcbi8vXG4vLyAjIyBEZWZpbmUgdGhlIGJyZWFrcG9pbnRzIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLCBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBFeHRyYSBzbWFsbCBzY3JlZW4gLyBwaG9uZVxuLy8gKiogRGVwcmVjYXRlZCBgJHNjcmVlbi14c2AgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXhzOiAgICAgICAgICAgICAgICAgIDQ4MHB4O1xuLy8gKiogRGVwcmVjYXRlZCBgJHNjcmVlbi14cy1taW5gIGFzIG9mIHYzLjIuMFxuJHNjcmVlbi14cy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLXhzO1xuLy8gKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1waG9uZWAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXBob25lOiAgICAgICAgICAgICAgICRzY3JlZW4teHMtbWluO1xuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbi8vICoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tc21gIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1zbTogICAgICAgICAgICAgICAgICA3NjhweDtcbiRzY3JlZW4tc20tbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1zbTtcbi8vICoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tdGFibGV0YCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tdGFibGV0OiAgICAgICAgICAgICAgJHNjcmVlbi1zbS1taW47XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXG4vLyAqKiBEZXByZWNhdGVkIGAkc2NyZWVuLW1kYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbWQ6ICAgICAgICAgICAgICAgICAgOTkycHg7XG4kc2NyZWVuLW1kLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tbWQ7XG4vLyAqKiBEZXByZWNhdGVkIGAkc2NyZWVuLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1kZXNrdG9wOiAgICAgICAgICAgICAkc2NyZWVuLW1kLW1pbjtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4vLyAqKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbGc6ICAgICAgICAgICAgICAgICAgMTIwMHB4O1xuJHNjcmVlbi1sZy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLWxnO1xuLy8gKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1sZy1kZXNrdG9wYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbGctZGVza3RvcDogICAgICAgICAgJHNjcmVlbi1sZy1taW47XG5cbi8vIFNvIG1lZGlhIHF1ZXJpZXMgZG9uJ3Qgb3ZlcmxhcCB3aGVuIHJlcXVpcmVkLCBwcm92aWRlIGEgbWF4aW11bVxuJHNjcmVlbi14cy1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1zbS1taW4gLSAxKTtcbiRzY3JlZW4tc20tbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tbWQtbWluIC0gMSk7XG4kc2NyZWVuLW1kLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLWxnLW1pbiAtIDEpO1xuXG5cbi8vID09IEdyaWQgc3lzdGVtXG4vL1xuLy8gIyMgRGVmaW5lIHlvdXIgY3VzdG9tIHJlc3BvbnNpdmUgZ3JpZC5cblxuLy8gKiogTnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgMTI7XG4vLyAqKiBQYWRkaW5nIGJldHdlZW4gY29sdW1ucy4gR2V0cyBkaXZpZGVkIGluIGhhbGYgZm9yIHRoZSBsZWZ0IGFuZCByaWdodC5cbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAzMHB4O1xuLy8gTmF2YmFyIGNvbGxhcHNlXG4vLyAqKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlY29tZXMgdW5jb2xsYXBzZWQuXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50OiAgICAgJHNjcmVlbi1zbS1taW47XG4vLyAqKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlZ2lucyBjb2xsYXBzaW5nLlxuJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXg6ICgkZ3JpZC1mbG9hdC1icmVha3BvaW50IC0gMSk7XG5cblxuLy8gPT0gQ29udGFpbmVyIHNpemVzXG4vL1xuLy8gIyMgRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4kY29udGFpbmVyLXRhYmxldDogICAgICAgICAgICAgKCg3MjBweCArICRncmlkLWd1dHRlci13aWR0aCkpO1xuLy8gKiogRm9yIGAkc2NyZWVuLXNtLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1zbTogICAgICAgICAgICAgICAgICRjb250YWluZXItdGFibGV0O1xuXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxuJGNvbnRhaW5lci1kZXNrdG9wOiAgICAgICAgICAgICgoOTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpKTtcbi8vICoqIEZvciBgJHNjcmVlbi1tZC1taW5gIGFuZCB1cC5cbiRjb250YWluZXItbWQ6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWRlc2t0b3A7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wOiAgICAgICgoMTE0MHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSk7XG4vLyAqKiBGb3IgYCRzY3JlZW4tbGctbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLWxnOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wO1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEltcG9ydHMgZm9yIEJvb3RzdHJhcFxuXG4gICBUaGlzIGZpbGUgaXMgZXhjbHVzaXZlbHkgaW50ZW5kZWQgZm9yIHNldHRpbmcgdXAgaW1wb3J0c1xuICAgTmV2ZXIgYWRkIHN0eWxlcyBkaXJlY3RseSB0byB0aGlzIGZpbGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFZhcnMgYW5kIG1peGluc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnNcIjtcblxuXG4vKiBSZXNldCBhbmQgZGVwZW5kZW5jaWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL25vcm1hbGl6ZVwiO1xuLy8gQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL3ByaW50XCI7XG4vLyBAaW1wb3J0IFwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvZ2x5cGhpY29uc1wiO1xuXG5cbi8qIENvcmUgQ1NTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLy8gQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL3NjYWZmb2xkaW5nXCI7XG4vLyBAaW1wb3J0IFwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvdHlwZVwiO1xuLy8gQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL2NvZGVcIjtcbkBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9ncmlkXCI7XG4vLyBAaW1wb3J0IFwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvdGFibGVzXCI7XG4vLyBAaW1wb3J0IFwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvZm9ybXNcIjtcbi8vIEBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9idXR0b25zXCI7XG5cblxuLyogQ29tcG9uZW50c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8vIEBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9jb21wb25lbnQtYW5pbWF0aW9uc1wiO1xuLy8gQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL2Ryb3Bkb3duc1wiO1xuLy8gQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL2J1dHRvbi1ncm91cHNcIjtcbi8vIEBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9pbnB1dC1ncm91cHNcIjtcbi8vIEBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9uYXZzXCI7XG4vLyBAaW1wb3J0IFwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbmF2YmFyXCI7XG4vLyBAaW1wb3J0IFwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvYnJlYWRjcnVtYnNcIjtcbi8vIEBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9wYWdpbmF0aW9uXCI7XG4vLyBAaW1wb3J0IFwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvcGFnZXJcIjtcbi8vIEBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9sYWJlbHNcIjtcbi8vIEBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9iYWRnZXNcIjtcbi8vIEBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9qdW1ib3Ryb25cIjtcbi8vIEBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC90aHVtYm5haWxzXCI7XG4vLyBAaW1wb3J0IFwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvYWxlcnRzXCI7XG4vLyBAaW1wb3J0IFwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvcHJvZ3Jlc3MtYmFyc1wiO1xuLy8gQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21lZGlhXCI7XG4vLyBAaW1wb3J0IFwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbGlzdC1ncm91cFwiO1xuLy8gQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL3BhbmVsc1wiO1xuLy8gQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL3Jlc3BvbnNpdmUtZW1iZWRcIjtcbi8vIEBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC93ZWxsc1wiO1xuLy8gQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL2Nsb3NlXCI7XG5cblxuLyogQ29tcG9uZW50cyAvdyBqYXZhc2NyaXB0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLy8gQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21vZGFsc1wiO1xuLy8gQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL3Rvb2x0aXBcIjtcbi8vIEBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9wb3BvdmVyc1wiO1xuLy8gQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL2Nhcm91c2VsXCI7XG5cblxuLyogVXRpbGl0eSBjbGFzc2VzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL3V0aWxpdGllc1wiO1xuQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL3Jlc3BvbnNpdmUtdXRpbGl0aWVzXCI7XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8vXG4vLyAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuLy8gMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcbi8vICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbi8vXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLy8gMVxuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbn1cblxuLy9cbi8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbi8vXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8vIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbi8vIGFuZCBGaXJlZm94LlxuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbi8vXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbi8vIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbi8vXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gMVxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8vIDJcbn1cblxuLy9cbi8vIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4vLyBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuLy9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuLy8gSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuLy9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIExpbmtzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4vL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8vXG4vLyBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4vLyBhY3RpdmUvaG92ZXIgc3RhdGUuXG4vL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBUZXh0LWxldmVsIHNlbWFudGljc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctIGFuZCBGaXJlZm94IDM5LS5cbi8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4vL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8vIDFcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG59XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4vL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4vLyBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbi8vXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8vIEVtYmVkZGVkIGNvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbi8vXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuLy9cbi8vIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuLy9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBHcm91cGluZyBjb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4vL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vL1xuLy8gQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuLy9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vL1xuLy8gQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy9cbi8vIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLy8gRm9ybXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuLy8gc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuLy9cblxuLy9cbi8vIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbi8vICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuLy8gMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbi8vIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDFcbiAgZm9udDogaW5oZXJpdDsgLy8gMlxuICBtYXJnaW46IDA7IC8vIDNcbn1cblxuLy9cbi8vIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuLy9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4vLyBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuLy8gQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbi8vIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbi8vXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vL1xuLy8gMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2Bcbi8vICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuLy8gMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuLy8gMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbi8vICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbi8vXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG4gIGN1cnNvcjogcG9pbnRlcjsgLy8gM1xufVxuXG4vL1xuLy8gUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbi8vXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy9cbi8vIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbi8vXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuLy8gdGhlIFVBIHN0eWxlc2hlZXQuXG4vL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8vXG4vLyBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4vLyBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuLy9cbi8vIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4vLyAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuLy9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG59XG5cbi8vXG4vLyBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuLy8gYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbi8vIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbi8vXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vL1xuLy8gMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4vLyAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuLy9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLzJcbn1cblxuLy9cbi8vIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuLy8gU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuLy8gcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuLy9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4vL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbi8vIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbi8vXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuLy9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy9cbi8vIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbi8vIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuLy9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLy8gVGFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuLy9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3R5bGVzaGVldCBmb3IgYWxsIGJyb3dzZXJzXG5cbiAgIE5ldmVyIGFkZCBzdHlsZXMgZGlyZWN0bHkgdG8gdGhpcyBmaWxlIC0gc2V0IHVwIGltcG9ydHNcbiAgIFN0eWxlIGd1aWRlOiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9pZGlvbWF0aWMtY3NzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQ29uZmlnXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbmZpZ1xuXG4gICBUaGlzIGZpbGUgaXMgZXhjbHVzaXZlbHkgaW50ZW5kZWQgZm9yIHNldHRpbmcgdXAgaW1wb3J0c1xuICAgTmV2ZXIgYWRkIHN0eWxlcyBkaXJlY3RseSB0byB0aGlzIGZpbGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBHZW5lcmFsXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBhdGhzXG5cbiAgIFRoaXMgZmlsZSBpcyBleGNsdXNpdmVseSBpbnRlbmRlZCBmb3Igc2V0dGluZyB1cCB2YXJpYWJsZXNcbiAgIE5ldmVyIGFkZCBzdHlsZXMgZGlyZWN0bHkgdG8gdGhpcyBmaWxlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogR2VuZXJhbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEltYWdlIGZvbGRlcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3JzXG5cbiAgIFRoaXMgZmlsZSBpcyBleGNsdXNpdmVseSBpbnRlbmRlZCBmb3Igc2V0dGluZyB1cCB2YXJpYWJsZXNcbiAgIE5ldmVyIGFkZCBzdHlsZXMgZGlyZWN0bHkgdG8gdGhpcyBmaWxlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQ29sb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQnJhbmQgY29sb3JzXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBTcGVjaWZpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBTaGFkb3dzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNpemVzXG5cbiAgIFRoaXMgZmlsZSBpcyBleGNsdXNpdmVseSBpbnRlbmRlZCBmb3Igc2V0dGluZyB1cCB2YXJpYWJsZXNcbiAgIE5ldmVyIGFkZCBzdHlsZXMgZGlyZWN0bHkgdG8gdGhpcyBmaWxlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogSW5mbyAmIG1haW4gZm9vdGVyIGNvbHVtbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBMaW5rXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFotaW5kZXhlc1xuXG4gICBUaGlzIGZpbGUgaXMgZXhjbHVzaXZlbHkgaW50ZW5kZWQgZm9yIHNldHRpbmcgdXAgdmFyaWFibGVzXG4gICBOZXZlciBhZGQgc3R5bGVzIGRpcmVjdGx5IHRvIHRoaXMgZmlsZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb250c1xuXG4gICBUaGlzIGZpbGUgaXMgZXhjbHVzaXZlbHkgaW50ZW5kZWQgZm9yIHNldHRpbmcgdXAgdmFyaWFibGVzXG4gICBOZXZlciBhZGQgc3R5bGVzIGRpcmVjdGx5IHRvIHRoaXMgZmlsZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFdlYmZvbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRGVmYXVsdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQm9keWNvcHlcblxuICAgVGhpcyBmaWxlIGlzIGV4Y2x1c2l2ZWx5IGludGVuZGVkIGZvciBzZXR0aW5nIHVwIHZhcmlhYmxlc1xuICAgTmV2ZXIgYWRkIHN0eWxlcyBkaXJlY3RseSB0byB0aGlzIGZpbGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBMaW5lLWhlaWdodFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEZvbnQgc2l6ZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBWZW5kb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJvb3N0cmFwIFZhcmlhYmxlc1xuXG4gICBUaGlzIGZpbGUgaXMgZXhjbHVzaXZlbHkgaW50ZW5kZWQgZm9yIHNldHRpbmcgdXAgdmFyaWFibGVzXG4gICBOZXZlciBhZGQgc3R5bGVzIGRpcmVjdGx5IHRvIHRoaXMgZmlsZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEdyaWRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSW1wb3J0cyBmb3IgQm9vdHN0cmFwXG5cbiAgIFRoaXMgZmlsZSBpcyBleGNsdXNpdmVseSBpbnRlbmRlZCBmb3Igc2V0dGluZyB1cCBpbXBvcnRzXG4gICBOZXZlciBhZGQgc3R5bGVzIGRpcmVjdGx5IHRvIHRoaXMgZmlsZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFZhcnMgYW5kIG1peGluc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFJlc2V0IGFuZCBkZXBlbmRlbmNpZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7IH1cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyB9XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5pbWcge1xuICBib3JkZXI6IDA7IH1cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udDogaW5oZXJpdDtcbiAgbWFyZ2luOiAwOyB9XG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDsgfVxuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDsgfVxuXG4vKiBDb3JlIENTU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLmNvbnRhaW5lcjpiZWZvcmUsIC5jb250YWluZXI6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6IFwiIFwiOyB9XG4gIC5jb250YWluZXI6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb250YWluZXIge1xuICAgICAgd2lkdGg6IDc1MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogOTcwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTE3MHB4OyB9IH1cblxuLmNvbnRhaW5lci1mbHVpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAuY29udGFpbmVyLWZsdWlkOmJlZm9yZSwgLmNvbnRhaW5lci1mbHVpZDphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogXCIgXCI7IH1cbiAgLmNvbnRhaW5lci1mbHVpZDphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnJvdyB7XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDsgfVxuICAucm93OmJlZm9yZSwgLnJvdzphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogXCIgXCI7IH1cbiAgLnJvdzphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnJvdy1uby1ndXR0ZXJzIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAucm93LW5vLWd1dHRlcnMgW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5jb2wteHMtMSwgLmNvbC1zbS0xLCAuY29sLW1kLTEsIC5jb2wtbGctMSwgLmNvbC14cy0yLCAuY29sLXNtLTIsIC5jb2wtbWQtMiwgLmNvbC1sZy0yLCAuY29sLXhzLTMsIC5jb2wtc20tMywgLmNvbC1tZC0zLCAuY29sLWxnLTMsIC5jb2wteHMtNCwgLmNvbC1zbS00LCAuY29sLW1kLTQsIC5jb2wtbGctNCwgLmNvbC14cy01LCAuY29sLXNtLTUsIC5jb2wtbWQtNSwgLmNvbC1sZy01LCAuY29sLXhzLTYsIC5jb2wtc20tNiwgLmNvbC1tZC02LCAuY29sLWxnLTYsIC5jb2wteHMtNywgLmNvbC1zbS03LCAuY29sLW1kLTcsIC5jb2wtbGctNywgLmNvbC14cy04LCAuY29sLXNtLTgsIC5jb2wtbWQtOCwgLmNvbC1sZy04LCAuY29sLXhzLTksIC5jb2wtc20tOSwgLmNvbC1tZC05LCAuY29sLWxnLTksIC5jb2wteHMtMTAsIC5jb2wtc20tMTAsIC5jb2wtbWQtMTAsIC5jb2wtbGctMTAsIC5jb2wteHMtMTEsIC5jb2wtc20tMTEsIC5jb2wtbWQtMTEsIC5jb2wtbGctMTEsIC5jb2wteHMtMTIsIC5jb2wtc20tMTIsIC5jb2wtbWQtMTIsIC5jb2wtbGctMTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG5cbi5jb2wteHMtMSwgLmNvbC14cy0yLCAuY29sLXhzLTMsIC5jb2wteHMtNCwgLmNvbC14cy01LCAuY29sLXhzLTYsIC5jb2wteHMtNywgLmNvbC14cy04LCAuY29sLXhzLTksIC5jb2wteHMtMTAsIC5jb2wteHMtMTEsIC5jb2wteHMtMTIge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uY29sLXhzLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLmNvbC14cy0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uY29sLXhzLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5jb2wteHMtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmNvbC14cy01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uY29sLXhzLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5jb2wteHMtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmNvbC14cy04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uY29sLXhzLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5jb2wteHMtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5jb2wteHMtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5jb2wteHMtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY29sLXhzLXB1bGwtMCB7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5jb2wteHMtcHVsbC0xIHtcbiAgcmlnaHQ6IDguMzMzMzMlOyB9XG5cbi5jb2wteHMtcHVsbC0yIHtcbiAgcmlnaHQ6IDE2LjY2NjY3JTsgfVxuXG4uY29sLXhzLXB1bGwtMyB7XG4gIHJpZ2h0OiAyNSU7IH1cblxuLmNvbC14cy1wdWxsLTQge1xuICByaWdodDogMzMuMzMzMzMlOyB9XG5cbi5jb2wteHMtcHVsbC01IHtcbiAgcmlnaHQ6IDQxLjY2NjY3JTsgfVxuXG4uY29sLXhzLXB1bGwtNiB7XG4gIHJpZ2h0OiA1MCU7IH1cblxuLmNvbC14cy1wdWxsLTcge1xuICByaWdodDogNTguMzMzMzMlOyB9XG5cbi5jb2wteHMtcHVsbC04IHtcbiAgcmlnaHQ6IDY2LjY2NjY3JTsgfVxuXG4uY29sLXhzLXB1bGwtOSB7XG4gIHJpZ2h0OiA3NSU7IH1cblxuLmNvbC14cy1wdWxsLTEwIHtcbiAgcmlnaHQ6IDgzLjMzMzMzJTsgfVxuXG4uY29sLXhzLXB1bGwtMTEge1xuICByaWdodDogOTEuNjY2NjclOyB9XG5cbi5jb2wteHMtcHVsbC0xMiB7XG4gIHJpZ2h0OiAxMDAlOyB9XG5cbi5jb2wteHMtcHVzaC0wIHtcbiAgbGVmdDogYXV0bzsgfVxuXG4uY29sLXhzLXB1c2gtMSB7XG4gIGxlZnQ6IDguMzMzMzMlOyB9XG5cbi5jb2wteHMtcHVzaC0yIHtcbiAgbGVmdDogMTYuNjY2NjclOyB9XG5cbi5jb2wteHMtcHVzaC0zIHtcbiAgbGVmdDogMjUlOyB9XG5cbi5jb2wteHMtcHVzaC00IHtcbiAgbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5jb2wteHMtcHVzaC01IHtcbiAgbGVmdDogNDEuNjY2NjclOyB9XG5cbi5jb2wteHMtcHVzaC02IHtcbiAgbGVmdDogNTAlOyB9XG5cbi5jb2wteHMtcHVzaC03IHtcbiAgbGVmdDogNTguMzMzMzMlOyB9XG5cbi5jb2wteHMtcHVzaC04IHtcbiAgbGVmdDogNjYuNjY2NjclOyB9XG5cbi5jb2wteHMtcHVzaC05IHtcbiAgbGVmdDogNzUlOyB9XG5cbi5jb2wteHMtcHVzaC0xMCB7XG4gIGxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uY29sLXhzLXB1c2gtMTEge1xuICBsZWZ0OiA5MS42NjY2NyU7IH1cblxuLmNvbC14cy1wdXNoLTEyIHtcbiAgbGVmdDogMTAwJTsgfVxuXG4uY29sLXhzLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5jb2wteHMtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLmNvbC14cy1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLmNvbC14cy1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLmNvbC14cy1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLmNvbC14cy1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLmNvbC14cy1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLmNvbC14cy1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLmNvbC14cy1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLmNvbC14cy1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLmNvbC14cy1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5jb2wteHMtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uY29sLXhzLW9mZnNldC0xMiB7XG4gIG1hcmdpbi1sZWZ0OiAxMDAlOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29sLXNtLTEsIC5jb2wtc20tMiwgLmNvbC1zbS0zLCAuY29sLXNtLTQsIC5jb2wtc20tNSwgLmNvbC1zbS02LCAuY29sLXNtLTcsIC5jb2wtc20tOCwgLmNvbC1zbS05LCAuY29sLXNtLTEwLCAuY29sLXNtLTExLCAuY29sLXNtLTEyIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAuY29sLXNtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuY29sLXNtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmNvbC1zbS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5jb2wtc20tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuY29sLXNtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmNvbC1zbS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5jb2wtc20tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuY29sLXNtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmNvbC1zbS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5jb2wtc20tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmNvbC1zbS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuY29sLXNtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY29sLXNtLXB1bGwtMCB7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLmNvbC1zbS1wdWxsLTEge1xuICAgIHJpZ2h0OiA4LjMzMzMzJTsgfVxuICAuY29sLXNtLXB1bGwtMiB7XG4gICAgcmlnaHQ6IDE2LjY2NjY3JTsgfVxuICAuY29sLXNtLXB1bGwtMyB7XG4gICAgcmlnaHQ6IDI1JTsgfVxuICAuY29sLXNtLXB1bGwtNCB7XG4gICAgcmlnaHQ6IDMzLjMzMzMzJTsgfVxuICAuY29sLXNtLXB1bGwtNSB7XG4gICAgcmlnaHQ6IDQxLjY2NjY3JTsgfVxuICAuY29sLXNtLXB1bGwtNiB7XG4gICAgcmlnaHQ6IDUwJTsgfVxuICAuY29sLXNtLXB1bGwtNyB7XG4gICAgcmlnaHQ6IDU4LjMzMzMzJTsgfVxuICAuY29sLXNtLXB1bGwtOCB7XG4gICAgcmlnaHQ6IDY2LjY2NjY3JTsgfVxuICAuY29sLXNtLXB1bGwtOSB7XG4gICAgcmlnaHQ6IDc1JTsgfVxuICAuY29sLXNtLXB1bGwtMTAge1xuICAgIHJpZ2h0OiA4My4zMzMzMyU7IH1cbiAgLmNvbC1zbS1wdWxsLTExIHtcbiAgICByaWdodDogOTEuNjY2NjclOyB9XG4gIC5jb2wtc20tcHVsbC0xMiB7XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLmNvbC1zbS1wdXNoLTAge1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmNvbC1zbS1wdXNoLTEge1xuICAgIGxlZnQ6IDguMzMzMzMlOyB9XG4gIC5jb2wtc20tcHVzaC0yIHtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmNvbC1zbS1wdXNoLTMge1xuICAgIGxlZnQ6IDI1JTsgfVxuICAuY29sLXNtLXB1c2gtNCB7XG4gICAgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5jb2wtc20tcHVzaC01IHtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmNvbC1zbS1wdXNoLTYge1xuICAgIGxlZnQ6IDUwJTsgfVxuICAuY29sLXNtLXB1c2gtNyB7XG4gICAgbGVmdDogNTguMzMzMzMlOyB9XG4gIC5jb2wtc20tcHVzaC04IHtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmNvbC1zbS1wdXNoLTkge1xuICAgIGxlZnQ6IDc1JTsgfVxuICAuY29sLXNtLXB1c2gtMTAge1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuY29sLXNtLXB1c2gtMTEge1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuY29sLXNtLXB1c2gtMTIge1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmNvbC1zbS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5jb2wtc20tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuY29sLXNtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5jb2wtc20tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmNvbC1zbS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuY29sLXNtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5jb2wtc20tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmNvbC1zbS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuY29sLXNtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5jb2wtc20tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmNvbC1zbS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmNvbC1zbS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmNvbC1zbS1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMDAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb2wtbWQtMSwgLmNvbC1tZC0yLCAuY29sLW1kLTMsIC5jb2wtbWQtNCwgLmNvbC1tZC01LCAuY29sLW1kLTYsIC5jb2wtbWQtNywgLmNvbC1tZC04LCAuY29sLW1kLTksIC5jb2wtbWQtMTAsIC5jb2wtbWQtMTEsIC5jb2wtbWQtMTIge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5jb2wtbWQtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5jb2wtbWQtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuY29sLW1kLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmNvbC1tZC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5jb2wtbWQtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuY29sLW1kLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmNvbC1tZC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5jb2wtbWQtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuY29sLW1kLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmNvbC1tZC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuY29sLW1kLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5jb2wtbWQtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jb2wtbWQtcHVsbC0wIHtcbiAgICByaWdodDogYXV0bzsgfVxuICAuY29sLW1kLXB1bGwtMSB7XG4gICAgcmlnaHQ6IDguMzMzMzMlOyB9XG4gIC5jb2wtbWQtcHVsbC0yIHtcbiAgICByaWdodDogMTYuNjY2NjclOyB9XG4gIC5jb2wtbWQtcHVsbC0zIHtcbiAgICByaWdodDogMjUlOyB9XG4gIC5jb2wtbWQtcHVsbC00IHtcbiAgICByaWdodDogMzMuMzMzMzMlOyB9XG4gIC5jb2wtbWQtcHVsbC01IHtcbiAgICByaWdodDogNDEuNjY2NjclOyB9XG4gIC5jb2wtbWQtcHVsbC02IHtcbiAgICByaWdodDogNTAlOyB9XG4gIC5jb2wtbWQtcHVsbC03IHtcbiAgICByaWdodDogNTguMzMzMzMlOyB9XG4gIC5jb2wtbWQtcHVsbC04IHtcbiAgICByaWdodDogNjYuNjY2NjclOyB9XG4gIC5jb2wtbWQtcHVsbC05IHtcbiAgICByaWdodDogNzUlOyB9XG4gIC5jb2wtbWQtcHVsbC0xMCB7XG4gICAgcmlnaHQ6IDgzLjMzMzMzJTsgfVxuICAuY29sLW1kLXB1bGwtMTEge1xuICAgIHJpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLmNvbC1tZC1wdWxsLTEyIHtcbiAgICByaWdodDogMTAwJTsgfVxuICAuY29sLW1kLXB1c2gtMCB7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuY29sLW1kLXB1c2gtMSB7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLmNvbC1tZC1wdXNoLTIge1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuY29sLW1kLXB1c2gtMyB7XG4gICAgbGVmdDogMjUlOyB9XG4gIC5jb2wtbWQtcHVzaC00IHtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmNvbC1tZC1wdXNoLTUge1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuY29sLW1kLXB1c2gtNiB7XG4gICAgbGVmdDogNTAlOyB9XG4gIC5jb2wtbWQtcHVzaC03IHtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmNvbC1tZC1wdXNoLTgge1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuY29sLW1kLXB1c2gtOSB7XG4gICAgbGVmdDogNzUlOyB9XG4gIC5jb2wtbWQtcHVzaC0xMCB7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5jb2wtbWQtcHVzaC0xMSB7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5jb2wtbWQtcHVzaC0xMiB7XG4gICAgbGVmdDogMTAwJTsgfVxuICAuY29sLW1kLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmNvbC1tZC1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5jb2wtbWQtb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmNvbC1tZC1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuY29sLW1kLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5jb2wtbWQtb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmNvbC1tZC1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuY29sLW1kLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5jb2wtbWQtb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmNvbC1tZC1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuY29sLW1kLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuY29sLW1kLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuY29sLW1kLW9mZnNldC0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jb2wtbGctMSwgLmNvbC1sZy0yLCAuY29sLWxnLTMsIC5jb2wtbGctNCwgLmNvbC1sZy01LCAuY29sLWxnLTYsIC5jb2wtbGctNywgLmNvbC1sZy04LCAuY29sLWxnLTksIC5jb2wtbGctMTAsIC5jb2wtbGctMTEsIC5jb2wtbGctMTIge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5jb2wtbGctMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5jb2wtbGctMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuY29sLWxnLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmNvbC1sZy00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5jb2wtbGctNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuY29sLWxnLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmNvbC1sZy03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5jb2wtbGctOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuY29sLWxnLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmNvbC1sZy0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuY29sLWxnLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5jb2wtbGctMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jb2wtbGctcHVsbC0wIHtcbiAgICByaWdodDogYXV0bzsgfVxuICAuY29sLWxnLXB1bGwtMSB7XG4gICAgcmlnaHQ6IDguMzMzMzMlOyB9XG4gIC5jb2wtbGctcHVsbC0yIHtcbiAgICByaWdodDogMTYuNjY2NjclOyB9XG4gIC5jb2wtbGctcHVsbC0zIHtcbiAgICByaWdodDogMjUlOyB9XG4gIC5jb2wtbGctcHVsbC00IHtcbiAgICByaWdodDogMzMuMzMzMzMlOyB9XG4gIC5jb2wtbGctcHVsbC01IHtcbiAgICByaWdodDogNDEuNjY2NjclOyB9XG4gIC5jb2wtbGctcHVsbC02IHtcbiAgICByaWdodDogNTAlOyB9XG4gIC5jb2wtbGctcHVsbC03IHtcbiAgICByaWdodDogNTguMzMzMzMlOyB9XG4gIC5jb2wtbGctcHVsbC04IHtcbiAgICByaWdodDogNjYuNjY2NjclOyB9XG4gIC5jb2wtbGctcHVsbC05IHtcbiAgICByaWdodDogNzUlOyB9XG4gIC5jb2wtbGctcHVsbC0xMCB7XG4gICAgcmlnaHQ6IDgzLjMzMzMzJTsgfVxuICAuY29sLWxnLXB1bGwtMTEge1xuICAgIHJpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLmNvbC1sZy1wdWxsLTEyIHtcbiAgICByaWdodDogMTAwJTsgfVxuICAuY29sLWxnLXB1c2gtMCB7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuY29sLWxnLXB1c2gtMSB7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLmNvbC1sZy1wdXNoLTIge1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuY29sLWxnLXB1c2gtMyB7XG4gICAgbGVmdDogMjUlOyB9XG4gIC5jb2wtbGctcHVzaC00IHtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmNvbC1sZy1wdXNoLTUge1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuY29sLWxnLXB1c2gtNiB7XG4gICAgbGVmdDogNTAlOyB9XG4gIC5jb2wtbGctcHVzaC03IHtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmNvbC1sZy1wdXNoLTgge1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuY29sLWxnLXB1c2gtOSB7XG4gICAgbGVmdDogNzUlOyB9XG4gIC5jb2wtbGctcHVzaC0xMCB7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5jb2wtbGctcHVzaC0xMSB7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5jb2wtbGctcHVzaC0xMiB7XG4gICAgbGVmdDogMTAwJTsgfVxuICAuY29sLWxnLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmNvbC1sZy1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5jb2wtbGctb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmNvbC1sZy1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuY29sLWxnLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5jb2wtbGctb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmNvbC1sZy1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuY29sLWxnLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5jb2wtbGctb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmNvbC1sZy1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuY29sLWxnLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuY29sLWxnLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuY29sLWxnLW9mZnNldC0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwMCU7IH0gfVxuXG4vKiBDb21wb25lbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQ29tcG9uZW50cyAvdyBqYXZhc2NyaXB0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogVXRpbGl0eSBjbGFzc2VzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmNsZWFyZml4OmJlZm9yZSwgLmNsZWFyZml4OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiOyB9XG5cbi5jbGVhcmZpeDphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5jZW50ZXItYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4ucHVsbC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5wdWxsLWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5zaG93IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi50ZXh0LWhpZGUge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDsgfVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5hZmZpeCB7XG4gIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG5ALW1zLXZpZXdwb3J0IHtcbiAgd2lkdGg6IGRldmljZS13aWR0aDsgfVxuXG4udmlzaWJsZS14cyB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udmlzaWJsZS1zbSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udmlzaWJsZS1tZCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udmlzaWJsZS1sZyB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udmlzaWJsZS14cy1ibG9jayxcbi52aXNpYmxlLXhzLWlubGluZSxcbi52aXNpYmxlLXhzLWlubGluZS1ibG9jayxcbi52aXNpYmxlLXNtLWJsb2NrLFxuLnZpc2libGUtc20taW5saW5lLFxuLnZpc2libGUtc20taW5saW5lLWJsb2NrLFxuLnZpc2libGUtbWQtYmxvY2ssXG4udmlzaWJsZS1tZC1pbmxpbmUsXG4udmlzaWJsZS1tZC1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1sZy1ibG9jayxcbi52aXNpYmxlLWxnLWlubGluZSxcbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnZpc2libGUteHMge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUudmlzaWJsZS14cyB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0ci52aXNpYmxlLXhzIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0aC52aXNpYmxlLXhzLFxuICB0ZC52aXNpYmxlLXhzIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnZpc2libGUteHMtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnZpc2libGUteHMtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudmlzaWJsZS14cy1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnZpc2libGUtc20ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUudmlzaWJsZS1zbSB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0ci52aXNpYmxlLXNtIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0aC52aXNpYmxlLXNtLFxuICB0ZC52aXNpYmxlLXNtIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudmlzaWJsZS1zbS1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC52aXNpYmxlLXNtLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudmlzaWJsZS1zbS1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC52aXNpYmxlLW1kIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnZpc2libGUtbWQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdHIudmlzaWJsZS1tZCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgudmlzaWJsZS1tZCxcbiAgdGQudmlzaWJsZS1tZCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC52aXNpYmxlLW1kLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC52aXNpYmxlLW1kLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLnZpc2libGUtbWQtaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnZpc2libGUtbGcge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUudmlzaWJsZS1sZyB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0ci52aXNpYmxlLWxnIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0aC52aXNpYmxlLWxnLFxuICB0ZC52aXNpYmxlLWxnIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC52aXNpYmxlLWxnLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudmlzaWJsZS1sZy1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudmlzaWJsZS1sZy1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4teHMge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5oaWRkZW4tc20ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oaWRkZW4tbGcge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi52aXNpYmxlLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gIC52aXNpYmxlLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnZpc2libGUtcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdHIudmlzaWJsZS1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgudmlzaWJsZS1wcmludCxcbiAgdGQudmlzaWJsZS1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9IH1cblxuLnZpc2libGUtcHJpbnQtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHByaW50IHtcbiAgICAudmlzaWJsZS1wcmludC1ibG9jayB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLnZpc2libGUtcHJpbnQtaW5saW5lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgLnZpc2libGUtcHJpbnQtaW5saW5lIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9IH1cblxuLnZpc2libGUtcHJpbnQtaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgLnZpc2libGUtcHJpbnQtaW5saW5lLWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLmhpZGRlbi1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLyogSGVscGVyc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWxwZXJzXG5cbiAgIE5ldmVyIGFkZCBzdHlsZXMgZGlyZWN0bHkgdG8gdGhpcyBmaWxlIC0gc2V0IHVwIGltcG9ydHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBQbGFjZWhvbGRlcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBNaXhpbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVscGVycyAtIE1peGluc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFJlc2V0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFRleHRsaW5rIGhvdmVyXG4gICBsaW5rcy5zY3NzXG4gICBleWUtY2F0Y2hlci1wcC5zY3NzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogSW1hZ2UgaW5zaWRlIGxpbmsgdHJhbnNpdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEdlbmVyYWxcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgR2VuZXJhbFxuXG4gICBUaGlzIGZpbGUgaXMgZXhjbHVzaXZlbHkgaW50ZW5kZWQgZm9yIHNldHRpbmcgdXAgaW1wb3J0c1xuICAgTmV2ZXIgYWRkIHN0eWxlcyBkaXJlY3RseSB0byB0aGlzIGZpbGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBCb3ggbW9kZWxcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi8qIEh0bWwgJiBib2R5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaHRtbCB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyB9XG5cbi53cmFwcGVyIHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZS1pbi1vdXQgLjJzLCB0cmFuc2Zvcm0gLjZzIGVhc2UtaW4tb3V0OyB9XG5cbi5mYWRlbG9hZCB7XG4gIG9wYWNpdHk6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLmZhZGVsb2FkIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5tYWluIHNlY3Rpb246bnRoLWNoaWxkKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJGMkYyOyB9XG5cbm1haW4gc2VjdGlvbjpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOyB9XG5cbm1haW4gLmlubmVyLXNlY3Rpb24ge1xuICBwYWRkaW5nOiA1cmVtIDA7IH1cbiAgbWFpbiAuaW5uZXItc2VjdGlvbjplbXB0eSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiAjRkY0NjAwOyB9XG4gIG1haW4gLmlubmVyLXNlY3Rpb24gPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgbWFpbiAuaW5uZXItc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIG1haW4gLmlubmVyLXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMTByZW0gMDsgfSB9XG5cbi8qIENvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNDtcbiAgcGFkZGluZy1ib3R0b206IDVyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmNvbnRlbnQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcmVtOyB9IH1cblxuLyogQ29udGFpbmVyc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA5NTBweDtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogOTkwcHg7XG4gICAgICBwYWRkaW5nOiAwIDM1cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTE4MHB4KSB7XG4gIC5jb250YWluZXItLXdpZGUge1xuICAgIG1heC13aWR0aDogMTE4MHB4OyB9IH1cblxuLyogSGVscGVyIGNsYXNzZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZm9yY2UtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLmZvcmNlLWNlbnRlciAqIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxuLyogVHlwb2dyYXBoeVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWFkaW5nc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFNoYXJlZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIG1hcmdpbjogM3JlbSAwO1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgaDEgKyBwLFxuICBoMSArIC50ZXh0LXBwIHAsXG4gIGgyICsgcCxcbiAgaDIgKyAudGV4dC1wcCBwLFxuICBoMyArIHAsXG4gIGgzICsgLnRleHQtcHAgcCxcbiAgaDQgKyBwLFxuICBoNCArIC50ZXh0LXBwIHAsXG4gIGg1ICsgcCxcbiAgaDUgKyAudGV4dC1wcCBwLFxuICBoNiArIHAsXG4gIGg2ICsgLnRleHQtcHAgcCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNiB7XG4gICAgICBtYXJnaW46IDVyZW0gMDsgfSB9XG5cbi8qIFNwZWNpZmljXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaDEge1xuICBmb250LXNpemU6IDRyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGgxIHtcbiAgICAgIG1hcmdpbjogNHJlbSAwO1xuICAgICAgZm9udC1zaXplOiA2cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgaDEge1xuICAgICAgbWFyZ2luOiA1cmVtIDA7XG4gICAgICBmb250LXNpemU6IDhyZW07IH0gfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMwMDdFN0U7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgaDIge1xuICAgICAgbWFyZ2luOiAxMHJlbSAwO1xuICAgICAgZm9udC1zaXplOiA1LjZyZW07IH0gfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBmb250LXdlaWdodDogNTAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIGgzIHtcbiAgICAgIG1hcmdpbjogNy41cmVtIDA7XG4gICAgICBmb250LXNpemU6IDRyZW07IH0gfVxuXG5oNCB7XG4gIG1heC13aWR0aDogNDVyZW07XG4gIGZvbnQtc2l6ZTogMi4xcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbmg1LFxuaDYge1xuICBmb250LXNpemU6IDIuMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQm9keSBDb3B5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogR2VuZXJhbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbioge1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgfVxuXG5odG1sIHtcbiAgZm9udC1zaXplOiA2Mi41JTsgfVxuXG5ib2R5IHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjc7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgYm9keSB7XG4gICAgICBmb250LXNpemU6IDIuMXJlbTsgfSB9XG5cbnAge1xuICBtYXJnaW46IDJyZW0gMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBwIHtcbiAgICAgIG1hcmdpbjogM3JlbSAwOyB9IH1cblxuLyogR2VuZXJhbCBNb2RpZmllcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGV4dC0tdXBwZXIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi50ZXh0LS1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLyogSW50cm8gdGV4dFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50ZXh0LS1pbnRybyB7XG4gIGZvbnQtc2l6ZTogMi4xcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLnRleHQtLWludHJvIHtcbiAgICAgIGZvbnQtc2l6ZTogMi40cmVtOyB9IH1cblxuLyogUGFnZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50c1xuXG4gICBOZXZlciBhZGQgc3R5bGVzIGRpcmVjdGx5IHRvIHRoaXMgZmlsZSAtIHNldCB1cCBpbXBvcnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQmxvY2tzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJsb2NrcyAtIEJ1dHRvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBHZW5lcmFsXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMS40cmVtIDJyZW07XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZDogIzAwN0U3RTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwN0U3RTtcbiAgYm9yZGVyLXJhZGl1czogNDNweDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLmJ0bjpob3ZlciwgLmJ0bjpmb2N1cywgLmJ0bjphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjMDA3RTdFO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuYnRuOmFjdGl2ZSwgLmJ0bjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnRuW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4ge1xuICAgIG9wYWNpdHk6IC42NTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCbG9ja3MgLSBIclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmhyIHtcbiAgbWFyZ2luOiA1cmVtIDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNBQ0I0Qjg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgaHIge1xuICAgICAgbWFyZ2luOiAxMHJlbSAwOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJsb2NrcyAtIEltYWdlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFNoYXJlZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmltZyB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuICBmaWd1cmUgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmxvY2tzIC0gTGlzdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBSZXNldFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50ZXh0LXBwIHVsIHtcbiAgbWFyZ2luOiAzcmVtIDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRleHQtcHAgdWwgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDAgMCAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC50ZXh0LXBwIHVsIGxpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICB0b3A6IDE2cHg7XG4gICAgICB3aWR0aDogM3B4O1xuICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gIC50ZXh0LXBwIHVsIHVsIHtcbiAgICBtYXJnaW46IDAgMCAwIDEwcHg7IH1cbiAgICAudGV4dC1wcCB1bCB1bCBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCbG9ja3MgLSBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFNoYXJlZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmEge1xuICBjb2xvcjogIzAwN0U3RTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZS1pbi1vdXQ7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDdFN0U7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogVGV4dGxpbmtcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGV4dGxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMCAwIDVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICAudGV4dGxpbms6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDsgfVxuICAudGV4dGxpbms6aG92ZXIsIC50ZXh0bGluazpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDdFN0U7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLnRleHRsaW5rOmhvdmVyOmFmdGVyLCAudGV4dGxpbms6Zm9jdXM6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN0U3RTsgfVxuICAgIC50ZXh0bGluazpob3ZlciA+IHN2ZzpmaXJzdC1jaGlsZCwgLnRleHRsaW5rOmZvY3VzID4gc3ZnOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnRleHRsaW5rOmhvdmVyID4gc3ZnOmxhc3QtY2hpbGQsIC50ZXh0bGluazpmb2N1cyA+IHN2ZzpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTQzcHg7IH1cbiAgICAudGV4dGxpbms6aG92ZXIgLnRleHRsaW5rX190ZXh0LCAudGV4dGxpbms6Zm9jdXMgLnRleHRsaW5rX190ZXh0IHtcbiAgICAgIGNvbG9yOiAjMDA3RTdFOyB9XG4gICAgLnRleHRsaW5rOmhvdmVyIC5saW5rLWFycm93LCAudGV4dGxpbms6Zm9jdXMgLmxpbmstYXJyb3cge1xuICAgICAgZmlsbDogIzAwN0U3RTsgfVxuICAudGV4dGxpbmsgc3ZnIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDsgfVxuICAudGV4dGxpbmsgPiBzdmc6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAtNDNweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgLnRleHRsaW5rID4gc3ZnOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG5cbi50ZXh0bGlua19fdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmxvY2tzIC0gUXVvdGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ibG9ja3F1b3RlIHtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5xdW90ZSB7XG4gIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjMDA3RTdFO1xuICBjb2xvcjogcmdiYSgzMywgNTYsIDY2LCAwLjYpOyB9XG4gIC5xdW90ZSBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAyLjVyZW07XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAucXVvdGUgZmlnY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgY29sb3I6IHJnYmEoMzMsIDU2LCA2NiwgMC4zNSk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnF1b3RlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNXJlbTsgfVxuICAgICAgLnF1b3RlIGJsb2NrcXVvdGUge1xuICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgZm9udC1zaXplOiAyLjRyZW07IH1cbiAgICAgIC5xdW90ZSBmaWdjYXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07IH0gfVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFN0cnVjdHVyZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29va2llIGNvbnNlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY29va2llLWJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA1MDA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgNTAsIDUwLCAwLjk1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCA1MCwgNTAsIDAuOTUpO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBhbmltYXRpb24tbmFtZTogY29va2llU2xpZGU7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tZHVyYXRpb246IC44czsgfVxuICAuY29va2llLWJhciAuY29va2llLWJhcl9fcG9saWN5IHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuY29va2llLWJhciAuY29va2llLWJhcl9fYnRuIHtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAuY29va2llLWJhciBwIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMCAyMHB4IDAgMDtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LXNpemU6IDFlbTsgfVxuICAgIC5jb29raWUtYmFyIHAgYSB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuY29va2llLWJhciB7XG4gICAgICBib3R0b206IDEwcHg7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4uY29va2llLWJhci0tdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuQGtleWZyYW1lcyBjb29raWVTbGlkZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlcm9cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uaGVybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTRyZW0gMCA2cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvZ2VuZXJhbC9oZXJvLWJnLmpwZ1wiKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5oZXJvOmJlZm9yZSB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvZ2VuZXJhbC9oZXJvLWdyYXBoaWMuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgY2FsYygxMDAlICsgMXB4KTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogNjAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAuaGVybzpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG87IH0gfVxuICAuaGVybyA+ICoge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5oZXJvIHtcbiAgICAgIHBhZGRpbmc6IDE4cmVtIDAgMTByZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLmhlcm9fX3RpdGxlLFxuLmhlcm9fX3RleHQge1xuICBtYXgtd2lkdGg6IDU0cmVtOyB9XG5cbi5oZXJvX190aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmhlcm9fX3RleHQge1xuICBtYXJnaW4tYm90dG9tOiA2cmVtO1xuICBmb250LXNpemU6IDIuMXJlbTsgfVxuICAuaGVyb19fdGV4dDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5oZXJvX190ZXh0IHA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmhlcm9fX3RleHQgcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5oZXJvX190ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMi40cmVtOyB9IH1cblxuLmhlcm9fX2JnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi8qIENvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uaGVyby0tY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiAxMnJlbTsgfVxuICAuaGVyby0tY29udGVudDpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmhlcm8tLWNvbnRlbnQgLmhlcm9fX3RpdGxlLFxuICAgIC5oZXJvLS1jb250ZW50IC5oZXJvX190ZXh0IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDNyZW0pOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmhlcm8tLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMThyZW0gMCAxMHJlbTsgfSB9XG5cbi5oZXJvX19pbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogNHJlbTsgfVxuICAuaGVyb19faW1nIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmhlcm9fX2ltZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5oZXJvX19pbWcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG5cbi8qIFZpc2lvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5oZXJvLS12aXNpb24ge1xuICBwYWRkaW5nLWJvdHRvbTogMTVyZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9nZW5lcmFsL2hlcm8tYmctZGFyay5qcGdcIik7IH1cbiAgLmhlcm8tLXZpc2lvbjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdFN0U7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2dlbmVyYWwvaGVyby1ncmFwaGljLnN2Z1wiKTtcbiAgICBvcGFjaXR5OiAuMTI7IH1cbiAgLmhlcm8tLXZpc2lvbiAuaGVyb19fdGl0bGUge1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5oZXJvLS12aXNpb24gLmhlcm9fX3RleHQge1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5oZXJvLS12aXNpb24ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDE4cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmhlcm8tLXZpc2lvbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjdyZW07IH0gfVxuXG4uaGVyby1kcm9waW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDM7XG4gIG1hcmdpbi10b3A6IC0xMHJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuaGVyby1kcm9waW1hZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogLTEzcmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmhlcm8tZHJvcGltYWdlIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xN3JlbTsgfSB9XG5cbi5oZXJvLWRyb3BpbWFnZV9faW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJveC1zaGFkb3c6IDAgMTNweCAxOHB4IC04cHggcmdiYSgwLCAwLCAwLCAwLjE1KSwgMCAxMXB4IDU1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMDcpOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdHJ1Y3R1cmVzIC0gSW5mb1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyRjJGMjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5pbmZvIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4uaW5mb19faW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uaW5mb19fYXNpZGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXg6IDE7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmluZm9fX2FzaWRlIHtcbiAgICAgIGZsZXg6IDE7IH0gfVxuXG4uaW5mb19fYXNpZGVfX2ltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDI1cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5pbmZvX19hc2lkZV9faW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG5cbi5pbmZvX19tYWluIHtcbiAgbWFyZ2luOiAycmVtIDAgMnJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuaW5mb19fbWFpbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07XG4gICAgICBmbGV4OiAxOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmluZm9fX21haW4ge1xuICAgICAgZmxleDogMCAxIDU0LjVyZW07IH0gfVxuXG4uaW5mb19fdGl0bGUge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdHJ1Y3R1cmVzIC0gTG9nbyBiYW5uZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubG9nby1iYW5uZXIge1xuICBtYXJnaW46IDVyZW0gMCAycmVtO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5sb2dvLWJhbm5lcl9faW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDAgLTJyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmxvZ28tYmFubmVyX19pbm5lciB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG5cbi5sb2dvLWJhbm5lcl9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDJyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7IH1cbiAgLmxvZ28tYmFubmVyX19saW5rOmhvdmVyLCAubG9nby1iYW5uZXJfX2xpbms6Zm9jdXMsIC5sb2dvLWJhbm5lcl9fbGluazphY3RpdmUge1xuICAgIGZpbHRlcjogZ3JheXNjYWxlKDApOyB9XG5cbi5sb2dvLWJhbm5lcl9faW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qIEhlYWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWFkZXIgLSBNYWluIGhlYWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5tYWluLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA1O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNHJlbSAwOyB9XG5cbi5tYWluLWhlYWRlcl9fYmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDsgfVxuXG4ubWFpbi1oZWFkZXJfX2Jhcl9faW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IG5vLXdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4ubWFpbi1oZWFkZXJfX2xvZ28ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubWFpbi1oZWFkZXJfX2xvZ29fX2ltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2l0aW9uOiBmaWx0ZXIgMC4ycyBlYXNlLWluLW91dCAwLjRzOyB9XG5cbi5tYWluLWhlYWRlcl9fbmF2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBwYWRkaW5nOiAxNHJlbSAwIDEwcmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNFOUQyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvZ2VuZXJhbC9oZXJvLWdyYXBoaWMtbmF2LnN2Z1wiKSwgdXJsKFwiLi4vaW1nL2dlbmVyYWwvaGVyby1iZy1kYXJrLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlLCAwIDA7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQsIHJlcGVhdDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZS1pbi1vdXQgMC4zczsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubWFpbi1oZWFkZXJfX25hdiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4taGVpZ2h0OiA2N3JlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5tYWluLWhlYWRlcl9fbmF2IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDcycmVtO1xuICAgICAgcGFkZGluZzogMTZyZW0gMCAxMHJlbTsgfSB9XG5cbi5tYWluLWhlYWRlcl9fbmF2X19pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4ubWFpbi1oZWFkZXJfX25hdl9fY29udGFjdCB7XG4gIG1hcmdpbi10b3A6IDRyZW07XG4gIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDI7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5tYWluLWhlYWRlcl9fbmF2X19jb250YWN0IHAge1xuICAgIG1hcmdpbjogMDsgfVxuICAubWFpbi1oZWFkZXJfX25hdl9fY29udGFjdCBhIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAubWFpbi1oZWFkZXJfX25hdl9fY29udGFjdCBhOmhvdmVyLCAubWFpbi1oZWFkZXJfX25hdl9fY29udGFjdCBhOmZvY3VzLCAubWFpbi1oZWFkZXJfX25hdl9fY29udGFjdCBhOmFjdGl2ZSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAubWFpbi1oZWFkZXJfX25hdl9fY29udGFjdCBzdHJvbmcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgLm1haW4taGVhZGVyX19uYXZfX2NvbnRhY3Qge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgb3JkZXI6IDE7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAubWFpbi1oZWFkZXJfX25hdl9fY29udGFjdCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG4ubWFpbi1oZWFkZXJfX25hdl9fbWFpbm5hdiB7XG4gIGZsZXg6IDAgMSAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgICAubWFpbi1oZWFkZXJfX25hdl9fbWFpbm5hdiB7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIGZsZXg6IDAgMSA1MCU7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVhZGVyIC0gTWVudVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5tZW51IHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5tZW51X190ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMTBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1pbi1vdXQgMC40czsgfVxuXG4ubWVudV9fdGV4dC0tY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4ubWVudV9faWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDsgfVxuICAubWVudV9faWNvbiBzcGFuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDFweCk7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0IDBzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQgMC40czsgfVxuICAgIC5tZW51X19pY29uIHNwYW46bGFzdC1jaGlsZCB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWFkZXIgLSBNYWluIG5hdlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5tYWluLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cblxuLm1haW4tbmF2X19saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogM3JlbSAwIDA7XG4gIGZvbnQtc2l6ZTogMy42cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuICAubWFpbi1uYXZfX2xpbms6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoNTAlICsgNHB4KTtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIC4ycyBlYXNlLWluLW91dDsgfVxuICAubWFpbi1uYXZfX2xpbms6aG92ZXIsIC5tYWluLW5hdl9fbGluazpmb2N1cywgLm1haW4tbmF2X19saW5rOmFjdGl2ZSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLm1haW4tbmF2X19saW5rOmhvdmVyOmFmdGVyLCAubWFpbi1uYXZfX2xpbms6Zm9jdXM6YWZ0ZXIsIC5tYWluLW5hdl9fbGluazphY3RpdmU6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0cmFuc2l0aW9uOiB3aWR0aCAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgLm1haW4tbmF2X19saW5rIHtcbiAgICAgIGZvbnQtc2l6ZTogNHJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5tYWluLW5hdl9fbGluayB7XG4gICAgICBmb250LXNpemU6IDUuNnJlbTsgfSB9XG5cbi5tYWluLW5hdl9fbGluay0tYWN0aXZlOmFmdGVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogTkFWSUdBVElPTiBPUEVOIC8gQ0xPU0VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubmF2LW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5uYXYtb3BlbiAubWFpbi1oZWFkZXJfX25hdiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIG92ZXJmbG93OiBhdXRvOyB9XG4gIC5uYXYtb3BlbiAubWFpbi1oZWFkZXJfX2xvZ29fX2ltZyB7XG4gICAgLXdlYmtpdC1maWx0ZXI6IGludmVydCgxMDAlKTtcbiAgICBmaWx0ZXI6IGludmVydCgxMDAlKTsgfVxuICAubmF2LW9wZW4gLm1lbnVfX3RleHQtLW1lbnUge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubmF2LW9wZW4gLm1lbnVfX3RleHQtLWNsb3NlIHtcbiAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50OyB9XG4gIC5uYXYtb3BlbiAubWVudV9faWNvbiBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLm5hdi1vcGVuIC5tZW51X19pY29uIHNwYW46bGFzdC1jaGlsZCB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuXG4vKiBGb290ZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9vdGVyIC0gRm9vdGVyLWNyZWRlbnRpYWxzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmZvb3Rlci1jcmVkZW50aWFscyB7XG4gIHBhZGRpbmc6IDJyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4uZm9vdGVyLWNyZWRlbnRpYWxzX19pbm5lciB7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLmZvb3Rlci1jcmVkZW50aWFsc19fbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuZm9vdGVyLWNyZWRlbnRpYWxzX19saW5rOmhvdmVyLCAuZm9vdGVyLWNyZWRlbnRpYWxzX19saW5rOmZvY3VzLCAuZm9vdGVyLWNyZWRlbnRpYWxzX19saW5rOmFjdGl2ZSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXIgLSBNYWluIGZvb3RlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEdlbmVyYWxcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubWFpbi1mb290ZXIge1xuICBwYWRkaW5nOiA1cmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRjJGMkYyOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5tYWluLWZvb3RlciB7XG4gICAgICBwYWRkaW5nOiAxMHJlbSAwOyB9IH1cblxuLm1haW4tZm9vdGVyX19pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4ubWFpbi1mb290ZXJfX3RpdGxlIHtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5tYWluLWZvb3Rlcl9fdGV4dCB7XG4gIG1hcmdpbjogMnJlbSAwO1xuICBmb250LXNpemU6IDEuOHJlbTsgfVxuXG4ubWFpbi1mb290ZXJfX21haW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5tYWluLWZvb3Rlcl9fbGlzdCB7XG4gIG1hcmdpbjogMCAwIDIuNXJlbTtcbiAgcGFkZGluZzogMDsgfVxuXG4ubWFpbi1mb290ZXJfX2xpc3RfX2l0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIDAgNHB4IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMS44cmVtOyB9XG5cbi5tYWluLWZvb3Rlcl9fbGlzdF9fbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBBc2lkZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5tYWluLWZvb3Rlcl9fYXNpZGUge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IC0xN3B4O1xuICBwYWRkaW5nLXJpZ2h0OiA0cmVtO1xuICBmbGV4OiAxIDAgNDNyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLm1haW4tZm9vdGVyX19hc2lkZSB7XG4gICAgICBmbGV4OiAxOyB9IH1cblxuLm1haW4tZm9vdGVyX19hc2lkZV9fbG9nbyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5tYWluLWZvb3Rlcl9fYXNpZGVfX2xvZ29fX2ltZyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIENlbnRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5tYWluLWZvb3Rlcl9fY2VudGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiA0cmVtOyB9XG5cbi8qIE5hdlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFpbi1mb290ZXJfX25hdiAubWFpbi1mb290ZXJfX2xpc3Qge1xuICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICBjb2x1bW4tZ2FwOiA0cmVtOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvb3RlciAtIFN1Yi1mb290ZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc3ViLWZvb3RlciB7XG4gIHBhZGRpbmc6IDEuOHJlbSAwO1xuICBiYWNrZ3JvdW5kOiAjMDA3RTdFO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi8qIElubmVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnN1Yi1mb290ZXJfX2lubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLyogSW5mb1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zdWItZm9vdGVyX19pbmZvIHtcbiAgbWFyZ2luOiAxcmVtIDA7IH1cblxuLnN1Yi1mb290ZXJfX2luZm9fX2xpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMXJlbSAwO1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuc3ViLWZvb3Rlcl9faW5mb19fbGluazpob3ZlciwgLnN1Yi1mb290ZXJfX2luZm9fX2xpbms6Zm9jdXMsIC5zdWItZm9vdGVyX19pbmZvX19saW5rOmFjdGl2ZSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qIFBhZ2VwYXJ0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQYWdlcGFydHMgLSBCdXR0b24gcHBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBHZW5lcmFsXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmJ0bi1wcCB7XG4gIG1hcmdpbjogNHJlbSAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQYWdlcGFydHMgLSBFeWUgY2F0Y2hlciBwcFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5leWUtY2F0Y2hlci1wcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbjogNXJlbSAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5leWUtY2F0Y2hlci1wcDpob3ZlciwgLmV5ZS1jYXRjaGVyLXBwOmZvY3VzLCAuZXllLWNhdGNoZXItcHA6YWN0aXZlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuZXllLWNhdGNoZXItcHA6aG92ZXIgLmV5ZS1jYXRjaGVyLXBwX19pbWcsIC5leWUtY2F0Y2hlci1wcDpmb2N1cyAuZXllLWNhdGNoZXItcHBfX2ltZywgLmV5ZS1jYXRjaGVyLXBwOmFjdGl2ZSAuZXllLWNhdGNoZXItcHBfX2ltZyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg0cHgsIC00cHgpOyB9XG4gICAgLmV5ZS1jYXRjaGVyLXBwOmhvdmVyIC5leWUtY2F0Y2hlci1wcF9fdGl0bGUsIC5leWUtY2F0Y2hlci1wcDpmb2N1cyAuZXllLWNhdGNoZXItcHBfX3RpdGxlLCAuZXllLWNhdGNoZXItcHA6YWN0aXZlIC5leWUtY2F0Y2hlci1wcF9fdGl0bGUge1xuICAgICAgY29sb3I6ICMwMDdFN0U7IH1cbiAgICAuZXllLWNhdGNoZXItcHA6aG92ZXIgLmV5ZS1jYXRjaGVyLXBwX19jb250ZW50LCAuZXllLWNhdGNoZXItcHA6Zm9jdXMgLmV5ZS1jYXRjaGVyLXBwX19jb250ZW50LCAuZXllLWNhdGNoZXItcHA6YWN0aXZlIC5leWUtY2F0Y2hlci1wcF9fY29udGVudCB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5leWUtY2F0Y2hlci1wcDpob3ZlciAudGV4dGxpbmssIC5leWUtY2F0Y2hlci1wcDpmb2N1cyAudGV4dGxpbmssIC5leWUtY2F0Y2hlci1wcDphY3RpdmUgLnRleHRsaW5rIHtcbiAgICAgIGNvbG9yOiAjMDA3RTdFO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuZXllLWNhdGNoZXItcHA6aG92ZXIgLnRleHRsaW5rOmFmdGVyLCAuZXllLWNhdGNoZXItcHA6Zm9jdXMgLnRleHRsaW5rOmFmdGVyLCAuZXllLWNhdGNoZXItcHA6YWN0aXZlIC50ZXh0bGluazphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdFN0U7IH1cbiAgICAgIC5leWUtY2F0Y2hlci1wcDpob3ZlciAudGV4dGxpbmsgPiBzdmc6Zmlyc3QtY2hpbGQsIC5leWUtY2F0Y2hlci1wcDpmb2N1cyAudGV4dGxpbmsgPiBzdmc6Zmlyc3QtY2hpbGQsIC5leWUtY2F0Y2hlci1wcDphY3RpdmUgLnRleHRsaW5rID4gc3ZnOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgIC5leWUtY2F0Y2hlci1wcDpob3ZlciAudGV4dGxpbmsgPiBzdmc6bGFzdC1jaGlsZCwgLmV5ZS1jYXRjaGVyLXBwOmZvY3VzIC50ZXh0bGluayA+IHN2ZzpsYXN0LWNoaWxkLCAuZXllLWNhdGNoZXItcHA6YWN0aXZlIC50ZXh0bGluayA+IHN2ZzpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNDNweDsgfVxuICAgICAgLmV5ZS1jYXRjaGVyLXBwOmhvdmVyIC50ZXh0bGluayAudGV4dGxpbmtfX3RleHQsIC5leWUtY2F0Y2hlci1wcDpmb2N1cyAudGV4dGxpbmsgLnRleHRsaW5rX190ZXh0LCAuZXllLWNhdGNoZXItcHA6YWN0aXZlIC50ZXh0bGluayAudGV4dGxpbmtfX3RleHQge1xuICAgICAgICBjb2xvcjogIzAwN0U3RTsgfVxuICAgICAgLmV5ZS1jYXRjaGVyLXBwOmhvdmVyIC50ZXh0bGluayAubGluay1hcnJvdywgLmV5ZS1jYXRjaGVyLXBwOmZvY3VzIC50ZXh0bGluayAubGluay1hcnJvdywgLmV5ZS1jYXRjaGVyLXBwOmFjdGl2ZSAudGV4dGxpbmsgLmxpbmstYXJyb3cge1xuICAgICAgICBmaWxsOiAjMDA3RTdFOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5leWUtY2F0Y2hlci1wcCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgbWFyZ2luOiAxMHJlbSAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5leWUtY2F0Y2hlci1wcCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5leWUtY2F0Y2hlci1wcC0taW1nLWxlZnQgLmV5ZS1jYXRjaGVyLXBwX19pbWcge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5leWUtY2F0Y2hlci1wcC0taW1nLWxlZnQgLmV5ZS1jYXRjaGVyLXBwX19jb250ZW50IHtcbiAgICBvcmRlcjogMjsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXllLWNhdGNoZXItcHAtLWltZy1yaWdodCAuZXllLWNhdGNoZXItcHBfX2ltZyB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmV5ZS1jYXRjaGVyLXBwLS1pbWctcmlnaHQgLmV5ZS1jYXRjaGVyLXBwX19jb250ZW50IHtcbiAgICBvcmRlcjogMTsgfSB9XG5cbi5leWUtY2F0Y2hlci1wcF9faW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaGFkb3c6IDAgMTNweCAxOHB4IC04cHggcmdiYSgwLCAwLCAwLCAwLjE1KSwgMCAxMXB4IDU1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuICB0cmFuc2l0aW9uOiAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmV5ZS1jYXRjaGVyLXBwX19pbWcge1xuICAgICAgd2lkdGg6IDQ2JTsgfSB9XG5cbi5leWUtY2F0Y2hlci1wcF9fY29udGVudCB7XG4gIHBhZGRpbmc6IDRyZW0gMDtcbiAgZm9udC1zaXplOiAyLjFyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmV5ZS1jYXRjaGVyLXBwX19jb250ZW50IHtcbiAgICAgIHdpZHRoOiA1NCU7XG4gICAgICBwYWRkaW5nOiAwIDZyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuZXllLWNhdGNoZXItcHBfX2NvbnRlbnQge1xuICAgICAgZm9udC1zaXplOiAyLjRyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmV5ZS1jYXRjaGVyLXBwX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDAgOXJlbTsgfSB9XG5cbi5leWUtY2F0Y2hlci1wcF9fdGFnbGluZSB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGNvbG9yOiAjQUNCNEI4OyB9XG5cbi5leWUtY2F0Y2hlci1wcF9fdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1ib3R0b206IDMuNXJlbTtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuLmV5ZS1jYXRjaGVyLXBwX19saW5rIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQYWdlcGFydHMgLSBIZWFkZXIgcHBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEBkb2MgZG9jcy9oZWFkZXItcHAubWRcbiAqIEBzZWN0aW9uXG4gKiBAc2VjdGlvbm9mIFBhZ2VwYXJ0c1xuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUGFnZXBhcnRzIC0gSW50cm90ZXh0IHBwXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogR2VuZXJhbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5pbnRyb3RleHQtcHAge1xuICBtYXgtd2lkdGg6IDkycmVtO1xuICBtYXJnaW46IDVyZW0gYXV0bzsgfVxuICAuaW50cm90ZXh0LXBwID4gcDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuaW50cm90ZXh0LXBwID4gcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5pbnRyb3RleHQtcHAge1xuICAgICAgbWFyZ2luOiAxMHJlbSBhdXRvOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBhZ2VwYXJ0cyAtIEltYWdlIHBwXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogR2VuZXJhbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5pbWFnZS1wcCB7XG4gIG1hcmdpbjogNXJlbSAwOyB9XG4gIC5pbWFnZS1wcCBhIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuaW1hZ2UtcHAgZmlnY2FwdGlvbiB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmltYWdlLXBwIGZpZ2NhcHRpb24gcCB7XG4gICAgICBtYXJnaW46IC41cmVtIDA7XG4gICAgICBmb250LXNpemU6IC43ZW07XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBjb2xvcjogIzY2NjY2NjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuaW1hZ2UtcHAge1xuICAgICAgbWFyZ2luOiAxMHJlbSAwOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBhZ2VwYXJ0cyAtIExpbmsgcHBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBHZW5lcmFsXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmxpbmstcHAge1xuICBtYXJnaW46IDIuNXJlbSAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQYWdlcGFydHMgLSBRdWlja2xpbmtzIHBwXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnF1aWNrbGlua3MtcHAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbjogM3JlbSAtMTZweCAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5xdWlja2xpbmtzLXBwIHtcbiAgICAgIG1hcmdpbjogNXJlbSAtMTZweCAycmVtOyB9IH1cblxuLnF1aWNrbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAyMTBweDtcbiAgbWFyZ2luOiAwIDE2cHggM3JlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5xdWlja2xpbms6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucXVpY2tsaW5rOmhvdmVyLCAucXVpY2tsaW5rOmZvY3VzLCAucXVpY2tsaW5rOmFjdGl2ZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLnF1aWNrbGluazpob3ZlciAucXVpY2tsaW5rX19pbWcsIC5xdWlja2xpbms6Zm9jdXMgLnF1aWNrbGlua19faW1nLCAucXVpY2tsaW5rOmFjdGl2ZSAucXVpY2tsaW5rX19pbWcge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNHB4LCAtNHB4KTsgfVxuICAgIC5xdWlja2xpbms6aG92ZXIgLnRleHRsaW5rLCAucXVpY2tsaW5rOmZvY3VzIC50ZXh0bGluaywgLnF1aWNrbGluazphY3RpdmUgLnRleHRsaW5rIHtcbiAgICAgIGNvbG9yOiAjMDA3RTdFO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAucXVpY2tsaW5rOmhvdmVyIC50ZXh0bGluazphZnRlciwgLnF1aWNrbGluazpmb2N1cyAudGV4dGxpbms6YWZ0ZXIsIC5xdWlja2xpbms6YWN0aXZlIC50ZXh0bGluazphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdFN0U7IH1cbiAgICAgIC5xdWlja2xpbms6aG92ZXIgLnRleHRsaW5rID4gc3ZnOmZpcnN0LWNoaWxkLCAucXVpY2tsaW5rOmZvY3VzIC50ZXh0bGluayA+IHN2ZzpmaXJzdC1jaGlsZCwgLnF1aWNrbGluazphY3RpdmUgLnRleHRsaW5rID4gc3ZnOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgIC5xdWlja2xpbms6aG92ZXIgLnRleHRsaW5rID4gc3ZnOmxhc3QtY2hpbGQsIC5xdWlja2xpbms6Zm9jdXMgLnRleHRsaW5rID4gc3ZnOmxhc3QtY2hpbGQsIC5xdWlja2xpbms6YWN0aXZlIC50ZXh0bGluayA+IHN2ZzpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNDNweDsgfVxuICAgICAgLnF1aWNrbGluazpob3ZlciAudGV4dGxpbmsgLnRleHRsaW5rX190ZXh0LCAucXVpY2tsaW5rOmZvY3VzIC50ZXh0bGluayAudGV4dGxpbmtfX3RleHQsIC5xdWlja2xpbms6YWN0aXZlIC50ZXh0bGluayAudGV4dGxpbmtfX3RleHQge1xuICAgICAgICBjb2xvcjogIzAwN0U3RTsgfVxuICAgICAgLnF1aWNrbGluazpob3ZlciAudGV4dGxpbmsgLmxpbmstYXJyb3csIC5xdWlja2xpbms6Zm9jdXMgLnRleHRsaW5rIC5saW5rLWFycm93LCAucXVpY2tsaW5rOmFjdGl2ZSAudGV4dGxpbmsgLmxpbmstYXJyb3cge1xuICAgICAgICBmaWxsOiAjMDA3RTdFOyB9XG4gIC5xdWlja2xpbmsgLnRleHRsaW5rIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAgIC5xdWlja2xpbmsge1xuICAgICAgZmxleDogMCAxIGNhbGMoNTAlIC0gMTZweCAqIDIpOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnF1aWNrbGluayB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG4ucXVpY2tsaW5rX19pbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaGFkb3c6IDAgMTNweCAxOHB4IC04cHggcmdiYSgwLCAwLCAwLCAwLjE1KSwgMCAxMXB4IDU1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuICB0cmFuc2l0aW9uOiAuMnMgZWFzZS1pbi1vdXQ7IH1cblxuLnF1aWNrbGlua19fdGl0bGUge1xuICBtYXJnaW46IDJyZW0gMCAuNXJlbTtcbiAgZm9udC1zaXplOiAyLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQYWdlcGFydHMgLSBUZXN0aW1vbmlhbCBwcFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50ZXN0aW1vbmlhbC1wcCB7XG4gIG1hcmdpbjogNXJlbSAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC50ZXN0aW1vbmlhbC1wcCB7XG4gICAgICBtYXJnaW46IDEwcmVtIDA7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUGFnZXBhcnRzIC0gVGV4dCBwcFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50ZXh0LXBwID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIFZlbmRvcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBQYWdlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQYWdlc1xuXG4gICBUaGlzIGZpbGUgaXMgZXhjbHVzaXZlbHkgaW50ZW5kZWQgZm9yIHNldHRpbmcgdXAgaW1wb3J0c1xuICAgTmV2ZXIgYWRkIHN0eWxlcyBkaXJlY3RseSB0byB0aGlzIGZpbGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUGFnZXMgLSBWaXNpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBJbnZlcnRlZCBjb2xvcnMgbWFpbiBoZWFkZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udmlzaW9uIC5tYWluLWhlYWRlcl9fbG9nb19faW1nIHtcbiAgLXdlYmtpdC1maWx0ZXI6IGludmVydCgxMDAlKTtcbiAgZmlsdGVyOiBpbnZlcnQoMTAwJSk7IH1cblxuLnZpc2lvbiAubWVudV9fdGV4dC0tbWVudSB7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi52aXNpb24gLm1lbnVfX3RleHQtLWNsb3NlIHtcbiAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi52aXNpb24gLm1lbnVfX2ljb24gc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cblxuLnZpc2lvbi5uYXYtb3BlbiAubWVudV9fdGV4dC0tbWVudSB7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4udmlzaW9uLm5hdi1vcGVuIC5tZW51X190ZXh0LS1jbG9zZSB7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQYWdlcyAtIEVycm9yXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmVycm9yIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cbiAgLmVycm9yIGgxIHtcbiAgICBtYXJnaW46IDNyZW0gMDsgfVxuICAuZXJyb3IgaDIge1xuICAgIG1hcmdpbjogM3JlbSAwOyB9XG4iLCIvL1xuLy8gR3JpZCBzeXN0ZW1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuLmNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lci1maXhlZDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICB3aWR0aDogJGNvbnRhaW5lci1zbTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICB3aWR0aDogJGNvbnRhaW5lci1tZDtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICB3aWR0aDogJGNvbnRhaW5lci1sZztcbiAgfVxufVxuXG5cbi8vIEZsdWlkIGNvbnRhaW5lclxuLy9cbi8vIFV0aWxpemVzIHRoZSBtaXhpbiBtZWFudCBmb3IgZml4ZWQgd2lkdGggY29udGFpbmVycywgYnV0IHdpdGhvdXQgYW55IGRlZmluZWRcbi8vIHdpZHRoIGZvciBmbHVpZCwgZnVsbCB3aWR0aCBsYXlvdXRzLlxuXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgQGluY2x1ZGUgY29udGFpbmVyLWZpeGVkO1xufVxuXG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiBhbmQgY2xlYXIgdGhlIGZsb2F0cyBvZiB5b3VyIGNvbHVtbnMuXG5cbi5yb3cge1xuICBAaW5jbHVkZSBtYWtlLXJvdztcbn1cblxuLnJvdy1uby1ndXR0ZXJzIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucztcblxuXG4vLyBFeHRyYSBzbWFsbCBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIGV4dHJhIHNtYWxsIGRldmljZXMgbGlrZVxuLy8gc21hcnRwaG9uZXMuXG5cbkBpbmNsdWRlIG1ha2UtZ3JpZCh4cyk7XG5cblxuLy8gU21hbGwgZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciB0aGUgc21hbGwgZGV2aWNlIHJhbmdlLCBmcm9tIHBob25lc1xuLy8gdG8gdGFibGV0cy5cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZChzbSk7XG59XG5cblxuLy8gTWVkaXVtIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgdGhlIGRlc2t0b3AgZGV2aWNlIHJhbmdlLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkKG1kKTtcbn1cblxuXG4vLyBMYXJnZSBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIHRoZSBsYXJnZSBkZXNrdG9wIGRldmljZSByYW5nZS5cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZChsZyk7XG59XG4iLCIvLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuLy8gQ2VudGVyZWQgY29udGFpbmVyIGVsZW1lbnRcbkBtaXhpbiBjb250YWluZXItZml4ZWQoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBhZGRpbmctcmlnaHQ6IGNlaWwoKCRndXR0ZXIgLyAyKSk7XG4gIHBhZGRpbmctbGVmdDogZmxvb3IoKCRndXR0ZXIgLyAyKSk7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLyBDcmVhdGVzIGEgd3JhcHBlciBmb3IgYSBzZXJpZXMgb2YgY29sdW1uc1xuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tcmlnaHQ6IGZsb29yKCgkZ3V0dGVyIC8gLTIpKTtcbiAgbWFyZ2luLWxlZnQ6IGNlaWwoKCRndXR0ZXIgLyAtMikpO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIGV4dHJhIHNtYWxsIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXhzLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLWxlZnQ6ICgkZ3V0dGVyIC8gMik7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xufVxuXG4vLyBHZW5lcmF0ZSB0aGUgc21hbGwgY29sdW1uc1xuQG1peGluIG1ha2Utc20tY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctbGVmdDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBtZWRpdW0gY29sdW1uc1xuQG1peGluIG1ha2UtbWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctbGVmdDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBsYXJnZSBjb2x1bW5zXG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1sZWZ0OiAoJGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbiIsIi8vIENsZWFyZml4XG4vL1xuLy8gRm9yIG1vZGVybiBicm93c2Vyc1xuLy8gMS4gVGhlIHNwYWNlIGNvbnRlbnQgaXMgb25lIHdheSB0byBhdm9pZCBhbiBPcGVyYSBidWcgd2hlbiB0aGVcbi8vICAgIGNvbnRlbnRlZGl0YWJsZSBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4vLyAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbi8vICAgIHRoYXQgYXJlIGNsZWFyZml4ZWQuXG4vLyAyLiBUaGUgdXNlIG9mIGB0YWJsZWAgcmF0aGVyIHRoYW4gYGJsb2NrYCBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB1c2luZ1xuLy8gICAgYDpiZWZvcmVgIHRvIGNvbnRhaW4gdGhlIHRvcC1tYXJnaW5zIG9mIGNoaWxkIGVsZW1lbnRzLlxuLy9cbi8vIFNvdXJjZTogaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svXG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAyXG4gICAgY29udGVudDogXCIgXCI7IC8vIDFcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkaTogMSwgJGxpc3Q6IFwiLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfVwiKSB7XG4gIEBmb3IgJGkgZnJvbSAoMSArIDEpIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgJGxpc3Q6IFwiI3skbGlzdH0sIC5jb2wteHMtI3skaX0sIC5jb2wtc20tI3skaX0sIC5jb2wtbWQtI3skaX0sIC5jb2wtbGctI3skaX1cIjtcbiAgfVxuICAjeyRsaXN0fSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgICBwYWRkaW5nLXJpZ2h0OiBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuICAgIHBhZGRpbmctbGVmdDogY2VpbCgoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuICB9XG59XG5cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBmbG9hdC1ncmlkLWNvbHVtbnMoJGNsYXNzLCAkaTogMSwgJGxpc3Q6IFwiLmNvbC0jeyRjbGFzc30tI3skaX1cIikge1xuICBAZm9yICRpIGZyb20gKDEgKyAxKSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICRsaXN0OiBcIiN7JGxpc3R9LCAuY29sLSN7JGNsYXNzfS0jeyRpfVwiO1xuICB9XG4gICN7JGxpc3R9IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG5cbkBtaXhpbiBjYWxjLWdyaWQtY29sdW1uKCRpbmRleCwgJGNsYXNzLCAkdHlwZSkge1xuICBAaWYgKCR0eXBlID09IHdpZHRoKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS0jeyRpbmRleH0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdXNoKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdXNoLSN7JGluZGV4fSB7XG4gICAgICBsZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVzaCkgYW5kICgkaW5kZXggPT0gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1c2gtMCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1bGwpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1bGwtI3skaW5kZXh9IHtcbiAgICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVsbCkgYW5kICgkaW5kZXggPT0gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1bGwtMCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBvZmZzZXQpIHtcbiAgICAuY29sLSN7JGNsYXNzfS1vZmZzZXQtI3skaW5kZXh9IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gbG9vcC1ncmlkLWNvbHVtbnMoJGNvbHVtbnMsICRjbGFzcywgJHR5cGUpIHtcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgQGluY2x1ZGUgY2FsYy1ncmlkLWNvbHVtbigkaSwgJGNsYXNzLCAkdHlwZSk7XG4gIH1cbn1cblxuXG4vLyBDcmVhdGUgZ3JpZCBmb3Igc3BlY2lmaWMgY2xhc3NcbkBtaXhpbiBtYWtlLWdyaWQoJGNsYXNzKSB7XG4gIEBpbmNsdWRlIGZsb2F0LWdyaWQtY29sdW1ucygkY2xhc3MpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHdpZHRoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdWxsKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdXNoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBvZmZzZXQpO1xufVxuIiwiLy9cbi8vIFV0aWxpdHkgY2xhc3Nlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBGbG9hdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNsZWFyZml4IHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG4uY2VudGVyLWJsb2NrIHtcbiAgQGluY2x1ZGUgY2VudGVyLWJsb2NrO1xufVxuLnB1bGwtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cbi5wdWxsLWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIFRvZ2dsaW5nIGNvbnRlbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTm90ZTogRGVwcmVjYXRlZCAuaGlkZSBpbiBmYXZvciBvZiAuaGlkZGVuIG9yIC5zci1vbmx5IChhcyBhcHByb3ByaWF0ZSkgaW4gdjMuMC4xXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5zaG93IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udGV4dC1oaWRlIHtcbiAgQGluY2x1ZGUgdGV4dC1oaWRlO1xufVxuXG5cbi8vIEhpZGUgZnJvbSBzY3JlZW5yZWFkZXJzIGFuZCBicm93c2Vyc1xuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuXG4vLyBGb3IgQWZmaXggcGx1Z2luXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hZmZpeCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cbiIsIi8vIENlbnRlci1hbGlnbiBhIGJsb2NrIGxldmVsIGVsZW1lbnRcblxuQG1peGluIGNlbnRlci1ibG9jaygpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbi8vXG4vLyBIZWFkcyB1cCEgdjMgbGF1bmNoZWQgd2l0aCBvbmx5IGAuaGlkZS10ZXh0KClgLCBidXQgcGVyIG91ciBwYXR0ZXJuIGZvclxuLy8gbWl4aW5zIGJlaW5nIHJldXNlZCBhcyBjbGFzc2VzIHdpdGggdGhlIHNhbWUgbmFtZSwgdGhpcyBkb2Vzbid0IGhvbGQgdXAuIEFzXG4vLyBvZiB2My4wLjEgd2UgaGF2ZSBhZGRlZCBgLnRleHQtaGlkZSgpYCBhbmQgZGVwcmVjYXRlZCBgLmhpZGUtdGV4dCgpYC5cbi8vXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2NvbW1pdC9hYTAzOTZlYWU3NTdcblxuLy8gRGVwcmVjYXRlZCBhcyBvZiB2My4wLjEgKGhhcyBiZWVuIHJlbW92ZWQgaW4gdjQpXG5AbWl4aW4gaGlkZS10ZXh0KCkge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gTmV3IG1peGluIHRvIHVzZSBhcyBvZiB2My4wLjFcbkBtaXhpbiB0ZXh0LWhpZGUoKSB7XG4gIEBpbmNsdWRlIGhpZGUtdGV4dDtcbn1cbiIsIi8vXG4vLyBSZXNwb25zaXZlOiBVdGlsaXR5IGNsYXNzZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gSUUxMCBpbiBXaW5kb3dzIChQaG9uZSkgOFxuLy9cbi8vIFN1cHBvcnQgZm9yIHJlc3BvbnNpdmUgdmlld3MgdmlhIG1lZGlhIHF1ZXJpZXMgaXMga2luZCBvZiBib3JrZWQgaW4gSUUxMCwgZm9yXG4vLyBTdXJmYWNlL2Rlc2t0b3AgaW4gc3BsaXQgdmlldyBhbmQgZm9yIFdpbmRvd3MgUGhvbmUgOC4gVGhpcyBwYXJ0aWN1bGFyIGZpeFxuLy8gbXVzdCBiZSBhY2NvbXBhbmllZCBieSBhIHNuaXBwZXQgb2YgSmF2YVNjcmlwdCB0byBzbmlmZiB0aGUgdXNlciBhZ2VudCBhbmRcbi8vIGFwcGx5IHNvbWUgY29uZGl0aW9uYWwgQ1NTIHRvICpvbmx5KiB0aGUgU3VyZmFjZS9kZXNrdG9wIFdpbmRvd3MgOC4gTG9vayBhdFxuLy8gb3VyIEdldHRpbmcgU3RhcnRlZCBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMgYnVnLlxuLy9cbi8vIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIGZvbGxvd2luZzpcbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMDQ5N1xuLy8gRG9jczogaHR0cHM6Ly9nZXRib290c3RyYXAuY29tL2RvY3MvMy40L2dldHRpbmctc3RhcnRlZC8jc3VwcG9ydC1pZTEwLXdpZHRoXG4vLyBTb3VyY2U6IGh0dHBzOi8vdGlta2FkbGVjLmNvbS8yMDEzLzAxL3dpbmRvd3MtcGhvbmUtOC1hbmQtZGV2aWNlLXdpZHRoL1xuLy8gU291cmNlOiBodHRwczovL3RpbWthZGxlYy5jb20vMjAxMi8xMC9pZTEwLXNuYXAtbW9kZS1hbmQtcmVzcG9uc2l2ZS1kZXNpZ24vXG5cbkBhdC1yb290IHtcbiAgQC1tcy12aWV3cG9ydCB7XG4gICAgd2lkdGg6IGRldmljZS13aWR0aDtcbiAgfVxufVxuXG5cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vLyBOb3RlOiBEZXByZWNhdGVkIC52aXNpYmxlLXhzLCAudmlzaWJsZS1zbSwgLnZpc2libGUtbWQsIGFuZCAudmlzaWJsZS1sZyBhcyBvZiB2My4yLjBcblxuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLXhzJyk7XG5AaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLnZpc2libGUtc20nKTtcbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS1tZCcpO1xuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLWxnJyk7XG5cbi52aXNpYmxlLXhzLWJsb2NrLFxuLnZpc2libGUteHMtaW5saW5lLFxuLnZpc2libGUteHMtaW5saW5lLWJsb2NrLFxuLnZpc2libGUtc20tYmxvY2ssXG4udmlzaWJsZS1zbS1pbmxpbmUsXG4udmlzaWJsZS1zbS1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1tZC1ibG9jayxcbi52aXNpYmxlLW1kLWlubGluZSxcbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayxcbi52aXNpYmxlLWxnLWJsb2NrLFxuLnZpc2libGUtbGctaW5saW5lLFxuLnZpc2libGUtbGctaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCcudmlzaWJsZS14cycpO1xufVxuLnZpc2libGUteHMtYmxvY2sge1xuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS14cy1pbmxpbmUge1xuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUteHMtaW5saW5lLWJsb2NrIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCcudmlzaWJsZS1zbScpO1xufVxuLnZpc2libGUtc20tYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXNtLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXNtLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCcudmlzaWJsZS1tZCcpO1xufVxuLnZpc2libGUtbWQtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLW1kLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtbGcnKTtcbn1cbi52aXNpYmxlLWxnLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtbGctaW5saW5lIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi14cycpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi1zbScpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi1tZCcpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4tbGcnKTtcbn1cblxuXG4vLyBQcmludCB1dGlsaXRpZXNcbi8vXG4vLyBNZWRpYSBxdWVyaWVzIGFyZSBwbGFjZWQgb24gdGhlIGluc2lkZSB0byBiZSBtaXhpbi1mcmllbmRseS5cblxuLy8gTm90ZTogRGVwcmVjYXRlZCAudmlzaWJsZS1wcmludCBhcyBvZiB2My4yLjBcblxuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLXByaW50Jyk7XG5cbkBtZWRpYSBwcmludCB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtcHJpbnQnKTtcbn1cbi52aXNpYmxlLXByaW50LWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtcHJpbnQtaW5saW5lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcuaGlkZGVuLXByaW50Jyk7XG59XG4iLCIvLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiByZXNwb25zaXZlLXZpc2liaWxpdHkoJHBhcmVudCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIHRhYmxlI3skcGFyZW50fSAgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRyI3skcGFyZW50fSAgICAgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0aCN7JHBhcmVudH0sXG4gIHRkI3skcGFyZW50fSAgICAgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJHBhcmVudCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWxwZXJzXG5cbiAgIE5ldmVyIGFkZCBzdHlsZXMgZGlyZWN0bHkgdG8gdGhpcyBmaWxlIC0gc2V0IHVwIGltcG9ydHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogUGxhY2Vob2xkZXJzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLy8gQGltcG9ydCBcInBsYWNlaG9sZGVycy8uLlwiO1xuXG5cbi8qIE1peGluc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJtaXhpbnNcIjtcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWxwZXJzIC0gTWl4aW5zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBSZXNldHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWl4aW4gcmVzZXQtYnV0dG9uKCkge1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgZm9udDogaW5oZXJpdDtcblxuICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBUZXh0bGluayBob3ZlclxuICAgbGlua3Muc2Nzc1xuICAgZXllLWNhdGNoZXItcHAuc2Nzc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtaXhpbiB0ZXh0bGluay1ob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgIH1cblxuICAgID4gc3ZnOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgPiBzdmc6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSgkYXJyb3ctc2l6ZSArICRhcnJvdy1tYXJnaW4pO1xuICAgIH1cblxuICAgIC50ZXh0bGlua19fdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgICB9XG5cbiAgICAubGluay1hcnJvdyB7XG4gICAgICAgIGZpbGw6ICRicmFuZC1wcmltYXJ5O1xuICAgIH1cbn1cblxuLyogSW1hZ2UgaW5zaWRlIGxpbmsgdHJhbnNpdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtaXhpbiBsaW5raW1hZ2V0cmFuc2l0aW9uKCkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDRweCwgLTRweCk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgR2VuZXJhbFxuXG4gICBUaGlzIGZpbGUgaXMgZXhjbHVzaXZlbHkgaW50ZW5kZWQgZm9yIHNldHRpbmcgdXAgaW1wb3J0c1xuICAgTmV2ZXIgYWRkIHN0eWxlcyBkaXJlY3RseSB0byB0aGlzIGZpbGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiYmFzZVwiO1xuXG5cbi8qIFR5cG9ncmFwaHlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AaW1wb3J0IFwidHlwb2dyYXBoeS9oZWFkaW5nc1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHkvYm9keWNvcHlcIjtcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBCb3ggbW9kZWxcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4qIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cblxuLyogSHRtbCAmIGJvZHlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5odG1sIHtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuXG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG59XG5cbi53cmFwcGVyIHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlLWluLW91dCAuMnMsIHRyYW5zZm9ybSAuNnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5mYWRlbG9hZCB7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAuZmFkZWxvYWQge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5tYWluIHtcbiAgICBzZWN0aW9uOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgfVxuXG4gICAgc2VjdGlvbjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgLmlubmVyLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAkc2VjdGlvbi1wYWRkaW5nLS1tb2JpbGUgMDtcblxuICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7IC8vIGlmIHNlY3Rpb24gaXMgZW1wdHksIGNvbGxhcHNlIGl0XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgICAgIH1cblxuICAgICAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzZWN0aW9uLXBhZGRpbmcgMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKiBDb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAkei1jb250ZW50O1xuXG4gICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXBhZGRpbmctLW1vYmlsZTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1wYWRkaW5nO1xuICAgIH1cbn1cblxuXG4vKiBDb250YWluZXJzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuJGNvbnRhaW5lci0td2lkZS13aWR0aDogMTExMHB4O1xuJGNvbnRhaW5lci13aWR0aDogOTIwcHg7XG4kY29udGFpbmVyLXBhZGRpbmc6IDE1cHg7XG4kY29udGFpbmVyLXBhZGRpbmctLXNtOiAzNXB4O1xuXG4kYnJlYWtwb2ludC1jb250YWluZXI6ICRjb250YWluZXItLXdpZGUtd2lkdGggKyAkY29udGFpbmVyLXBhZGRpbmctLXNtICogMjtcblxuLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLXdpZHRoICsgKCRjb250YWluZXItcGFkZGluZyAqIDIpO1xuICAgIHBhZGRpbmc6IDAgJGNvbnRhaW5lci1wYWRkaW5nO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLXdpZHRoICsgKCRjb250YWluZXItcGFkZGluZy0tc20gKiAyKTtcbiAgICAgICAgcGFkZGluZzogMCAkY29udGFpbmVyLXBhZGRpbmctLXNtO1xuICAgIH1cbn1cblxuLmNvbnRhaW5lci0td2lkZSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWNvbnRhaW5lcikge1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItLXdpZGUtd2lkdGggKyAoJGNvbnRhaW5lci1wYWRkaW5nLS1zbSAqIDIpO1xuICAgIH1cbn1cblxuXG4vKiBIZWxwZXIgY2xhc3Nlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5mb3JjZS1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuXG4gICAgKiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVhZGluZ3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFNoYXJlZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gICAgbWFyZ2luOiAzcmVtIDA7XG5cbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LS1oZWFkaW5ncztcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgKyBwLFxuICAgICsgLnRleHQtcHAgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgbWFyZ2luOiA1cmVtIDA7XG4gICAgfVxufVxuXG5cbi8qIFNwZWNpZmljXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaDEge1xuICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtbWVkaXVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgbWFyZ2luOiA0cmVtIDA7XG5cbiAgICAgICAgZm9udC1zaXplOiA2cmVtO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgIG1hcmdpbjogNXJlbSAwO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogOHJlbTtcbiAgICB9XG59XG5cbmgyIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXNlbWlib2xkO1xuICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgIG1hcmdpbjogMTByZW0gMDtcblxuICAgICAgICBmb250LXNpemU6IDUuNnJlbTtcbiAgICB9XG59XG5cbmgzIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtbWVkaXVtO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgbWFyZ2luOiA3LjVyZW0gMDtcblxuICAgICAgICBmb250LXNpemU6IDRyZW07XG4gICAgfVxufVxuXG5oNCB7XG4gICAgbWF4LXdpZHRoOiA0NXJlbTtcblxuICAgIGZvbnQtc2l6ZTogMi4xcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1zZW1pYm9sZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5oNSxcbmg2IHtcbiAgICBmb250LXNpemU6IDIuMXJlbTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtc2VtaWJvbGQ7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQm9keSBDb3B5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBHZW5lcmFsXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuKiB7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxuaHRtbCB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLS1iYXNlO1xufVxuXG5ib2R5IHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0tYmFzZTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtLWRlZmF1bHQtLW1vYmlsZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtcmVndWxhcjtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LS1iYXNlO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLS1kZWZhdWx0O1xuICAgIH1cbn1cblxucCB7XG4gICAgbWFyZ2luOiAycmVtIDA7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICBtYXJnaW46IDNyZW0gMDtcbiAgICB9XG59XG5cblxuLyogR2VuZXJhbCBNb2RpZmllcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGV4dC0tdXBwZXIge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi50ZXh0LS1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRleHQtLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuXG4vKiBJbnRybyB0ZXh0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRleHQtLWludHJvIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtLWJpZy0tbW9iaWxlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS0tYmlnO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzXG5cbiAgIE5ldmVyIGFkZCBzdHlsZXMgZGlyZWN0bHkgdG8gdGhpcyBmaWxlIC0gc2V0IHVwIGltcG9ydHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEJsb2Nrc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJibG9ja3MvYnV0dG9uc1wiO1xuQGltcG9ydCBcImJsb2Nrcy9oclwiO1xuQGltcG9ydCBcImJsb2Nrcy9pbWdcIjtcbkBpbXBvcnQgXCJibG9ja3MvbGlzdHNcIjtcbkBpbXBvcnQgXCJibG9ja3MvbGlua3NcIjtcbkBpbXBvcnQgXCJibG9ja3MvcXVvdGVcIjtcblxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8vIEBpbXBvcnQgXCJmb3Jtcy9mb3JtXCI7XG4vLyBAaW1wb3J0IFwiZm9ybXMvZm9ybS1ncm91cFwiO1xuLy8gQGltcG9ydCBcImZvcm1zL2Zvcm0tY29udHJvbFwiO1xuLy8gQGltcG9ydCBcImZvcm1zL2Zvcm0tY29udHJvbC1sYWJlbFwiO1xuLy8gQGltcG9ydCBcImZvcm1zL3JhZGlvLWNoZWNrYm94XCI7XG5cblxuLyogU3RydWN0dXJlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJzdHJ1Y3R1cmVzL2Nvb2tpZS1jb25zZW50XCI7XG5AaW1wb3J0IFwic3RydWN0dXJlcy9oZXJvXCI7XG5AaW1wb3J0IFwic3RydWN0dXJlcy9pbmZvXCI7XG5AaW1wb3J0IFwic3RydWN0dXJlcy9sb2dvLWJhbm5lclwiO1xuLy8gQGltcG9ydCBcInN0cnVjdHVyZXMvdmlkZW9saW5rXCI7XG5cblxuLyogSGVhZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQGltcG9ydCBcImhlYWRlci9tYWluLWhlYWRlclwiO1xuQGltcG9ydCBcImhlYWRlci9tZW51XCI7XG5AaW1wb3J0IFwiaGVhZGVyL21haW4tbmF2XCI7XG5cblxuLyogRm9vdGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQGltcG9ydCBcImZvb3Rlci9mb290ZXItY3JlZGVudGlhbHNcIjtcbkBpbXBvcnQgXCJmb290ZXIvbWFpbi1mb290ZXJcIjtcbkBpbXBvcnQgXCJmb290ZXIvc3ViLWZvb3RlclwiO1xuXG5cbi8qIFBhZ2VwYXJ0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJwYWdlcGFydHMvYnV0dG9uLXBwXCI7XG5AaW1wb3J0IFwicGFnZXBhcnRzL2V5ZS1jYXRjaGVyLXBwXCI7XG5AaW1wb3J0IFwicGFnZXBhcnRzL2hlYWRlci1wcFwiO1xuQGltcG9ydCBcInBhZ2VwYXJ0cy9pbnRyb3RleHQtcHBcIjtcbkBpbXBvcnQgXCJwYWdlcGFydHMvaW1hZ2UtcHBcIjtcbkBpbXBvcnQgXCJwYWdlcGFydHMvbGluay1wcFwiO1xuQGltcG9ydCBcInBhZ2VwYXJ0cy9xdWlja2xpbmtzLXBwXCI7XG5AaW1wb3J0IFwicGFnZXBhcnRzL3Rlc3RpbW9uaWFsLXBwXCI7XG5AaW1wb3J0IFwicGFnZXBhcnRzL3RleHQtcHBcIjtcblxuXG4vKiBWZW5kb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLy8gQGltcG9ydCBcInZlbmRvcnMvYm9vdHN0cmFwLWNvbXBvbmVudHMvZ3JpZFwiO1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJsb2NrcyAtIEJ1dHRvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEdlbmVyYWxcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMS40cmVtIDJyZW07XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJ1dHRvbi1jb2xvcjtcblxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRidXR0b24tY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogNDNweDtcblxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAgIGNvbG9yOiAkYnV0dG9uLXRleHQtY29sb3I7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LW1lZGl1bTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzIGVhc2UtaW4tb3V0O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgY29sb3I6ICRidXR0b24tY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgICAgIG9wYWNpdHk6IC42NTtcblxuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmxvY2tzIC0gSHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmhyIHtcbiAgICBtYXJnaW46ICRkZWZhdWx0LW1hcmdpbi0tbW9iaWxlIDA7XG5cbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmV5O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgbWFyZ2luOiAkZGVmYXVsdC1tYXJnaW4gMDtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmxvY2tzIC0gSW1hZ2VzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBTaGFyZWRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5pbWcge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbn1cblxuZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmxvY2tzIC0gTGlzdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFJlc2V0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRleHQtcHAge1xuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAzcmVtIDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAzMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcblxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgdG9wOiAxNnB4O1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDNweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDNweDtcblxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gTmVzdGVkIGxpc3RcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCbG9ja3MgLSBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogU2hhcmVkXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYSB7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1tZWRpdW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2UtaW4tb3V0O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yLS1ob3ZlcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxufVxuXG5cbi8qIFRleHRsaW5rXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRleHRsaW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAwIDVweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMXB4O1xuXG4gICAgICAgIGJhY2tncm91bmQ6ICR0ZXh0LWNvbG9yO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIHRleHRsaW5rLWhvdmVyKCk7XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgPiBzdmc6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogLSgkYXJyb3ctc2l6ZSArICRhcnJvdy1tYXJnaW4pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRhcnJvdy1tYXJnaW47XG4gICAgfVxuXG4gICAgPiBzdmc6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkYXJyb3ctbWFyZ2luO1xuICAgIH1cbn1cblxuLnRleHRsaW5rX190ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmxvY2tzIC0gUXVvdGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi5xdW90ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuXG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkYnJhbmQtcHJpbWFyeTtcblxuICAgIGNvbG9yOiByZ2JhKCRxdW90ZS1jb2xvciwgLjYpO1xuXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDIuNXJlbTtcblxuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGNvbG9yOiByZ2JhKCRxdW90ZS1jb2xvciwgLjM1KTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVyZW07XG5cbiAgICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICAgIH1cblxuICAgICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvb2tpZSBjb25zZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uY29va2llLWJhciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAkei1jb29raWU7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG5cbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRicmFuZC1wcmltYXJ5LS1kYXJrLCAuOTUpO1xuXG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYnJhbmQtcHJpbWFyeS0tZGFyaywgLjk1KTtcblxuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgYW5pbWF0aW9uLW5hbWU6IGNvb2tpZVNsaWRlO1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuOHM7XG5cbiAgICAuY29va2llLWJhcl9fcG9saWN5IHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgLmNvb2tpZS1iYXJfX2J0biB7XG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG5cbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1tZWRpdW07XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDtcblxuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICByaWdodDogMTBweDtcblxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXgtd2lkdGg6IDM1MHB4O1xuXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxufVxuXG4uY29va2llLWJhci0tdmlzaWJsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuQGtleWZyYW1lcyBjb29raWVTbGlkZSB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuXG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVyb1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJGhlcm8tY29udGVudC13aWR0aDogNTRyZW07XG4kaGVyby1kcm9waW1hZ2Utb3ZlcmxhcC0tbW9iaWxlOiAxMHJlbTtcbiRoZXJvLWRyb3BpbWFnZS1vdmVybGFwLS10YWJsZXQ6IDEzcmVtO1xuJGhlcm8tZHJvcGltYWdlLW92ZXJsYXA6IDE3cmVtO1xuXG4uaGVybyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgcGFkZGluZzogKCRzZWN0aW9uLXBhZGRpbmcgKyA0cmVtKSAwICgkc2VjdGlvbi1wYWRkaW5nIC0gNHJlbSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRicmFuZC1zZWNvbmRhcnktdGV4dHVyZWQ7XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2dlbmVyYWwvaGVyby1ncmFwaGljLnN2ZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIGNhbGMoMTAwJSArIDFweCk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNjAlO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+ICoge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6ICR6LWhlcm8tY29udGVudDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICBwYWRkaW5nOiAoJHNlY3Rpb24tcGFkZGluZyArIDhyZW0pIDAgJHNlY3Rpb24tcGFkZGluZztcblxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbn1cblxuLmhlcm9fX3RpdGxlLFxuLmhlcm9fX3RleHQge1xuICAgIG1heC13aWR0aDogJGhlcm8tY29udGVudC13aWR0aDtcbn1cblxuLmhlcm9fX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uaGVyb19fdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNnJlbTtcblxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS0tYmlnLS1tb2JpbGU7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIHA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLS1iaWc7XG4gICAgfVxufVxuXG4uaGVyb19fYnRuIHtcblxufVxuXG4uaGVyb19fYmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cblxuLyogQ29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5oZXJvLS1jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tcGFkZGluZyArIDJyZW07XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLmhlcm9fX3RpdGxlLFxuICAgIC5oZXJvX190ZXh0IHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDNyZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgcGFkZGluZzogKCRzZWN0aW9uLXBhZGRpbmcgKyA4cmVtKSAwICRzZWN0aW9uLXBhZGRpbmc7XG4gICAgfVxufVxuXG4uaGVyb19faW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuXG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiA1MCU7XG5cbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAvLyAmOmFmdGVyIHtcbiAgICAgICAgLy8gICAgIGNvbnRlbnQ6IFwiIFwiO1xuXG4gICAgICAgIC8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC8vICAgICB0b3A6IDA7XG4gICAgICAgIC8vICAgICByaWdodDogMDtcblxuICAgICAgICAvLyAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIC8vICAgICB3aWR0aDogODBweDtcbiAgICAgICAgLy8gICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAvLyAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKCRicmFuZC1zZWNvbmRhcnksIDApIDAlLCByZ2JhKCRicmFuZC1zZWNvbmRhcnksIDEpIDEwMCUpO1xuICAgICAgICAvLyB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLyogVmlzaW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmhlcm8tLXZpc2lvbiB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXBhZGRpbmctLW1vYmlsZSArICRoZXJvLWRyb3BpbWFnZS1vdmVybGFwLS1tb2JpbGU7XG5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkYnJhbmQtcHJpbWFyeS10ZXh0dXJlZDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2dlbmVyYWwvaGVyby1ncmFwaGljLnN2ZycpO1xuICAgICAgICBvcGFjaXR5OiAuMTI7XG4gICAgfVxuXG4gICAgLmhlcm9fX3RpdGxlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAuaGVyb19fdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXBhZGRpbmctLW1vYmlsZSArICRoZXJvLWRyb3BpbWFnZS1vdmVybGFwLS10YWJsZXQ7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXBhZGRpbmcgKyAkaGVyby1kcm9waW1hZ2Utb3ZlcmxhcDtcbiAgICB9XG59XG5cbi5oZXJvLWRyb3BpbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6ICR6LWhlcm8tZHJvcGltYWdlO1xuXG4gICAgbWFyZ2luLXRvcDogLSRoZXJvLWRyb3BpbWFnZS1vdmVybGFwLS1tb2JpbGU7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAtJGhlcm8tZHJvcGltYWdlLW92ZXJsYXAtLXRhYmxldDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAtJGhlcm8tZHJvcGltYWdlLW92ZXJsYXA7XG4gICAgfVxufVxuXG4uaGVyby1kcm9waW1hZ2VfX2ltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgYm94LXNoYWRvdzogJGltZy1zaGFkb3c7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RydWN0dXJlcyAtIEluZm9cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uaW5mbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbn1cblxuLmluZm9fX2lubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uaW5mb19fYXNpZGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleDogMTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgfVxufVxuXG4uaW5mb19fYXNpZGVfX2ltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAyNXJlbTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5pbmZvX19tYWluIHtcbiAgICBtYXJnaW46IDJyZW0gMCAycmVtO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGFzaWRlLW1hcmdpbjtcbiAgICAgICAgZmxleDogMTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICBmbGV4OiAwIDEgJGluZm8tbWFpbi13aWR0aDtcbiAgICB9XG59XG5cbi5pbmZvX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuXG4uaW5mb19fdGV4dCB7XG5cbn1cblxuLmluZm9fX2N0YSB7XG5cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdHJ1Y3R1cmVzIC0gTG9nbyBiYW5uZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4kbG9nby1tYXJnaW46IDJyZW07XG5cbi5sb2dvLWJhbm5lciB7XG4gICAgbWFyZ2luOiAkZGVmYXVsdC1tYXJnaW4tLW1vYmlsZSAwIDJyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmxvZ28tYmFubmVyX19pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMCAoLSRsb2dvLW1hcmdpbik7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbn1cblxuLmxvZ28tYmFubmVyX19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46ICRsb2dvLW1hcmdpbjtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMCk7XG4gICAgfVxufVxuXG4ubG9nby1iYW5uZXJfX2ltZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlYWRlciAtIE1haW4gaGVhZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuJG5hdi1hbmltYXRpb24tZHVyYXRpb246IC41cztcbiRtZW51LWljb24tYW5pbWF0aW9uLWR1cmF0aW9uOiAuM3M7XG4kbWVudS1hbmltYXRpb24tZGVsYXk6IC4xcztcbiRtZW51LWNvbG9yLXRyYW5zaXRpb24tZHVyYXRpb246IC4ycztcblxuLm1haW4taGVhZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJHotbWFpbi1oZWFkZXI7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA0cmVtIDA7XG59XG5cbi5tYWluLWhlYWRlcl9fYmFyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogJHotbWFpbi1oZWFkZXItYmFyO1xufVxuXG4ubWFpbi1oZWFkZXJfX2Jhcl9faW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vLXdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5tYWluLWhlYWRlcl9fbG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tYWluLWhlYWRlcl9fbG9nb19faW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIHRyYW5zaXRpb246IGZpbHRlciAkbWVudS1jb2xvci10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICgkbWVudS1pY29uLWFuaW1hdGlvbi1kdXJhdGlvbiArICRtZW51LWFuaW1hdGlvbi1kZWxheSk7XG59XG5cbi5tYWluLWhlYWRlcl9fbmF2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgcGFkZGluZzogMTRyZW0gMCAxMHJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtc2Vjb25kYXJ5O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2dlbmVyYWwvaGVyby1ncmFwaGljLW5hdi5zdmcnKSwgJGJyYW5kLXByaW1hcnktdGV4dHVyZWQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlLCAwIDA7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCwgcmVwZWF0O1xuXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRuYXYtYW5pbWF0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICRtZW51LWljb24tYW5pbWF0aW9uLWR1cmF0aW9uO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtaW4taGVpZ2h0OiA2N3JlbTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICBtaW4taGVpZ2h0OiA3MnJlbTtcbiAgICAgICAgcGFkZGluZzogMTZyZW0gMCAxMHJlbTtcbiAgICB9XG59XG5cbi5tYWluLWhlYWRlcl9fbmF2X19pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5tYWluLWhlYWRlcl9fbmF2X19jb250YWN0IHtcbiAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xuXG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0cm9uZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi14cykge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcblxuICAgICAgICBvcmRlcjogMTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxufVxuXG4ubWFpbi1oZWFkZXJfX25hdl9fbWFpbm5hdiB7XG4gICAgZmxleDogMCAxIDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi14cykge1xuICAgICAgICBvcmRlcjogMjtcblxuICAgICAgICBmbGV4OiAwIDEgNTAlO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWFkZXIgLSBNZW51XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm1lbnUge1xuICAgIEBpbmNsdWRlIHJlc2V0LWJ1dHRvbigpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbn1cblxuLm1lbnVfX3RleHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMTBweDtcblxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1tZWRpdW07XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuXG4gICAgdHJhbnNpdGlvbjogY29sb3IgJG1lbnUtY29sb3ItdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCAoJG1lbnUtaWNvbi1hbmltYXRpb24tZHVyYXRpb24gKyAkbWVudS1hbmltYXRpb24tZGVsYXkpO1xufVxuXG4ubWVudV9fdGV4dC0tY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm1lbnVfX2ljb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcblxuICAgIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogY2FsYyg1MCUgLSAxcHgpO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDJweDtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC1jb2xvcjtcblxuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgdHJhbnNmb3JtICRtZW51LWljb24tYW5pbWF0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0IDBzLFxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAkbWVudS1jb2xvci10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICgkbWVudS1pY29uLWFuaW1hdGlvbi1kdXJhdGlvbiArICRtZW51LWFuaW1hdGlvbi1kZWxheSk7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVhZGVyIC0gTWFpbiBuYXZcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubWFpbi1uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7IC8vIHZpc3VhbCBjb3JyZWN0aW9uIG91dGxpbmUgd2l0aCBjb250YWN0XG59XG5cbi5tYWluLW5hdl9fbGluayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogM3JlbSAwIDA7XG5cbiAgICBmb250LXNpemU6IDMuNnJlbTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtc2VtaWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IGNhbGMoNTAlICsgNHB4KTtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDNweDtcblxuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2UtaW4tb3V0O1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi14cykge1xuICAgICAgICBmb250LXNpemU6IDRyZW07XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgZm9udC1zaXplOiA1LjZyZW07XG4gICAgfVxufVxuXG4ubWFpbi1uYXZfX2xpbmstLWFjdGl2ZSB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuXG4vKiBOQVZJR0FUSU9OIE9QRU4gLyBDTE9TRVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5uYXYtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5tYWluLWhlYWRlcl9fbmF2IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICBvdmVyZmxvdzogYXV0bzsgLy8gZm9yIG9sZGVyIG1vYmlsZSBzY3JlZW5zOiBzY3JvbGxiYXIgaWYgdG9vIG1hbnkgbmF2IGl0ZW1zXG4gICAgfVxuXG4gICAgLm1haW4taGVhZGVyX19sb2dvX19pbWcge1xuICAgICAgICAtd2Via2l0LWZpbHRlcjogaW52ZXJ0KDEwMCUpO1xuICAgICAgICBmaWx0ZXI6IGludmVydCgxMDAlKTtcbiAgICB9XG5cbiAgICAubWVudV9fdGV4dC0tbWVudSB7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAubWVudV9fdGV4dC0tY2xvc2Uge1xuICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7IC8vIE92ZXJ3cml0ZSBzdHlsZSBpbiBodG1sXG4gICAgfVxuXG4gICAgLm1lbnVfX2ljb24gc3BhbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXIgLSBGb290ZXItY3JlZGVudGlhbHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5mb290ZXItY3JlZGVudGlhbHMge1xuICAgIHBhZGRpbmc6IDJyZW0gMDtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblxuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1tZWRpdW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICR3aGl0ZTtcbn1cblxuLmZvb3Rlci1jcmVkZW50aWFsc19faW5uZXIge1xuICAgIG1hcmdpbjogMDtcblxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uZm9vdGVyLWNyZWRlbnRpYWxzX19saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9vdGVyIC0gTWFpbiBmb290ZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEdlbmVyYWxcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubWFpbi1mb290ZXIge1xuICAgIHBhZGRpbmc6ICRzZWN0aW9uLXBhZGRpbmctLW1vYmlsZSAwO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRoci1jb2xvcjtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgIHBhZGRpbmc6ICRzZWN0aW9uLXBhZGRpbmcgMDtcbiAgICB9XG59XG5cbi5tYWluLWZvb3Rlcl9faW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4ubWFpbi1mb290ZXJfX3RpdGxlIHtcbiAgICBtYXJnaW46IDEwcHggMDtcblxuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xufVxuXG4ubWFpbi1mb290ZXJfX3RleHQge1xuICAgIG1hcmdpbjogMnJlbSAwO1xuXG4gICAgZm9udC1zaXplOiAxLjhyZW07XG59XG5cbi5tYWluLWZvb3Rlcl9fbWFpbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5tYWluLWZvb3Rlcl9fbGlzdCB7XG4gICAgbWFyZ2luOiAwIDAgMi41cmVtO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5tYWluLWZvb3Rlcl9fbGlzdF9faXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIDAgNHB4IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xufVxuXG4ubWFpbi1mb290ZXJfX2xpc3RfX2xpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1yZWd1bGFyO1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cblxuLyogQXNpZGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubWFpbi1mb290ZXJfX2FzaWRlIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogLTE3cHg7XG4gICAgcGFkZGluZy1yaWdodDogJGFzaWRlLW1hcmdpbjtcbiAgICBmbGV4OiAxIDAgJGZvb3Rlci1hc2lkZS13aWR0aDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgfVxufVxuXG4ubWFpbi1mb290ZXJfX2FzaWRlX19sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm1haW4tZm9vdGVyX19hc2lkZV9fbG9nb19faW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuXG4vKiBDZW50ZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubWFpbi1mb290ZXJfX2NlbnRlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cmVtO1xufVxuXG5cbi8qIE5hdlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5tYWluLWZvb3Rlcl9fbmF2IHtcbiAgICAubWFpbi1mb290ZXJfX2xpc3Qge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi14cykge1xuICAgICAgICAgICAgY29sdW1uLWNvdW50OiAyO1xuICAgICAgICAgICAgY29sdW1uLWdhcDogNHJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXIgLSBTdWItZm9vdGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnN1Yi1mb290ZXIge1xuICAgIHBhZGRpbmc6IDEuOHJlbSAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnk7XG5cbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtbWVkaXVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkd2hpdGU7XG59XG5cbi8qIElubmVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnN1Yi1mb290ZXJfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG5cbi8qIEluZm9cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc3ViLWZvb3Rlcl9faW5mbyB7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG59XG5cbi5zdWItZm9vdGVyX19pbmZvX19saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG5cbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQYWdlcGFydHMgLSBCdXR0b24gcHBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEdlbmVyYWxcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYnRuLXBwIHtcbiAgICBtYXJnaW46IDRyZW0gMDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQYWdlcGFydHMgLSBFeWUgY2F0Y2hlciBwcFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5leWUtY2F0Y2hlci1wcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBtYXJnaW46ICRkZWZhdWx0LW1hcmdpbi0tbW9iaWxlIDA7XG5cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgIC5leWUtY2F0Y2hlci1wcF9faW1nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmtpbWFnZXRyYW5zaXRpb24oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5leWUtY2F0Y2hlci1wcF9fdGl0bGUge1xuICAgICAgICAgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgICB9XG5cbiAgICAgICAgLmV5ZS1jYXRjaGVyLXBwX19jb250ZW50IHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXh0bGluayB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0bGluay1ob3ZlcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgbWFyZ2luOiAkZGVmYXVsdC1tYXJnaW4gMDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbn1cblxuLmV5ZS1jYXRjaGVyLXBwLS1pbWctbGVmdCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgLmV5ZS1jYXRjaGVyLXBwX19pbWcge1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuZXllLWNhdGNoZXItcHBfX2NvbnRlbnQge1xuICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5leWUtY2F0Y2hlci1wcC0taW1nLXJpZ2h0IHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAuZXllLWNhdGNoZXItcHBfX2ltZyB7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5leWUtY2F0Y2hlci1wcF9fY29udGVudCB7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4uZXllLWNhdGNoZXItcHBfX2ltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBib3gtc2hhZG93OiAkaW1nLXNoYWRvdztcblxuICAgIHRyYW5zaXRpb246IC4ycyBlYXNlLWluLW91dDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgIHdpZHRoOiA0NiU7XG4gICAgfVxufVxuXG5cbi5leWUtY2F0Y2hlci1wcF9fY29udGVudCB7XG4gICAgcGFkZGluZzogNHJlbSAwO1xuXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLS1iaWctLW1vYmlsZTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgIHdpZHRoOiA1NCU7XG4gICAgICAgIHBhZGRpbmc6IDAgNnJlbTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtLWJpZztcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICBwYWRkaW5nOiAwIDlyZW07XG4gICAgfVxufVxuXG4uZXllLWNhdGNoZXItcHBfX3RhZ2xpbmUge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuXG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LW1lZGl1bTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGNvbG9yOiAkZ3JleTtcbn1cblxuXG4uZXllLWNhdGNoZXItcHBfX3RpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMy41cmVtO1xuXG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xufVxuXG4uZXllLWNhdGNoZXItcHBfX2xpbmsge1xuICAgIG1hcmdpbjogMDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQYWdlcGFydHMgLSBIZWFkZXIgcHBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyoqXG4gKiBAZG9jIGRvY3MvaGVhZGVyLXBwLm1kXG4gKiBAc2VjdGlvblxuICogQHNlY3Rpb25vZiBQYWdlcGFydHNcbiAqL1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBhZ2VwYXJ0cyAtIEludHJvdGV4dCBwcFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogR2VuZXJhbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5pbnRyb3RleHQtcHAge1xuICAgIG1heC13aWR0aDogOTJyZW07XG4gICAgbWFyZ2luOiAkZGVmYXVsdC1tYXJnaW4tLW1vYmlsZSBhdXRvO1xuXG4gICAgPiBwOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICA+IHA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgbWFyZ2luOiAkZGVmYXVsdC1tYXJnaW4gYXV0bztcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUGFnZXBhcnRzIC0gSW1hZ2UgcHBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEdlbmVyYWxcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uaW1hZ2UtcHAge1xuICAgIG1hcmdpbjogJGRlZmF1bHQtbWFyZ2luLS1tb2JpbGUgMDtcblxuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAuNXJlbSAwO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IC43ZW07XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkdGV4dC1jb2xvciwgNDAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgIG1hcmdpbjogJGRlZmF1bHQtbWFyZ2luIDA7XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBhZ2VwYXJ0cyAtIExpbmsgcHBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEdlbmVyYWxcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubGluay1wcCB7XG4gICAgbWFyZ2luOiAyLjVyZW0gMDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQYWdlcGFydHMgLSBRdWlja2xpbmtzIHBwXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuJHF1aWNrbGluay1tYXJnaW4tYm90dG9tOiAzcmVtO1xuJHF1aWNrbGluay1tYXJnaW4tc2lkZXM6IDE2cHg7XG5cbi5xdWlja2xpbmtzLXBwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBtYXJnaW46IDNyZW0gKC0kcXVpY2tsaW5rLW1hcmdpbi1zaWRlcykgMDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgIG1hcmdpbjogNXJlbSAoLSRxdWlja2xpbmstbWFyZ2luLXNpZGVzKSAoNXJlbSAtICRxdWlja2xpbmstbWFyZ2luLWJvdHRvbSk7XG4gICAgfVxufVxuXG4ucXVpY2tsaW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDIxMHB4O1xuICAgIG1hcmdpbjogMCAkcXVpY2tsaW5rLW1hcmdpbi1zaWRlcyAkcXVpY2tsaW5rLW1hcmdpbi1ib3R0b207XG5cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAucXVpY2tsaW5rX19pbWcge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGlua2ltYWdldHJhbnNpdGlvbigpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRleHRsaW5rIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHRsaW5rLWhvdmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGV4dGxpbmsge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXhzKSB7XG4gICAgICAgIGZsZXg6IDAgMSBjYWxjKDUwJSAtICN7JHF1aWNrbGluay1tYXJnaW4tc2lkZXN9ICogMik7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxufVxuXG4ucXVpY2tsaW5rX19pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgYm94LXNoYWRvdzogJGltZy1zaGFkb3c7XG5cbiAgICB0cmFuc2l0aW9uOiAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5xdWlja2xpbmtfX3RpdGxlIHtcbiAgICBtYXJnaW46IDJyZW0gMCAuNXJlbTtcblxuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1tZWRpdW07XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xufVxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUGFnZXBhcnRzIC0gVGVzdGltb25pYWwgcHBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGVzdGltb25pYWwtcHAge1xuICAgIG1hcmdpbjogJGRlZmF1bHQtbWFyZ2luLS1tb2JpbGUgMDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgIG1hcmdpbjogJGRlZmF1bHQtbWFyZ2luIDA7XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBhZ2VwYXJ0cyAtIFRleHQgcHBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGV4dC1wcCB7XG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBhZ2VzXG5cbiAgIFRoaXMgZmlsZSBpcyBleGNsdXNpdmVseSBpbnRlbmRlZCBmb3Igc2V0dGluZyB1cCBpbXBvcnRzXG4gICBOZXZlciBhZGQgc3R5bGVzIGRpcmVjdGx5IHRvIHRoaXMgZmlsZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGltcG9ydCBcInZpc2lvblwiO1xuQGltcG9ydCBcImVycm9yXCI7XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUGFnZXMgLSBWaXNpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEludmVydGVkIGNvbG9ycyBtYWluIGhlYWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi52aXNpb24ge1xuICAgIC5tYWluLWhlYWRlcl9fbG9nb19faW1nIHtcbiAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGludmVydCgxMDAlKTtcbiAgICAgICAgZmlsdGVyOiBpbnZlcnQoMTAwJSk7XG4gICAgfVxuXG4gICAgLm1lbnVfX3RleHQtLW1lbnUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgIC5tZW51X190ZXh0LS1jbG9zZSB7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAubWVudV9faWNvbiBzcGFuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgIC8vIE5hdiBvcGVuXG4gICAgJi5uYXYtb3BlbiB7XG4gICAgICAgIC5tZW51X190ZXh0LS1tZW51IHtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51X190ZXh0LS1jbG9zZSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBhZ2VzIC0gRXJyb3JcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5lcnJvciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogMTAwJTtcblxuICAgIGgxIHtcbiAgICAgICAgbWFyZ2luOiAzcmVtIDA7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBtYXJnaW46IDNyZW0gMDtcbiAgICB9XG59XG4iXX0= */
